From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=54134 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PO9qh-0001TP-QJ for qemu-devel@nongnu.org; Thu, 02 Dec 2010 09:09:45 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1PO6e4-0000hj-QI for qemu-devel@nongnu.org; Thu, 02 Dec 2010 05:44:14 -0500 Received: from mx1.redhat.com ([209.132.183.28]:35779) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1PO6e4-0000hd-F1 for qemu-devel@nongnu.org; Thu, 02 Dec 2010 05:44:12 -0500 Message-ID: <4CF7786F.4060501@redhat.com> Date: Thu, 02 Dec 2010 11:43:59 +0100 From: Gerd Hoffmann MIME-Version: 1.0 References: <1290522889-27559-1-git-send-email-agraf@suse.de> <4CECFA96.6060306@redhat.com> In-Reply-To: Content-Type: multipart/mixed; boundary="------------030900030804030002060209" Subject: [Qemu-devel] Re: [PATCH 00/12] AHCI emulation support v4 List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Alexander Graf Cc: Kevin Wolf , Joerg Roedel , QEMU-devel Developers , Stefan Hajnoczi , tj@kernel.org, Roland Elek , Sebastian Herbszt This is a multi-part message in MIME format. --------------030900030804030002060209 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit 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 --------------030900030804030002060209 Content-Type: text/plain; name="fix" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="fix" 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); } --------------030900030804030002060209--