aboutsummaryrefslogtreecommitdiffstats
path: root/tools/ioemu/patches/ide-cd-dma
diff options
context:
space:
mode:
Diffstat (limited to 'tools/ioemu/patches/ide-cd-dma')
-rw-r--r--tools/ioemu/patches/ide-cd-dma21
1 files changed, 21 insertions, 0 deletions
diff --git a/tools/ioemu/patches/ide-cd-dma b/tools/ioemu/patches/ide-cd-dma
new file mode 100644
index 0000000000..d7ed5cab06
--- /dev/null
+++ b/tools/ioemu/patches/ide-cd-dma
@@ -0,0 +1,21 @@
+# HG changeset patch
+# User kfraser@localhost.localdomain
+# Node ID 1e8ba8d2117548d4f13b7b438d1e992b1815f580
+# Parent f247e0b52dda257c0000c9da5a0cdff507b3ced8
+[HVM] Enable DMA mode for CD-ROM IDE ATAPI interface.
+Signed-off-by: Winston Wang <winston.l.wang@intel.com
+
+--- ioemu/hw/ide.c Wed Oct 18 18:37:18 2006 +0100
++++ ioemu/hw/ide.c Wed Oct 18 18:41:47 2006 +0100
+@@ -557,9 +557,9 @@ static void ide_atapi_identify(IDEState
+ padstr((uint8_t *)(p + 23), QEMU_VERSION, 8); /* firmware version */
+ padstr((uint8_t *)(p + 27), "QEMU CD-ROM", 40); /* model */
+ put_le16(p + 48, 1); /* dword I/O (XXX: should not be set on CDROM) */
+- put_le16(p + 49, 1 << 9); /* LBA supported, no DMA */
++ put_le16(p + 49, (1 << 11) | (1 << 9) | (1 << 8)); /* DMA and LBA supported */
+ put_le16(p + 53, 3); /* words 64-70, 54-58 valid */
+- put_le16(p + 63, 0x103); /* DMA modes XXX: may be incorrect */
++ put_le16(p + 63, 0x07); /* mdma0-2 supported */
+ put_le16(p + 64, 1); /* PIO modes */
+ put_le16(p + 65, 0xb4); /* minimum DMA multiword tx cycle time */
+ put_le16(p + 66, 0xb4); /* recommended DMA multiword tx cycle time */