All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sean Christopherson <seanjc@google.com>
To: Maxim Levitsky <mlevitsk@redhat.com>
Cc: Santosh Shukla <santosh.shukla@amd.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Jim Mattson <jmattson@google.com>, Joerg Roedel <joro@8bytes.org>,
	Tom Lendacky <thomas.lendacky@amd.com>,
	kvm@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCHv2 4/7] KVM: SVM: Report NMI not allowed when Guest busy handling VNMI
Date: Thu, 21 Jul 2022 16:25:40 +0000	[thread overview]
Message-ID: <Ytl+BGei3zUlHY6l@google.com> (raw)
In-Reply-To: <23f156d46033a6434591186b0a7bcce3d8a138d1.camel@redhat.com>

On Thu, Jul 21, 2022, Maxim Levitsky wrote:
> On Thu, 2022-07-21 at 16:08 +0000, Sean Christopherson wrote:
> > So we have a poor man's NMI-window exiting.
> 
> Yep, we also intercept IRET for the same purpose, and RSM interception
> is also a place the NMI are evaluated.
> 
> We only single step over the IRET, because NMIs are unmasked _after_ the IRET
> retires.

Heh, check out this blurb from Intel's SDM:

  An execution of the IRET instruction unblocks NMIs even if the instruction
  causes a fault. For example, if the IRET instruction executes with EFLAGS.VM = 1
  and IOPL of less than 3, a general-protection exception is generated (see
  Section 20.2.7, “Sensitive Instructions”). In such a case, NMIs are unmasked
  before the exception handler is invoked.

Not that I want to try and handle that in KVM if AMD follows suit, I simply find
it amusing how messy this all is.  A true NMI-window exit would have been nice...

  reply	other threads:[~2022-07-21 16:25 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-07-09 13:42 [PATCHv2 0/7] Virtual NMI feature Santosh Shukla
2022-07-09 13:42 ` [PATCHv2 1/7] x86/cpu: Add CPUID feature bit for VNMI Santosh Shukla
2022-07-09 13:42 ` [PATCHv2 2/7] KVM: SVM: Add VNMI bit definition Santosh Shukla
2022-07-09 13:42 ` [PATCHv2 3/7] KVM: SVM: Add VNMI support in get/set_nmi_mask Santosh Shukla
2022-07-10 16:15   ` Maxim Levitsky
2022-07-21  9:34     ` Shukla, Santosh
2022-07-21 12:01       ` Maxim Levitsky
2022-07-21 13:12         ` Shukla, Santosh
2022-07-21 15:48           ` Maxim Levitsky
2022-07-09 13:42 ` [PATCHv2 4/7] KVM: SVM: Report NMI not allowed when Guest busy handling VNMI Santosh Shukla
2022-07-20 21:54   ` Sean Christopherson
2022-07-21 12:05     ` Maxim Levitsky
2022-07-21 14:59       ` Sean Christopherson
2022-07-21 15:31         ` Maxim Levitsky
2022-07-21 16:08           ` Sean Christopherson
2022-07-21 16:17             ` Maxim Levitsky
2022-07-21 16:25               ` Sean Christopherson [this message]
2022-07-29  5:51     ` Shukla, Santosh
2022-07-29 14:41       ` Sean Christopherson
2022-08-04  9:51         ` Shukla, Santosh
2022-07-09 13:42 ` [PATCHv2 5/7] KVM: SVM: Add VNMI support in inject_nmi Santosh Shukla
2022-07-20 21:41   ` Sean Christopherson
2022-07-20 22:46     ` Jim Mattson
2022-07-20 23:04       ` Sean Christopherson
2022-07-29  6:06     ` Shukla, Santosh
2022-07-29 13:53       ` Sean Christopherson
2022-07-29 13:55         ` Shukla, Santosh
2022-07-09 13:42 ` [PATCHv2 6/7] KVM: nSVM: implement nested VNMI Santosh Shukla
2022-07-09 13:42 ` [PATCHv2 7/7] KVM: SVM: Enable VNMI feature Santosh Shukla

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Ytl+BGei3zUlHY6l@google.com \
    --to=seanjc@google.com \
    --cc=jmattson@google.com \
    --cc=joro@8bytes.org \
    --cc=kvm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mlevitsk@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=santosh.shukla@amd.com \
    --cc=thomas.lendacky@amd.com \
    --cc=vkuznets@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.