[PATCH v2 00/11] SVM: vNMI (with my fixes)

From: Maxim Levitsky
Date: Tue Nov 29 2022 - 14:40:10 EST


Hi!

This is the vNMI patch series based on Santosh Shukla's vNMI patch series.

In this version of this patch series I addressed most of the review feedback
added some more refactoring and also I think fixed the issue with migration.

I only tested this on a machine which doesn't have vNMI, so this does need
some testing to ensure that nothing is broken.

Best regards,
Maxim Levitsky

Maxim Levitsky (9):
KVM: nSVM: don't sync back tlb_ctl on nested VM exit
KVM: nSVM: clean up the copying of V_INTR bits from vmcb02 to vmcb12
KVM: nSVM: explicitly raise KVM_REQ_EVENT on nested VM exit if L1
doesn't intercept interrupts
KVM: SVM: drop the SVM specific H_FLAGS
KVM: x86: emulator: stop using raw host flags
KVM: SVM: add wrappers to enable/disable IRET interception
KVM: x86: add a delayed hardware NMI injection interface
KVM: SVM: implement support for vNMI
KVM: nSVM: implement support for nested VNMI

Santosh Shukla (2):
x86/cpu: Add CPUID feature bit for VNMI
KVM: SVM: Add VNMI bit definition

arch/x86/include/asm/cpufeatures.h | 1 +
arch/x86/include/asm/kvm-x86-ops.h | 2 +
arch/x86/include/asm/kvm_host.h | 24 +++--
arch/x86/include/asm/svm.h | 7 ++
arch/x86/kvm/emulate.c | 11 +--
arch/x86/kvm/kvm_emulate.h | 7 +-
arch/x86/kvm/smm.c | 2 -
arch/x86/kvm/svm/nested.c | 102 ++++++++++++++++---
arch/x86/kvm/svm/svm.c | 154 ++++++++++++++++++++++-------
arch/x86/kvm/svm/svm.h | 41 +++++++-
arch/x86/kvm/x86.c | 50 ++++++++--
11 files changed, 318 insertions(+), 83 deletions(-)

--
2.26.3