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

Xen "pvhvm" driver support for squeeze?



The pvhvm drivers for Xen allow a fully virtualised guest (aka HVM) to
use the Xen PV disk and network interfaces the same as a Xen guest
running paravirtualised, in addition they allow for PV time and event
delivery, suspend/resume support and PV hooks to improve performance
under shadow page tables.

The drivers are currently in linux-next and are expected to go in during
the next merge window. Stefano (the upstream author) has also prepared
backports to 2.6.32 for RHEL6 and I would like to know if there would be
interest in (or rather objections to) my adding these to the squeeze
kernel?

The majority of the patch is a new driver for a virtual PCI device which
provides the glue to allow the existing PV drivers to work in an HVM
context.

The diffstat (below vs 2.6.32) is a bit daunting but really it is just
some infrastructure hooks and the new "platform-pci" driver. The
functionality is also rather modular so it would be possible e.g. to
just have PV disk and network but not time etc etc.

The full series of patches can be found at
http://xenbits.xensource.com/gitweb?p=people/sstabellini/linux-pvhvm.git
in the branch 2.6.32-pvhvm

Opinions?

Ian.


 Documentation/kernel-parameters.txt   |   11 ++
 arch/x86/include/asm/irq_vectors.h    |    3 +
 arch/x86/include/asm/setup.h          |    2 +-
 arch/x86/include/asm/xen/hypercall.h  |    6 +
 arch/x86/include/asm/xen/hypervisor.h |    2 +
 arch/x86/kernel/entry_32.S            |    3 +
 arch/x86/kernel/entry_64.S            |    3 +
 arch/x86/kernel/hpet.c                |   18 ++--
 arch/x86/kernel/setup.c               |    2 +
 arch/x86/xen/Makefile                 |    2 +-
 arch/x86/xen/enlighten.c              |  136 ++++++++++++++++++++--
 arch/x86/xen/mmu.c                    |   33 +++++
 arch/x86/xen/mmu.h                    |    1 +
 arch/x86/xen/platform-pci-unplug.c    |  132 +++++++++++++++++++++
 arch/x86/xen/suspend.c                |   13 ++
 arch/x86/xen/time.c                   |   62 +++++++++-
 arch/x86/xen/xen-ops.h                |   12 +-
 drivers/block/xen-blkfront.c          |   91 +++++++++++++-
 drivers/input/xen-kbdfront.c          |    2 +-
 drivers/video/xen-fbfront.c           |    2 +-
 drivers/xen/Kconfig                   |   12 ++-
 drivers/xen/Makefile                  |    3 +-
 drivers/xen/events.c                  |   91 +++++++++++++--
 drivers/xen/grant-table.c             |   77 +++++++++++--
 drivers/xen/manage.c                  |   46 +++++++-
 drivers/xen/platform-pci.c            |  207 +++++++++++++++++++++++++++++++++
 drivers/xen/xenbus/xenbus_probe.c     |   47 ++++++--
 drivers/xen/xenfs/super.c             |    4 +-
 include/asm-generic/vmlinux.lds.h     |    1 +
 include/linux/pci_ids.h               |    3 +
 include/xen/events.h                  |    7 +
 include/xen/grant_table.h             |    4 +
 include/xen/hvm.h                     |   30 +++++
 include/xen/interface/features.h      |    6 +
 include/xen/interface/grant_table.h   |    1 +
 include/xen/interface/hvm/hvm_op.h    |   46 +++++++
 include/xen/interface/hvm/params.h    |   95 +++++++++++++++
 include/xen/platform_pci.h            |   49 ++++++++
 include/xen/xen-ops.h                 |    3 +
 39 files changed, 1189 insertions(+), 79 deletions(-)

-- 
Ian Campbell
Current Noise: Rotting Christ - Shades Of Evil

Nothing lasts forever.
Where do I find nothing?


Reply to: