This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


RE: [Xen-devel] [PATCH 06/16] vmx: nest: handling VMX instruction exits

To: Keir Fraser <keir.fraser@xxxxxxxxxxxxx>, Christoph Egger <Christoph.Egger@xxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>
Subject: RE: [Xen-devel] [PATCH 06/16] vmx: nest: handling VMX instruction exits
From: "Dong, Eddie" <eddie.dong@xxxxxxxxx>
Date: Wed, 15 Sep 2010 17:08:20 +0800
Accept-language: en-US
Acceptlanguage: en-US
Cc: Tim Deegan <Tim.Deegan@xxxxxxxxxxxxx>, "Dong, Eddie" <eddie.dong@xxxxxxxxx>, "He, Qing" <qing.he@xxxxxxxxx>
Delivery-date: Wed, 15 Sep 2010 02:14:12 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <C8B640FF.22FDD%keir.fraser@xxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <201009151015.20193.Christoph.Egger@xxxxxxx> <C8B640FF.22FDD%keir.fraser@xxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: ActUrjFTQ+ojJjAnSDWc/9iRkRslWQAAQqD5AAF/29A=
Thread-topic: [Xen-devel] [PATCH 06/16] vmx: nest: handling VMX instruction exits
Keir Fraser wrote:
> On 15/09/2010 09:15, "Christoph Egger" <Christoph.Egger@xxxxxxx>
> wrote: 
>>> The main trick with x86_emulate extensions is determining the
>>> correct neat small set of callback hooks to add, which is somewhat
>>> driven by deciding what should be emulated within x86_emulate and
>>> what should be left without for implementation in the caller's
>>> context. 
>> There is a case where the host must emulate an instruction of the l2
>> guest when the l1 guest doesn't intercept it.
>> When the vcpu is in guest mode, the fields in struct hvm_vcpu and
>> guest_cpu_user_regs() represent the l2 guest state in my patch
>> series. 
>> That way the instruction emulator works out-of-the box.
> Well in this specific case, all VMX-related instructions executed by
> an L2 guest would properly cause vmexit to the L1 guest for emulation
> there. We wouldn't want to emulate in Xen.

Yes, in nested VMX side, we L0 VMM won't emulate L2 VMX instruction.

> But yes I can see that emulation of L2 guest instructions is needed
> in some other cases. Like instructions performing I/O in areas which
> L1 thinks it has given L2 direct unmediated access to, but which Xen
> is actually filtering or emulating.

That may be an issue in plan when we support virtual VT-d for nested I/O 
performance. But not now :)
I suggest we leave that to future at least for nested VMX side where L0 VMM 
doesn't directly emulate L0 VMM instruction.

We can see if there are other needs for that kind of case.

Thx, Eddie
Xen-devel mailing list

<Prev in Thread] Current Thread [Next in Thread>