]> git.proxmox.com Git - mirror_qemu.git/blob - include/sysemu/hw_accel.h
Merge remote-tracking branch 'remotes/bonzini/tags/for-upstream' into staging
[mirror_qemu.git] / include / sysemu / hw_accel.h
1 /*
2 * QEMU Hardware accelertors support
3 *
4 * Copyright 2016 Google, Inc.
5 *
6 * This work is licensed under the terms of the GNU GPL, version 2 or later.
7 * See the COPYING file in the top-level directory.
8 *
9 */
10
11 #ifndef QEMU_HW_ACCEL_H
12 #define QEMU_HW_ACCEL_H
13
14 #include "hw/core/cpu.h"
15 #include "sysemu/hax.h"
16 #include "sysemu/kvm.h"
17 #include "sysemu/whpx.h"
18
19 static inline void cpu_synchronize_state(CPUState *cpu)
20 {
21 if (kvm_enabled()) {
22 kvm_cpu_synchronize_state(cpu);
23 }
24 if (hax_enabled()) {
25 hax_cpu_synchronize_state(cpu);
26 }
27 if (whpx_enabled()) {
28 whpx_cpu_synchronize_state(cpu);
29 }
30 }
31
32 static inline void cpu_synchronize_post_reset(CPUState *cpu)
33 {
34 if (kvm_enabled()) {
35 kvm_cpu_synchronize_post_reset(cpu);
36 }
37 if (hax_enabled()) {
38 hax_cpu_synchronize_post_reset(cpu);
39 }
40 if (whpx_enabled()) {
41 whpx_cpu_synchronize_post_reset(cpu);
42 }
43 }
44
45 static inline void cpu_synchronize_post_init(CPUState *cpu)
46 {
47 if (kvm_enabled()) {
48 kvm_cpu_synchronize_post_init(cpu);
49 }
50 if (hax_enabled()) {
51 hax_cpu_synchronize_post_init(cpu);
52 }
53 if (whpx_enabled()) {
54 whpx_cpu_synchronize_post_init(cpu);
55 }
56 }
57
58 static inline void cpu_synchronize_pre_loadvm(CPUState *cpu)
59 {
60 if (kvm_enabled()) {
61 kvm_cpu_synchronize_pre_loadvm(cpu);
62 }
63 if (hax_enabled()) {
64 hax_cpu_synchronize_pre_loadvm(cpu);
65 }
66 if (whpx_enabled()) {
67 whpx_cpu_synchronize_pre_loadvm(cpu);
68 }
69 }
70
71 #endif /* QEMU_HW_ACCEL_H */