Message ID | 20201219090637.1700900-3-pbonzini@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Cleanup internal WHPX headers | expand |
On Sat, Dec 19, 2020 at 1:06 PM Paolo Bonzini <pbonzini@redhat.com> wrote: > 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> --- > include/sysemu/whpx.h | 22 +--------------------- > target/i386/whpx/whpx-all.c | 4 ++++ > target/i386/whpx/whpx-internal.h | 18 ++++++++++++++++++ > 3 files changed, 23 insertions(+), 21 deletions(-) > > diff --git a/include/sysemu/whpx.h b/include/sysemu/whpx.h > index 9346fd92e9..8ca1c1c4ac 100644 > --- a/include/sysemu/whpx.h > +++ b/include/sysemu/whpx.h > @@ -15,28 +15,8 @@ > > #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); > - > -void whpx_apic_get(DeviceState *s); > -#define whpx_apic_in_platform() (whpx_global.apic_in_platform) > +bool whpx_apic_in_platform(void); > > #else /* CONFIG_WHPX */ > > 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) \ > -- > 2.26.2 > >
On 12/19/20 10:06 AM, Paolo Bonzini wrote: > 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> > --- > include/sysemu/whpx.h | 22 +--------------------- > target/i386/whpx/whpx-all.c | 4 ++++ > target/i386/whpx/whpx-internal.h | 18 ++++++++++++++++++ > 3 files changed, 23 insertions(+), 21 deletions(-) Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
diff --git a/include/sysemu/whpx.h b/include/sysemu/whpx.h index 9346fd92e9..8ca1c1c4ac 100644 --- a/include/sysemu/whpx.h +++ b/include/sysemu/whpx.h @@ -15,28 +15,8 @@ #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); - -void whpx_apic_get(DeviceState *s); -#define whpx_apic_in_platform() (whpx_global.apic_in_platform) +bool whpx_apic_in_platform(void); #else /* CONFIG_WHPX */ 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) \
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> --- include/sysemu/whpx.h | 22 +--------------------- target/i386/whpx/whpx-all.c | 4 ++++ target/i386/whpx/whpx-internal.h | 18 ++++++++++++++++++ 3 files changed, 23 insertions(+), 21 deletions(-)