KVM: VMX: Shadow VMCS primary execution controls
authorSean Christopherson <sean.j.christopherson@intel.com>
Tue, 7 May 2019 19:17:56 +0000 (12:17 -0700)
committerPaolo Bonzini <pbonzini@redhat.com>
Tue, 18 Jun 2019 09:47:42 +0000 (11:47 +0200)
commit2183f5645ae7e074ed1777f3de9a782dd23db248
tree6643b8e5b7f221af98d4337ef111cf0a2d76105c
parentc5f2c76643b612ffa47e4660c8f44deba619b068
KVM: VMX: Shadow VMCS primary execution controls

Prepare to shadow all major control fields on a per-VMCS basis, which
allows KVM to avoid VMREADs when switching between vmcs01 and vmcs02,
and more importantly can eliminate costly VMWRITEs to controls when
preparing vmcs02.

Shadowing exec controls also saves a VMREAD when opening virtual
INTR/NMI windows, yay...

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.c
arch/x86/kvm/vmx/vmx.h