diff options
author | Paolo Bonzini <pbonzini@redhat.com> | 2020-12-19 04:06:37 -0500 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2021-01-12 12:38:03 +0100 |
commit | 84f4ef17ae9933e27699077a2840a9ea251ca38f (patch) | |
tree | fe9fbc35c72b3eae9aed12333f7e32fef366d608 /target/i386/whpx | |
parent | 9102c968216460c27be1c476938c3e2d508f5fc7 (diff) |
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>
Diffstat (limited to 'target/i386/whpx')
-rw-r--r-- | target/i386/whpx/whpx-all.c | 4 | ||||
-rw-r--r-- | target/i386/whpx/whpx-internal.h | 18 |
2 files changed, 22 insertions, 0 deletions
diff --git a/target/i386/whpx/whpx-all.c b/target/i386/whpx/whpx-all.c index 12f79e2cd6..985ceba8f8 100644 --- a/target/i386/whpx/whpx-all.c +++ b/target/i386/whpx/whpx-all.c @@ -1866,6 +1866,10 @@ int whpx_enabled(void) 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) { AccelClass *ac = ACCEL_CLASS(oc); diff --git a/target/i386/whpx/whpx-internal.h b/target/i386/whpx/whpx-internal.h index e0a9ea1dce..8cfaaef141 100644 --- a/target/i386/whpx/whpx-internal.h +++ b/target/i386/whpx/whpx-internal.h @@ -5,6 +5,24 @@ #include <WinHvPlatform.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 LIST_WINHVPLATFORM_FUNCTIONS(X) \ |