2018-01-23 00:07:47 +03:00
|
|
|
/*
|
|
|
|
* 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 */
|
|
|
|
|
2020-02-26 23:54:39 +03:00
|
|
|
/* 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
|
|
|
|
|
2018-01-23 00:07:47 +03:00
|
|
|
#endif /* QEMU_WHPX_H */
|