1 | /* |
2 | * QEMU HAXM support |
3 | * |
4 | * Copyright IBM, Corp. 2008 |
5 | * |
6 | * Authors: |
7 | * Anthony Liguori <aliguori@us.ibm.com> |
8 | * |
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> |
14 | * |
15 | * Copyright 2016 Google, Inc. |
16 | * |
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. |
19 | * |
20 | */ |
21 | |
22 | #ifndef QEMU_HAX_H |
23 | #define QEMU_HAX_H |
24 | |
25 | |
26 | int hax_sync_vcpus(void); |
27 | int hax_init_vcpu(CPUState *cpu); |
28 | int hax_smp_cpu_exec(CPUState *cpu); |
29 | int hax_populate_ram(uint64_t va, uint64_t size); |
30 | |
31 | void hax_cpu_synchronize_state(CPUState *cpu); |
32 | void hax_cpu_synchronize_post_reset(CPUState *cpu); |
33 | void hax_cpu_synchronize_post_init(CPUState *cpu); |
34 | void hax_cpu_synchronize_pre_loadvm(CPUState *cpu); |
35 | |
36 | #ifdef CONFIG_HAX |
37 | |
38 | int hax_enabled(void); |
39 | |
40 | #include "qemu/bitops.h" |
41 | #include "exec/memory.h" |
42 | int hax_vcpu_destroy(CPUState *cpu); |
43 | void hax_raise_event(CPUState *cpu); |
44 | void hax_reset_vcpu_state(void *opaque); |
45 | #include "target/i386/hax-interface.h" |
46 | #include "target/i386/hax-i386.h" |
47 | |
48 | #else /* CONFIG_HAX */ |
49 | |
50 | #define hax_enabled() (0) |
51 | |
52 | #endif /* CONFIG_HAX */ |
53 | |
54 | #endif /* QEMU_HAX_H */ |
55 | |