public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
From: Zachary Amsden <zamsden@redhat.com>
To: Joerg Roedel <joro@8bytes.org>
Cc: Avi Kivity <avi@redhat.com>, Joerg Roedel <joerg.roedel@amd.com>,
	kvm <kvm@vger.kernel.org>
Subject: Re: Nested SVM and migration
Date: Mon, 22 Feb 2010 06:54:23 -1000	[thread overview]
Message-ID: <4B82B6BF.5090800@redhat.com> (raw)
In-Reply-To: <20100221144352.GC26465@8bytes.org>

On 02/21/2010 04:43 AM, Joerg Roedel wrote:
> On Sun, Feb 21, 2010 at 03:40:55PM +0200, Avi Kivity wrote:
>    
>> On 02/21/2010 03:14 PM, Avi Kivity wrote:
>>      
>>> (Either synthetic msrs, or an new state ioctl).  The state would
>>> contain a bit that says whether the guest is in guest or host mode.
>>>
>>> However, since we're breaking the architecture one way or another,
>>> let's just go with the synthetic INTR intercept.
>>>
>>>        
>> On the other hand, there is no equivalent intercept in vmx.  The
>> "external interrupt" exit can be configured to run an INTACK cycle and
>> capture the vector in a vmcs field, and there's no vector we can insert
>> there (Xen for example uses this).
>>      
> Difficult. We could use an instruction intercept which has no side
> effect on guest state (invlpg for example). But thats a lot more
> dangerous than an INTR intercept. What about PENDING_INTERRUPT? Are
> there hypervisors that may get confused getting this intercept without
> asking for it?
>    

Yes, hypervisors which never mean to handle exits will break.  There are 
many possible reasons you might design such a hypervisor; security, 
non-trivial software lock-out of SVM, special hardware concern, research 
project, or perhaps just a shell hypervisor which has one module capable 
of handling exits, and one module which doesn't require it, used for 
high performance but still maintaining binary compatibility with the 
underlying OS.

Perhaps it is just a guest bug, but any design which disallows this is 
visibly and fundamentally architecturally broken.

On the other hand, architectural effects of a new state ioctl or MSR 
update which is properly implemented are completely invisible to the 
guest.  I don't have a strong preference which way that is done, but I 
do have a very strong preference not to break the architecture.

Zach

  parent reply	other threads:[~2010-02-22 16:54 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-02-20 19:14 Nested SVM and migration Zachary Amsden
2010-02-20 20:18 ` Joerg Roedel
2010-02-20 23:26   ` Zachary Amsden
2010-02-21 12:10     ` Joerg Roedel
2010-02-21 12:24       ` Avi Kivity
2010-02-21 12:41         ` Joerg Roedel
2010-02-21 12:54           ` Avi Kivity
2010-02-21 13:09             ` Joerg Roedel
2010-02-21 13:14               ` Avi Kivity
     [not found]                 ` <4B8137E7.4030001@redhat.com>
     [not found]                   ` <20100221144352.GC26465@8bytes.org>
2010-02-22 16:54                     ` Zachary Amsden [this message]
     [not found]                     ` <4B814C41.7010105@redhat.com>
     [not found]                       ` <20100221155624.GD26465@8bytes.org>
2010-02-22 16:56                         ` Zachary Amsden
2010-02-22 16:59                           ` Avi Kivity
2010-02-22 16:46               ` Zachary Amsden
2010-02-22 17:07                 ` Joerg Roedel
2010-02-24 15:23               ` Joerg Roedel
2010-02-24 20:21                 ` Zachary Amsden
2010-02-22 16:42         ` Zachary Amsden
2010-02-22 16:44           ` Avi Kivity
2010-02-22 17:00             ` Zachary Amsden
2010-02-22 17:02               ` Avi Kivity
2010-02-22 17:07                 ` Zachary Amsden
2010-02-22 17:11                   ` Avi Kivity
2010-02-22 17:24                     ` Zachary Amsden
2010-02-22 16:39       ` Zachary Amsden
2010-02-21  7:23   ` Avi Kivity
2010-02-21  7:46     ` Gleb Natapov
2010-02-21  8:12       ` Avi Kivity
2010-02-21 12:18     ` Joerg Roedel

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=4B82B6BF.5090800@redhat.com \
    --to=zamsden@redhat.com \
    --cc=avi@redhat.com \
    --cc=joerg.roedel@amd.com \
    --cc=joro@8bytes.org \
    --cc=kvm@vger.kernel.org \
    /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