faf20793b5
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>
49 lines
942 B
C
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 */
|