diff options
author | John Snow <jsnow@redhat.com> | 2015-02-05 12:41:24 -0500 |
---|---|---|
committer | Stefan Hajnoczi <stefanha@redhat.com> | 2015-02-16 15:07:17 +0000 |
commit | ea41deb6022c1468de094dac12610de74220e4b0 (patch) | |
tree | 1993897fee79be43da7c0df2364e0f076559ac50 /tests/libqos | |
parent | 64a5a272e31c99cfb348f908d71c98d2eb83ba28 (diff) | |
download | hqemu-ea41deb6022c1468de094dac12610de74220e4b0.zip hqemu-ea41deb6022c1468de094dac12610de74220e4b0.tar.gz |
libqos/ahci: add ahci command verify
Helps to verify that a command completed successfully.
Signed-off-by: John Snow <jsnow@redhat.com>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Message-id: 1423158090-25580-14-git-send-email-jsnow@redhat.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Diffstat (limited to 'tests/libqos')
-rw-r--r-- | tests/libqos/ahci.c | 15 | ||||
-rw-r--r-- | tests/libqos/ahci.h | 1 |
2 files changed, 16 insertions, 0 deletions
diff --git a/tests/libqos/ahci.c b/tests/libqos/ahci.c index 21f86c0..09e7159 100644 --- a/tests/libqos/ahci.c +++ b/tests/libqos/ahci.c @@ -737,6 +737,21 @@ void ahci_command_issue(AHCIQState *ahci, AHCICommand *cmd) ahci_command_wait(ahci, cmd); } +void ahci_command_verify(AHCIQState *ahci, AHCICommand *cmd) +{ + uint8_t slot = cmd->slot; + uint8_t port = cmd->port; + + ahci_port_check_error(ahci, port); + ahci_port_check_interrupts(ahci, port, cmd->interrupts); + ahci_port_check_nonbusy(ahci, port, slot); + ahci_port_check_cmd_sanity(ahci, port, slot, cmd->xbytes); + ahci_port_check_d2h_sanity(ahci, port, slot); + if (cmd->props->pio) { + ahci_port_check_pio_sanity(ahci, port, slot, cmd->xbytes); + } +} + uint8_t ahci_command_slot(AHCICommand *cmd) { return cmd->slot; diff --git a/tests/libqos/ahci.h b/tests/libqos/ahci.h index 6ca1a6e..26ccdd6 100644 --- a/tests/libqos/ahci.h +++ b/tests/libqos/ahci.h @@ -528,6 +528,7 @@ void ahci_command_commit(AHCIQState *ahci, AHCICommand *cmd, uint8_t port); void ahci_command_issue(AHCIQState *ahci, AHCICommand *cmd); void ahci_command_issue_async(AHCIQState *ahci, AHCICommand *cmd); void ahci_command_wait(AHCIQState *ahci, AHCICommand *cmd); +void ahci_command_verify(AHCIQState *ahci, AHCICommand *cmd); void ahci_command_free(AHCICommand *cmd); /* Command adjustments */ |