v2: https://lore.kernel.org/all/0f56e139-4c7f-5220-a4a2-99f87f45fd83@xxxxxxx/ v3: https://lore.kernel.org/all/20230227035400.1498-1-santosh.shukla@xxxxxxx/ - 09/11: Clubbed x86_ops delayed NMI with vNMI changes into one, for better readability purpose (Sean Suggestion) - Series includes suggestion and fixes proposed in v2 series. Refer each patch for change history(v2-->v3). v4: - Missed sending 01/11 patch in v3. Series based on [1] and tested on AMD EPYC-Genoa. APM: ((Ch-15.21.10 - NMI Virtualization) https://www.amd.com/en/support/tech-docs/amd64-architecture-programmers-manual-volumes-1-5 Past history and work refer v5- https://lkml.org/lkml/2022/10/27/261 Thanks, Santosh [1] https://github.com/kvm-x86/linux branch kvm-x86/next(62ef199250cd46f) Maxim Levitsky (2): KVM: nSVM: Raise event on nested VM exit if L1 doesn't intercept IRQs KVM: SVM: add wrappers to enable/disable IRET interception Santosh Shukla (6): KVM: nSVM: Don't sync vmcb02 V_IRQ back to vmcb12 if KVM (L0) is intercepting VINTR KVM: nSVM: Disable intercept of VINTR if saved RFLAG.IF is 0 x86/cpu: Add CPUID feature bit for VNMI KVM: SVM: Add VNMI bit definition KVM: x86: add support for delayed virtual NMI injection interface KVM: nSVM: implement support for nested VNMI Sean Christopherson (3): KVM: x86: Raise an event request when processing NMIs if an NMI is pending KVM: x86: Tweak the code and comment related to handling concurrent NMIs KVM: x86: Save/restore all NMIs when multiple NMIs are pending arch/x86/include/asm/cpufeatures.h | 1 + arch/x86/include/asm/kvm-x86-ops.h | 2 + arch/x86/include/asm/kvm_host.h | 11 ++- arch/x86/include/asm/svm.h | 9 ++ arch/x86/kvm/svm/nested.c | 94 +++++++++++++++--- arch/x86/kvm/svm/svm.c | 152 +++++++++++++++++++++++------ arch/x86/kvm/svm/svm.h | 28 ++++++ arch/x86/kvm/x86.c | 46 +++++++-- 8 files changed, 289 insertions(+), 54 deletions(-) -- 2.25.1