2 * QEMU Hypervisor.framework (HVF) support
4 * This work is licensed under the terms of the GNU GPL, version 2 or later.
5 * See the COPYING file in the top-level directory.
9 /* header to be included in HVF-specific code */
14 #include <Hypervisor/hv.h>
17 #define HVF_SLOT_LOG (1 << 0)
19 typedef struct hvf_slot
{
28 typedef struct hvf_vcpu_caps
{
29 uint64_t vmx_cap_pinbased
;
30 uint64_t vmx_cap_procbased
;
31 uint64_t vmx_cap_procbased2
;
32 uint64_t vmx_cap_entry
;
33 uint64_t vmx_cap_exit
;
34 uint64_t vmx_cap_preemption_timer
;
42 hvf_vcpu_caps
*hvf_caps
;
44 extern HVFState
*hvf_state
;
46 struct hvf_vcpu_state
{
50 void assert_hvf_ok(hv_return_t ret
);
51 int hvf_arch_init_vcpu(CPUState
*cpu
);
52 void hvf_arch_vcpu_destroy(CPUState
*cpu
);
53 int hvf_vcpu_exec(CPUState
*);
54 hvf_slot
*hvf_find_overlap_slot(uint64_t, uint64_t);
55 int hvf_put_registers(CPUState
*);
56 int hvf_get_registers(CPUState
*);