On 12/02/10 00:29, Alexander Graf wrote:

On 24.11.2010, at 12:44, Gerd Hoffmann wrote:

On 11/23/10 15:34, Alexander Graf wrote:
This patch adds support for AHCI emulation. I have tested and verified it works
in Linux, OpenBSD, Windows Vista and Windows 7.

Also seabios ;)
http://cgit.freedesktop.org/~kraxel/seabios/log/?h=ahci

I broke that one with v7 of the ahci patchset apparently. Sorry about that :). 
Since Linux and Windows still happily boot, it's probably something missing on 
your side :(.

No.  DMA is broken (probably non-ncq only).

Commit c29947bbb0978d312074ec73be968bfab1b6c977 broke your way of kicking dma.

/me papered over it with the attached patch. The RightWay[tm] to fix it is probably to put a "bmdma_cmd_writeb(bm, 0, 0)" to the approximate place. Or refactor ide dma in a way that you don't need to kick it in such a hackish way in the first place.

cheers,
  Gerd
diff --git a/hw/ide/ahci.c b/hw/ide/ahci.c
index 7a415db..a36a2ef 100644
--- a/hw/ide/ahci.c
+++ b/hw/ide/ahci.c
@@ -1164,6 +1164,7 @@ static void ahci_dma_start(IDEState *s, 
BlockDriverCompletionFunc *dma_cb)
     bm->cur_addr = 0;
     bm->sector_num = ide_get_sector(s);
     bm->nsector = s->nsector;
+    bm->cmd = 0;
     bmdma_cmd_writeb(bm, 0, 1);
 }
 

Reply via email to