libqos: add qtest_vboot

Add a va_list variant of the qtest_boot function.

Signed-off-by: John Snow <jsnow@redhat.com>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Message-id: 1421698563-6977-5-git-send-email-jsnow@redhat.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
master
John Snow 2015-01-19 15:15:52 -05:00 committed by Stefan Hajnoczi
parent dd0029c0f4
commit f1518d1192
2 changed files with 20 additions and 6 deletions

View File

@ -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.
*/

View File

@ -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);