[GIT PULL] KVM: x86: SVM changes for 6.8

From: Sean Christopherson
Date: Thu Jan 04 2024 - 14:35:37 EST


A few minor fixes and cleanups, along with feature "enabling" for flush-by-ASID
to play nice with newer versions of VMware Workstation that require it.

The following changes since commit e9e60c82fe391d04db55a91c733df4a017c28b2f:

selftests/kvm: fix compilation on non-x86_64 platforms (2023-11-21 11:58:25 -0500)

are available in the Git repository at:

https://github.com/kvm-x86/linux.git tags/kvm-x86-svm-6.8

for you to fetch changes up to 72046d0a077a8f70d4d1e5bdeed324c1a310da8c:

KVM: SVM: Don't intercept IRET when injecting NMI and vNMI is enabled (2023-11-30 12:51:22 -0800)

----------------------------------------------------------------
KVM SVM changes for 6.8:

- Revert a bogus, made-up nested SVM consistency check for TLB_CONTROL.

- Advertise flush-by-ASID support for nSVM unconditionally, as KVM always
flushes on nested transitions, i.e. always satisfies flush requests. This
allows running bleeding edge versions of VMware Workstation on top of KVM.

- Sanity check that the CPU supports flush-by-ASID when enabling SEV support.

- Fix a benign NMI virtualization bug where KVM would unnecessarily intercept
IRET when manually injecting an NMI, e.g. when KVM pends an NMI and injects
a second, "simultaneous" NMI.

----------------------------------------------------------------
Sean Christopherson (4):
Revert "nSVM: Check for reserved encodings of TLB_CONTROL in nested VMCB"
KVM: nSVM: Advertise support for flush-by-ASID
KVM: SVM: Explicitly require FLUSHBYASID to enable SEV support
KVM: SVM: Don't intercept IRET when injecting NMI and vNMI is enabled

arch/x86/kvm/svm/nested.c | 15 ---------------
arch/x86/kvm/svm/sev.c | 7 +++++--
arch/x86/kvm/svm/svm.c | 18 ++++++++++++++++--
3 files changed, 21 insertions(+), 19 deletions(-)