tcg: enable multiple TCG contexts in softmmu
[qemu/ar7.git] / include / sysemu / hax.h
blob232a68ab1bc6f3689334c783869a6d016b7b364b
1 /*
2 * QEMU HAXM support
4 * Copyright IBM, Corp. 2008
6 * Authors:
7 * Anthony Liguori <aliguori@us.ibm.com>
9 * Copyright (c) 2011 Intel Corporation
10 * Written by:
11 * Jiang Yunhong<yunhong.jiang@intel.com>
12 * Xin Xiaohui<xiaohui.xin@intel.com>
13 * Zhang Xiantao<xiantao.zhang@intel.com>
15 * Copyright 2016 Google, Inc.
17 * This work is licensed under the terms of the GNU GPL, version 2 or later.
18 * See the COPYING file in the top-level directory.
22 #ifndef QEMU_HAX_H
23 #define QEMU_HAX_H
25 #include "config-host.h"
26 #include "qemu-common.h"
28 int hax_sync_vcpus(void);
29 int hax_init_vcpu(CPUState *cpu);
30 int hax_smp_cpu_exec(CPUState *cpu);
31 int hax_populate_ram(uint64_t va, uint32_t size);
33 void hax_cpu_synchronize_state(CPUState *cpu);
34 void hax_cpu_synchronize_post_reset(CPUState *cpu);
35 void hax_cpu_synchronize_post_init(CPUState *cpu);
36 void hax_cpu_synchronize_pre_loadvm(CPUState *cpu);
38 #ifdef CONFIG_HAX
40 int hax_enabled(void);
42 #include "hw/hw.h"
43 #include "qemu/bitops.h"
44 #include "exec/memory.h"
45 int hax_vcpu_destroy(CPUState *cpu);
46 void hax_raise_event(CPUState *cpu);
47 void hax_reset_vcpu_state(void *opaque);
48 #include "target/i386/hax-interface.h"
49 #include "target/i386/hax-i386.h"
51 #else /* CONFIG_HAX */
53 #define hax_enabled() (0)
55 #endif /* CONFIG_HAX */
57 #endif /* QEMU_HAX_H */