mirror of https://github.com/xemu-project/xemu.git
qtest/ahci: ncq migration test
Signed-off-by: John Snow <jsnow@redhat.com> Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com> Message-id: 1435016308-6150-17-git-send-email-jsnow@redhat.com
This commit is contained in:
parent
26ad004585
commit
07a1ee7958
|
@ -1146,9 +1146,9 @@ static void test_migrate_sanity(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* DMA Migration test: Write a pattern, migrate, then read.
|
* Simple migration test: Write a pattern, migrate, then read.
|
||||||
*/
|
*/
|
||||||
static void test_migrate_dma(void)
|
static void ahci_migrate_simple(uint8_t cmd_read, uint8_t cmd_write)
|
||||||
{
|
{
|
||||||
AHCIQState *src, *dst;
|
AHCIQState *src, *dst;
|
||||||
uint8_t px;
|
uint8_t px;
|
||||||
|
@ -1176,9 +1176,9 @@ static void test_migrate_dma(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Write, migrate, then read. */
|
/* Write, migrate, then read. */
|
||||||
ahci_io(src, px, CMD_WRITE_DMA, tx, bufsize, 0);
|
ahci_io(src, px, cmd_write, tx, bufsize, 0);
|
||||||
ahci_migrate(src, dst, uri);
|
ahci_migrate(src, dst, uri);
|
||||||
ahci_io(dst, px, CMD_READ_DMA, rx, bufsize, 0);
|
ahci_io(dst, px, cmd_read, rx, bufsize, 0);
|
||||||
|
|
||||||
/* Verify pattern */
|
/* Verify pattern */
|
||||||
g_assert_cmphex(memcmp(tx, rx, bufsize), ==, 0);
|
g_assert_cmphex(memcmp(tx, rx, bufsize), ==, 0);
|
||||||
|
@ -1189,6 +1189,16 @@ static void test_migrate_dma(void)
|
||||||
g_free(tx);
|
g_free(tx);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void test_migrate_dma(void)
|
||||||
|
{
|
||||||
|
ahci_migrate_simple(CMD_READ_DMA, CMD_WRITE_DMA);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void test_migrate_ncq(void)
|
||||||
|
{
|
||||||
|
ahci_migrate_simple(READ_FPDMA_QUEUED, WRITE_FPDMA_QUEUED);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* DMA Error Test
|
* DMA Error Test
|
||||||
*
|
*
|
||||||
|
@ -1666,6 +1676,7 @@ int main(int argc, char **argv)
|
||||||
qtest_add_func("/ahci/reset", test_reset);
|
qtest_add_func("/ahci/reset", test_reset);
|
||||||
|
|
||||||
qtest_add_func("/ahci/io/ncq/simple", test_ncq_simple);
|
qtest_add_func("/ahci/io/ncq/simple", test_ncq_simple);
|
||||||
|
qtest_add_func("/ahci/migrate/ncq/simple", test_migrate_ncq);
|
||||||
|
|
||||||
ret = g_test_run();
|
ret = g_test_run();
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue