All of lore.kernel.org
 help / color / mirror / Atom feed
From: Christoph Egger <Christoph.Egger@amd.com>
To: Tim Deegan <Tim.Deegan@citrix.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"Dong, Eddie" <eddie.dong@intel.com>
Subject: Re: [PATCH 07/14] Nested Virtualization: trap
Date: Thu, 19 Aug 2010 12:32:00 +0200	[thread overview]
Message-ID: <201008191232.00338.Christoph.Egger@amd.com> (raw)
In-Reply-To: <20100819083552.GF20252@whitby.uk.xensource.com>

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

  reply	other threads:[~2010-08-19 10:32 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <1A42CE6F5F474C41B63392A5F80372B22A3E5B97@shsmsx501.ccr.corp.intel.com>
2010-08-19  2:44 ` [PATCH 07/14] Nested Virtualization: trap Dong, Eddie
2010-08-19  8:35   ` Tim Deegan
2010-08-19 10:32     ` Christoph Egger [this message]
2010-08-19 14:12       ` Dong, Eddie
2010-08-19 13:53     ` Dong, Eddie
2010-08-19 14:30       ` Tim Deegan
2010-08-23  3:12         ` Dong, Eddie
2010-08-31 10:34           ` Tim Deegan
2010-08-23 16:03         ` Christoph Egger
2010-08-05 15:02 Christoph Egger
2010-08-09 12:44 ` Tim Deegan
2010-08-10  8:55   ` Christoph Egger
2010-08-10 10:48     ` Tim Deegan
2010-08-10 12:25       ` Christoph Egger
2010-08-10 12:56         ` Tim Deegan
2010-08-10 13:37           ` Christoph Egger

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=201008191232.00338.Christoph.Egger@amd.com \
    --to=christoph.egger@amd.com \
    --cc=Tim.Deegan@citrix.com \
    --cc=eddie.dong@intel.com \
    --cc=xen-devel@lists.xensource.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.