|
@@ -2306,7 +2306,7 @@ static __init void nested_vmx_setup_ctls_msrs(void)
|
|
|
/* cpu-based controls */
|
|
|
rdmsr(MSR_IA32_VMX_PROCBASED_CTLS,
|
|
|
nested_vmx_procbased_ctls_low, nested_vmx_procbased_ctls_high);
|
|
|
- nested_vmx_procbased_ctls_low = 0;
|
|
|
+ nested_vmx_procbased_ctls_low = CPU_BASED_ALWAYSON_WITHOUT_TRUE_MSR;
|
|
|
nested_vmx_procbased_ctls_high &=
|
|
|
CPU_BASED_VIRTUAL_INTR_PENDING |
|
|
|
CPU_BASED_VIRTUAL_NMI_PENDING | CPU_BASED_USE_TSC_OFFSETING |
|
|
@@ -2327,7 +2327,8 @@ static __init void nested_vmx_setup_ctls_msrs(void)
|
|
|
* can use it to avoid exits to L1 - even when L0 runs L2
|
|
|
* without MSR bitmaps.
|
|
|
*/
|
|
|
- nested_vmx_procbased_ctls_high |= CPU_BASED_USE_MSR_BITMAPS;
|
|
|
+ nested_vmx_procbased_ctls_high |= CPU_BASED_ALWAYSON_WITHOUT_TRUE_MSR |
|
|
|
+ CPU_BASED_USE_MSR_BITMAPS;
|
|
|
|
|
|
/* We support free control of CR3 access interception. */
|
|
|
nested_vmx_true_procbased_ctls_low = nested_vmx_procbased_ctls_low &
|