qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 0/6] AHCI Device Fixes


From: Paolo Bonzini
Subject: Re: [Qemu-devel] [PATCH 0/6] AHCI Device Fixes
Date: Wed, 29 Oct 2014 01:03:48 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.2.0


On 10/29/2014 12:54 AM, John Snow wrote:
> 
> 
> On 10/28/2014 09:51 AM, Stefan Hajnoczi wrote:
>> 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.
>>>
>>> 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(-)
>>
>> Dropped the broken assert that Paolo spotted.
>>
>> Thanks, applied to my block tree:
>> https://github.com/stefanha/qemu/commits/block
>>
>> Stefan
> 
> Drop the PIO patch for now (#3), I ran into a regression with it with
> CDROM drives. I believe the others are still fine.

Yeah, I was wondering if any commands could have <512 bytes response...
 I sort of convinced myself that the answer was no for ATA commands, but
stupidly forgot about packet (SCSI) commands.  Their results are
obviously shorter than 512 bytes.

Paolo



reply via email to

[Prev in Thread] Current Thread [Next in Thread]