Xen Project Release Features: Difference between revisions
Lars.kurth (talk | contribs) No edit summary |
Lars.kurth (talk | contribs) No edit summary |
||
Line 1: | Line 1: | ||
{{TODO|For Xen 4.5 |
{{TODO|For Xen 4.5 |
||
* {{ |
* {{HalfDone}} Cloned 4.5 column - items with ? need to be verified |
||
* {{NotDone}} Add major new features |
* {{NotDone}} Add major new features |
||
* {{NotDone}} Check footnotes |
* {{NotDone}} Check footnotes |
||
Line 70: | Line 70: | ||
|{{HalfDone}}<small>preview</small> <sup>[ [[#Foot6|6]] ]</sup> |
|{{HalfDone}}<small>preview</small> <sup>[ [[#Foot6|6]] ]</sup> |
||
|{{Tick}} |
|{{Tick}} |
||
|{{Tick}} <sup>[ [[#Foot8|8]] ]</sup> |
|||
|- |
|- |
||
|ARM v8 |
|ARM v8 |
||
Line 77: | Line 78: | ||
|{{HalfDone}}<small>preview</small> <sup>[ [[#Foot6|6]] ]</sup> |
|{{HalfDone}}<small>preview</small> <sup>[ [[#Foot6|6]] ]</sup> |
||
|{{Tick}} |
|{{Tick}} |
||
|{{Tick}} <sup>[ [[#Foot9|9]] ]</sup> |
|||
|- |
|- |
||
!colspan="7"|<big>[[Xen Overview#Guest_Types|Guest Types]]</big> |
!colspan="7"|<big>[[Xen Overview#Guest_Types|Guest Types]]</big> |
||
Line 83: | Line 85: | ||
|- |
|- |
||
|Paravirtualised<br/><small>Traditional Xen Project ''PV'' guest</small> |
|Paravirtualised<br/><small>Traditional Xen Project ''PV'' guest</small> |
||
|{{Tick}} |
|||
|{{Tick}} |
|{{Tick}} |
||
|{{Tick}} |
|{{Tick}} |
||
Line 90: | Line 93: | ||
|- |
|- |
||
|HVM Guest <sup>[ [[#Foot1|1]] ]<br/><small>Fully virtualised guest using hardware virtualisation extensions</small> |
|HVM Guest <sup>[ [[#Foot1|1]] ]<br/><small>Fully virtualised guest using hardware virtualisation extensions</small> |
||
|{{Tick}} |
|||
|{{Tick}} |
|{{Tick}} |
||
|{{Tick}} |
|{{Tick}} |
||
Line 101: | Line 105: | ||
|{{Tick}} |
|{{Tick}} |
||
|{{Tick}} |
|{{Tick}} |
||
|{{Tick}} |
|||
|{{Tick}} |
|{{Tick}} |
||
|- |
|- |
||
Line 109: | Line 114: | ||
| |
| |
||
|{{Tick}}<small>preview</small> |
|{{Tick}}<small>preview</small> |
||
|{{Tick}}<small>preview<br>added PVH Dom0</small> |
|||
|- |
|- |
||
!colspan="7" style="background-color: #A9BCF5;"|For ARM Architectures |
!colspan="7" style="background-color: #A9BCF5;"|For ARM Architectures |
||
Line 117: | Line 123: | ||
| |
| |
||
|{{HalfDone}}<small>preview</small> <sup>[ [[#Foot6|6]] ]</sup> |
|{{HalfDone}}<small>preview</small> <sup>[ [[#Foot6|6]] ]</sup> |
||
|{{Tick}} |
|||
|{{Tick}} |
|{{Tick}} |
||
|- |
|- |
||
Line 129: | Line 136: | ||
|4095 |
|4095 |
||
|4095 |
|4095 |
||
|4095? |
|||
|- |
|- |
||
|Physical RAM |
|Physical RAM |
||
Line 136: | Line 144: | ||
|16TB |
|16TB |
||
|16TB |
|16TB |
||
|16TB? |
|||
|- |
|- |
||
!colspan="7" style="background-color: #A9BCF5;"|For ARM Architectures |
!colspan="7" style="background-color: #A9BCF5;"|For ARM Architectures |
||
Line 145: | Line 154: | ||
|8 |
|8 |
||
|8 |
|8 |
||
|8? |
|||
|- |
|- |
||
|Physical RAM |
|Physical RAM |
||
Line 152: | Line 162: | ||
|16GB |
|16GB |
||
|16GB |
|16GB |
||
|16GB? |
|||
|- |
|- |
||
!colspan="7"|<big>Guest Limits</big> |
!colspan="7"|<big>Guest Limits</big> |
||
Line 163: | Line 174: | ||
|512 |
|512 |
||
|512 |
|512 |
||
|512? |
|||
|- |
|- |
||
|Virtual RAM |
|Virtual RAM |
||
Line 170: | Line 182: | ||
|512GB |
|512GB |
||
|512GB |
|512GB |
||
|512GB? |
|||
|- |
|- |
||
!colspan="7" style="background-color: #A9BCF5;"|X86 HVM Guest Limits |
!colspan="7" style="background-color: #A9BCF5;"|X86 HVM Guest Limits |
||
Line 179: | Line 192: | ||
|256 |
|256 |
||
|256 |
|256 |
||
|256? |
|||
|- |
|- |
||
|Virtual RAM |
|Virtual RAM |
||
Line 186: | Line 200: | ||
|1TB |
|1TB |
||
|1TB |
|1TB |
||
|1TB? |
|||
|- |
|- |
||
!colspan="7" style="background-color: #A9BCF5;"|ARM Guest Limits |
!colspan="7" style="background-color: #A9BCF5;"|ARM Guest Limits |
||
Line 195: | Line 210: | ||
|8 |
|8 |
||
|8 |
|8 |
||
|8? |
|||
|- |
|- |
||
|Virtual RAM |
|Virtual RAM |
||
Line 202: | Line 218: | ||
|16GB |
|16GB |
||
|16GB |
|16GB |
||
|16GB? |
|||
|- |
|- |
||
!colspan="7" style="background-color: #A9BCF5;"|Number of event channels |
!colspan="7" style="background-color: #A9BCF5;"|Number of event channels |
||
Line 210: | Line 227: | ||
|1024/4096 |
|1024/4096 |
||
|1024/4096 |
|1024/4096 |
||
|131072 |
|||
|131072 |
|131072 |
||
|- |
|- |
||
Line 223: | Line 241: | ||
|{{Tick}}<small>deprecated</small> |
|{{Tick}}<small>deprecated</small> |
||
|{{NotDone}}<small>removed</small> |
|{{NotDone}}<small>removed</small> |
||
|- |
|- |
||
|[[XL]] |
|[[XL]] |
||
|{{HalfDone}}<small>initial implementation</small> |
|{{HalfDone}}<small>initial implementation</small> |
||
|{{HalfDone}}<small>preview release</small> |
|{{HalfDone}}<small>preview release</small> |
||
|{{Tick}} |
|||
|{{Tick}} |
|{{Tick}} |
||
|{{Tick}} |
|{{Tick}} |
||
Line 234: | Line 252: | ||
|Qemu based disk backend (''qdisk'') for [[XL]]<br/> |
|Qemu based disk backend (''qdisk'') for [[XL]]<br/> |
||
| |
| |
||
|{{Tick}} <sup>[ [[#Foot5|5]] ]</sup> |
|||
|{{Tick}} <sup>[ [[#Foot5|5]] ]</sup> |
|{{Tick}} <sup>[ [[#Foot5|5]] ]</sup> |
||
|{{Tick}} <sup>[ [[#Foot5|5]] ]</sup> |
|{{Tick}} <sup>[ [[#Foot5|5]] ]</sup> |
||
Line 244: | Line 263: | ||
| |
| |
||
|{{Tick}}<small>preview</small> <sup>[ [[#Foot7|7]] ]</sup> |
|{{Tick}}<small>preview</small> <sup>[ [[#Foot7|7]] ]</sup> |
||
|{{Tick}} |
|||
|{{Tick}} |
|{{Tick}} |
||
|- |
|- |
||
Line 250: | Line 270: | ||
|[http://libvirt.org libvirt] driver for [[XL]] |
|[http://libvirt.org libvirt] driver for [[XL]] |
||
| |
| |
||
|{{Tick}} |
|||
|{{Tick}} |
|{{Tick}} |
||
|{{Tick}} |
|{{Tick}} |
||
Line 260: | Line 281: | ||
|- |
|- |
||
|Memory Ballooning |
|Memory Ballooning |
||
|{{Tick}} |
|||
|{{Tick}} |
|{{Tick}} |
||
|{{Tick}} |
|{{Tick}} |
||
Line 269: | Line 291: | ||
|{{HalfDone}}<small>preview</small> |
|{{HalfDone}}<small>preview</small> |
||
|{{HalfDone}}<small>preview</small> |
|{{HalfDone}}<small>preview</small> |
||
|{{HalfDone}}<small>preview</small> <sup>[ [[#Foot3|3]] ]</sup> |
|||
|{{HalfDone}}<small>preview</small> <sup>[ [[#Foot3|3]] ]</sup> |
|{{HalfDone}}<small>preview</small> <sup>[ [[#Foot3|3]] ]</sup> |
||
|{{HalfDone}}<small>preview</small> <sup>[ [[#Foot3|3]] ]</sup> |
|{{HalfDone}}<small>preview</small> <sup>[ [[#Foot3|3]] ]</sup> |
||
Line 276: | Line 299: | ||
|{{HalfDone}}<small>preview</small> |
|{{HalfDone}}<small>preview</small> |
||
|{{HalfDone}}<small>preview</small> |
|{{HalfDone}}<small>preview</small> |
||
|{{HalfDone}}<small>preview</small> <sup>[ [[#Foot3|3]] ]</sup> |
|||
|{{HalfDone}}<small>preview</small> <sup>[ [[#Foot3|3]] ]</sup> |
|{{HalfDone}}<small>preview</small> <sup>[ [[#Foot3|3]] ]</sup> |
||
|{{HalfDone}}<small>preview</small> <sup>[ [[#Foot3|3]] ]</sup> |
|{{HalfDone}}<small>preview</small> <sup>[ [[#Foot3|3]] ]</sup> |
||
Line 281: | Line 305: | ||
|- |
|- |
||
|[http://oss.oracle.com/projects/tmem/ TMEM] - Transcendent Memory |
|[http://oss.oracle.com/projects/tmem/ TMEM] - Transcendent Memory |
||
|{{HalfDone}}<small>experimental</small> <sup>[ [[#Foot2|2]] ]</sup> |
|||
|{{HalfDone}}<small>experimental</small> <sup>[ [[#Foot2|2]] ]</sup> |
|{{HalfDone}}<small>experimental</small> <sup>[ [[#Foot2|2]] ]</sup> |
||
|{{HalfDone}}<small>experimental</small> <sup>[ [[#Foot2|2]] ]</sup> |
|{{HalfDone}}<small>experimental</small> <sup>[ [[#Foot2|2]] ]</sup> |
||
Line 291: | Line 316: | ||
|[[Xen_4.2:_cpupools|Cpupool]]<br/><small>advanced partitioning</small> |
|[[Xen_4.2:_cpupools|Cpupool]]<br/><small>advanced partitioning</small> |
||
| |
| |
||
|{{Tick}} |
|||
|{{Tick}} |
|{{Tick}} |
||
|{{Tick}} |
|{{Tick}} |
||
Line 302: | Line 328: | ||
|{{HalfDone}}<small>experimental</small> |
|{{HalfDone}}<small>experimental</small> |
||
|{{HalfDone}}<small>experimental</small> |
|{{HalfDone}}<small>experimental</small> |
||
|{{HalfDone}}<small>experimental?</small> |
|||
|- |
|- |
||
|[[Xen_Numa_Scheduling_and_Placement|NUMA scheduler affinity]] |
|[[Xen_Numa_Scheduling_and_Placement|NUMA scheduler affinity]] |
||
Line 307: | Line 334: | ||
| |
| |
||
| |
| |
||
|{{Tick}} |
|||
|{{Tick}} |
|{{Tick}} |
||
|{{Tick}} |
|{{Tick}} |
||
Line 314: | Line 342: | ||
|1GB/2MB super page support |
|1GB/2MB super page support |
||
| |
| |
||
|{{Tick}} |
|||
|{{Tick}} |
|{{Tick}} |
||
|{{Tick}} |
|{{Tick}} |
||
Line 321: | Line 350: | ||
|Deliver events to PVHVM guests using Xen event channels |
|Deliver events to PVHVM guests using Xen event channels |
||
| |
| |
||
|{{Tick}} |
|||
|{{Tick}} |
|{{Tick}} |
||
|{{Tick}} |
|{{Tick}} |
||
Line 334: | Line 364: | ||
|{{HalfDone}}<small>experimental</small> |
|{{HalfDone}}<small>experimental</small> |
||
|{{HalfDone}}<small>preview</small> |
|{{HalfDone}}<small>preview</small> |
||
|{{HalfDone}}<small>preview?</small> |
|||
|- |
|- |
||
|HVM PXE Stack |
|HVM PXE Stack |
||
|gPXE |
|gPXE |
||
|[http://ipxe.org iPXE] |
|||
|[http://ipxe.org iPXE] |
|[http://ipxe.org iPXE] |
||
|[http://ipxe.org iPXE] |
|[http://ipxe.org iPXE] |
||
Line 343: | Line 375: | ||
|- |
|- |
||
|Physical CPU Hotplug |
|Physical CPU Hotplug |
||
|{{Tick}} |
|||
|{{Tick}} |
|{{Tick}} |
||
|{{Tick}} |
|{{Tick}} |
||
Line 350: | Line 383: | ||
|- |
|- |
||
|Physical Memory Hotplug |
|Physical Memory Hotplug |
||
|{{Tick}} |
|||
|{{Tick}} |
|{{Tick}} |
||
|{{Tick}} |
|{{Tick}} |
||
Line 357: | Line 391: | ||
|- |
|- |
||
|Support for PV kernels in bzImage format |
|Support for PV kernels in bzImage format |
||
|{{Tick}} |
|||
|{{Tick}} |
|{{Tick}} |
||
|{{Tick}} |
|{{Tick}} |
||
Line 364: | Line 399: | ||
|- |
|- |
||
|[[Xen PCI Passthrough|PCI Passthrough]] |
|[[Xen PCI Passthrough|PCI Passthrough]] |
||
|{{Tick}} |
|||
|{{Tick}} |
|{{Tick}} |
||
|{{Tick}} |
|{{Tick}} |
||
Line 373: | Line 409: | ||
| |
| |
||
|{{Tick}} <sup>[ [[#Foot4|4]] ]</sup> |
|{{Tick}} <sup>[ [[#Foot4|4]] ]</sup> |
||
|{{Tick}} |
|||
|{{Tick}} |
|{{Tick}} |
||
|{{Tick}} |
|{{Tick}} |
||
Line 380: | Line 417: | ||
|- |
|- |
||
|Live Migration, Save & Restore |
|Live Migration, Save & Restore |
||
|{{Tick}} |
|||
|{{Tick}} |
|{{Tick}} |
||
|{{Tick}} |
|{{Tick}} |
||
Line 392: | Line 430: | ||
|{{Tick}} |
|{{Tick}} |
||
|{{Tick}} |
|{{Tick}} |
||
|{{Tick}} <small>improvements</small> |
|||
|- |
|- |
||
|vMCE<br/><small>Forward Machine Check Exceptions to Appropriate guests</small> |
|vMCE<br/><small>Forward Machine Check Exceptions to Appropriate guests</small> |
||
|? |
|? |
||
|? |
|? |
||
|{{Tick}} |
|||
|{{Tick}} |
|{{Tick}} |
||
|{{Tick}} |
|{{Tick}} |
||
Line 408: | Line 448: | ||
|{{Tick}} |
|{{Tick}} |
||
|{{Tick}} |
|{{Tick}} |
||
|{{Tick}} |
|||
|- |
|- |
||
|Online resize of virtual disks |
|Online resize of virtual disks |
||
|{{Tick}} |
|||
|{{Tick}} |
|{{Tick}} |
||
|{{Tick}} |
|{{Tick}} |
||
Line 419: | Line 462: | ||
|- |
|- |
||
|[[Driver_Domain|Driver Domains]] |
|[[Driver_Domain|Driver Domains]] |
||
|{{Tick}} |
|||
|{{Tick}} |
|{{Tick}} |
||
|{{Tick}} |
|{{Tick}} |
||
Line 426: | Line 470: | ||
|- |
|- |
||
|[[Device_Model_Stub_Domains|Device Model Stub Domains]] |
|[[Device_Model_Stub_Domains|Device Model Stub Domains]] |
||
|{{Tick}} |
|||
|{{Tick}} |
|{{Tick}} |
||
|{{Tick}} |
|{{Tick}} |
||
Line 438: | Line 483: | ||
|{{Tick}} |
|{{Tick}} |
||
|{{Tick}} |
|{{Tick}} |
||
|{{Tick}} <small>improvements</small> |
|||
|- |
|- |
||
|[[Xen Security Modules : XSM-FLASK|XSM & FLASK]]<br/><small>mandatory access control policy providing fine-grained controls over Xen domains, similar to SELinux</small> |
|[[Xen Security Modules : XSM-FLASK|XSM & FLASK]]<br/><small>mandatory access control policy providing fine-grained controls over Xen domains, similar to SELinux</small> |
||
|{{Tick}} |
|||
|{{Tick}} |
|{{Tick}} |
||
|{{Tick}} |
|{{Tick}} |
||
Line 450: | Line 497: | ||
| |
| |
||
| |
| |
||
|{{Tick}} |
|||
|{{Tick}} |
|{{Tick}} |
||
|{{Tick}} |
|{{Tick}} |
||
Line 458: | Line 506: | ||
|{{Tick}} |
|{{Tick}} |
||
|{{Tick}}<br/><small>updates and new functionality</small> |
|{{Tick}}<br/><small>updates and new functionality</small> |
||
|{{Tick}} |
|||
|{{Tick}} |
|{{Tick}} |
||
|- |
|- |
||
Line 463: | Line 512: | ||
|- |
|- |
||
|gdbsx<br/><small>debugger to debug ELF guests</small> |
|gdbsx<br/><small>debugger to debug ELF guests</small> |
||
|{{Tick}} |
|||
|{{Tick}} |
|{{Tick}} |
||
|{{Tick}} |
|{{Tick}} |
||
Line 470: | Line 520: | ||
|- |
|- |
||
|vPMU<br/><small>Virtual Performance Management Unit for HVM guests</small> |
|vPMU<br/><small>Virtual Performance Management Unit for HVM guests</small> |
||
|{{Tick}} <sup>[ [[#Foot4|4]] ]</sup> |
|||
|{{Tick}} <sup>[ [[#Foot4|4]] ]</sup> |
|{{Tick}} <sup>[ [[#Foot4|4]] ]</sup> |
||
|{{Tick}} <sup>[ [[#Foot4|4]] ]</sup> |
|{{Tick}} <sup>[ [[#Foot4|4]] ]</sup> |
||
Line 481: | Line 532: | ||
|{{Tick}} |
|{{Tick}} |
||
|{{Tick}}<small>Add EHCI debug support</small> |
|{{Tick}}<small>Add EHCI debug support</small> |
||
|{{Tick}} |
|||
|{{Tick}} |
|{{Tick}} |
||
|- |
|- |
||
|xentrace<br/><small>performance analysis</small> |
|xentrace<br/><small>performance analysis</small> |
||
|{{Tick}} |
|||
|{{Tick}} |
|{{Tick}} |
||
|{{Tick}} |
|{{Tick}} |
||
Line 495: | Line 548: | ||
|- |
|- |
||
|Traditional Device Model<br/><small>Device emulator based on Xen fork of Qemu</small> |
|Traditional Device Model<br/><small>Device emulator based on Xen fork of Qemu</small> |
||
|{{Tick}} |
|||
|{{Tick}} |
|{{Tick}} |
||
|{{Tick}} |
|{{Tick}} |
||
Line 507: | Line 561: | ||
|{{Tick}}<small>default, unless [[Device_Model_Stub_Domains|stubdomains]] are used</small> |
|{{Tick}}<small>default, unless [[Device_Model_Stub_Domains|stubdomains]] are used</small> |
||
|{{Tick}}<small>default, unless [[Device_Model_Stub_Domains|stubdomains]] are used</small> |
|{{Tick}}<small>default, unless [[Device_Model_Stub_Domains|stubdomains]] are used</small> |
||
|{{Tick}}<small>default, unless [[Device_Model_Stub_Domains|stubdomains]] are used?</small> |
|||
|- |
|- |
||
|ROMBIOS<br/><small>BIOS used with traditional device model only</small> |
|ROMBIOS<br/><small>BIOS used with traditional device model only</small> |
||
|{{Tick}} |
|||
|{{Tick}} |
|{{Tick}} |
||
|{{Tick}} |
|{{Tick}} |
||
Line 521: | Line 577: | ||
|{{Tick}} |
|{{Tick}} |
||
|{{Tick}} |
|{{Tick}} |
||
|{{Tick}} |
|||
|- |
|- |
||
|OVMF/Tianocore<br/><small>UEFI Firmware used with upstream qemu device model and [[XL]] only</small> |
|OVMF/Tianocore<br/><small>UEFI Firmware used with upstream qemu device model and [[XL]] only</small> |
||
Line 528: | Line 586: | ||
|{{Tick}}<small>experimental</small> <sup>[ [[#Foot4|4]] ]</sup> |
|{{Tick}}<small>experimental</small> <sup>[ [[#Foot4|4]] ]</sup> |
||
|{{Tick}}<small>experimental</small> <sup>[ [[#Foot4|4]] ]</sup> |
|{{Tick}}<small>experimental</small> <sup>[ [[#Foot4|4]] ]</sup> |
||
|{{Tick}}<small>experimental?</small> <sup>[ [[#Foot4|4]] ]</sup> |
|||
|- |
|- |
||
!colspan="7"|<big>PV Bootloader support</big> |
!colspan="7"|<big>PV Bootloader support</big> |
||
Line 534: | Line 593: | ||
|- |
|- |
||
|[[PyGrub]] support for GRUB 2 |
|[[PyGrub]] support for GRUB 2 |
||
|{{Tick}} |
|||
|{{Tick}} |
|{{Tick}} |
||
|{{Tick}} |
|{{Tick}} |
||
Line 541: | Line 601: | ||
|- |
|- |
||
|[[PyGrub]] support for /boot on ext4 |
|[[PyGrub]] support for /boot on ext4 |
||
|{{Tick}} |
|||
|{{Tick}} |
|{{Tick}} |
||
|{{Tick}} |
|{{Tick}} |
||
Line 550: | Line 611: | ||
| |
| |
||
| |
| |
||
|{{Tick}} |
|||
|{{Tick}} |
|{{Tick}} |
||
|{{Tick}} |
|{{Tick}} |
||
Line 566: | Line 628: | ||
<span id="Foot6"><sup>[ 6 ]</sup> See [[Xen ARM with Virtualization Extensions]]; basic functionality implemented; lack of real hardware to validate against<br/> |
<span id="Foot6"><sup>[ 6 ]</sup> See [[Xen ARM with Virtualization Extensions]]; basic functionality implemented; lack of real hardware to validate against<br/> |
||
<span id="Foot7"><sup>[ 7 ]</sup> preview, depending on test coverage in [[Xen Project Test Days]]<br/> |
<span id="Foot7"><sup>[ 7 ]</sup> preview, depending on test coverage in [[Xen Project Test Days]]<br/> |
||
<span id="Foot8"><sup>[ 8 ]</sup> tested on Broadcom 7445D0 A15, Midway (Calxeda), Odroid-XU, OMAP5, OMAP6, DRA7 (Texas Instrument), Exynos5 (Samsung), SunXI (AllWinner) aka A20/A21, CubieTruck, CubieBoard <br/> |
|||
<span id="Foot9"><sup>[ 9 ]</sup> tested on Vexpress (ARM Ltd.), Seattle (AMD), Mustang (Applied Micro-X-Gene), McDivitt aka HP Moonshot cartridge (Applied Micro X-Gene) |
|||
<br/> |
|||
[[Category:Xen]] [[Category:Users]] [[Category:Fundamentals]] |
[[Category:Xen]] [[Category:Users]] [[Category:Fundamentals]] |
Revision as of 19:42, 19 December 2014
Legend: ✓: Feature ✓: Partial
Xen 4.0 | Xen 4.1 | Xen 4.2 | Xen 4.3 | Xen 4.4 | Xen 4.5 | |
---|---|---|---|---|---|---|
Initial Release | 7 April 2010 | 25 March 2011 | 17 Sept 2012 | 9 July 2013 | 10 March 2014 | TBD |
Feature List | FL 4.2 | FL 4.3 | FL 4.4 | FL 4.5 | ||
Release Notes | RN 4.0 | RN 4.1 | RN 4.2 | RN 4.3 | RN 4.4 | RN 4.5 |
Supported Mainline Architectures for the hypervisor (Host) | ||||||
IA-A32 | ✓ | ✓ | ✓ | ✗removed | ||
X86-64 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Itanium (ia64) | ✓ | ✓deprecated in this release | ✓deprecated | ✗removed | ||
ARM v7 + Virtualization Extensions | ✓preview [ 6 ] | ✓ | ✓ [ 8 ] | |||
ARM v8 | ✓preview [ 6 ] | ✓ | ✓ [ 9 ] | |||
Guest Types | ||||||
For X86 Architectures | ||||||
Paravirtualised Traditional Xen Project PV guest |
✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
HVM Guest [ 1 ] Fully virtualised guest using hardware virtualisation extensions |
✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
PV-on-HVM Guest [ 1 ] Fully virtualised guest using PV extensions/drivers for improved performance |
✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
PVH Guest | ✓preview | ✓preview added PVH Dom0 | ||||
For ARM Architectures | ||||||
ARM Guest Optimal combination of full virtualization and PV extensions |
✓preview [ 6 ] | ✓ | ✓ | |||
Host Limits | ||||||
For X86 Architectures | ||||||
Physical CPUs | 128 [ 0 ] | >255 | 4095 | 4095 | 4095 | 4095? |
Physical RAM | 1TB | 5TB | 5TB | 16TB | 16TB | 16TB? |
For ARM Architectures | ||||||
Physical CPUs | 8 | 8 | 8? | |||
Physical RAM | 16GB | 16GB | 16GB? | |||
Guest Limits | ||||||
X86 PV Guest Limits | ||||||
Virtual CPUs | 128 | >255 | 512 | 512 | 512 | 512? |
Virtual RAM | 512GB | 512GB | 512GB | 512GB | 512GB | 512GB? |
X86 HVM Guest Limits | ||||||
Virtual CPUs | 128 | 128 | 256 | 256 | 256 | 256? |
Virtual RAM | 1TB | 1TB | 1TB | 1TB | 1TB | 1TB? |
ARM Guest Limits | ||||||
Virtual CPUs | 8 | 8 | 8? | |||
Virtual RAM | 16GB | 16GB | 16GB? | |||
Number of event channels | ||||||
Event Channels | 1024/4096 | 1024/4096 | 1024/4096 | 1024/4096 | 131072 | 131072 |
Toolstack | ||||||
Built-in | ||||||
xend / xm | ✓ | ✓ | ✓deprecated in this release | ✓deprecated | ✓deprecated | ✗removed |
XL | ✓initial implementation | ✓preview release | ✓ | ✓ | ✓ | ✓ |
Qemu based disk backend (qdisk) for XL |
✓ [ 5 ] | ✓ [ 5 ] | ✓ [ 5 ] | ✓ [ 5 ] | ✓ [ 5 ] | |
XL Open vSwitch integration | ✓preview [ 7 ] | ✓ | ✓ | |||
3rd Party | ||||||
libvirt driver for XL | ✓ | ✓ | ✓ | ✓ | ✓ | |
Features | ||||||
Advanced Memory Management | ||||||
Memory Ballooning | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Memory Sharing allow sharing of identical pages between HVM guests |
✓preview | ✓preview | ✓preview [ 3 ] | ✓preview [ 3 ] | ✓preview [ 3 ] | ✓preview [ 3 ] |
Memory Paging allow pages belonging to HVM guests to be paged to disk |
✓preview | ✓preview | ✓preview [ 3 ] | ✓preview [ 3 ] | ✓preview [ 3 ] | ✓preview [ 3 ] |
TMEM - Transcendent Memory | ✓experimental [ 2 ] | ✓experimental [ 2 ] | ✓experimental [ 2 ] | ✓experimental [ 2 ] | ✓experimental [ 2 ] | ✓experimental [ 2 ] |
Resource Management | ||||||
Cpupool advanced partitioning |
✓ | ✓ | ✓ | ✓ | ✓ | |
Credit 2 Scheduler designed for latency-sensitive workloads and very large systems. |
✓prototype | ✓prototype | ✓experimental | ✓experimental | ✓experimental? | |
NUMA scheduler affinity | ✓ | ✓ | ✓ | |||
Scalability | ||||||
1GB/2MB super page support | ✓ | ✓ | ✓ | ✓ | ✓ | |
Deliver events to PVHVM guests using Xen event channels | ✓ | ✓ | ✓ | ✓ | ✓ | |
Interoperability / Hardware Support | ||||||
Nested Virtualisation Running a hypervisor inside an HVM guest |
✓experimental | ✓experimental | ✓preview | ✓preview? | ||
HVM PXE Stack | gPXE | iPXE | iPXE | iPXE | iPXE | iPXE |
Physical CPU Hotplug | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Physical Memory Hotplug | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Support for PV kernels in bzImage format | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
PCI Passthrough | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
X86 Advanced Vector eXtension (AVX) | ✓ [ 4 ] | ✓ | ✓ | ✓ | ✓ | |
High Availability and Fault Tolerance | ||||||
Live Migration, Save & Restore | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Remus Fault Tolerance | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ improvements |
vMCE Forward Machine Check Exceptions to Appropriate guests |
? | ? | ✓ | ✓ | ✓ | ✓ |
Network and Storage | ||||||
Blktap2 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Online resize of virtual disks | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Security (also see this presentation or this document) | ||||||
Driver Domains | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Device Model Stub Domains | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Memaccess API enabling integration of 3rd party security solutions into Xen virtualized environments |
✓ | ✓ | ✓ | ✓ | ✓ improvements | |
XSM & FLASK mandatory access control policy providing fine-grained controls over Xen domains, similar to SELinux |
✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
XSM & FLASK support for IS_PRIV | ✓ | ✓ | ✓ | |||
vTPM Support |
✓ | ✓ | ✓ | ✓ updates and new functionality |
✓ | ✓ |
Tooling | ||||||
gdbsx debugger to debug ELF guests |
✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
vPMU Virtual Performance Management Unit for HVM guests |
✓ [ 4 ] | ✓ [ 4 ] | ✓ [ 4 ] | ✓ [ 4 ] | ✓ [ 4 ] | ✓ [ 4 ] |
Serial console | ✓ | ✓ | ✓ | ✓Add EHCI debug support | ✓ | ✓ |
xentrace performance analysis |
✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Device Models and Virtual Firmware for HVM guests | ||||||
For X86 Architectures | ||||||
Traditional Device Model Device emulator based on Xen fork of Qemu |
✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Qemu Upstream Device Model Device emulator based on upstream Qemu |
✓preview | ✓default, unless stubdomains are used | ✓default, unless stubdomains are used | ✓default, unless stubdomains are used? | ||
ROMBIOS BIOS used with traditional device model only |
✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
SeaBIOS BIOS used with upstream qemu device model and XL only |
✓ | ✓ | ✓ | ✓ | ||
OVMF/Tianocore UEFI Firmware used with upstream qemu device model and XL only |
✓experimental [ 4 ] | ✓experimental [ 4 ] | ✓experimental [ 4 ] | ✓experimental? [ 4 ] | ||
PV Bootloader support | ||||||
For X86 Architectures | ||||||
PyGrub support for GRUB 2 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
PyGrub support for /boot on ext4 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
pvnetboot support Bootloader supporting network boot of PV guests |
✓ | ✓ | ✓ | ✓ |
[ 0 ] Compile time limit, can be increased
[ 1 ] Requires hardware virtualisation support
[ 2 ] Disabled by default (enable with hypervisor command line option). Not supported in production and doesn't have full security support
[ 3 ] Preview, due to limited tools support. Hypervisor side in good shape
[ 4 ] Disabled by default (enable with hypervisor command line option)
[ 5 ] Used as a fallback if blkback and/or blktap2 are not available
[ 6 ] See Xen ARM with Virtualization Extensions; basic functionality implemented; lack of real hardware to validate against
[ 7 ] preview, depending on test coverage in Xen Project Test Days
[ 8 ] tested on Broadcom 7445D0 A15, Midway (Calxeda), Odroid-XU, OMAP5, OMAP6, DRA7 (Texas Instrument), Exynos5 (Samsung), SunXI (AllWinner) aka A20/A21, CubieTruck, CubieBoard
[ 9 ] tested on Vexpress (ARM Ltd.), Seattle (AMD), Mustang (Applied Micro-X-Gene), McDivitt aka HP Moonshot cartridge (Applied Micro X-Gene)