To make Hyper-V features appear in e.g. QMP query-cpu-model-expansion we need to expand and set the corresponding CPUID leaves early. Modify x86_cpu_get_supported_feature_word() to call newly intoduced Hyper-V specific kvm_hv_get_supported_cpuid() instead of kvm_arch_get_supported_cpuid(). We can't use kvm_arch_get_supported_cpuid() as Hyper-V specific CPUID leaves intersect with KVM's. Note, early expansion will only happen when KVM supports system wide KVM_GET_SUPPORTED_HV_CPUID ioctl (KVM_CAP_SYS_HYPERV_CPUID). Reviewed-by: Eduardo Habkost <ehabkost@redhat.com> Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com> Message-Id: <20210608120817.1325125-6-vkuznets@redhat.com> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
47 lines
886 B
C
47 lines
886 B
C
/*
|
|
* QEMU KVM x86 specific function stubs
|
|
*
|
|
* Copyright Linaro Limited 2012
|
|
*
|
|
* Author: Peter Maydell <peter.maydell@linaro.org>
|
|
*
|
|
* This work is licensed under the terms of the GNU GPL, version 2 or later.
|
|
* See the COPYING file in the top-level directory.
|
|
*
|
|
*/
|
|
#include "qemu/osdep.h"
|
|
#include "cpu.h"
|
|
#include "kvm_i386.h"
|
|
|
|
#ifndef __OPTIMIZE__
|
|
bool kvm_has_smm(void)
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
bool kvm_enable_x2apic(void)
|
|
{
|
|
return false;
|
|
}
|
|
|
|
/* This function is only called inside conditionals which we
|
|
* rely on the compiler to optimize out when CONFIG_KVM is not
|
|
* defined.
|
|
*/
|
|
uint32_t kvm_arch_get_supported_cpuid(KVMState *env, uint32_t function,
|
|
uint32_t index, int reg)
|
|
{
|
|
abort();
|
|
}
|
|
#endif
|
|
|
|
bool kvm_hv_vpindex_settable(void)
|
|
{
|
|
return false;
|
|
}
|
|
|
|
bool kvm_hyperv_expand_features(X86CPU *cpu, Error **errp)
|
|
{
|
|
abort();
|
|
}
|