[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [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
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.