xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: Mukesh Rathor <mukesh.rathor@oracle.com>
To: "Xen-devel@lists.xensource.com" <Xen-devel@lists.xensource.com>
Subject: HYBRID: PV in HVM container
Date: Mon, 27 Jun 2011 12:24:04 -0700	[thread overview]
Message-ID: <20110627122404.23d2d0ce@mantra.us.oracle.com> (raw)


Hi guys,

Cheers!! I got PV in HVM container prototype working with single VCPU
(pinned to a cpu). Basically, I create a VMX container just like for
HVM guest (with some differences that I'll share soon when I clean up
the code). The PV guest starts in Protected mode with the usual
entry point startup_xen().

0. Guest kernel runs in ring 0, CS:0x10.

1. I use xen for all pt management just like a PV guest. So at present
   all faults are going to xen, and when fixup_page_fault() fails, they
   are injected into the container for the guest to handle it.

2. The guest manages the GDT, LDT, TR, in the container.

3. The guest installs the trap table in the vmx container instead of 
   do_set_trap_table(). 

4. Events/INTs are delivered via HVMIRQ_callback_vector.

5. MSR_GS_BASE is managed by the guest in the container itself.

6. Currently, I'm managing cr4 in the container, but going to xen
   for cr0. I need to revisit that.

7. Currently, VPID is disabled, I need to figure it out, and revisit.

8. Currently, VM_ENTRY_LOAD_GUEST_PAT is disabled, I need to look at 
   that. 

These are the salient points I can think of at the moment. Next, I am 
going to run LMBench and figure out the gains. After that, make sure
SMP works, and things are stable, and look at any enhancements. I need
to look at couple unrelated bugs at the moment, but hope to return back 
to this very soon.

thanks,
Mukesh

             reply	other threads:[~2011-06-27 19:24 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-06-27 19:24 Mukesh Rathor [this message]
2011-06-27 19:36 ` HYBRID: PV in HVM container Keir Fraser
2011-06-28  1:51   ` Mukesh Rathor
2011-06-28  7:46     ` Keir Fraser
2011-06-28  8:30       ` Ian Campbell
2011-06-28  8:35         ` Keir Fraser
2011-06-28  8:49           ` Ian Campbell
2011-06-28 10:46       ` Stefano Stabellini
2011-06-28 10:50         ` Ian Campbell
2011-06-28 18:32       ` Mukesh Rathor
2011-06-28 18:39         ` Keir Fraser
2011-06-28  8:31 ` Ian Campbell
2011-06-28 17:56   ` Mukesh Rathor
2011-07-01  1:54 ` Mukesh Rathor
2011-07-09  1:53   ` Mukesh Rathor
2011-07-09  7:35     ` Keir Fraser
2011-07-28  1:58     ` Mukesh Rathor
2011-07-28 11:34       ` Stefano Stabellini
2011-07-29 15:48         ` Konrad Rzeszutek Wilk
2011-07-29 16:41           ` Stefano Stabellini
2011-07-29 17:28             ` Konrad Rzeszutek Wilk
2011-07-29 18:00               ` Stefano Stabellini
2011-07-29 18:00                 ` Konrad Rzeszutek Wilk
2011-07-29 18:16                   ` Stefano Stabellini
2011-08-09  8:54         ` Ian Campbell
2011-08-17 19:27           ` Jeremy Fitzhardinge
2011-07-29 15:43       ` Konrad Rzeszutek Wilk
2011-11-17 23:38       ` Mukesh Rathor
2011-11-18 12:21         ` Stefano Stabellini
2011-11-19  0:17           ` Mukesh Rathor

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=20110627122404.23d2d0ce@mantra.us.oracle.com \
    --to=mukesh.rathor@oracle.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).