qemu/tests/libqos/libqos.h
<<
>>
Prefs
   1#ifndef __libqos_h
   2#define __libqos_h
   3
   4#include "libqtest.h"
   5#include "libqos/pci.h"
   6#include "libqos/malloc-pc.h"
   7
   8typedef struct QOSOps {
   9    QGuestAllocator *(*init_allocator)(QAllocOpts);
  10    void (*uninit_allocator)(QGuestAllocator *);
  11} QOSOps;
  12
  13typedef struct QOSState {
  14    QTestState *qts;
  15    QGuestAllocator *alloc;
  16    QOSOps *ops;
  17} QOSState;
  18
  19QOSState *qtest_vboot(QOSOps *ops, const char *cmdline_fmt, va_list ap);
  20QOSState *qtest_boot(QOSOps *ops, const char *cmdline_fmt, ...);
  21void qtest_shutdown(QOSState *qs);
  22bool have_qemu_img(void);
  23void mkimg(const char *file, const char *fmt, unsigned size_mb);
  24void mkqcow2(const char *file, unsigned size_mb);
  25void set_context(QOSState *s);
  26void migrate(QOSState *from, QOSState *to, const char *uri);
  27void prepare_blkdebug_script(const char *debug_fn, const char *event);
  28void generate_pattern(void *buffer, size_t len, size_t cycle_len);
  29
  30static inline uint64_t qmalloc(QOSState *q, size_t bytes)
  31{
  32    return guest_alloc(q->alloc, bytes);
  33}
  34
  35static inline void qfree(QOSState *q, uint64_t addr)
  36{
  37    guest_free(q->alloc, addr);
  38}
  39
  40#endif
  41