public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
From: Jan Kiszka <jan.kiszka@web.de>
To: Nadav Har'El <nyh@math.technion.ac.il>
Cc: Marcelo Tosatti <mtosatti@redhat.com>,
	Gleb Natapov <gleb@redhat.com>,
	"Nakajima, Jun" <jun.nakajima@intel.com>,
	Joerg Roedel <joro@8bytes.org>, kvm <kvm@vger.kernel.org>
Subject: Re: [PATCH] KVM: nSVM/nVMX: Implement vmexit on INIT assertion
Date: Mon, 25 Feb 2013 10:04:50 +0100	[thread overview]
Message-ID: <512B2932.5060909@web.de> (raw)
In-Reply-To: <20130225080024.GA411@fermat.math.technion.ac.il>

[-- Attachment #1: Type: text/plain, Size: 1466 bytes --]

On 2013-02-25 09:00, Nadav Har'El wrote:
> On Sun, Feb 24, 2013, Jan Kiszka wrote about "[PATCH] KVM: nSVM/nVMX: Implement vmexit on INIT assertion":
>> From: Jan Kiszka <jan.kiszka@siemens.com>
>>
>> On Intel, raising INIT causing an unconditional vmexit. On AMD, this is
>> controlled by the interception mask.
> 
> Hi,
> 
> I never tried to closely follow the KVM code paths related this code,
> but I do have one question: The VMX spec says:
> 
>    "The INIT signal is blocked whenever a logical processor is in VMX root
>     operation. It is not blocked in VMX non-root operation. Instead, INITs
>     cause VM exits (see Section 22.3, Other Causes of VM Exits)."
> 
> So when running a non-nested L1 guest, or an L2 guest, the new behavior
> appears correct. However, it looks like if L1 is running in root
> mode (i.e., did VMXON once but not running L2 now), the INIT signal
> needs to be blocked, not do what it does now. It appears (but I'm not sure...)
> that right now, it causes the L1 guest to lock up, and is not ignored? 

Yeah, forgot about this "detail". Unfortunately, this means we need to
track the signal state, processing it on vmentry and, on AMD, when GIF
becomes 1.

Is the nested-related state already saved on AMD, Jörg? If not, adding
this one would not make things worse at least. Still, missing user space
save/restore already breaks reset, not only migration (dunno if this is
better on AMD).

Jan


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 263 bytes --]

  reply	other threads:[~2013-02-25  9:05 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-02-24 14:08 [PATCH] KVM: nSVM/nVMX: Implement vmexit on INIT assertion Jan Kiszka
2013-02-25  8:00 ` Nadav Har'El
2013-02-25  9:04   ` Jan Kiszka [this message]
2013-02-27 11:20     ` Joerg Roedel
2013-02-27 11:23       ` Jan Kiszka
2013-02-27 11:17 ` Joerg Roedel
2013-02-27 11:22   ` Jan Kiszka

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=512B2932.5060909@web.de \
    --to=jan.kiszka@web.de \
    --cc=gleb@redhat.com \
    --cc=joro@8bytes.org \
    --cc=jun.nakajima@intel.com \
    --cc=kvm@vger.kernel.org \
    --cc=mtosatti@redhat.com \
    --cc=nyh@math.technion.ac.il \
    /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