[Top][All Lists]
[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;
- [Qemu-devel] [PATCH] LSI53C895A: Do not update current_dma_len with dbc in TIA mode,
Justin Chevrier <=