aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/x86/kvm/vmx.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c
index b26c222ebeef..a45d8580f91e 100644
--- a/arch/x86/kvm/vmx.c
+++ b/arch/x86/kvm/vmx.c
@@ -2809,12 +2809,8 @@ static void nested_vmx_setup_ctls_msrs(struct vcpu_vmx *vmx)
2809 vmx->nested.nested_vmx_ept_caps |= 2809 vmx->nested.nested_vmx_ept_caps |=
2810 VMX_EPT_EXECUTE_ONLY_BIT; 2810 VMX_EPT_EXECUTE_ONLY_BIT;
2811 vmx->nested.nested_vmx_ept_caps &= vmx_capability.ept; 2811 vmx->nested.nested_vmx_ept_caps &= vmx_capability.ept;
2812 /* 2812 vmx->nested.nested_vmx_ept_caps |= VMX_EPT_EXTENT_GLOBAL_BIT |
2813 * For nested guests, we don't do anything specific 2813 VMX_EPT_EXTENT_CONTEXT_BIT;
2814 * for single context invalidation. Hence, only advertise
2815 * support for global context invalidation.
2816 */
2817 vmx->nested.nested_vmx_ept_caps |= VMX_EPT_EXTENT_GLOBAL_BIT;
2818 } else 2814 } else
2819 vmx->nested.nested_vmx_ept_caps = 0; 2815 vmx->nested.nested_vmx_ept_caps = 0;
2820 2816
@@ -7608,12 +7604,16 @@ static int handle_invept(struct kvm_vcpu *vcpu)
7608 7604
7609 switch (type) { 7605 switch (type) {
7610 case VMX_EPT_EXTENT_GLOBAL: 7606 case VMX_EPT_EXTENT_GLOBAL:
7607 /*
7608 * TODO: track mappings and invalidate
7609 * single context requests appropriately
7610 */
7611 case VMX_EPT_EXTENT_CONTEXT:
7611 kvm_mmu_sync_roots(vcpu); 7612 kvm_mmu_sync_roots(vcpu);
7612 kvm_make_request(KVM_REQ_TLB_FLUSH, vcpu); 7613 kvm_make_request(KVM_REQ_TLB_FLUSH, vcpu);
7613 nested_vmx_succeed(vcpu); 7614 nested_vmx_succeed(vcpu);
7614 break; 7615 break;
7615 default: 7616 default:
7616 /* Trap single context invalidation invept calls */
7617 BUG_ON(1); 7617 BUG_ON(1);
7618 break; 7618 break;
7619 } 7619 }