aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kvm/vmx.c
diff options
context:
space:
mode:
authorSheng Yang <sheng@linux.intel.com>2009-04-01 03:52:32 -0400
committerAvi Kivity <avi@redhat.com>2009-06-10 04:48:36 -0400
commit93ba03c2e2aba23b042cc15eef83b7a66d3ac17a (patch)
treebecbdc71f3a26736bd8603eac0dea0c85ef4b3da /arch/x86/kvm/vmx.c
parent045471563df4b8723202a66ae54d58788b0f8e88 (diff)
KVM: VMX: Fix feature testing
The testing of feature is too early now, before vmcs_config complete initialization. Signed-off-by: Sheng Yang <sheng@linux.intel.com> Signed-off-by: Avi Kivity <avi@redhat.com>
Diffstat (limited to 'arch/x86/kvm/vmx.c')
-rw-r--r--arch/x86/kvm/vmx.c18
1 files changed, 9 insertions, 9 deletions
diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c
index 1caa1fc6d5e..7d7b0d6e3f5 100644
--- a/arch/x86/kvm/vmx.c
+++ b/arch/x86/kvm/vmx.c
@@ -1208,15 +1208,6 @@ static __init int setup_vmcs_config(struct vmcs_config *vmcs_conf)
1208 vmx_capability.ept, vmx_capability.vpid); 1208 vmx_capability.ept, vmx_capability.vpid);
1209 } 1209 }
1210 1210
1211 if (!cpu_has_vmx_vpid())
1212 enable_vpid = 0;
1213
1214 if (!cpu_has_vmx_ept())
1215 enable_ept = 0;
1216
1217 if (!cpu_has_vmx_flexpriority())
1218 flexpriority_enabled = 0;
1219
1220 min = 0; 1211 min = 0;
1221#ifdef CONFIG_X86_64 1212#ifdef CONFIG_X86_64
1222 min |= VM_EXIT_HOST_ADDR_SPACE_SIZE; 1213 min |= VM_EXIT_HOST_ADDR_SPACE_SIZE;
@@ -1320,6 +1311,15 @@ static __init int hardware_setup(void)
1320 if (boot_cpu_has(X86_FEATURE_NX)) 1311 if (boot_cpu_has(X86_FEATURE_NX))
1321 kvm_enable_efer_bits(EFER_NX); 1312 kvm_enable_efer_bits(EFER_NX);
1322 1313
1314 if (!cpu_has_vmx_vpid())
1315 enable_vpid = 0;
1316
1317 if (!cpu_has_vmx_ept())
1318 enable_ept = 0;
1319
1320 if (!cpu_has_vmx_flexpriority())
1321 flexpriority_enabled = 0;
1322
1323 return alloc_kvm_area(); 1323 return alloc_kvm_area();
1324} 1324}
1325 1325