1*29b22c79SJustin Terry (VM) /* 2*29b22c79SJustin Terry (VM) * QEMU Windows Hypervisor Platform accelerator (WHPX) support 3*29b22c79SJustin Terry (VM) * 4*29b22c79SJustin Terry (VM) * Copyright Microsoft, Corp. 2017 5*29b22c79SJustin Terry (VM) * 6*29b22c79SJustin Terry (VM) * Authors: 7*29b22c79SJustin Terry (VM) * 8*29b22c79SJustin Terry (VM) * This work is licensed under the terms of the GNU GPL, version 2 or later. 9*29b22c79SJustin Terry (VM) * See the COPYING file in the top-level directory. 10*29b22c79SJustin Terry (VM) * 11*29b22c79SJustin Terry (VM) */ 12*29b22c79SJustin Terry (VM) 13*29b22c79SJustin Terry (VM) #ifndef QEMU_WHPX_H 14*29b22c79SJustin Terry (VM) #define QEMU_WHPX_H 15*29b22c79SJustin Terry (VM) 16*29b22c79SJustin Terry (VM) #include "config-host.h" 17*29b22c79SJustin Terry (VM) #include "qemu-common.h" 18*29b22c79SJustin Terry (VM) 19*29b22c79SJustin Terry (VM) int whpx_init_vcpu(CPUState *cpu); 20*29b22c79SJustin Terry (VM) int whpx_vcpu_exec(CPUState *cpu); 21*29b22c79SJustin Terry (VM) void whpx_destroy_vcpu(CPUState *cpu); 22*29b22c79SJustin Terry (VM) void whpx_vcpu_kick(CPUState *cpu); 23*29b22c79SJustin Terry (VM) 24*29b22c79SJustin Terry (VM) 25*29b22c79SJustin Terry (VM) void whpx_cpu_synchronize_state(CPUState *cpu); 26*29b22c79SJustin Terry (VM) void whpx_cpu_synchronize_post_reset(CPUState *cpu); 27*29b22c79SJustin Terry (VM) void whpx_cpu_synchronize_post_init(CPUState *cpu); 28*29b22c79SJustin Terry (VM) void whpx_cpu_synchronize_pre_loadvm(CPUState *cpu); 29*29b22c79SJustin Terry (VM) 30*29b22c79SJustin Terry (VM) #ifdef CONFIG_WHPX 31*29b22c79SJustin Terry (VM) 32*29b22c79SJustin Terry (VM) int whpx_enabled(void); 33*29b22c79SJustin Terry (VM) 34*29b22c79SJustin Terry (VM) #else /* CONFIG_WHPX */ 35*29b22c79SJustin Terry (VM) 36*29b22c79SJustin Terry (VM) #define whpx_enabled() (0) 37*29b22c79SJustin Terry (VM) 38*29b22c79SJustin Terry (VM) #endif /* CONFIG_WHPX */ 39*29b22c79SJustin Terry (VM) 40*29b22c79SJustin Terry (VM) #endif /* QEMU_WHPX_H */ 41