tests/pnv-xscom: Make test independent of global_qtest

Pass around the QTestState, so that we can finally get rid of the
out-of-favor global_qtest variable in this file, too.

Signed-off-by: Thomas Huth <thuth@redhat.com>
This commit is contained in:
Thomas Huth 2019-01-03 12:09:52 +01:00
parent 8173668c48
commit 8a547c8dc8
1 changed files with 15 additions and 14 deletions

View File

@ -63,14 +63,15 @@ static uint64_t pnv_xscom_addr(const PnvChip *chip, uint32_t pcba)
return addr;
}
static uint64_t pnv_xscom_read(const PnvChip *chip, uint32_t pcba)
static uint64_t pnv_xscom_read(QTestState *qts, const PnvChip *chip,
uint32_t pcba)
{
return readq(pnv_xscom_addr(chip, pcba));
return qtest_readq(qts, pnv_xscom_addr(chip, pcba));
}
static void test_xscom_cfam_id(const PnvChip *chip)
static void test_xscom_cfam_id(QTestState *qts, const PnvChip *chip)
{
uint64_t f000f = pnv_xscom_read(chip, 0xf000f);
uint64_t f000f = pnv_xscom_read(qts, chip, 0xf000f);
g_assert_cmphex(f000f, ==, chip->cfam_id);
}
@ -78,11 +79,11 @@ static void test_xscom_cfam_id(const PnvChip *chip)
static void test_cfam_id(const void *data)
{
const PnvChip *chip = data;
QTestState *qts;
global_qtest = qtest_initf("-M powernv,accel=tcg -cpu %s",
chip->cpu_model);
test_xscom_cfam_id(chip);
qtest_quit(global_qtest);
qts = qtest_initf("-M powernv,accel=tcg -cpu %s", chip->cpu_model);
test_xscom_cfam_id(qts, chip);
qtest_quit(qts);
}
@ -94,7 +95,7 @@ static void test_cfam_id(const void *data)
#define PNV_XSCOM_EX_DTS_RESULT0 0x50000
static void test_xscom_core(const PnvChip *chip)
static void test_xscom_core(QTestState *qts, const PnvChip *chip)
{
uint32_t first_core_dts0 = PNV_XSCOM_EX_DTS_RESULT0;
uint64_t dts0;
@ -105,7 +106,7 @@ static void test_xscom_core(const PnvChip *chip)
first_core_dts0 |= PNV_XSCOM_P9_EC_BASE(chip->first_core);
}
dts0 = pnv_xscom_read(chip, first_core_dts0);
dts0 = pnv_xscom_read(qts, chip, first_core_dts0);
g_assert_cmphex(dts0, ==, 0x26f024f023f0000ull);
}
@ -113,11 +114,11 @@ static void test_xscom_core(const PnvChip *chip)
static void test_core(const void *data)
{
const PnvChip *chip = data;
QTestState *qts;
global_qtest = qtest_initf("-M powernv,accel=tcg -cpu %s",
chip->cpu_model);
test_xscom_core(chip);
qtest_quit(global_qtest);
qts = qtest_initf("-M powernv,accel=tcg -cpu %s", chip->cpu_model);
test_xscom_core(qts, chip);
qtest_quit(qts);
}
static void add_test(const char *name, void (*test)(const void *data))