From: Jan Kiszka <jan.kiszka@siemens.com>
To: Gleb Natapov <gleb@redhat.com>
Cc: Avi Kivity <avi@redhat.com>,
Marcelo Tosatti <mtosatti@redhat.com>, kvm <kvm@vger.kernel.org>
Subject: Re: [PATCH] KVM: VMX: Translate interrupt shadow when waiting on NMI window
Date: Tue, 16 Feb 2010 11:37:15 +0100 [thread overview]
Message-ID: <4B7A755B.80009@siemens.com> (raw)
In-Reply-To: <20100216103235.GH2995@redhat.com>
Gleb Natapov wrote:
> On Tue, Feb 16, 2010 at 11:27:07AM +0100, Jan Kiszka wrote:
>> Gleb Natapov wrote:
>>> On Tue, Feb 16, 2010 at 11:14:45AM +0100, Jan Kiszka wrote:
>>>> Gleb Natapov wrote:
>>>>> On Tue, Feb 16, 2010 at 11:04:10AM +0100, Jan Kiszka wrote:
>>>>>> Gleb Natapov wrote:
>>>>>>> On Tue, Feb 16, 2010 at 10:16:12AM +0100, Jan Kiszka wrote:
>>>>>>>> Found while browsing Xen code: While we assume that the STI interrupt
>>>>>>>> shadow also inplies virtual NMI blocking, some processors may have a
>>>>>>>> different opinion (SDM 3: 22.3). To avoid misunderstandings that would
>>>>>>>> cause endless VM entry attempts, translate STI into MOV SS blocking when
>>>>>>>> requesting the NMI window.
>>>>>>>>
>>>>>>> Why not just remove "block by STI" check in vmx_nmi_allowed()? IIRC this
>>>>>>> is documented that on some CPUs STI does not block NMI.
>>>>>>>
>>>>>> Probably because we will stumble and fall on those CPUs that do care.
>>>>>>
>>>>> But this defines behaviour of cpu _we_ emulate. So on _our_ cpu NMI will
>>>>> not be blocked by STI.
>>>> The host CPU decides if it accepts an NMI injections while
>>> Are you sure? I haven't found such check during VMENTRY.
>> I also only find the explicitly stated exclusion of MOV SS blocking vs.
>> NMI injection. If we can rely on this, removing STI blocking from
>> vmx_nmi_allowed should suffice. Or, better, can we get an official
>> confirmation from Intel?
>>
> SDM 2b says about STI instruction:
> The IF flag and the STI and CLI instructions do not prohibit the
> generation of exceptions and NMI interrupts. NMI interrupts (and SMIs)
> may be blocked for one macroinstruction following an STI.
Yes, it's likely that this is the architectural reason for the delayed
NMI window signaling after STI. Still, we are looking for the
entry-check logic.
Jan
--
Siemens AG, Corporate Technology, CT T DE IT 1
Corporate Competence Center Embedded Linux
next prev parent reply other threads:[~2010-02-16 10:37 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-02-16 9:16 [PATCH] KVM: VMX: Translate interrupt shadow when waiting on NMI window Jan Kiszka
2010-02-16 10:00 ` Gleb Natapov
2010-02-16 10:04 ` Jan Kiszka
2010-02-16 10:06 ` Gleb Natapov
2010-02-16 10:14 ` Jan Kiszka
2010-02-16 10:17 ` Gleb Natapov
2010-02-16 10:27 ` Jan Kiszka
2010-02-16 10:32 ` Gleb Natapov
2010-02-16 10:37 ` Jan Kiszka [this message]
2010-02-16 10:38 ` Gleb Natapov
2010-04-21 14:17 ` Jan Kiszka
2010-04-21 14:30 ` Gleb Natapov
2010-04-21 14:41 ` Jan Kiszka
2010-04-21 14:44 ` Gleb Natapov
2010-04-21 15:14 ` Jan Kiszka
2010-04-21 15:30 ` Gleb Natapov
2010-05-03 7:32 ` Gleb Natapov
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=4B7A755B.80009@siemens.com \
--to=jan.kiszka@siemens.com \
--cc=avi@redhat.com \
--cc=gleb@redhat.com \
--cc=kvm@vger.kernel.org \
--cc=mtosatti@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox