qtest/ahci: Add simple flush test
Signed-off-by: John Snow <jsnow@redhat.com> Message-id: 1426018503-821-2-git-send-email-jsnow@redhat.com
This commit is contained in:
parent
727be1a755
commit
4e217074ca
@ -797,6 +797,29 @@ static void ahci_test_io_rw_simple(AHCIQState *ahci, unsigned bufsize,
|
||||
g_free(rx);
|
||||
}
|
||||
|
||||
static void ahci_test_nondata(AHCIQState *ahci, uint8_t ide_cmd)
|
||||
{
|
||||
uint8_t px;
|
||||
AHCICommand *cmd;
|
||||
|
||||
/* Sanitize */
|
||||
px = ahci_port_select(ahci);
|
||||
ahci_port_clear(ahci, px);
|
||||
|
||||
/* Issue Command */
|
||||
cmd = ahci_command_create(ide_cmd);
|
||||
ahci_command_commit(ahci, cmd, px);
|
||||
ahci_command_issue(ahci, cmd);
|
||||
ahci_command_verify(ahci, cmd);
|
||||
ahci_command_free(cmd);
|
||||
}
|
||||
|
||||
static void ahci_test_flush(AHCIQState *ahci)
|
||||
{
|
||||
ahci_test_nondata(ahci, CMD_FLUSH_CACHE);
|
||||
}
|
||||
|
||||
|
||||
/******************************************************************************/
|
||||
/* Test Interfaces */
|
||||
/******************************************************************************/
|
||||
@ -931,6 +954,15 @@ static void test_dma_fragmented(void)
|
||||
g_free(tx);
|
||||
}
|
||||
|
||||
static void test_flush(void)
|
||||
{
|
||||
AHCIQState *ahci;
|
||||
|
||||
ahci = ahci_boot_and_enable();
|
||||
ahci_test_flush(ahci);
|
||||
ahci_shutdown(ahci);
|
||||
}
|
||||
|
||||
/******************************************************************************/
|
||||
/* AHCI I/O Test Matrix Definitions */
|
||||
|
||||
@ -1171,6 +1203,8 @@ int main(int argc, char **argv)
|
||||
|
||||
qtest_add_func("/ahci/io/dma/lba28/fragmented", test_dma_fragmented);
|
||||
|
||||
qtest_add_func("/ahci/flush/simple", test_flush);
|
||||
|
||||
ret = g_test_run();
|
||||
|
||||
/* Cleanup */
|
||||
|
Loading…
Reference in New Issue
Block a user