Message ID | 20230227084016.3368-1-santosh.shukla@amd.com (mailing list archive) |
---|---|
Headers | show |
Series | SVM: virtual NMI | expand |
On 2/27/2023 2:10 PM, Santosh Shukla wrote: > > v2: > https://lore.kernel.org/all/0f56e139-4c7f-5220-a4a2-99f87f45fd83@amd.com/ > > v3: > https://lore.kernel.org/all/20230227035400.1498-1-santosh.shukla@amd.com/ > - 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) > > Gentle Ping? Thanks, Santosh > > 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(-) >
On Fri, Mar 10, 2023, Santosh Shukla wrote:
> Gentle Ping?
I'm slowly working my into review mode for 6.4. This is very much on my todo list.
On Mon, Feb 27, 2023, Santosh Shukla wrote: > 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(-) Code looks good overall, I'll fixup the changelogs and comments myself. I just need to run it through my usual test flow, which I should get done tomorrow.
On Wed, Mar 22, 2023, Sean Christopherson wrote: > On Mon, Feb 27, 2023, Santosh Shukla wrote: > > 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(-) > > Code looks good overall, I'll fixup the changelogs and comments myself. I just > need to run it through my usual test flow, which I should get done tomorrow. Gah, saw something shiny and forgot to finish my thought. My plan is to get this somewhat speculatively applied and soaking in linux-next asap, even though the cpufeatures.h change needs more eyeballs. I'll fixup and force push if necessary; unless I'm missing something, this is the only SVM specific series that's destined for 6.4.
On Mon, 27 Feb 2023 14:10:05 +0530, Santosh Shukla wrote: > v2: > https://lore.kernel.org/all/0f56e139-4c7f-5220-a4a2-99f87f45fd83@amd.com/ > > v3: > https://lore.kernel.org/all/20230227035400.1498-1-santosh.shukla@amd.com/ > - 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). > > [...] Applied to kvm-x86 svm. As mentioned in a previous reply, this is somewhat speculative, i.e. needs acks for the cpufeatures.h change and might get overwritten by a force push. [01/11] KVM: nSVM: Don't sync vmcb02 V_IRQ back to vmcb12 if KVM (L0) is intercepting VINTR https://github.com/kvm-x86/linux/commit/5faaffab5ba8 [02/11] KVM: nSVM: Disable intercept of VINTR if saved RFLAG.IF is 0 https://github.com/kvm-x86/linux/commit/7334ede457c6 [03/11] KVM: nSVM: Raise event on nested VM exit if L1 doesn't intercept IRQs https://github.com/kvm-x86/linux/commit/5d1ec4565200 [04/11] KVM: SVM: add wrappers to enable/disable IRET interception https://github.com/kvm-x86/linux/commit/772f254d4d56 [05/11] KVM: x86: Raise an event request when processing NMIs if an NMI is pending https://github.com/kvm-x86/linux/commit/2cb9317377ca [06/11] KVM: x86: Tweak the code and comment related to handling concurrent NMIs https://github.com/kvm-x86/linux/commit/400fee8c9b2d [07/11] KVM: x86: Save/restore all NMIs when multiple NMIs are pending https://github.com/kvm-x86/linux/commit/ab2ee212a57b [08/11] x86/cpufeatures: Redefine synthetic virtual NMI bit as AMD's "real" vNMI https://github.com/kvm-x86/linux/commit/3763bf58029f [09/11] KVM: SVM: Add VNMI bit definition https://github.com/kvm-x86/linux/commit/1c4522ab13b1 [10/11] KVM: x86: add support for delayed virtual NMI injection interface https://github.com/kvm-x86/linux/commit/fa4c027a7956 [11/11] KVM: nSVM: implement support for nested VNMI https://github.com/kvm-x86/linux/commit/0977cfac6e76 -- https://github.com/kvm-x86/linux/tree/next https://github.com/kvm-x86/linux/tree/fixes
On 3/24/2023 4:23 AM, Sean Christopherson wrote: > On Mon, 27 Feb 2023 14:10:05 +0530, Santosh Shukla wrote: >> v2: >> https://lore.kernel.org/all/0f56e139-4c7f-5220-a4a2-99f87f45fd83@amd.com/ >> >> v3: >> https://lore.kernel.org/all/20230227035400.1498-1-santosh.shukla@amd.com/ >> - 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). >> >> [...] > > Applied to kvm-x86 svm. As mentioned in a previous reply, this is somewhat > speculative, i.e. needs acks for the cpufeatures.h change and might get > overwritten by a force push. > Thank-you Sean!,. Best Regards, Santosh > [01/11] KVM: nSVM: Don't sync vmcb02 V_IRQ back to vmcb12 if KVM (L0) is intercepting VINTR > https://github.com/kvm-x86/linux/commit/5faaffab5ba8 > [02/11] KVM: nSVM: Disable intercept of VINTR if saved RFLAG.IF is 0 > https://github.com/kvm-x86/linux/commit/7334ede457c6 > [03/11] KVM: nSVM: Raise event on nested VM exit if L1 doesn't intercept IRQs > https://github.com/kvm-x86/linux/commit/5d1ec4565200 > [04/11] KVM: SVM: add wrappers to enable/disable IRET interception > https://github.com/kvm-x86/linux/commit/772f254d4d56 > [05/11] KVM: x86: Raise an event request when processing NMIs if an NMI is pending > https://github.com/kvm-x86/linux/commit/2cb9317377ca > [06/11] KVM: x86: Tweak the code and comment related to handling concurrent NMIs > https://github.com/kvm-x86/linux/commit/400fee8c9b2d > [07/11] KVM: x86: Save/restore all NMIs when multiple NMIs are pending > https://github.com/kvm-x86/linux/commit/ab2ee212a57b > [08/11] x86/cpufeatures: Redefine synthetic virtual NMI bit as AMD's "real" vNMI > https://github.com/kvm-x86/linux/commit/3763bf58029f > [09/11] KVM: SVM: Add VNMI bit definition > https://github.com/kvm-x86/linux/commit/1c4522ab13b1 > [10/11] KVM: x86: add support for delayed virtual NMI injection interface > https://github.com/kvm-x86/linux/commit/fa4c027a7956 > [11/11] KVM: nSVM: implement support for nested VNMI > https://github.com/kvm-x86/linux/commit/0977cfac6e76 > > -- > https://github.com/kvm-x86/linux/tree/next > https://github.com/kvm-x86/linux/tree/fixes