[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] enabling bus-master IDE driver
From: |
Juergen Keil |
Subject: |
Re: [Qemu-devel] enabling bus-master IDE driver |
Date: |
Fri, 12 Nov 2004 20:07:59 +0100 (CET) |
> > + put_le16(p + 63, 0x07 /*| 0x4 << 8*/); /* Multiword DMA
supported/selected */
...
> > + put_le16(p + 88, 0x3f | 0x20 << 8); /* UltraDMA modes
supported/selected */
> This is interesting..
>
> I carefully applied these changes to my ide.c and retried:
>
> Host: Linux 2.6 (Fedora Core 2)
> Guest: XP corp.
> It now says "Current Transfer Mode: Multi-Word DMA Mode 2".
> I'm not real sure how I test to see if disk access is faster,
> or by how much, but this appears to be progress for XP.
Windows 2000 isn't that verbose - it simply prints "DMA mode".
Interesting that XP has enabled "Multi-Word DMA Mode 2".
Setting word 63 to a value of 0x07 should announce the support
for multiword dma modes 0..2. And no multiword dma mode is
selected. The commented out "0x4 << 8" part would enable
multiword dma mode 2. I've commented it out becuase qemu's hdd
is supposed to support ultra dma modes.
I did change the value for word 88 - the ultra dma modes.
CVS HEAD sets it to ultra dma modes 0..4 supported, and ultra dma
mode 5 selected. I'm not sure, but it sounds wrong to select
a dma mode that is not supported by the drive.
CVS HEAD: put_le16(p + 88, 0x1f | (1 << 13));
I've changed it to ultra dma modes 0..5 supported, and ultra dma
mode 5 selected:
put_le16(p + 88, 0x3f | 0x20 << 8);
Maybe windows checks the ata/atapi version field in word 80?
qemu's hdd only supports ata/atapi-1 and ata/atapi-2. Ultra dma
might not exist in the ata/atapi-2 standard.
- Re: [Qemu-devel] enabling bus-master IDE driver, (continued)
Re: [Qemu-devel] enabling bus-master IDE driver, Juergen Keil, 2004/11/12
Re: [Qemu-devel] enabling bus-master IDE driver,
Juergen Keil <=
Re: [Qemu-devel] enabling bus-master IDE driver, Juergen Keil, 2004/11/26