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: 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: Keir Fraser <keir.fraser@xxxxxxxxxxxxx>
Date: Wed, 15 Sep 2010 09:23:11 +0100
Cc: Tim Deegan <Tim.Deegan@xxxxxxxxxxxxx>, "Dong, Eddie" <eddie.dong@xxxxxxxxx>, "He, Qing" <qing.he@xxxxxxxxx>
Delivery-date: Wed, 15 Sep 2010 01:23:55 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <201009151015.20193.Christoph.Egger@xxxxxxx>
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>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: ActUrjFTQ+ojJjAnSDWc/9iRkRslWQAAQqD5
Thread-topic: [Xen-devel] [PATCH 06/16] vmx: nest: handling VMX instruction exits
User-agent: Microsoft-Entourage/
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.

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.

 -- Keir

> You need to add instructions to the emulator that are missing there.

Xen-devel mailing list

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