ide: repair PIO transfers for cases where nsector > 1
authorJohn Snow <jsnow@redhat.com>
Fri, 31 Oct 2014 20:03:37 +0000 (16:03 -0400)
committerStefan Hajnoczi <stefanha@redhat.com>
Fri, 14 Nov 2014 09:20:34 +0000 (09:20 +0000)
commit36334faf35ccc48d61ca3431a5c0787b125dd306
treecea0c9130a481f7ad550dfa3c8fe87bc7f22751b
parenta395f3fa2f26c94dac03b37e3dfb1074bfe2ddea
ide: repair PIO transfers for cases where nsector > 1

Currently, for emulated PIO transfers through the AHCI device,
any attempt made to request more than a single sector's worth
of data will result in the same sector being transferred over
and over.

For example, if we request 8 sectors via PIO READ SECTORS, the
AHCI device will give us the same sector eight times.

This patch adds offset tracking into the PIO pathways so that
we can fulfill these requests appropriately.

Signed-off-by: John Snow <jsnow@redhat.com>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Message-id: 1414785819-26209-2-git-send-email-jsnow@redhat.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
hw/ide/ahci.c
hw/ide/core.c