qemu/include/sysemu/whpx.h
Sunil Muthuswamy faf20793b5 WHPX: support for the kernel-irqchip on/off
This patch adds support the kernel-irqchip option for
WHPX with on or off value. 'split' value is not supported
for the option. The option only works for the latest version
of Windows (ones that are coming out on Insiders). The
change maintains backward compatibility on older version of
Windows where this option is not supported.

Signed-off-by: Sunil Muthuswamy <sunilmut@microsoft.com>
Message-Id: <SN4PR2101MB0880B13258DA9251F8459F4DC0170@SN4PR2101MB0880.namprd21.prod.outlook.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2020-12-10 12:15:01 -05:00

49 lines
942 B
C

/*
* 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
#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)
#else /* CONFIG_WHPX */
#define whpx_enabled() (0)
#define whpx_apic_in_platform() (0)
#endif /* CONFIG_WHPX */
#endif /* QEMU_WHPX_H */