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