From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1L5NrD-0004Wv-Ur for qemu-devel@nongnu.org; Wed, 26 Nov 2008 12:07:19 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1L5NrB-0004Uk-V6 for qemu-devel@nongnu.org; Wed, 26 Nov 2008 12:07:19 -0500 Received: from [199.232.76.173] (port=60066 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1L5NrB-0004UT-Po for qemu-devel@nongnu.org; Wed, 26 Nov 2008 12:07:17 -0500 Received: from e6.ny.us.ibm.com ([32.97.182.146]:51068) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1L5NrB-0002x2-Cx for qemu-devel@nongnu.org; Wed, 26 Nov 2008 12:07:17 -0500 Received: from d01relay04.pok.ibm.com (d01relay04.pok.ibm.com [9.56.227.236]) by e6.ny.us.ibm.com (8.13.1/8.13.1) with ESMTP id mAQH6XSs013588 for ; Wed, 26 Nov 2008 12:06:33 -0500 Received: from d01av03.pok.ibm.com (d01av03.pok.ibm.com [9.56.224.217]) by d01relay04.pok.ibm.com (8.13.8/8.13.8/NCO v9.1) with ESMTP id mAQH7BMu091104 for ; Wed, 26 Nov 2008 12:07:11 -0500 Received: from d01av03.pok.ibm.com (loopback [127.0.0.1]) by d01av03.pok.ibm.com (8.12.11.20060308/8.13.3) with ESMTP id mAQH7BjN028981 for ; Wed, 26 Nov 2008 12:07:11 -0500 Date: Wed, 26 Nov 2008 11:07:09 -0600 From: Ryan Harper Subject: Re: [Qemu-devel] [PATCH] LSI53C895A: Do not update current_dma_len with dbc in TIA mode Message-ID: <20081126170709.GK31893@us.ibm.com> References: <933240.71390.qm@web51110.mail.re2.yahoo.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <933240.71390.qm@web51110.mail.re2.yahoo.com> Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Justin Chevrier Cc: qemu-devel@nongnu.org * Justin Chevrier [2008-11-26 09:37]: > Continued testing has shown that even with the update to handle > variable length Inquiry commands in scsi-disk.c Openserver still > relies on DMA length being updated with the dbc later on. The below > patch modifies the current behaviour to update the DMA length with the > dbc only when in Direct and Indirect mode. In Table Indirect Access > mode the dma length does not come from the dbc, so we don't update it > there. Even in Table indirect access, we update dbc after fetching the transfer count (TC) from the table. The tech manual is unclear about whether or not dbc is updated: "For a MOVE instruction, the 24-bit byte count is fetched from system memory. Then the 32-bit physical address is brought into the LSI53C895A. Execution of the move begins at this point" - LSI53C895A Tech manual, page 230. However, I think in practice, it would have to do so. > > This fixes the Debian Arm target, still works in Openserver and should > correct the Windows install issue reported. > > Justin > > Changelog: > > Do not update current_dma_len with the dbc if we are in Table Indirect Access mode. > > Signed-off-by: Justin Chevrier > > --- hw/lsi53c895a.c (revision 5799) > +++ hw/lsi53c895a.c (working copy) > @@ -920,7 +920,9 @@ > break; > case PHASE_DI: > s->waiting = 2; > - s->current_dma_len = s->dbc; > + /* Update DMA length in Direct and Indirect modes only */ > + if (!(insn & (1 << 28))) > + s->current_dma_len = s->dbc; > lsi_do_dma(s, 0); > if (s->waiting) > s->waiting = 3; > Nack. With the variable length Inquiry changes you posted and this patch, sp3 32-bit fails to install same as before. -- Ryan Harper Software Engineer; Linux Technology Center IBM Corp., Austin, Tx ryanh@us.ibm.com