aboutsummaryrefslogtreecommitdiff
path: root/hw/ide/ahci.h
diff options
context:
space:
mode:
authorJohn Snow <jsnow@redhat.com>2015-07-04 02:06:05 -0400
committerJohn Snow <jsnow@redhat.com>2015-07-04 02:06:05 -0400
commitc82bd3c893825fc76af3634f5461f5eabd94e9df (patch)
tree1923f2cac9d3ea441dac00806796fe34832d0db8 /hw/ide/ahci.h
parent7f6cf5ee1236d94fc25830a47438e57aa294d9fe (diff)
downloadqemu-c82bd3c893825fc76af3634f5461f5eabd94e9df.zip
qemu-c82bd3c893825fc76af3634f5461f5eabd94e9df.tar.gz
qemu-c82bd3c893825fc76af3634f5461f5eabd94e9df.tar.bz2
ahci: add cmd header to ncq transfer state
While the rest of the AHCI device can rely on a single bookmarked pointer for the AHCI Command Header currently being processed, NCQ is asynchronous and may have many commands in flight simultaneously. Add a cmdh pointer to the ncq_tfs object and make the sglist prepare function take an AHCICmdHeader pointer so we can be explicit about where we'd like to build SGlists from. Signed-off-by: John Snow <jsnow@redhat.com> Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com> Message-id: 1435767578-32743-11-git-send-email-jsnow@redhat.com
Diffstat (limited to 'hw/ide/ahci.h')
-rw-r--r--hw/ide/ahci.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/hw/ide/ahci.h b/hw/ide/ahci.h
index 9090d3d..9f5b4d2 100644
--- a/hw/ide/ahci.h
+++ b/hw/ide/ahci.h
@@ -254,6 +254,7 @@ typedef struct AHCIDevice AHCIDevice;
typedef struct NCQTransferState {
AHCIDevice *drive;
BlockAIOCB *aiocb;
+ AHCICmdHdr *cmdh;
QEMUSGList sglist;
BlockAcctCookie acct;
uint32_t sector_count;