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>
This commit is contained in:
parent
d661d9a42b
commit
29b22c79bc
@ -1,4 +1,5 @@
|
||||
obj-$(call lnot,$(CONFIG_HAX)) += hax-stub.o
|
||||
obj-$(call lnot,$(CONFIG_HVF)) += hvf-stub.o
|
||||
obj-$(call lnot,$(CONFIG_KVM)) += kvm-stub.o
|
||||
obj-$(call lnot,$(CONFIG_TCG)) += tcg-stub.o
|
||||
obj-$(call lnot,$(CONFIG_HAX)) += hax-stub.o
|
||||
obj-$(call lnot,$(CONFIG_HVF)) += hvf-stub.o
|
||||
obj-$(call lnot,$(CONFIG_WHPX)) += whpx-stub.o
|
||||
obj-$(call lnot,$(CONFIG_KVM)) += kvm-stub.o
|
||||
obj-$(call lnot,$(CONFIG_TCG)) += tcg-stub.o
|
||||
|
48
accel/stubs/whpx-stub.c
Normal file
48
accel/stubs/whpx-stub.c
Normal file
@ -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)
|
||||
{
|
||||
}
|
40
include/sysemu/whpx.h
Normal file
40
include/sysemu/whpx.h
Normal file
@ -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…
x
Reference in New Issue
Block a user