On Mon, Apr 24, 2023 at 7:35 PM Sean Christopherson <seanjc@xxxxxxxxxx> wrote: > > KVM SVM changes for 6.4. The highlight, by a country mile, is support for > virtual NMIs. > > The following changes since commit d8708b80fa0e6e21bc0c9e7276ad0bccef73b6e7: > > KVM: Change return type of kvm_arch_vm_ioctl() to "int" (2023-03-16 10:18:07 -0400) > > are available in the Git repository at: > > https://github.com/kvm-x86/linux.git tags/kvm-x86-svm-6.4 > > for you to fetch changes up to c0d0ce9b5a851895f34fd401c9dddc70616711a4: > > KVM: SVM: Remove a duplicate definition of VMCB_AVIC_APIC_BAR_MASK (2023-04-04 11:08:12 -0700) Pulled (but not pushed yet), thanks. This is probably the sub-PR for which I'm more interested in giving the code a closer look, but this is more about understanding the changes than it is about expecting something bad in it. Paolo > ---------------------------------------------------------------- > KVM SVM changes for 6.4: > > - Add support for virtual NMIs > > - Fixes for edge cases related to virtual interrupts > > ---------------------------------------------------------------- > 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 (5): > 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 L1 host RFLAGS.IF is 0 > KVM: SVM: Add definitions for new bits in VMCB::int_ctrl related to vNMI > KVM: x86: Add support for SVM's Virtual NMI > KVM: nSVM: Implement support for nested VNMI > > Sean Christopherson (5): > 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 > x86/cpufeatures: Redefine synthetic virtual NMI bit as AMD's "real" vNMI > KVM: x86: Route pending NMIs from userspace through process_nmi() > > Xinghui Li (1): > KVM: SVM: Remove a duplicate definition of VMCB_AVIC_APIC_BAR_MASK > > arch/x86/include/asm/cpufeatures.h | 8 +- > arch/x86/include/asm/kvm-x86-ops.h | 2 + > arch/x86/include/asm/kvm_host.h | 11 ++- > arch/x86/include/asm/svm.h | 10 ++- > arch/x86/kvm/svm/nested.c | 91 ++++++++++++++++++---- > arch/x86/kvm/svm/svm.c | 153 ++++++++++++++++++++++++++++++------- > arch/x86/kvm/svm/svm.h | 29 +++++++ > arch/x86/kvm/x86.c | 46 +++++++++-- > 8 files changed, 292 insertions(+), 58 deletions(-) >