whpx: move internal definitions to whpx-internal.h
Only leave the external interface in sysemu/whpx.h. whpx_apic_in_platform is moved to a .c file because it needs whpx_state. Reported-by: Marc-André Lureau <marcandre.lureau@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Message-Id: <20201219090637.1700900-3-pbonzini@redhat.com>
This commit is contained in:
parent
9102c96821
commit
84f4ef17ae
|
@ -15,28 +15,8 @@
|
||||||
|
|
||||||
#ifdef CONFIG_WHPX
|
#ifdef CONFIG_WHPX
|
||||||
|
|
||||||
#include "whp-dispatch.h"
|
|
||||||
|
|
||||||
struct whpx_state {
|
|
||||||
uint64_t mem_quota;
|
|
||||||
WHV_PARTITION_HANDLE partition;
|
|
||||||
bool kernel_irqchip_allowed;
|
|
||||||
bool kernel_irqchip_required;
|
|
||||||
bool apic_in_platform;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct whpx_lapic_state {
|
|
||||||
struct {
|
|
||||||
uint32_t data;
|
|
||||||
uint32_t padding[3];
|
|
||||||
} fields[256];
|
|
||||||
};
|
|
||||||
|
|
||||||
extern struct whpx_state whpx_global;
|
|
||||||
int whpx_enabled(void);
|
int whpx_enabled(void);
|
||||||
|
bool whpx_apic_in_platform(void);
|
||||||
void whpx_apic_get(DeviceState *s);
|
|
||||||
#define whpx_apic_in_platform() (whpx_global.apic_in_platform)
|
|
||||||
|
|
||||||
#else /* CONFIG_WHPX */
|
#else /* CONFIG_WHPX */
|
||||||
|
|
||||||
|
|
|
@ -1866,6 +1866,10 @@ int whpx_enabled(void)
|
||||||
return whpx_allowed;
|
return whpx_allowed;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool whpx_apic_in_platform(void) {
|
||||||
|
return whpx_global.apic_in_platform;
|
||||||
|
}
|
||||||
|
|
||||||
static void whpx_accel_class_init(ObjectClass *oc, void *data)
|
static void whpx_accel_class_init(ObjectClass *oc, void *data)
|
||||||
{
|
{
|
||||||
AccelClass *ac = ACCEL_CLASS(oc);
|
AccelClass *ac = ACCEL_CLASS(oc);
|
||||||
|
|
|
@ -5,6 +5,24 @@
|
||||||
#include <WinHvPlatform.h>
|
#include <WinHvPlatform.h>
|
||||||
#include <WinHvEmulation.h>
|
#include <WinHvEmulation.h>
|
||||||
|
|
||||||
|
struct whpx_state {
|
||||||
|
uint64_t mem_quota;
|
||||||
|
WHV_PARTITION_HANDLE partition;
|
||||||
|
bool kernel_irqchip_allowed;
|
||||||
|
bool kernel_irqchip_required;
|
||||||
|
bool apic_in_platform;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct whpx_lapic_state {
|
||||||
|
struct {
|
||||||
|
uint32_t data;
|
||||||
|
uint32_t padding[3];
|
||||||
|
} fields[256];
|
||||||
|
};
|
||||||
|
|
||||||
|
extern struct whpx_state whpx_global;
|
||||||
|
void whpx_apic_get(DeviceState *s);
|
||||||
|
|
||||||
#define WHV_E_UNKNOWN_CAPABILITY 0x80370300L
|
#define WHV_E_UNKNOWN_CAPABILITY 0x80370300L
|
||||||
|
|
||||||
#define LIST_WINHVPLATFORM_FUNCTIONS(X) \
|
#define LIST_WINHVPLATFORM_FUNCTIONS(X) \
|
||||||
|
|
Loading…
Reference in New Issue