mirror of
https://github.com/Motorhead1991/qemu.git
synced 2026-01-06 14:37:42 -07:00
libqos: Track QTestState with QPCIBus
When initializing a QPCIBus, track which QTestState the bus is associated with (so that a later patch can then explicitly use that test state for all communication on the bus, rather than blindly relying on global_qtest). Update the initialization functions to take another parameter, and update all callers to pass in state (for now, most callers get away with passing the current global_qtest as the current state, although this required fixing the order of initialization to ensure qtest_start() is called before qpci_init*() in rtl8139-test, and provided an opportunity to pass in the allocator in e1000e-test). Touch up some allocations to use g_new0() rather than g_malloc() while in the area, and simplify some code (all implementations of QOSOps provide a .init_allocator() that never fails). Signed-off-by: Eric Blake <eblake@redhat.com> Reviewed-by: John Snow <jsnow@redhat.com> Reviewed-by: Thomas Huth <thuth@redhat.com> [thuth: Removed hunk from vhost-user-test.c that is not required anymore, fixed conflict in qtest_vboot() and adjusted qpci_init_pc() in sdhci-test] Signed-off-by: Thomas Huth <thuth@redhat.com>
This commit is contained in:
parent
50990b162c
commit
e5d1730d1e
19 changed files with 33 additions and 33 deletions
|
|
@ -18,18 +18,14 @@ QOSState *qtest_vboot(QOSOps *ops, const char *cmdline_fmt, va_list ap)
|
|||
{
|
||||
char *cmdline;
|
||||
|
||||
struct QOSState *qs = g_new(QOSState, 1);
|
||||
QOSState *qs = g_new0(QOSState, 1);
|
||||
|
||||
cmdline = g_strdup_vprintf(cmdline_fmt, ap);
|
||||
qs->qts = qtest_start(cmdline);
|
||||
qs->ops = ops;
|
||||
if (ops) {
|
||||
if (ops->init_allocator) {
|
||||
qs->alloc = ops->init_allocator(ALLOC_NO_FLAGS);
|
||||
}
|
||||
if (ops->qpci_init && qs->alloc) {
|
||||
qs->pcibus = ops->qpci_init(qs->alloc);
|
||||
}
|
||||
qs->alloc = ops->init_allocator(ALLOC_NO_FLAGS);
|
||||
qs->pcibus = ops->qpci_init(qs->qts, qs->alloc);
|
||||
}
|
||||
|
||||
g_free(cmdline);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue