Xen Kernel Feature Matrix

This page lists various features supported by different Xen enabled Linux kernels.
[Updated Oct 26th 2011]
== Xen Kernel Integration ==
There are two ways to get to a Xen enabled Linux kernel. The old Xenlinux and the newer pvops.
=== Xenlinux ===
Historically Xen-Linux-Integration was first developed separate from the Linux kernel and resulted in a set of patches that had to be applied to the vanilla kernel.
Those are the Xen patches from the 'original' linux-2.6.18-xen repository from xen.org. Some distros have these 2.6.18 patches forward-ported to newer kernels, most notably SLES/OpenSUSE. These patches are sometimes referred as "Xenified" patches.
This was the default dom0 kernel in all Xen 3.x releases, up to and including Xen 3.4.x.
=== pvops ===
Paravirt_ops is the upstream Linux framework for running Linux paravirtualized on a hypervisor (Xen).
pvops is included in the mainline/standard Linux kernel.
This is the new style of Xen support, rewritten to be acceptable to upstream Linux kernel.
pv_ops kernels require Xen >= 4.0.
pvops domU support in the standard Linux kernel has started with 2.6.24 and anything newer than 2.6.32.10 should be fairly complete and stable for most use cases.
pvops dom0 support is included in the upstream (2.6.37 and higher) Linux kernel.
For details please read XenParavirtOps.
Some help and tips for migrating from linux-2.6.18 to pvops dom0 kernel available from this wiki page: Migrate_from_Linux_2.6.18_to_2.6.31_and_higher
== Features explained ==
* backend driver = driver required in the Xen dom0 kernel
* frontend driver = driver required in the Xen domU guest kernel
* pciback and pcifront = drivers required for PCI passthrough. These drivers are not related to using PCI devices in dom0!
* usbback and usbfront = drivers required for USB passthrough. These drivers are not related to using physical usb devices in dom0!
* scsiback and scsifront = drivers required for PVSCSI passthrough. These drivers are not related to using SCSI devices in dom0!
See XenDom0Kernels wiki page for more information about the various kernels and for instructions where to get them.
Links to more information about various features:
* List of various Xen Dom0 capable kernel versions: Dom0_Kernel_Versions
* XenPCIpassthrough and VTdHowTo
* XenUSBPassthrough
* XenVGAPassthrough
* XenPVSCSI
* XenParavirtOps
* old blktap1: blktap
* blktap2: blktap2
* Xen HVM Linux guest PV-on-HVM optimized drivers: XenLinuxPVonHVMdrivers
== NOTE! This wiki page is updated when new features are developed/ported, so remember to check back here every now and then! ==
== List of Xen kernel source trees/repositories: ==
# xen.org linux-2.6.18-xen (Xenlinux)
# Citrix Xen-Server / Xen Cloud Platform (XCP) Linux 2.6.27 and 2.6.32 (Xenlinux)
# Novell SLES11 SP1 Linux 2.6.32 forward-ported patches by Andrew Lyon (Xenlinux)
# kernel.org Jeremy's xen.git xen/stable-2.6.32.x (pvops)
# kernel.org Linus vanilla/mainline Linux 2.6.32 - 2.6.35 (pvops)
# kernel.org Linus vanilla/mainline Linux 2.6.36 (pvops)
# kernel.org Linus vanilla/mainline Linux 2.6.37 (pvops)
# kernel.org Linus vanilla/mainline Linux 3.1.0 (pvops)
Source tree features:
 	1	2	3	4	5	6	7
Xen PV domU (guest) support (including blkfront, netfront frontend drivers)	x	x	x	x	x	x	x
Xen dom0 support (including blkback, netback backend drivers) 	x	x	x	x	 	 	
blktap1 backend driver 	x	x	x	 	 	 	
blktap2 backend driver 	x	x	x	x	 	 	
pciback backend driver 	x	x	x	x	 	 	
pcifront frontend driver 	x	x	x	x	 	 	x
pvscsi backend driver 	x	x	x	 	 	 	
pvscsi frontend driver 	x	x	x	 	 	 	
pvusb backend driver 	x	 	x	 	 	 	
pvusb frontend driver 	x	 	x	 	 	 	
pv-on-hvm (pvhvm) drivers for hvm Linux guests 	x	 	x	x	 	x	x
blkfront vbd (guest xvd disk) online resize 	x	 	x	x	 	x	x
== List of binary Xen kernels included in Linux distributions: ==
# Redhat RHEL5 kernel-xen Linux 2.6.18 (Xenlinux)
# Novell SLES10 Linux 2.6.16 (Xenlinux)
# Novell SLES11 Linux 2.6.27 (Xenlinux)
# Novell SLES11 SP1 Linux 2.6.32 (Xenlinux)
# Debian Etch Linux 2.6.18-6-xen (Xenlinux)
# Debian Lenny Linux 2.6.26-2-xen (Xenlinux)
# Debian Lenny Linux 2.6.26-2-686-bigmem (pvops)
# Debian Squeeze Linux 2.6.32-xen (pvops dom0 capable)
# Debian Squeeze Linux 2.6.32-amd64 and -686-bigmem (pvops)
# Fedora 12 Linux 2.6.32, Fedora 13 Linux 2.6.33 (pvops)
# Redhat RHEL6 Linux 2.6.32
# Fedora Core 16 and Ubuntu 11.10 (pvops, 3.0 kernel)
 	1	2	3	4	5	6	7	8	9	10	11
Xen PV domU (guest) support (including blkfront, netfront frontend drivers)	x	x	x	x	x	x	x	x	x	x 	x
Xen dom0 support (including blkback, netback backend drivers) 	x	x	x	x	x	x	 	x	 	 	
blktap1 backend driver 	x	x	x	x	x	x	 	 	 	 	
blktap2 backend driver 	 	 	 	x	 	 	 	x	 	 	
pciback backend driver 	x	x	x	x	x	x	 	x	 	 	
pcifront frontend driver 	x	x	x	x	x	x	 	x	 	 	
pvscsi backend driver 	 	 	 	x	 	 	 	 	 	 	
pvscsi frontend driver 	 	 	 	x	 	 	 	 	 	 	
pvusb backend driver 	 	 	 	x	 	 	 	 	 	 	
pvusb frontend driver 	 	 	 	x	 	 	 	 	 	 	
pv-on-hvm drivers for hvm linux guests 	x	x	x	x	 	 	 	 	 	 	x
Category:Users
Category:Beginners
Category:PVOPS
Category:Overview
Category:Project
Category:Compatibility