diff --git a/tests/libqos/libqos.c b/tests/libqos/libqos.c index c478bc958c..c8b3ef044b 100644 --- a/tests/libqos/libqos.c +++ b/tests/libqos/libqos.c @@ -16,16 +16,13 @@ * Launch QEMU with the given command line, * and then set up interrupts and our guest malloc interface. */ -QOSState *qtest_boot(const char *cmdline_fmt, ...) +QOSState *qtest_vboot(const char *cmdline_fmt, va_list ap) { - QOSState *qs = g_malloc(sizeof(QOSState)); char *cmdline; - va_list ap; - va_start(ap, cmdline_fmt); + struct QOSState *qs = g_malloc(sizeof(QOSState)); + cmdline = g_strdup_vprintf(cmdline_fmt, ap); - va_end(ap); - qs->qts = qtest_start(cmdline); qtest_irq_intercept_in(global_qtest, "ioapic"); qs->alloc = pc_alloc_init(); @@ -34,6 +31,22 @@ QOSState *qtest_boot(const char *cmdline_fmt, ...) return qs; } +/** + * Launch QEMU with the given command line, + * and then set up interrupts and our guest malloc interface. + */ +QOSState *qtest_boot(const char *cmdline_fmt, ...) +{ + QOSState *qs; + va_list ap; + + va_start(ap, cmdline_fmt); + qs = qtest_vboot(cmdline_fmt, ap); + va_end(ap); + + return qs; +} + /** * Tear down the QEMU instance. */ diff --git a/tests/libqos/libqos.h b/tests/libqos/libqos.h index 7a106f24e9..7ae0a8d600 100644 --- a/tests/libqos/libqos.h +++ b/tests/libqos/libqos.h @@ -10,6 +10,7 @@ typedef struct QOSState { QGuestAllocator *alloc; } QOSState; +QOSState *qtest_vboot(const char *cmdline_fmt, va_list ap); QOSState *qtest_boot(const char *cmdline_fmt, ...); void qtest_shutdown(QOSState *qs);