qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] [PATCH] IDE: Return zero when reading error register with s


From: Justin Chevrier
Subject: [Qemu-devel] [PATCH] IDE: Return zero when reading error register with slave selected
Date: Sat, 13 Dec 2008 16:46:54 -0800 (PST)

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.

Changelog:

Return zero when reading error register with slave selected

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

--- hw/ide.c    (revision 5976)
+++ hw/ide.c    (working copy)
@@ -2472,7 +2472,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]