|
|
|
|
|
|
|
|
|
|
xen-devel
Re: [Xen-devel] [PATCH 07/14] Nested Virtualization: trap
On Thursday 19 August 2010 10:35:52 Tim Deegan wrote:
> At 03:44 +0100 on 19 Aug (1282189499), Dong, Eddie wrote:
> > > +int hvm_inject_exception(unsigned int trapnr, int errcode, unsigned
> > > long cr2) +{
> > > + uint64_t exitcode;
> > > + bool_t is_intercepted;
> > > + struct vcpu *v = current;
> > > + struct nestedhvm *hvm = &VCPU_NESTEDHVM(v);
> > > +
> > > + if ( !nestedhvm_enabled(v->domain) ) {
> > > + hvm_funcs.inject_exception(trapnr, errcode, cr2);
> > > + return 0;
> > > + }
> >
> > If it is not nested, we go from here to vendor specific injection code.
> > If it is nested, I think we'd better to go to another vendor specific
> > handler too.
>
> That's exactly what this wrapper does. It's basically:
> if ( in L2 and L1 intercepts )
> force vmexit
> else
> inject directly.
>
> It calls out to arch-specific code to do the intercept check and the
> vmexit. It could be tidied up a bit and the interfaces could change but
> this looks like about the least amount of sharing there could be on
> this path. I can't see anything objectionable.
Correct. The key to make this possible is the generic exitcode
mechanism.
Eddie: In an other mail you said, that the generic exitcode is
overcomplicated. I have the impression that you do not
realise that the unification of the exitcodes makes that much
code shareable at all. No, I do not unified *all* exitcodes - I don't know
if that is even possible.
I only unified a subset that is actually used in the generic code.
(I also have the feeling Keir didn't realize that either given
to his last comments to patch 5/15)
Christoph
--
---to satisfy European Law for business letters:
Advanced Micro Devices GmbH
Einsteinring 24, 85609 Dornach b. Muenchen
Geschaeftsfuehrer: Alberto Bozzo, Andrew Bowd
Sitz: Dornach, Gemeinde Aschheim, Landkreis Muenchen
Registergericht Muenchen, HRB Nr. 43632
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
|
|
|
|