mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-03 07:43:54 -06:00
libqos: Use explicit QTestState for fw_cfg operations
Drop one more client of global_qtest by teaching all fw_cfg test functionality (invoked through alloc-pc) to pass in an explicit QTestState, adjusting all callers. In particular, fw_cfg-test had to reorder things to create the test state prior to creating the fw_cfg (and drop a pointless strdup in the meantime), but that test now no longer depends on global_qtest. Signed-off-by: Eric Blake <eblake@redhat.com> Reviewed-by: John Snow <jsnow@redhat.com> Reviewed-by: Thomas Huth <thuth@redhat.com> [thuth: Fixed conflict wrt pc_alloc_init() in vhost-user-test.c] Signed-off-by: Thomas Huth <thuth@redhat.com>
This commit is contained in:
parent
e5d1730d1e
commit
05e520f1c7
14 changed files with 36 additions and 36 deletions
|
@ -56,7 +56,7 @@ uint64_t qfw_cfg_get_u64(QFWCFG *fw_cfg, uint16_t key)
|
|||
|
||||
static void mm_fw_cfg_select(QFWCFG *fw_cfg, uint16_t key)
|
||||
{
|
||||
writew(fw_cfg->base, key);
|
||||
qtest_writew(fw_cfg->qts, fw_cfg->base, key);
|
||||
}
|
||||
|
||||
static void mm_fw_cfg_read(QFWCFG *fw_cfg, void *data, size_t len)
|
||||
|
@ -65,15 +65,16 @@ static void mm_fw_cfg_read(QFWCFG *fw_cfg, void *data, size_t len)
|
|||
int i;
|
||||
|
||||
for (i = 0; i < len; i++) {
|
||||
ptr[i] = readb(fw_cfg->base + 2);
|
||||
ptr[i] = qtest_readb(fw_cfg->qts, fw_cfg->base + 2);
|
||||
}
|
||||
}
|
||||
|
||||
QFWCFG *mm_fw_cfg_init(uint64_t base)
|
||||
QFWCFG *mm_fw_cfg_init(QTestState *qts, uint64_t base)
|
||||
{
|
||||
QFWCFG *fw_cfg = g_malloc0(sizeof(*fw_cfg));
|
||||
|
||||
fw_cfg->base = base;
|
||||
fw_cfg->qts = qts;
|
||||
fw_cfg->select = mm_fw_cfg_select;
|
||||
fw_cfg->read = mm_fw_cfg_read;
|
||||
|
||||
|
@ -82,7 +83,7 @@ QFWCFG *mm_fw_cfg_init(uint64_t base)
|
|||
|
||||
static void io_fw_cfg_select(QFWCFG *fw_cfg, uint16_t key)
|
||||
{
|
||||
outw(fw_cfg->base, key);
|
||||
qtest_outw(fw_cfg->qts, fw_cfg->base, key);
|
||||
}
|
||||
|
||||
static void io_fw_cfg_read(QFWCFG *fw_cfg, void *data, size_t len)
|
||||
|
@ -91,15 +92,16 @@ static void io_fw_cfg_read(QFWCFG *fw_cfg, void *data, size_t len)
|
|||
int i;
|
||||
|
||||
for (i = 0; i < len; i++) {
|
||||
ptr[i] = inb(fw_cfg->base + 1);
|
||||
ptr[i] = qtest_inb(fw_cfg->qts, fw_cfg->base + 1);
|
||||
}
|
||||
}
|
||||
|
||||
QFWCFG *io_fw_cfg_init(uint16_t base)
|
||||
QFWCFG *io_fw_cfg_init(QTestState *qts, uint16_t base)
|
||||
{
|
||||
QFWCFG *fw_cfg = g_malloc0(sizeof(*fw_cfg));
|
||||
|
||||
fw_cfg->base = base;
|
||||
fw_cfg->qts = qts;
|
||||
fw_cfg->select = io_fw_cfg_select;
|
||||
fw_cfg->read = io_fw_cfg_read;
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue