summaryrefslogtreecommitdiffstats
path: root/tests/libqos/libqos.h
diff options
context:
space:
mode:
authorJohn Snow2015-01-19 21:15:55 +0100
committerStefan Hajnoczi2015-02-16 15:40:55 +0100
commit90e5add6f2fa0b0bd9a4c1d5a4de2304b5f3e466 (patch)
treed88630f9c1149ea6e5d774d45c12fcd6cb0165e9 /tests/libqos/libqos.h
parentlibqos: Update QGuestAllocator to be opaque (diff)
downloadqemu-90e5add6f2fa0b0bd9a4c1d5a4de2304b5f3e466.tar.gz
qemu-90e5add6f2fa0b0bd9a4c1d5a4de2304b5f3e466.tar.xz
qemu-90e5add6f2fa0b0bd9a4c1d5a4de2304b5f3e466.zip
libqos: add pc specific interface
Create an operations structure so that the libqos interface can be architecture agnostic, and create a pc-specific interface to functions like qtest_boot. Move the libqos object in the Makefile from being ahci-test only to being linked with all tests that utilize the libqos features. Signed-off-by: John Snow <jsnow@redhat.com> Reviewed-by: Paolo Bonzini <pbonzini@redhat.com> Message-id: 1421698563-6977-8-git-send-email-jsnow@redhat.com Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Diffstat (limited to 'tests/libqos/libqos.h')
-rw-r--r--tests/libqos/libqos.h10
1 files changed, 8 insertions, 2 deletions
diff --git a/tests/libqos/libqos.h b/tests/libqos/libqos.h
index 7ae0a8d600..612d41e5e9 100644
--- a/tests/libqos/libqos.h
+++ b/tests/libqos/libqos.h
@@ -5,13 +5,19 @@
#include "libqos/pci.h"
#include "libqos/malloc-pc.h"
+typedef struct QOSOps {
+ QGuestAllocator *(*init_allocator)(QAllocOpts);
+ void (*uninit_allocator)(QGuestAllocator *);
+} QOSOps;
+
typedef struct QOSState {
QTestState *qts;
QGuestAllocator *alloc;
+ QOSOps *ops;
} QOSState;
-QOSState *qtest_vboot(const char *cmdline_fmt, va_list ap);
-QOSState *qtest_boot(const char *cmdline_fmt, ...);
+QOSState *qtest_vboot(QOSOps *ops, const char *cmdline_fmt, va_list ap);
+QOSState *qtest_boot(QOSOps *ops, const char *cmdline_fmt, ...);
void qtest_shutdown(QOSState *qs);
static inline uint64_t qmalloc(QOSState *q, size_t bytes)