|
@@ -2759,14 +2759,14 @@ static void nested_vmx_setup_ctls_msrs(struct vcpu_vmx *vmx)
|
|
vmx->nested.nested_vmx_secondary_ctls_high |=
|
|
vmx->nested.nested_vmx_secondary_ctls_high |=
|
|
SECONDARY_EXEC_ENABLE_EPT;
|
|
SECONDARY_EXEC_ENABLE_EPT;
|
|
vmx->nested.nested_vmx_ept_caps = VMX_EPT_PAGE_WALK_4_BIT |
|
|
vmx->nested.nested_vmx_ept_caps = VMX_EPT_PAGE_WALK_4_BIT |
|
|
- VMX_EPTP_WB_BIT | VMX_EPT_2MB_PAGE_BIT |
|
|
|
|
- VMX_EPT_INVEPT_BIT;
|
|
|
|
|
|
+ VMX_EPTP_WB_BIT | VMX_EPT_INVEPT_BIT;
|
|
if (cpu_has_vmx_ept_execute_only())
|
|
if (cpu_has_vmx_ept_execute_only())
|
|
vmx->nested.nested_vmx_ept_caps |=
|
|
vmx->nested.nested_vmx_ept_caps |=
|
|
VMX_EPT_EXECUTE_ONLY_BIT;
|
|
VMX_EPT_EXECUTE_ONLY_BIT;
|
|
vmx->nested.nested_vmx_ept_caps &= vmx_capability.ept;
|
|
vmx->nested.nested_vmx_ept_caps &= vmx_capability.ept;
|
|
vmx->nested.nested_vmx_ept_caps |= VMX_EPT_EXTENT_GLOBAL_BIT |
|
|
vmx->nested.nested_vmx_ept_caps |= VMX_EPT_EXTENT_GLOBAL_BIT |
|
|
- VMX_EPT_EXTENT_CONTEXT_BIT;
|
|
|
|
|
|
+ VMX_EPT_EXTENT_CONTEXT_BIT | VMX_EPT_2MB_PAGE_BIT |
|
|
|
|
+ VMX_EPT_1GB_PAGE_BIT;
|
|
} else
|
|
} else
|
|
vmx->nested.nested_vmx_ept_caps = 0;
|
|
vmx->nested.nested_vmx_ept_caps = 0;
|
|
|
|
|