From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:32843) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Xi7VW-0005FL-Ca for qemu-devel@nongnu.org; Sat, 25 Oct 2014 16:00:20 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Xi7VO-00041o-Qi for qemu-devel@nongnu.org; Sat, 25 Oct 2014 16:00:14 -0400 Received: from mx1.redhat.com ([209.132.183.28]:42031) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Xi7VO-0003yW-KE for qemu-devel@nongnu.org; Sat, 25 Oct 2014 16:00:06 -0400 Received: from int-mx11.intmail.prod.int.phx2.redhat.com (int-mx11.intmail.prod.int.phx2.redhat.com [10.5.11.24]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s9PK046w004958 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL) for ; Sat, 25 Oct 2014 16:00:05 -0400 Date: Sat, 25 Oct 2014 23:03:38 +0300 From: "Michael S. Tsirkin" Message-ID: <20141025200338.GA28509@redhat.com> References: <1412204151-18117-1-git-send-email-jsnow@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1412204151-18117-1-git-send-email-jsnow@redhat.com> Subject: Re: [Qemu-devel] [PATCH 0/6] AHCI Device Fixes List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: John Snow Cc: kwolf@redhat.com, pbonzini@redhat.com, qemu-devel@nongnu.org, stefanha@redhat.com, armbru@redhat.com On Wed, Oct 01, 2014 at 06:55:45PM -0400, John Snow wrote: > Based off of feedback from the RFC of the same name, > this series batches together a group of fixes that > improve the AHCI device to fix a number of bugs. > > A number of fixes included in the RFC that provide more > radical changes are omitted for now in favor of a smaller, > more easily reviewable set for QEMU 2.2. I've been running with this for a while now, and this patchset seems to have solved the problems that I observed with random hangs of windows on AHCI. Tested-by: Michael S. Tsirkin > In summary: > > Patch #1 and #6 correct the format of FIS packet responses > that are available to the guest operating system upon interrupt. > > Patch #2 corrects an oversight where we do not inform the > guest how many bytes we've transferred. This is relied upon > for non-NCQ modes and in some early bootup and shutdown code. > > Patch #5 corrects cases with malformed scatter-gather lists that > may cause leaks, or cause QEMU to hang in an allocation loop. > > Patch #4 attempts to continue minimizing the divergence of the > multiple pathways through the AHCI device by re-using existing > callbacks. > > Taken together, these patches should allow non-ncq operation > for Windows hosts, as well as enable hibernation for Windows 7. > > Hibernation for Windows 8 and AHCI remains non-functional. > > John Snow (6): > ahci: Correct PIO/D2H FIS responses > ahci: Update byte count after DMA completion > ide: repair PIO transfers for cases where nsector > 1 > ahci: unify sglist preparation > ide: Correct handling of malformed/short PRDTs > ahci: Fix SDB FIS Construction > > dma-helpers.c | 3 ++ > hw/ide/ahci.c | 113 ++++++++++++++++++++++++++++++++---------------------- > hw/ide/ahci.h | 8 ++++ > hw/ide/core.c | 17 ++++++-- > hw/ide/internal.h | 2 + > hw/ide/pci.c | 5 ++- > 6 files changed, 97 insertions(+), 51 deletions(-) > > -- > 1.9.3