summaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorAvi Kivity2009-03-24 13:27:47 +0100
committerAvi Kivity2009-06-10 10:48:34 +0200
commit7d433b9f942606f66da8ef68b8baecd2915c5627 (patch)
treeaea63fedbaafd13d886af28445bb4f6721b9e8d6 /arch
parentKVM: Fix interrupt unhalting a vcpu when it shouldn't (diff)
downloadkernel-qcow2-linux-7d433b9f942606f66da8ef68b8baecd2915c5627.tar.gz
kernel-qcow2-linux-7d433b9f942606f66da8ef68b8baecd2915c5627.tar.xz
kernel-qcow2-linux-7d433b9f942606f66da8ef68b8baecd2915c5627.zip
KVM: VMX: Make flexpriority module parameter reflect hardware capability
If the hardware does not support flexpriority, zero the module parameter. Signed-off-by: Avi Kivity <avi@redhat.com>
Diffstat (limited to 'arch')
-rw-r--r--arch/x86/kvm/vmx.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c
index b9e06b07aca1..37ae13d7b814 100644
--- a/arch/x86/kvm/vmx.c
+++ b/arch/x86/kvm/vmx.c
@@ -237,9 +237,7 @@ static inline int cpu_has_secondary_exec_ctrls(void)
static inline bool cpu_has_vmx_virtualize_apic_accesses(void)
{
- return flexpriority_enabled
- && (vmcs_config.cpu_based_2nd_exec_ctrl &
- SECONDARY_EXEC_VIRTUALIZE_APIC_ACCESSES);
+ return flexpriority_enabled;
}
static inline int cpu_has_vmx_invept_individual_addr(void)
@@ -1203,6 +1201,9 @@ static __init int setup_vmcs_config(struct vmcs_config *vmcs_conf)
if (!cpu_has_vmx_ept())
enable_ept = 0;
+ if (!(vmcs_config.cpu_based_2nd_exec_ctrl & SECONDARY_EXEC_VIRTUALIZE_APIC_ACCESSES))
+ flexpriority_enabled = 0;
+
min = 0;
#ifdef CONFIG_X86_64
min |= VM_EXIT_HOST_ADDR_SPACE_SIZE;