qemu/accel/qtest.c
<<
>>
Prefs
   1/*
   2 * QTest accelerator code
   3 *
   4 * Copyright IBM, Corp. 2011
   5 *
   6 * Authors:
   7 *  Anthony Liguori   <aliguori@us.ibm.com>
   8 *
   9 * This work is licensed under the terms of the GNU GPL, version 2 or later.
  10 * See the COPYING file in the top-level directory.
  11 *
  12 */
  13
  14#include "qemu/osdep.h"
  15#include "qapi/error.h"
  16#include "qemu/module.h"
  17#include "qemu/option.h"
  18#include "qemu/config-file.h"
  19#include "sysemu/accel.h"
  20#include "sysemu/qtest.h"
  21#include "sysemu/cpus.h"
  22
  23static int qtest_init_accel(MachineState *ms)
  24{
  25    QemuOpts *opts = qemu_opts_create(qemu_find_opts("icount"), NULL, 0,
  26                                      &error_abort);
  27    qemu_opt_set(opts, "shift", "0", &error_abort);
  28    configure_icount(opts, &error_abort);
  29    qemu_opts_del(opts);
  30    return 0;
  31}
  32
  33static void qtest_accel_class_init(ObjectClass *oc, void *data)
  34{
  35    AccelClass *ac = ACCEL_CLASS(oc);
  36    ac->name = "QTest";
  37    ac->init_machine = qtest_init_accel;
  38    ac->allowed = &qtest_allowed;
  39}
  40
  41#define TYPE_QTEST_ACCEL ACCEL_CLASS_NAME("qtest")
  42
  43static const TypeInfo qtest_accel_type = {
  44    .name = TYPE_QTEST_ACCEL,
  45    .parent = TYPE_ACCEL,
  46    .class_init = qtest_accel_class_init,
  47};
  48
  49static void qtest_type_init(void)
  50{
  51    type_register_static(&qtest_accel_type);
  52}
  53
  54type_init(qtest_type_init);
  55