qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [6252] IDE: Return zero when reading error register with sl


From: Anthony Liguori
Subject: [Qemu-devel] [6252] IDE: Return zero when reading error register with slave selected ( Justin Chevrier)
Date: Thu, 08 Jan 2009 21:03:07 +0000

Revision: 6252
          http://svn.sv.gnu.org/viewvc/?view=rev&root=qemu&revision=6252
Author:   aliguori
Date:     2009-01-08 21:03:07 +0000 (Thu, 08 Jan 2009)

Log Message:
-----------
IDE: Return zero when reading error register with slave selected (Justin 
Chevrier)

During hardware detection Openserver issues commands to slaves on both primary
and secondary ports. We already return a zero for the status register in this
situation but after reading the status register the Openserver installer
proceeds to check the value of the error register. Currently we return the
existing value in the register. This confuses the installer and it tries to
access the slave units later on. When the command that gets issued later gets
ignored the installer freezes. The patch below returns zero when reading the
error register if a slave unit is selected. Openserver can now successfully be
installed using the emulated IDE hard drive.

Return zero when reading error register with slave selected

Signed-off-by: Justin Chevrier <address@hidden>
Signed-off-by: Anthony Liguori <address@hidden>

Modified Paths:
--------------
    trunk/hw/ide.c

Modified: trunk/hw/ide.c
===================================================================
--- trunk/hw/ide.c      2009-01-08 20:01:26 UTC (rev 6251)
+++ trunk/hw/ide.c      2009-01-08 21:03:07 UTC (rev 6252)
@@ -2467,7 +2467,8 @@
         ret = 0xff;
         break;
     case 1:
-        if (!ide_if[0].bs && !ide_if[1].bs)
+        if ((!ide_if[0].bs && !ide_if[1].bs) ||
+            (s != ide_if && !s->bs))
             ret = 0;
         else if (!hob)
             ret = s->error;






reply via email to

[Prev in Thread] Current Thread [Next in Thread]