mirror of https://github.com/proxmox/mirror_qemu
Add the WHPX vcpu API
Adds support for the Windows Hypervisor Platform accelerator (WHPX) stubs and introduces the whpx.h sysemu API for managing the vcpu scheduling and management. Signed-off-by: Justin Terry (VM) <juterry@microsoft.com> Message-Id: <1516655269-1785-3-git-send-email-juterry@microsoft.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>master
parent
d661d9a42b
commit
29b22c79bc
|
@ -1,4 +1,5 @@
|
||||||
obj-$(call lnot,$(CONFIG_HAX)) += hax-stub.o
|
obj-$(call lnot,$(CONFIG_HAX)) += hax-stub.o
|
||||||
obj-$(call lnot,$(CONFIG_HVF)) += hvf-stub.o
|
obj-$(call lnot,$(CONFIG_HVF)) += hvf-stub.o
|
||||||
obj-$(call lnot,$(CONFIG_KVM)) += kvm-stub.o
|
obj-$(call lnot,$(CONFIG_WHPX)) += whpx-stub.o
|
||||||
obj-$(call lnot,$(CONFIG_TCG)) += tcg-stub.o
|
obj-$(call lnot,$(CONFIG_KVM)) += kvm-stub.o
|
||||||
|
obj-$(call lnot,$(CONFIG_TCG)) += tcg-stub.o
|
||||||
|
|
|
@ -0,0 +1,48 @@
|
||||||
|
/*
|
||||||
|
* QEMU Windows Hypervisor Platform accelerator (WHPX) stub
|
||||||
|
*
|
||||||
|
* Copyright Microsoft Corp. 2017
|
||||||
|
*
|
||||||
|
* This work is licensed under the terms of the GNU GPL, version 2 or later.
|
||||||
|
* See the COPYING file in the top-level directory.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "qemu/osdep.h"
|
||||||
|
#include "qemu-common.h"
|
||||||
|
#include "cpu.h"
|
||||||
|
#include "sysemu/whpx.h"
|
||||||
|
|
||||||
|
int whpx_init_vcpu(CPUState *cpu)
|
||||||
|
{
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
int whpx_vcpu_exec(CPUState *cpu)
|
||||||
|
{
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
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)
|
||||||
|
{
|
||||||
|
}
|
|
@ -0,0 +1,40 @@
|
||||||
|
/*
|
||||||
|
* 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
|
||||||
|
|
||||||
|
#include "config-host.h"
|
||||||
|
#include "qemu-common.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 */
|
||||||
|
|
||||||
|
#endif /* QEMU_WHPX_H */
|
Loading…
Reference in New Issue