All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sheng Yang <sheng@linux.intel.com>
To: Keir Fraser <keir.fraser@eu.citrix.com>,
	Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>,
	Ian Pratt <Ian.Pratt@eu.citrix.com>
Cc: Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	xen-devel <xen-devel@lists.xensource.com>,
	linux-kernel@vger.kernel.org
Subject: [PATCH 0/7][v4] PV extension of HVM (Hybrid) for Xen
Date: Mon,  1 Mar 2010 17:38:28 +0800	[thread overview]
Message-ID: <1267436315-24486-1-git-send-email-sheng@linux.intel.com> (raw)

Hi, Jeremy & Ian

Here is the forth version of patchset to enable PV extension of HVM support
in Linux kernel of Xen.

I'd like to have your comments on this patch series. We think the patches are
prepared for check in pv_ops domU tree.

The PV extension of HVM is started from real mode like HVM guest, but also with a
a range of PV features(e.g. PV halt, PV timer, event channel, as well as PV
drivers). So guest with this feature can takes the advantages of both H/W
virtualization and Para-Virtualization.

The first two of the patchset imported several header file from Jeremy's tree
and Xen tree, respect to Jeremy and Keir's works.

The whole patchset based on Linux upstream.

You need a line like:

cpuid = [ '0x40000002:edx=0x3' ]

in HVM configuration file to expose hybrid feature to guest, and

CONFIG_XEN

in the guest kernel configuration file to enable the hybrid support.

And the compiled image can be used as native/pv domU/hvm guest/pv feature hvm kernel.

Current the patchset support x86_64 only.

I've discussed the vector-evtchn mapping with Stefano, and we agreed on that
it's more complex than we thought, and can't brought much benefit for
pvops domU. So there is no major change in this update.

Change from v3:
1. Rebase to Linux 2.6.33 release.
2. change the name to "PV extension of HVM"
3. Some minor coding polishing.

Change from v2:
1. change the name "hybrid" to "PV featured HVM".
2. Unified the PV driver's judgement of xen_domain() to xen_evtchn_enabled().
3. Move the function(evtchn) initialize hypercall near the real enabling place,
rather than a unified place before function enabled.
4. Remove the reserved E820 region for grant table. Use QEmu Xen platform
device's MMIO instead.

The major change from v1:
1. SMP support.
2. Modify the entrance point to avoid most of genernic kernel modification.
3. Binding PV timer with event channel mechanism.

--
regards
Yang, Sheng

 arch/x86/include/asm/xen/cpuid.h     |   73 +++++++++++++
 arch/x86/include/asm/xen/hypercall.h |    6 +
 arch/x86/kernel/setup.c              |    8 ++
 arch/x86/xen/enlighten.c             |  188 ++++++++++++++++++++++++++++++++++
 arch/x86/xen/irq.c                   |   54 ++++++++++
 arch/x86/xen/smp.c                   |  144 ++++++++++++++++++++++++++-
 arch/x86/xen/xen-head.S              |    6 +
 arch/x86/xen/xen-ops.h               |    4 +
 drivers/block/xen-blkfront.c         |    3 -
 drivers/input/xen-kbdfront.c         |    6 +-
 drivers/net/xen-netfront.c           |    5 -
 drivers/video/xen-fbfront.c          |    6 +-
 drivers/xen/events.c                 |   66 +++++++++++-
 drivers/xen/grant-table.c            |   59 ++++++++++-
 drivers/xen/xenbus/xenbus_probe.c    |   22 +++-
 include/xen/events.h                 |    1 +
 include/xen/hvm.h                    |   28 +++++
 include/xen/interface/hvm/hvm_op.h   |   79 ++++++++++++++
 include/xen/interface/hvm/params.h   |  111 ++++++++++++++++++++
 include/xen/interface/xen.h          |    6 +-
 include/xen/xen.h                    |   11 ++
 include/xen/xenbus.h                 |    3 +
 22 files changed, 861 insertions(+), 28 deletions(-)

             reply	other threads:[~2010-03-01  9:38 UTC|newest]

Thread overview: 53+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-03-01  9:38 Sheng Yang [this message]
2010-03-01  9:38 ` [PATCH 1/7] xen: add support for hvm_op Sheng Yang
2010-03-01  9:38   ` Sheng Yang
2010-03-01  9:38 ` [PATCH 2/7] xen: Import cpuid.h from Xen Sheng Yang
2010-03-01  9:38 ` [PATCH 3/7] xen/hvm: Xen PV extension of HVM initialization Sheng Yang
2010-03-02  1:02   ` [Xen-devel] " Jeremy Fitzhardinge
2010-03-02  1:02     ` Jeremy Fitzhardinge
2010-03-02  1:38     ` [Xen-devel] " Sheng Yang
2010-03-02  1:38       ` Sheng Yang
2010-03-02  1:43       ` Jeremy Fitzhardinge
2010-03-02  9:22       ` Ian Campbell
2010-03-02 20:17         ` Jeremy Fitzhardinge
2010-03-02 20:17           ` Jeremy Fitzhardinge
2010-03-03 11:35           ` [Xen-devel] " Stefano Stabellini
2010-03-03 11:35             ` Stefano Stabellini
2010-03-03 17:35             ` [Xen-devel] " Jeremy Fitzhardinge
2010-03-03 17:41               ` Stefano Stabellini
2010-03-03 17:41                 ` Stefano Stabellini
2010-03-04 10:18                 ` [Xen-devel] " Ian Campbell
2010-03-04 10:18                   ` Ian Campbell
2010-03-01  9:38 ` [PATCH 4/7] xen: The entrance for PV extension of HVM Sheng Yang
2010-03-02  1:05   ` [Xen-devel] " Jeremy Fitzhardinge
2010-03-02  1:41     ` Sheng Yang
2010-03-01  9:38 ` [PATCH 5/7] xen: Make event channel work with " Sheng Yang
2010-03-01  9:38   ` Sheng Yang
2010-03-02  1:38   ` [Xen-devel] " Jeremy Fitzhardinge
2010-03-02  5:48     ` Sheng Yang
2010-03-03 18:31       ` Jeremy Fitzhardinge
2010-03-04  5:37     ` Sheng Yang
2010-03-04  5:37       ` Sheng Yang
2010-03-04 11:58       ` [Xen-devel] " Stefano Stabellini
2010-03-04 11:58         ` Stefano Stabellini
2010-03-08 22:31         ` [Xen-devel] " Jeremy Fitzhardinge
2010-03-08 22:31           ` Jeremy Fitzhardinge
2010-03-01  9:38 ` [PATCH 6/7] xen: Unified checking for Xen of PV drivers to xenbus_register_frontend() Sheng Yang
2010-03-02  1:45   ` [Xen-devel] " Jeremy Fitzhardinge
2010-03-01  9:38 ` [PATCH 7/7] xen: Enable grant table and xenbus for PV extension of HVM Sheng Yang
2010-03-01 17:38   ` [LKML] " Konrad Rzeszutek Wilk
2010-03-01 17:38     ` Konrad Rzeszutek Wilk
2010-03-02  1:13     ` Sheng Yang
2010-03-02  1:13       ` Sheng Yang
2010-03-02  1:21     ` Sheng Yang
2010-03-02  1:21       ` Sheng Yang
2010-03-02 13:41       ` Konrad Rzeszutek Wilk
2010-03-02 14:09         ` Ian Campbell
2010-03-02 14:09           ` Ian Campbell
2010-03-02  0:42 ` [Xen-devel] [PATCH 0/7][v4] PV extension of HVM (Hybrid) for Xen Jeremy Fitzhardinge
2010-03-02  1:26   ` Sheng Yang
2010-03-02  1:32     ` Jeremy Fitzhardinge
2010-03-02  1:32       ` Jeremy Fitzhardinge
2010-03-02  1:34       ` [Xen-devel] " Sheng Yang
2010-03-02  3:20     ` Dong, Eddie
2010-03-02  3:20       ` Dong, Eddie

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=1267436315-24486-1-git-send-email-sheng@linux.intel.com \
    --to=sheng@linux.intel.com \
    --cc=Ian.Campbell@citrix.com \
    --cc=Ian.Pratt@eu.citrix.com \
    --cc=jeremy.fitzhardinge@citrix.com \
    --cc=keir.fraser@eu.citrix.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=stefano.stabellini@eu.citrix.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.