diff options
author | Sean Christopherson <sean.j.christopherson@intel.com> | 2019-05-07 15:17:59 -0400 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2019-06-18 05:47:44 -0400 |
commit | ae81d08993cbc515e3181ee6bebce5cd878133f2 (patch) | |
tree | 8079677ff8135a41cf02d2e76cb9761a0e2f5db6 | |
parent | 09e226cf07e6bf85d885afa43fabc02b88dc1652 (diff) |
KVM: nVMX: Don't reset VMCS controls shadow on VMCS switch
... 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>
-rw-r--r-- | arch/x86/kvm/vmx/nested.c | 5 | ||||
-rw-r--r-- | arch/x86/kvm/vmx/vmx.h | 4 |
2 files changed, 0 insertions, 9 deletions
diff --git a/arch/x86/kvm/vmx/nested.c b/arch/x86/kvm/vmx/nested.c index 21cb6cd88765..d4f529a2e194 100644 --- a/arch/x86/kvm/vmx/nested.c +++ b/arch/x86/kvm/vmx/nested.c | |||
@@ -283,11 +283,6 @@ static void vmx_switch_vmcs(struct kvm_vcpu *vcpu, struct loaded_vmcs *vmcs) | |||
283 | vmx_sync_vmcs_host_state(vmx, prev); | 283 | vmx_sync_vmcs_host_state(vmx, prev); |
284 | put_cpu(); | 284 | put_cpu(); |
285 | 285 | ||
286 | vm_entry_controls_reset_shadow(vmx); | ||
287 | vm_exit_controls_reset_shadow(vmx); | ||
288 | pin_controls_reset_shadow(vmx); | ||
289 | exec_controls_reset_shadow(vmx); | ||
290 | secondary_exec_controls_reset_shadow(vmx); | ||
291 | vmx_segment_cache_clear(vmx); | 286 | vmx_segment_cache_clear(vmx); |
292 | } | 287 | } |
293 | 288 | ||
diff --git a/arch/x86/kvm/vmx/vmx.h b/arch/x86/kvm/vmx/vmx.h index ec11ecf6f040..52d7bc90d9ef 100644 --- a/arch/x86/kvm/vmx/vmx.h +++ b/arch/x86/kvm/vmx/vmx.h | |||
@@ -388,10 +388,6 @@ static inline u8 vmx_get_rvi(void) | |||
388 | } | 388 | } |
389 | 389 | ||
390 | #define BUILD_CONTROLS_SHADOW(lname, uname) \ | 390 | #define BUILD_CONTROLS_SHADOW(lname, uname) \ |
391 | static inline void lname##_controls_reset_shadow(struct vcpu_vmx *vmx) \ | ||
392 | { \ | ||
393 | vmx->loaded_vmcs->controls_shadow.lname = vmcs_read32(uname); \ | ||
394 | } \ | ||
395 | static inline void lname##_controls_init(struct vcpu_vmx *vmx, u32 val) \ | 391 | static inline void lname##_controls_init(struct vcpu_vmx *vmx, u32 val) \ |
396 | { \ | 392 | { \ |
397 | vmcs_write32(uname, val); \ | 393 | vmcs_write32(uname, val); \ |