diff options
-rw-r--r-- | arch/x86/kvm/vmx.c | 14 |
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 | } |