]> git.proxmox.com Git - mirror_qemu.git/blob - include/sysemu/hvf.h
Move QOM typedefs and add missing includes
[mirror_qemu.git] / include / sysemu / hvf.h
1 /*
2 * QEMU Hypervisor.framework (HVF) support
3 *
4 * Copyright Google Inc., 2017
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 /* header to be included in non-HVF-specific code */
12
13 #ifndef HVF_H
14 #define HVF_H
15
16 #include "sysemu/accel.h"
17 #include "qom/object.h"
18
19 #ifdef CONFIG_HVF
20 uint32_t hvf_get_supported_cpuid(uint32_t func, uint32_t idx,
21 int reg);
22 extern bool hvf_allowed;
23 #define hvf_enabled() (hvf_allowed)
24 #else /* !CONFIG_HVF */
25 #define hvf_enabled() 0
26 #define hvf_get_supported_cpuid(func, idx, reg) 0
27 #endif /* !CONFIG_HVF */
28
29 int hvf_init_vcpu(CPUState *);
30 int hvf_vcpu_exec(CPUState *);
31 void hvf_cpu_synchronize_state(CPUState *);
32 void hvf_cpu_synchronize_post_reset(CPUState *);
33 void hvf_cpu_synchronize_post_init(CPUState *);
34 void hvf_cpu_synchronize_pre_loadvm(CPUState *);
35 void hvf_vcpu_destroy(CPUState *);
36
37 #define TYPE_HVF_ACCEL ACCEL_CLASS_NAME("hvf")
38
39 typedef struct HVFState HVFState;
40 #define HVF_STATE(obj) \
41 OBJECT_CHECK(HVFState, (obj), TYPE_HVF_ACCEL)
42
43 #endif