hvf: Remove hvf-accel-ops.h
[qemu.git] / include / sysemu / hvf_int.h
blobfd1dcaf26e08af1332518fbd2674f1a6eed030ff
1 /*
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.
7 */
9 /* header to be included in HVF-specific code */
11 #ifndef HVF_INT_H
12 #define HVF_INT_H
14 #include <Hypervisor/hv.h>
16 /* hvf_slot flags */
17 #define HVF_SLOT_LOG (1 << 0)
19 typedef struct hvf_slot {
20 uint64_t start;
21 uint64_t size;
22 uint8_t *mem;
23 int slot_id;
24 uint32_t flags;
25 MemoryRegion *region;
26 } 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;
35 } hvf_vcpu_caps;
37 struct HVFState {
38 AccelState parent;
39 hvf_slot slots[32];
40 int num_slots;
42 hvf_vcpu_caps *hvf_caps;
44 extern HVFState *hvf_state;
46 void assert_hvf_ok(hv_return_t ret);
47 int hvf_arch_init_vcpu(CPUState *cpu);
48 void hvf_arch_vcpu_destroy(CPUState *cpu);
49 int hvf_vcpu_exec(CPUState *);
50 hvf_slot *hvf_find_overlap_slot(uint64_t, uint64_t);
51 int hvf_put_registers(CPUState *);
52 int hvf_get_registers(CPUState *);
54 #endif