Commit 07a1ee79 authored by John Snow's avatar John Snow
Browse files

qtest/ahci: ncq migration test



Signed-off-by: default avatarJohn Snow <jsnow@redhat.com>
Reviewed-by: default avatarStefan Hajnoczi <stefanha@redhat.com>
Message-id: 1435016308-6150-17-git-send-email-jsnow@redhat.com
parent 26ad0045
Loading
Loading
Loading
Loading
+15 −4
Original line number Diff line number Diff line
@@ -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;
    uint8_t px;
@@ -1176,9 +1176,9 @@ static void test_migrate_dma(void)
    }

    /* 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_io(dst, px, CMD_READ_DMA, rx, bufsize, 0);
    ahci_io(dst, px, cmd_read, rx, bufsize, 0);

    /* Verify pattern */
    g_assert_cmphex(memcmp(tx, rx, bufsize), ==, 0);
@@ -1189,6 +1189,16 @@ static void test_migrate_dma(void)
    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
 *
@@ -1666,6 +1676,7 @@ int main(int argc, char **argv)
    qtest_add_func("/ahci/reset", test_reset);

    qtest_add_func("/ahci/io/ncq/simple", test_ncq_simple);
    qtest_add_func("/ahci/migrate/ncq/simple", test_migrate_ncq);

    ret = g_test_run();