qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] [PATCH] LSI53C895A: Do not update current_dma_len with dbc


From: Justin Chevrier
Subject: [Qemu-devel] [PATCH] LSI53C895A: Do not update current_dma_len with dbc in TIA mode
Date: Wed, 26 Nov 2008 07:32:53 -0800 (PST)

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.

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 <address@hidden>

--- 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;



      




reply via email to

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