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

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


 


Rackspace

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