From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1LL1E4-0005oh-Mf for qemu-devel@nongnu.org; Thu, 08 Jan 2009 15:11:32 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1LL1E3-0005nd-7a for qemu-devel@nongnu.org; Thu, 08 Jan 2009 15:11:32 -0500 Received: from [199.232.76.173] (port=38859 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1LL1E2-0005nY-MN for qemu-devel@nongnu.org; Thu, 08 Jan 2009 15:11:30 -0500 Received: from an-out-0708.google.com ([209.85.132.250]:36785) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1LL1E2-0002N3-3I for qemu-devel@nongnu.org; Thu, 08 Jan 2009 15:11:30 -0500 Received: by an-out-0708.google.com with SMTP id c38so3783156ana.37 for ; Thu, 08 Jan 2009 12:11:27 -0800 (PST) Message-ID: <49665DE8.1000005@codemonkey.ws> Date: Thu, 08 Jan 2009 14:11:20 -0600 From: Anthony Liguori MIME-Version: 1.0 Subject: Re: [Qemu-devel] [PATCH][Resend] IDE: Return zero when reading error register with slave selected References: <906415.89246.qm@web51110.mail.re2.yahoo.com> In-Reply-To: <906415.89246.qm@web51110.mail.re2.yahoo.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: theburner1@yahoo.com, qemu-devel@nongnu.org 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 > 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; > > > > > > >