* [Qemu-devel] [PATCH][Resend] IDE: Return zero when reading error register with slave selected
@ 2009-01-08 19:43 Justin Chevrier
2009-01-08 20:11 ` Anthony Liguori
0 siblings, 1 reply; 2+ messages in thread
From: Justin Chevrier @ 2009-01-08 19:43 UTC (permalink / raw)
To: qemu-devel
Original text below. Patch updated against head.
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 <theburner1@yahoo.com>
--- hw/ide.c (revision 6244)
+++ hw/ide.c (working copy)
@@ -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;
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [Qemu-devel] [PATCH][Resend] IDE: Return zero when reading error register with slave selected
2009-01-08 19:43 [Qemu-devel] [PATCH][Resend] IDE: Return zero when reading error register with slave selected Justin Chevrier
@ 2009-01-08 20:11 ` Anthony Liguori
0 siblings, 0 replies; 2+ messages in thread
From: Anthony Liguori @ 2009-01-08 20:11 UTC (permalink / raw)
To: theburner1, qemu-devel
Justin Chevrier wrote:
> Original text below. Patch updated against head.
>
> 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 <theburner1@yahoo.com>
>
Applied. Thanks for resending.
Regards,
Anthony Liguori
> --- hw/ide.c (revision 6244)
> +++ hw/ide.c (working copy)
> @@ -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;
>
>
>
>
>
>
>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2009-01-08 20:11 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-01-08 19:43 [Qemu-devel] [PATCH][Resend] IDE: Return zero when reading error register with slave selected Justin Chevrier
2009-01-08 20:11 ` Anthony Liguori
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).