From: John Snow <jsnow@redhat.com>
To: Paolo Bonzini <pbonzini@redhat.com>,
Stefan Hajnoczi <stefanha@gmail.com>
Cc: kwolf@redhat.com, mst@redhat.com, qemu-devel@nongnu.org,
stefanha@redhat.com, armbru@redhat.com
Subject: Re: [Qemu-devel] [PATCH 0/6] AHCI Device Fixes
Date: Tue, 28 Oct 2014 20:06:51 -0400 [thread overview]
Message-ID: <54502F9B.2070901@redhat.com> (raw)
In-Reply-To: <54502EE4.3090704@redhat.com>
On 10/28/2014 08:03 PM, Paolo Bonzini wrote:
>
>
> 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
>
Are you referencing the sglist underflow patch? (#5 instead of #3) There
were cases in the code already where we /assumed/ that having any bytes
implied we had at least a sector's worth. If there are valid cases for
the sglist to have less than a sector's worth (SCSI) then I'll need to
touch that again as well and update all the assumptions in the IDE code
to look for numbytes instead of numsectors.
next prev parent reply other threads:[~2014-10-29 0:07 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-10-01 22:55 [Qemu-devel] [PATCH 0/6] AHCI Device Fixes John Snow
2014-10-01 22:55 ` [Qemu-devel] [PATCH 1/6] ahci: Correct PIO/D2H FIS responses John Snow
2014-10-27 9:32 ` Markus Armbruster
2014-10-27 15:43 ` John Snow
2014-10-27 15:59 ` Markus Armbruster
2014-10-01 22:55 ` [Qemu-devel] [PATCH 2/6] ahci: Update byte count after DMA completion John Snow
2014-10-01 22:55 ` [Qemu-devel] [PATCH 3/6] ide: repair PIO transfers for cases where nsector > 1 John Snow
2014-10-01 22:55 ` [Qemu-devel] [PATCH 4/6] ahci: unify sglist preparation John Snow
2014-10-01 22:55 ` [Qemu-devel] [PATCH 5/6] ide: Correct handling of malformed/short PRDTs John Snow
2014-10-27 10:06 ` Paolo Bonzini
2014-10-27 18:30 ` John Snow
2014-10-01 22:55 ` [Qemu-devel] [PATCH 6/6] ahci: Fix SDB FIS Construction John Snow
2014-10-16 9:36 ` [Qemu-devel] [PATCH 0/6] AHCI Device Fixes John Snow
2014-10-25 20:03 ` Michael S. Tsirkin
2014-10-27 10:07 ` Paolo Bonzini
2014-10-28 13:51 ` Stefan Hajnoczi
2014-10-28 23:54 ` John Snow
2014-10-29 0:03 ` Paolo Bonzini
2014-10-29 0:06 ` John Snow [this message]
2014-10-29 0:27 ` Paolo Bonzini
2014-10-29 1:28 ` John Snow
2014-10-29 8:58 ` Paolo Bonzini
2014-10-30 10:52 ` Stefan Hajnoczi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=54502F9B.2070901@redhat.com \
--to=jsnow@redhat.com \
--cc=armbru@redhat.com \
--cc=kwolf@redhat.com \
--cc=mst@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@gmail.com \
--cc=stefanha@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).