]>
Commit | Line | Data |
---|---|---|
c97d6d2c SAGDR |
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 */ | |
a8b991b5 MA |
12 | |
13 | #ifndef HVF_H | |
14 | #define HVF_H | |
c97d6d2c | 15 | |
c97d6d2c | 16 | #ifdef CONFIG_HVF |
c97d6d2c SAGDR |
17 | uint32_t hvf_get_supported_cpuid(uint32_t func, uint32_t idx, |
18 | int reg); | |
f291cf54 | 19 | extern bool hvf_allowed; |
92cc3aaa | 20 | #define hvf_enabled() (hvf_allowed) |
f291cf54 | 21 | #else /* !CONFIG_HVF */ |
c97d6d2c SAGDR |
22 | #define hvf_enabled() 0 |
23 | #define hvf_get_supported_cpuid(func, idx, reg) 0 | |
f291cf54 | 24 | #endif /* !CONFIG_HVF */ |
c97d6d2c | 25 | |
c97d6d2c SAGDR |
26 | int hvf_init_vcpu(CPUState *); |
27 | int hvf_vcpu_exec(CPUState *); | |
c97d6d2c SAGDR |
28 | void hvf_cpu_synchronize_state(CPUState *); |
29 | void hvf_cpu_synchronize_post_reset(CPUState *); | |
30 | void hvf_cpu_synchronize_post_init(CPUState *); | |
c97d6d2c | 31 | void hvf_vcpu_destroy(CPUState *); |
c97d6d2c | 32 | void hvf_reset_vcpu(CPUState *); |
c97d6d2c SAGDR |
33 | |
34 | #define TYPE_HVF_ACCEL ACCEL_CLASS_NAME("hvf") | |
35 | ||
36 | #define HVF_STATE(obj) \ | |
37 | OBJECT_CHECK(HVFState, (obj), TYPE_HVF_ACCEL) | |
38 | ||
39 | #endif |