KVM: nVMX: Don't reset VMCS controls shadow on VMCS switch
authorSean Christopherson <sean.j.christopherson@intel.com>
Tue, 7 May 2019 19:17:59 +0000 (12:17 -0700)
committerPaolo Bonzini <pbonzini@redhat.com>
Tue, 18 Jun 2019 09:47:44 +0000 (11:47 +0200)
... now that the shadow copies are per-VMCS.

Signed-off-by: Sean Christopherson <sean.j.christopherson@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/x86/kvm/vmx/nested.c
arch/x86/kvm/vmx/vmx.h

index 21cb6cd..d4f529a 100644 (file)
@@ -283,11 +283,6 @@ static void vmx_switch_vmcs(struct kvm_vcpu *vcpu, struct loaded_vmcs *vmcs)
        vmx_sync_vmcs_host_state(vmx, prev);
        put_cpu();
 
-       vm_entry_controls_reset_shadow(vmx);
-       vm_exit_controls_reset_shadow(vmx);
-       pin_controls_reset_shadow(vmx);
-       exec_controls_reset_shadow(vmx);
-       secondary_exec_controls_reset_shadow(vmx);
        vmx_segment_cache_clear(vmx);
 }
 
index ec11ecf..52d7bc9 100644 (file)
@@ -388,10 +388,6 @@ static inline u8 vmx_get_rvi(void)
 }
 
 #define BUILD_CONTROLS_SHADOW(lname, uname)                                \
-static inline void lname##_controls_reset_shadow(struct vcpu_vmx *vmx)     \
-{                                                                          \
-       vmx->loaded_vmcs->controls_shadow.lname = vmcs_read32(uname);       \
-}                                                                          \
 static inline void lname##_controls_init(struct vcpu_vmx *vmx, u32 val)            \
 {                                                                          \
        vmcs_write32(uname, val);                                           \