| /* |
| * QEMU Windows Hypervisor Platform accelerator (WHPX) support |
| * |
| * Copyright Microsoft, Corp. 2017 |
| * |
| * Authors: |
| * |
| * This work is licensed under the terms of the GNU GPL, version 2 or later. |
| * See the COPYING file in the top-level directory. |
| * |
| */ |
| |
| #ifndef QEMU_WHPX_H |
| #define QEMU_WHPX_H |
| |
| |
| int whpx_init_vcpu(CPUState *cpu); |
| int whpx_vcpu_exec(CPUState *cpu); |
| void whpx_destroy_vcpu(CPUState *cpu); |
| void whpx_vcpu_kick(CPUState *cpu); |
| |
| |
| void whpx_cpu_synchronize_state(CPUState *cpu); |
| void whpx_cpu_synchronize_post_reset(CPUState *cpu); |
| void whpx_cpu_synchronize_post_init(CPUState *cpu); |
| void whpx_cpu_synchronize_pre_loadvm(CPUState *cpu); |
| |
| #ifdef CONFIG_WHPX |
| |
| int whpx_enabled(void); |
| |
| #else /* CONFIG_WHPX */ |
| |
| #define whpx_enabled() (0) |
| |
| #endif /* CONFIG_WHPX */ |
| |
| /* state subset only touched by the VCPU itself during runtime */ |
| #define WHPX_SET_RUNTIME_STATE 1 |
| /* state subset modified during VCPU reset */ |
| #define WHPX_SET_RESET_STATE 2 |
| /* full state set, modified during initialization or on vmload */ |
| #define WHPX_SET_FULL_STATE 3 |
| |
| #endif /* QEMU_WHPX_H */ |