[PATCH 00/23] SVM queue for 5.13

From: Paolo Bonzini
Date: Tue Mar 02 2021 - 17:38:02 EST


This includes:

- vmcb01/vmcb02 split. Unfortunately this is a wash in terms of
nested vmexit speed, which I did not expect. However, keeping
the code more in sync with VMX is useful anyway.

- move common VMX/SVM emulation to x86.c (Sean)

- support for vSPEC_CTRL (Babu)

Paolo


Babu Moger (1):
x86/cpufeatures: Add the Virtual SPEC_CTRL feature

Cathy Avery (3):
KVM: SVM: Use a separate vmcb for the nested L2 guest
KVM: nSVM: Track the physical cpu of the vmcb vmrun through the vmcb
KVM: nSVM: Track the ASID generation of the vmcb vmrun through the
vmcb

Krish Sadhukhan (1):
KVM: nSVM: Add missing checks for reserved bits to
svm_set_nested_state()

Maxim Levitsky (1):
KVM: nSVM: always use vmcb01 to for vmsave/vmload of guest state

Paolo Bonzini (8):
KVM: nSVM: rename functions and variables according to vmcbXY
nomenclature
KVM: nSVM: do not copy vmcb01->control blindly to vmcb02->control
KVM: nSVM: do not mark all VMCB01 fields dirty on nested vmexit
KVM: nSVM: do not mark all VMCB02 fields dirty on nested vmexit
KVM: nSVM: only copy L1 non-VMLOAD/VMSAVE data in
svm_set_nested_state()
KVM: SVM: merge update_cr0_intercept into svm_set_cr0
KVM: SVM: move VMLOAD/VMSAVE to C code
KVM: SVM: Add support for Virtual SPEC_CTRL

Sean Christopherson (9):
KVM: x86: Move nVMX's consistency check macro to common code
KVM: nSVM: Trace VM-Enter consistency check failures
KVM: SVM: Pass struct kvm_vcpu to exit handlers (and many, many other
places)
KVM: nSVM: Add VMLOAD/VMSAVE helper to deduplicate code
KVM: x86: Move XSETBV emulation to common code
KVM: x86: Move trivial instruction-based exit handlers to common code
KVM: x86: Move RDPMC emulation to common code
KVM: SVM: Don't manually emulate RDPMC if nrips=0
KVM: SVM: Skip intercepted PAUSE instructions after emulation

arch/x86/include/asm/cpufeatures.h | 1 +
arch/x86/include/asm/kvm_host.h | 9 +-
arch/x86/include/asm/svm.h | 4 +-
arch/x86/kvm/svm/avic.c | 24 +-
arch/x86/kvm/svm/nested.c | 409 ++++++++------
arch/x86/kvm/svm/sev.c | 27 +-
arch/x86/kvm/svm/svm.c | 843 ++++++++++++++---------------
arch/x86/kvm/svm/svm.h | 51 +-
arch/x86/kvm/svm/vmenter.S | 14 +-
arch/x86/kvm/vmx/nested.c | 8 +-
arch/x86/kvm/vmx/vmx.c | 74 +--
arch/x86/kvm/x86.c | 62 ++-
arch/x86/kvm/x86.h | 8 +
13 files changed, 777 insertions(+), 757 deletions(-)

--
2.26.2