[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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |