Xen Project Release Features: Difference between revisions
Lars.kurth (talk | contribs) (→Device Models and Virtual Firmware: Removed -4.3 into archive; added 4.9 (no data added yet); removed features that existed in the past) |
|||
(40 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
{{InfoLeft|Note that for Xen 4.10or newer this information is in the SUPPORT.md file in the source tree and tarball. A generated web-page for 4.10 or newer can be found [https://xenbits.xen.org/docs/unstable/support-matrix.html here].}} |
|||
{{InfoLeft|Note that we will add complete information related to Xen Project 4.9, in the week after the 4.9 release. Apologies, I have not been able to do this in time for the 4.9 release due to travel. I will do as much as I can, before the release, but it may not be fully complete.}} |
|||
__TOC__ |
__TOC__ |
||
''Legend:'' |
|||
''Legend:'' {{Tick}}: Feature {{HalfDone}}: Partial {{NotDone}}: Removed |
|||
* {{Tick}}: Feature |
|||
* {{HalfDone}}: Partial |
|||
* {{NotDone}}: Removed |
|||
* For definitions of experimental, preview, supported and deprecated see [[Xen Project Release Features/Definitions|here]] |
|||
== Xen 4.10 or Newer == |
|||
The matrix is generated with the relevant tree, aka |
|||
* [https://xenbits.xen.org/docs/unstable/support-matrix.html unstable/support-matrix.html] |
|||
* [https://xenbits.xen.org/docs/unstable-staging/support-matrix.html unstable-staging/support-matrix.html] |
|||
* Etc. |
|||
== Archive == |
== Archive == |
||
Line 25: | Line 35: | ||
|20 June 2016 |
|20 June 2016 |
||
|5 Dec 2016 |
|5 Dec 2016 |
||
|28 June 2017 |
|||
|- |
|- |
||
|[[Xen Project Maintenance Releases|Supported until]] |
|[[Xen Project Maintenance Releases|Supported until]] |
||
Line 30: | Line 41: | ||
|<span style="color: red">July 2016</span> |
|<span style="color: red">July 2016</span> |
||
|<span style="color: red">April 2017</span> |
|<span style="color: red">April 2017</span> |
||
|Dec 2017 |
|<span style="color: red">Dec 2017</span> |
||
|June 2018 |
|<span style="color: red">June 2018</span> |
||
|<span style="color: red">Jan 2019</span> |
|||
|- |
|- |
||
|[[Xen Project Maintenance Releases|Security support until]] |
|[[Xen Project Maintenance Releases|Security support until]] |
||
|<span style="color: red">March 2017</span> |
|<span style="color: red">March 2017</span> |
||
|Jan 2018 |
|<span style="color: red">Jan 2018</span> |
||
|Oct 2018 |
|<span style="color: red">Oct 2018</span> |
||
|June 2019 |
|<span style="color: red">June 2019</span> |
||
|Dec 2019 |
|<span style="color: red">Dec 2019</span> |
||
|<span style="color: red">July 2020</span> |
|||
|- |
|- |
||
|Feature List |
|Feature List |
||
Line 46: | Line 59: | ||
|[[Xen_Project_4.7_Feature_List|FL 4.7]] |
|[[Xen_Project_4.7_Feature_List|FL 4.7]] |
||
|[[Xen_Project_4.8_Feature_List|FL 4.8]] |
|[[Xen_Project_4.8_Feature_List|FL 4.8]] |
||
|[[Xen_Project_4.9_Feature_List|FL 4.9]] |
|||
|- |
|- |
||
|Release Notes |
|Release Notes |
||
Line 53: | Line 67: | ||
|[[Xen Project 4.7 Release Notes|RN 4.7]] |
|[[Xen Project 4.7 Release Notes|RN 4.7]] |
||
|[[Xen Project 4.8 Release Notes|RN 4.8]] |
|[[Xen Project 4.8 Release Notes|RN 4.8]] |
||
|[[Xen Project 4.9 Release Notes|RN 4.9]] |
|||
|- |
|- |
||
!colspan="10"|<big>Supported Mainline Architectures for the hypervisor (Host)</big> |
!colspan="10"|<big>Supported Mainline Architectures for the hypervisor (Host)</big> |
||
|- |
|- |
||
|[http://en.wikipedia.org/wiki/X86-64 X86-64] |
|[http://en.wikipedia.org/wiki/X86-64 X86-64] |
||
|{{Tick}} |
|||
|{{Tick}} |
|{{Tick}} |
||
|{{Tick}} |
|{{Tick}} |
||
Line 67: | Line 83: | ||
|{{Tick}} <sup>[ [[#Foot8|8]] ]</sup> |
|{{Tick}} <sup>[ [[#Foot8|8]] ]</sup> |
||
|{{Tick}} <sup>[ [[#Foot14|14]] ]</sup> |
|{{Tick}} <sup>[ [[#Foot14|14]] ]</sup> |
||
|{{Tick}} <sup>[ [[#Foot26|26]] ]</sup> |
|||
|{{Tick}} <sup>[ [[#Foot26|26]] ]</sup> |
|{{Tick}} <sup>[ [[#Foot26|26]] ]</sup> |
||
|{{Tick}} <sup>[ [[#Foot26|26]] ]</sup> |
|{{Tick}} <sup>[ [[#Foot26|26]] ]</sup> |
||
Line 73: | Line 90: | ||
|{{Tick}} |
|{{Tick}} |
||
|{{Tick}} <sup>[ [[#Foot8|8]] ]</sup> |
|{{Tick}} <sup>[ [[#Foot8|8]] ]</sup> |
||
|{{Tick}} <sup>[ [[#Foot15|15]] ]</sup> |
|||
|{{Tick}} <sup>[ [[#Foot15|15]] ]</sup> |
|{{Tick}} <sup>[ [[#Foot15|15]] ]</sup> |
||
|{{Tick}} <sup>[ [[#Foot15|15]] ]</sup> |
|{{Tick}} <sup>[ [[#Foot15|15]] ]</sup> |
||
Line 82: | Line 100: | ||
|- |
|- |
||
|Paravirtualised<br/><small>Traditional Xen Project ''PV'' guest</small> |
|Paravirtualised<br/><small>Traditional Xen Project ''PV'' guest</small> |
||
|{{Tick}} |
|||
|{{Tick}} |
|{{Tick}} |
||
|{{Tick}} |
|{{Tick}} |
||
Line 89: | Line 108: | ||
|- |
|- |
||
|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 96: | Line 116: | ||
|- |
|- |
||
|PV-on-HVM Guest <sup>[ [[#Foot1|1]] ]<br/><small>Fully virtualised guest using PV extensions/drivers for improved performance</small> |
|PV-on-HVM Guest <sup>[ [[#Foot1|1]] ]<br/><small>Fully virtualised guest using PV extensions/drivers for improved performance</small> |
||
|{{Tick}} |
|||
|{{Tick}} |
|{{Tick}} |
||
|{{Tick}} |
|{{Tick}} |
||
Line 107: | Line 128: | ||
|{{Tick}}<small>preview</small> |
|{{Tick}}<small>preview</small> |
||
|{{Tick}}<small>preview</small> |
|{{Tick}}<small>preview</small> |
||
|{{Tick}}<small>preview</small> |
|{{Tick}}<small>preview<br>started implementing PVHv2</small> |
||
|{{Tick}}<small>preview<br>removed PVHv1</small> |
|||
|- |
|- |
||
!colspan="10" style="background-color: #A9BCF5;"|For ARM Architectures |
!colspan="10" style="background-color: #A9BCF5;"|For ARM Architectures |
||
|- |
|- |
||
|ARM Guest<sup><br/><small>Optimal combination of full virtualization and PV extensions</small> |
|ARM Guest<sup><br/><small>Optimal combination of full virtualization and PV extensions</small> |
||
|{{Tick}} |
|||
|{{Tick}} |
|{{Tick}} |
||
|{{Tick}} |
|{{Tick}} |
||
Line 130: | Line 153: | ||
!style="width: 10%;"|Xen 4.7 |
!style="width: 10%;"|Xen 4.7 |
||
!style="width: 10%;"|Xen 4.8 |
!style="width: 10%;"|Xen 4.8 |
||
!style="width: 10%;"|Xen 4.9 |
!style="width: 10%;"|Xen 4.9 - 4.11 |
||
|- |
|- |
||
!colspan="10"|<big>Host Limits</big> |
!colspan="10"|<big>Host Limits</big> |
||
Line 137: | Line 160: | ||
|- |
|- |
||
|Physical CPUs |
|Physical CPUs |
||
|4095 |
|||
|4095 |
|4095 |
||
|4095 |
|4095 |
||
Line 144: | Line 168: | ||
|- |
|- |
||
|Physical RAM |
|Physical RAM |
||
|16TB |
|||
|16TB |
|16TB |
||
|16TB |
|16TB |
||
Line 155: | Line 180: | ||
|8 |
|8 |
||
|8 |
|8 |
||
|8 for 32bit; 128 for 64bit |
|||
|8 for 32bit; 128 for 64bit |
|8 for 32bit; 128 for 64bit |
||
|8 for 32bit; 128 for 64bit |
|8 for 32bit; 128 for 64bit |
||
Line 161: | Line 187: | ||
|Physical RAM |
|Physical RAM |
||
|16GB |
|16GB |
||
|16GB for 32bit, 5TB for 64bit |
|||
|16GB for 32bit, 5TB for 64bit |
|16GB for 32bit, 5TB for 64bit |
||
|16GB for 32bit, 5TB for 64bit |
|16GB for 32bit, 5TB for 64bit |
||
Line 171: | Line 198: | ||
|- |
|- |
||
|Virtual CPUs |
|Virtual CPUs |
||
|512 |
|||
|512 |
|512 |
||
|512 |
|512 |
||
Line 181: | Line 209: | ||
|512GB |
|512GB |
||
|512GB |
|512GB |
||
|> 1TB |
|||
|> 1TB |
|> 1TB |
||
|> 1TB |
|> 1TB |
||
Line 187: | Line 216: | ||
|- |
|- |
||
|Virtual CPUs |
|Virtual CPUs |
||
|128 |
|||
|128 |
|128 |
||
|128 |
|128 |
||
Line 194: | Line 224: | ||
|- |
|- |
||
|Virtual RAM |
|Virtual RAM |
||
|1TB |
|||
|1TB |
|1TB |
||
|1TB |
|1TB |
||
Line 205: | Line 236: | ||
|8 |
|8 |
||
|8 |
|8 |
||
|8 for 32bit; 128 for 64bit |
|||
|8 for 32bit; 128 for 64bit |
|8 for 32bit; 128 for 64bit |
||
|8 for 32bit; 128 for 64bit |
|8 for 32bit; 128 for 64bit |
||
Line 211: | Line 243: | ||
|Virtual RAM |
|Virtual RAM |
||
|16GB |
|16GB |
||
|1TB <sup>[ [[#Foot7|7]] ]</sup> |
|||
|1TB <sup>[ [[#Foot7|7]] ]</sup> |
|1TB <sup>[ [[#Foot7|7]] ]</sup> |
||
|1TB <sup>[ [[#Foot7|7]] ]</sup> |
|1TB <sup>[ [[#Foot7|7]] ]</sup> |
||
Line 219: | Line 252: | ||
|- |
|- |
||
|Event Channels |
|Event Channels |
||
|131072 |
|||
|131072 |
|131072 |
||
|131072 |
|131072 |
||
Line 249: | Line 283: | ||
|- |
|- |
||
|[[XL]] |
|[[XL]] |
||
|{{Tick}} |
|||
|{{Tick}} |
|{{Tick}} |
||
|{{Tick}} |
|{{Tick}} |
||
Line 256: | Line 291: | ||
|- |
|- |
||
|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 263: | Line 299: | ||
|- |
|- |
||
|[[XL]] [http://openvswitch.org/ Open vSwitch] integration |
|[[XL]] [http://openvswitch.org/ Open vSwitch] integration |
||
|{{Tick}} |
|||
|{{Tick}} |
|{{Tick}} |
||
|{{Tick}} |
|{{Tick}} |
||
Line 271: | Line 308: | ||
|[http://en.wikipedia.org/wiki/Systemd systemd] support |
|[http://en.wikipedia.org/wiki/Systemd systemd] support |
||
| |
| |
||
|{{Tick}} |
|||
|{{Tick}} |
|{{Tick}} |
||
|{{Tick}} |
|{{Tick}} |
||
Line 278: | Line 316: | ||
|JSON support |
|JSON support |
||
| |
| |
||
|{{HalfDone}}<small>infrastructure only, no tools support</small> |
|||
|{{HalfDone}}<small>infrastructure only, no tools support</small> |
|{{HalfDone}}<small>infrastructure only, no tools support</small> |
||
|{{HalfDone}}<small>infrastructure only, no tools support</small> |
|{{HalfDone}}<small>infrastructure only, no tools support</small> |
||
Line 286: | Line 325: | ||
| |
| |
||
| |
| |
||
| {{Tick}} |
|||
| {{Tick}} |
| {{Tick}} |
||
| {{Tick}} |
| {{Tick}} |
||
Line 294: | Line 334: | ||
| |
| |
||
| |
| |
||
| {{Tick}} |
|||
| {{Tick}} |
| {{Tick}} |
||
| {{Tick}} |
| {{Tick}} |
||
Line 302: | Line 343: | ||
| |
| |
||
| |
| |
||
| {{Tick}} |
|||
| {{Tick}} |
| {{Tick}} |
||
|- |
|- |
||
Line 308: | Line 350: | ||
| |
| |
||
| |
| |
||
| {{Tick}} |
|||
| {{Tick}} |
| {{Tick}} |
||
| {{Tick}} |
| {{Tick}} |
||
Line 315: | Line 358: | ||
| |
| |
||
| |
| |
||
| {{Tick}} |
|||
| {{Tick}} |
| {{Tick}} |
||
| {{Tick}} |
| {{Tick}} |
||
Line 321: | Line 365: | ||
|- |
|- |
||
|[http://libvirt.org libvirt] driver for [[XL]] |
|[http://libvirt.org libvirt] driver for [[XL]] |
||
|{{Tick}} |
|{{Tick}}<sup>[ [[#Foot29|29]] ]</sup> |
||
|{{Tick}} |
|{{Tick}}<sup>[ [[#Foot29|29]] ]</sup> |
||
|{{Tick}}<sup>[ [[#Foot16|16]] ]</sup> |
|{{Tick}}<sup>[ [[#Foot16|16]] ] [ [[#Foot29|29]] ]</sup> |
||
|{{Tick}}<sup>[ [[#Foot16|16]] ]</sup> |
|{{Tick}}<sup>[ [[#Foot16|16]] ] [ [[#Foot29|29]] ]</sup> |
||
|{{Tick}}<sup>[ [[#Foot16|16]] ]</sup> |
|{{Tick}}<sup>[ [[#Foot16|16]] ] [ [[#Foot29|29]] ]</sup> |
||
|{{Tick}}<sup>[ [[#Foot16|16]] ] [ [[#Foot29|29]] ]</sup> |
|||
|- |
|- |
||
!colspan="10" style="background-color: #A9BCF5;"|Tooling |
!colspan="10" style="background-color: #A9BCF5;"|Tooling |
||
Line 331: | Line 376: | ||
|gdbsx<br/><small>debugger to debug ELF guests</small> |
|gdbsx<br/><small>debugger to debug ELF guests</small> |
||
|{{Tick}} |
|{{Tick}} |
||
|{{Tick}}<sup>[ [[#Foot12|12]] ]</sup> |
|||
|{{Tick}}<sup>[ [[#Foot12|12]] ]</sup> |
|{{Tick}}<sup>[ [[#Foot12|12]] ]</sup> |
||
|{{Tick}}<sup>[ [[#Foot12|12]] ]</sup> |
|{{Tick}}<sup>[ [[#Foot12|12]] ]</sup> |
||
Line 338: | Line 384: | ||
|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><sup>[ [[#Foot12|12]] ]</sup> |
|||
|{{Tick}} <sup>[ [[#Foot4|4]] ]</sup><sup>[ [[#Foot12|12]] ]</sup> |
|{{Tick}} <sup>[ [[#Foot4|4]] ]</sup><sup>[ [[#Foot12|12]] ]</sup> |
||
|{{Tick}} <sup>[ [[#Foot4|4]] ]</sup><sup>[ [[#Foot12|12]] ]</sup> |
|{{Tick}} <sup>[ [[#Foot4|4]] ]</sup><sup>[ [[#Foot12|12]] ]</sup> |
||
Line 346: | Line 393: | ||
|{{Tick}} |
|{{Tick}} |
||
|{{Tick}}<small>Add Oxford PCIe, and Broadcom TrueManage support</small> |
|{{Tick}}<small>Add Oxford PCIe, and Broadcom TrueManage support</small> |
||
|{{Tick}} |
|||
|{{Tick}} |
|{{Tick}} |
||
|{{Tick}} |
|{{Tick}} |
||
Line 354: | Line 402: | ||
|{{Tick}}<sup>[ [[#Foot12|12]] ]</sup> |
|{{Tick}}<sup>[ [[#Foot12|12]] ]</sup> |
||
|{{Tick}}<small>Added Xenalyze</small> |
|{{Tick}}<small>Added Xenalyze</small> |
||
|{{Tick}} |
|||
|{{Tick}} |
|{{Tick}} |
||
|{{Tick}} |
|{{Tick}} |
||
Line 374: | Line 423: | ||
|- |
|- |
||
|Memory Ballooning |
|Memory Ballooning |
||
|{{Tick}} |
|||
|{{Tick}} |
|{{Tick}} |
||
|{{Tick}} |
|{{Tick}} |
||
Line 382: | Line 432: | ||
|Memory Sharing<br/><small>allow sharing of identical pages between HVM guests</small> |
|Memory Sharing<br/><small>allow sharing of identical pages between HVM guests</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><sup>[ [[#Foot12|12]] ]</sup> |
|||
|{{HalfDone}}<small>preview</small> <sup>[ [[#Foot3|3]] ]</sup><sup>[ [[#Foot12|12]] ]</sup> |
|{{HalfDone}}<small>preview</small> <sup>[ [[#Foot3|3]] ]</sup><sup>[ [[#Foot12|12]] ]</sup> |
||
|{{HalfDone}}<small>preview</small> <sup>[ [[#Foot3|3]] ]</sup><sup>[ [[#Foot12|12]] ]</sup> |
|{{HalfDone}}<small>preview</small> <sup>[ [[#Foot3|3]] ]</sup><sup>[ [[#Foot12|12]] ]</sup> |
||
Line 389: | Line 440: | ||
|Memory Paging<br/><small>allow pages belonging to HVM guests to be paged to disk</small> |
|Memory Paging<br/><small>allow pages belonging to HVM guests to be paged to disk</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><sup>[ [[#Foot12|12]] ]</sup> |
|||
|{{HalfDone}}<small>preview</small> <sup>[ [[#Foot3|3]] ]</sup><sup>[ [[#Foot12|12]] ]</sup> |
|{{HalfDone}}<small>preview</small> <sup>[ [[#Foot3|3]] ]</sup><sup>[ [[#Foot12|12]] ]</sup> |
||
|{{HalfDone}}<small>preview</small> <sup>[ [[#Foot3|3]] ]</sup><sup>[ [[#Foot12|12]] ]</sup> |
|{{HalfDone}}<small>preview</small> <sup>[ [[#Foot3|3]] ]</sup><sup>[ [[#Foot12|12]] ]</sup> |
||
Line 396: | Line 448: | ||
|[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><sup>[ [[#Foot12|12]] ]</sup> |
|||
|{{HalfDone}}<small>experimental</small> <sup>[ [[#Foot2|2]] ]</sup><sup>[ [[#Foot12|12]] ]</sup> |
|{{HalfDone}}<small>experimental</small> <sup>[ [[#Foot2|2]] ]</sup><sup>[ [[#Foot12|12]] ]</sup> |
||
|{{HalfDone}}<small>experimental</small> <sup>[ [[#Foot2|2]] ]</sup><sup>[ [[#Foot12|12]] ]</sup> |
|{{HalfDone}}<small>experimental</small> <sup>[ [[#Foot2|2]] ]</sup><sup>[ [[#Foot12|12]] ]</sup> |
||
Line 404: | Line 457: | ||
|- |
|- |
||
|[[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}} |
|{{Tick}} |
||
Line 415: | Line 469: | ||
|{{HalfDone}}<small>experimental</small> |
|{{HalfDone}}<small>experimental</small> |
||
|{{HalfDone}}<small>experimental (significant additions)</small> |
|{{HalfDone}}<small>experimental (significant additions)</small> |
||
|{{Tick}} |
|||
|{{Tick}} |
|{{Tick}} |
||
|- |
|- |
||
Line 422: | Line 477: | ||
|{{HalfDone}}<small>experimental</small> |
|{{HalfDone}}<small>experimental</small> |
||
|{{HalfDone}}<small>experimental (significant additions)</small> |
|{{HalfDone}}<small>experimental (significant additions)</small> |
||
|{{HalfDone}}<small>experimental</small> |
|||
|{{HalfDone}}<small>experimental</small> |
|{{HalfDone}}<small>experimental</small> |
||
|- |
|||
|Null Scheduler<br/><small>Scheduler for embedded workloads where 0-scheduling overhead is required</small> |
|||
| |
|||
| |
|||
| |
|||
| |
|||
| |
|||
|{{Tick}}<small>preview</small> <sup>[ [[#Foot28|28]] ]</sup> |
|||
|- |
|- |
||
|[[Xen_Numa_Scheduling_and_Placement|NUMA scheduler affinity]] |
|[[Xen_Numa_Scheduling_and_Placement|NUMA scheduler affinity]] |
||
|{{Tick}} |
|{{Tick}} |
||
|{{Tick}} <sup>[ [[#Foot12|12]] ]</sup> |
|||
|{{Tick}} <sup>[ [[#Foot12|12]] ]</sup> |
|{{Tick}} <sup>[ [[#Foot12|12]] ]</sup> |
||
|{{Tick}} <sup>[ [[#Foot12|12]] ]</sup> |
|{{Tick}} <sup>[ [[#Foot12|12]] ]</sup> |
||
Line 434: | Line 499: | ||
|- |
|- |
||
|1GB/2MB super page support |
|1GB/2MB super page support |
||
|{{Tick}} |
|||
|{{Tick}} |
|{{Tick}} |
||
|{{Tick}} |
|{{Tick}} |
||
Line 441: | Line 507: | ||
|- |
|- |
||
|Deliver events to PVHVM guests using Xen event channels |
|Deliver events to PVHVM guests using Xen event channels |
||
|{{Tick}} |
|||
|{{Tick}} |
|{{Tick}} |
||
|{{Tick}} |
|{{Tick}} |
||
Line 450: | Line 517: | ||
| |
| |
||
| |
| |
||
|{{Tick}} |
|||
|{{Tick}} |
|{{Tick}} |
||
|{{Tick}} |
|{{Tick}} |
||
Line 460: | Line 528: | ||
|{{Tick}} <sup>[ [[#Foot12|12]] ]</sup> |
|{{Tick}} <sup>[ [[#Foot12|12]] ]</sup> |
||
|{{Tick}} <sup>[ [[#Foot18|18]] ]</sup> <small>Migration v2</small> |
|{{Tick}} <sup>[ [[#Foot18|18]] ]</sup> <small>Migration v2</small> |
||
|{{Tick}} <sup>[ [[#Foot23|23]] ]</sup> |
|||
|{{Tick}} <sup>[ [[#Foot23|23]] ]</sup> |
|{{Tick}} <sup>[ [[#Foot23|23]] ]</sup> |
||
|{{Tick}} <sup>[ [[#Foot23|23]] ]</sup> |
|{{Tick}} <sup>[ [[#Foot23|23]] ]</sup> |
||
Line 467: | Line 536: | ||
|{{Tick}} <small>improvements <br/>for [[COLO_-_Coarse_Grain_Lock_Stepping|COLO]]</small> <sup>[ [[#Foot10|10]] ]</sup><sup>[ [[#Foot12|12]] ]</sup> |
|{{Tick}} <small>improvements <br/>for [[COLO_-_Coarse_Grain_Lock_Stepping|COLO]]</small> <sup>[ [[#Foot10|10]] ]</sup><sup>[ [[#Foot12|12]] ]</sup> |
||
|{{Tick}} <small>Remus ported to Migration v2</small> |
|{{Tick}} <small>Remus ported to Migration v2</small> |
||
|{{Tick}} |
|||
|{{Tick}} |
|{{Tick}} |
||
|{{Tick}} |
|{{Tick}} |
||
Line 474: | Line 544: | ||
| |
| |
||
| |
| |
||
|{{HalfDone}} <small>experimental</small> <sup>[ [[#Foot24|24]] ]</sup> |
|||
|{{HalfDone}} <small>experimental</small> <sup>[ [[#Foot24|24]] ]</sup> |
|{{HalfDone}} <small>experimental</small> <sup>[ [[#Foot24|24]] ]</sup> |
||
|{{HalfDone}} <small>experimental</small> <sup>[ [[#Foot24|24]] ]</sup> |
|{{HalfDone}} <small>experimental</small> <sup>[ [[#Foot24|24]] ]</sup> |
||
|- |
|- |
||
|X86 vMCE<br/><small>Forward Machine Check Exceptions to Appropriate guests</small> |
|X86 vMCE<br/><small>Forward Machine Check Exceptions to Appropriate guests</small> |
||
|{{Tick}} |
|||
|{{Tick}} |
|{{Tick}} |
||
|{{Tick}} |
|{{Tick}} |
||
Line 486: | Line 558: | ||
!colspan="10" style="background-color: #A9BCF5;"|Network and Storage |
!colspan="10" style="background-color: #A9BCF5;"|Network and Storage |
||
|- |
|- |
||
|{{Tick}} |
|||
|{{Tick}} |
|{{Tick}} |
||
|{{Tick}} |
|{{Tick}} |
||
Line 494: | Line 567: | ||
|- |
|- |
||
|Online resize of virtual disks |
|Online resize of virtual disks |
||
|{{Tick}} |
|||
|{{Tick}} |
|{{Tick}} |
||
|{{Tick}} |
|{{Tick}} |
||
Line 503: | Line 577: | ||
|- |
|- |
||
|[[Driver_Domain|Driver Domains]] |
|[[Driver_Domain|Driver Domains]] |
||
|{{Tick}} |
|||
|{{Tick}} |
|{{Tick}} |
||
|{{Tick}} |
|{{Tick}} |
||
Line 512: | Line 587: | ||
|{{Tick}} |
|{{Tick}} |
||
|{{Tick}}<sup>[ [[#Foot12|12]] ]</sup> |
|{{Tick}}<sup>[ [[#Foot12|12]] ]</sup> |
||
|{{Tick}}<sup>[ [[#Foot12|12]] ]</sup><sup>[ [[#Foot17|17]] ]</sup> |
|||
|{{Tick}}<sup>[ [[#Foot12|12]] ]</sup><sup>[ [[#Foot17|17]] ]</sup> |
|{{Tick}}<sup>[ [[#Foot12|12]] ]</sup><sup>[ [[#Foot17|17]] ]</sup> |
||
|{{Tick}}<sup>[ [[#Foot12|12]] ]</sup><sup>[ [[#Foot17|17]] ]</sup> |
|{{Tick}}<sup>[ [[#Foot12|12]] ]</sup><sup>[ [[#Foot17|17]] ]</sup> |
||
Line 521: | Line 597: | ||
| |
| |
||
|{{HalfDone}} <small>experimental</small> |
|{{HalfDone}} <small>experimental</small> |
||
|{{Tick}} <small>experimental</small> |
|||
|{{Tick}} <small>experimental</small> |
|{{Tick}} <small>experimental</small> |
||
|- |
|- |
||
Line 529: | Line 606: | ||
|{{HalfDone}} <small>preview</small> <sup>[ [[#Foot22|22]] ]</sup> |
|{{HalfDone}} <small>preview</small> <sup>[ [[#Foot22|22]] ]</sup> |
||
|{{Tick}} <small>preview (added ARM support)</small> |
|{{Tick}} <small>preview (added ARM support)</small> |
||
|{{Tick}} <sup>[ [[#Foot27|27]] ], ARM support still in preview</sup> |
|||
|- |
|- |
||
|[[Virtual Machine Introspection]] (Memaccess and VM Event APIs)<br/><small>enabling integration of 3rd party security solutions into Xen virtualized environments</small> |
|[[Virtual Machine Introspection]] (Memaccess and VM Event APIs)<br/><small>enabling integration of 3rd party security solutions into Xen virtualized environments</small> |
||
Line 535: | Line 613: | ||
|{{Tick}} <sup>[ [[#Foot19|19]] ]</sup> <small>reworked with ARM support, added VM Event APIs</small> |
|{{Tick}} <sup>[ [[#Foot19|19]] ]</sup> <small>reworked with ARM support, added VM Event APIs</small> |
||
|{{Tick}} <small>improvements</small> |
|{{Tick}} <small>improvements</small> |
||
|{{Tick}} |
|||
|{{Tick}} |
|{{Tick}} |
||
|- |
|- |
||
Line 540: | Line 619: | ||
|{{Tick}} |
|{{Tick}} |
||
|{{Tick}} |
|{{Tick}} |
||
|{{Tick}} <sup>[ [[#Foot17|17]] ]</sup> |
|||
|{{Tick}} <sup>[ [[#Foot17|17]] ]</sup> |
|{{Tick}} <sup>[ [[#Foot17|17]] ]</sup> |
||
|{{Tick}} <sup>[ [[#Foot17|17]] ]</sup> |
|{{Tick}} <sup>[ [[#Foot17|17]] ]</sup> |
||
Line 547: | Line 627: | ||
|{{Tick}} |
|{{Tick}} |
||
|{{Tick}} |
|{{Tick}} |
||
|{{Tick}} <sup>[ [[#Foot17|17]] ]</sup> |
|||
|{{Tick}} <sup>[ [[#Foot17|17]] ]</sup> |
|{{Tick}} <sup>[ [[#Foot17|17]] ]</sup> |
||
|{{Tick}} <sup>[ [[#Foot17|17]] ]</sup> |
|{{Tick}} <sup>[ [[#Foot17|17]] ]</sup> |
||
Line 555: | Line 636: | ||
|{{Tick}} |
|{{Tick}} |
||
|{{Tick}} <small> vTPM 2.0</small> |
|{{Tick}} <small> vTPM 2.0</small> |
||
|{{Tick}} |
|||
|{{Tick}} |
|{{Tick}} |
||
|{{Tick}} |
|{{Tick}} |
||
Line 580: | Line 662: | ||
|{{HalfDone}}<small>preview</small> <sup>[ [[#Foot11|11]] ]</sup> |
|{{HalfDone}}<small>preview</small> <sup>[ [[#Foot11|11]] ]</sup> |
||
|{{HalfDone}}<small>preview</small> <sup>[ [[#Foot11|11]] ]</sup> |
|{{HalfDone}}<small>preview</small> <sup>[ [[#Foot11|11]] ]</sup> |
||
|{{HalfDone}}<small>preview, fixes</small> <sup>[ [[#Foot11|11]] ]</sup> |
|||
|- |
|- |
||
|HVM PXE Stack (x86) |
|HVM PXE Stack (x86) |
||
|gPXE |
|gPXE |
||
|[http://ipxe.org iPXE] |
|||
|[http://ipxe.org iPXE] |
|[http://ipxe.org iPXE] |
||
|[http://ipxe.org iPXE] |
|[http://ipxe.org iPXE] |
||
Line 590: | Line 674: | ||
|Physical CPU Hotplug |
|Physical CPU Hotplug |
||
|{{Tick}} |
|{{Tick}} |
||
|{{Tick}}<sup>[ [[#Foot12|12]] ]</sup> |
|||
|{{Tick}}<sup>[ [[#Foot12|12]] ]</sup> |
|{{Tick}}<sup>[ [[#Foot12|12]] ]</sup> |
||
|{{Tick}}<sup>[ [[#Foot12|12]] ]</sup> |
|{{Tick}}<sup>[ [[#Foot12|12]] ]</sup> |
||
Line 597: | Line 682: | ||
|Physical Memory Hotplug |
|Physical Memory Hotplug |
||
|{{Tick}} |
|{{Tick}} |
||
|{{Tick}}<sup>[ [[#Foot12|12]] ]</sup> |
|||
|{{Tick}}<sup>[ [[#Foot12|12]] ]</sup> |
|{{Tick}}<sup>[ [[#Foot12|12]] ]</sup> |
||
|{{Tick}}<sup>[ [[#Foot12|12]] ]</sup> |
|{{Tick}}<sup>[ [[#Foot12|12]] ]</sup> |
||
Line 604: | Line 690: | ||
|Support for PV kernels in bzImage format |
|Support for PV kernels in bzImage format |
||
|{{Tick}} |
|{{Tick}} |
||
|{{Tick}}<sup>[ [[#Foot12|12]] ]</sup> |
|||
|{{Tick}}<sup>[ [[#Foot12|12]] ]</sup> |
|{{Tick}}<sup>[ [[#Foot12|12]] ]</sup> |
||
|{{Tick}}<sup>[ [[#Foot12|12]] ]</sup> |
|{{Tick}}<sup>[ [[#Foot12|12]] ]</sup> |
||
Line 612: | Line 699: | ||
|{{Tick}} <sup>[ [[#Foot12|12]] ]</sup> |
|{{Tick}} <sup>[ [[#Foot12|12]] ]</sup> |
||
|{{Tick}} <sup>[ [[#Foot12|12]] ]</sup><sup>[ [[#Foot13|13]] ]</sup> |
|{{Tick}} <sup>[ [[#Foot12|12]] ]</sup><sup>[ [[#Foot13|13]] ]</sup> |
||
|{{Tick}} <sup>[ [[#Foot12|12]] ]</sup> |
|||
|{{Tick}} <sup>[ [[#Foot12|12]] ]</sup> |
|{{Tick}} <sup>[ [[#Foot12|12]] ]</sup> |
||
|{{Tick}} <sup>[ [[#Foot12|12]] ]</sup> |
|{{Tick}} <sup>[ [[#Foot12|12]] ]</sup> |
||
Line 622: | Line 710: | ||
|{{Tick}} |
|{{Tick}} |
||
|{{Tick}} <small>AVX-512</small> |
|{{Tick}} <small>AVX-512</small> |
||
|{{Tick}} |
|||
|- |
|- |
||
|[[Intel Platform QoS Technologies]] |
|[[Intel Platform QoS Technologies]] |
||
Line 628: | Line 717: | ||
|{{HalfDone}} <small>preview: CAT, MBM</small> |
|{{HalfDone}} <small>preview: CAT, MBM</small> |
||
|{{HalfDone}} <small>preview: CDP</small> |
|{{HalfDone}} <small>preview: CDP</small> |
||
|{{Tick}} <small>preview: CDP</small> |
|||
|{{Tick}} <small>preview: CDP</small> |
|{{Tick}} <small>preview: CDP</small> |
||
|- |
|- |
||
Line 634: | Line 724: | ||
| |
| |
||
| |
| |
||
|{{Tick}} <sup>[ [[#Foot25|25]] ]</sup> |
|||
|{{Tick}} <sup>[ [[#Foot25|25]] ]</sup> |
|{{Tick}} <sup>[ [[#Foot25|25]] ]</sup> |
||
|{{Tick}} <sup>[ [[#Foot25|25]] ]</sup> |
|{{Tick}} <sup>[ [[#Foot25|25]] ]</sup> |
||
Line 642: | Line 733: | ||
| |
| |
||
| |
| |
||
|{{Tick}} |
|||
|{{Tick}} |
|{{Tick}} |
||
|{{Tick}} |
|{{Tick}} |
||
Line 651: | Line 743: | ||
| |
| |
||
|{{HalfDone}} <small>experimental; ACPI 6.0+</small> |
|{{HalfDone}} <small>experimental; ACPI 6.0+</small> |
||
|{{Tick}} <small>experimental</small> |
|||
|{{Tick}} <small>experimental</small> |
|{{Tick}} <small>experimental</small> |
||
|- |
|- |
||
Line 659: | Line 752: | ||
| |
| |
||
|{{Tick}} <small>with UEFI</small> |
|{{Tick}} <small>with UEFI</small> |
||
|{{Tick}} <small>with UEFI</small> |
|||
|- |
|- |
||
| PCSI Compatibility |
| PCSI Compatibility |
||
Line 666: | Line 759: | ||
|{{Tick}} |
|{{Tick}} |
||
|{{Tick}} <small>v1.0</small> |
|{{Tick}} <small>v1.0</small> |
||
|{{Tick}} <small>v1.0</small> |
|||
|{{Tick}} <small>v1.0</small> |
|{{Tick}} <small>v1.0</small> |
||
|- |
|- |
||
Line 673: | Line 767: | ||
|{{Tick}} <small>GiC v2m/GiC v3</small> |
|{{Tick}} <small>GiC v2m/GiC v3</small> |
||
|{{Tick}} <small>improvements to v2/v3</small> |
|{{Tick}} <small>improvements to v2/v3</small> |
||
|{{Tick}} |
|||
|{{Tick}} |
|{{Tick}} |
||
|- |
|- |
||
Line 679: | Line 774: | ||
| |
| |
||
| |
| |
||
|{{Tick}} |
|||
|{{Tick}} |
|{{Tick}} |
||
|{{Tick}} |
|{{Tick}} |
||
Line 702: | Line 798: | ||
|- |
|- |
||
|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 714: | Line 811: | ||
|{{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> |
|||
|- |
|||
|DMOP (Device Model Operation Hypercall) |
|||
| |
|||
| |
|||
| |
|||
| |
|||
| |
|||
|{{Tick}}<sup>[ [[#Foot28|28]] ]</sup> |
|||
|- |
|- |
||
|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 723: | Line 830: | ||
|- |
|- |
||
|SeaBIOS<br/><small>BIOS used with upstream qemu device model and [[XL]] only</small> |
|SeaBIOS<br/><small>BIOS used with upstream qemu device model and [[XL]] only</small> |
||
|{{Tick}} |
|||
|{{Tick}} |
|{{Tick}} |
||
|{{Tick}} |
|{{Tick}} |
||
Line 732: | Line 840: | ||
|{{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]] ] + ARM support</sup> |
|||
|{{Tick}}<small>experimental</small> <sup>[ [[#Foot4|4]] ] + ARM support</sup> |
|{{Tick}}<small>experimental</small> <sup>[ [[#Foot4|4]] ] + ARM support</sup> |
||
|{{Tick}}<small>experimental</small> <sup>[ [[#Foot4|4]] ] + ARM support</sup> |
|{{Tick}}<small>experimental</small> <sup>[ [[#Foot4|4]] ] + ARM support</sup> |
||
Line 741: | Line 850: | ||
|- |
|- |
||
|[[PyGrub]] support for GRUB 2 |
|[[PyGrub]] support for GRUB 2 |
||
|{{Tick}} |
|||
|{{Tick}} |
|{{Tick}} |
||
|{{Tick}} |
|{{Tick}} |
||
Line 748: | Line 858: | ||
|- |
|- |
||
|[[PyGrub]] support for /boot on ext4 |
|[[PyGrub]] support for /boot on ext4 |
||
|{{Tick}} |
|||
|{{Tick}} |
|{{Tick}} |
||
|{{Tick}} |
|{{Tick}} |
||
Line 755: | Line 866: | ||
|- |
|- |
||
|[[Xenpvnetboot : A network bootloader for Xen PV guest|pvnetboot]] support<br/><small>Bootloader supporting network boot of PV guests</small> |
|[[Xenpvnetboot : A network bootloader for Xen PV guest|pvnetboot]] support<br/><small>Bootloader supporting network boot of PV guests</small> |
||
|{{Tick}} |
|||
|{{Tick}} |
|{{Tick}} |
||
|{{Tick}} |
|{{Tick}} |
||
Line 761: | Line 873: | ||
|{{Tick}} |
|{{Tick}} |
||
|- |
|- |
||
|} |
|||
<br> |
|||
== PV Protocols and Drivers == |
|||
{|class="prettytable" style="text-align: left; width: 100%" valign="top" |
|||
!style="width: 40%;"| |
|||
!style="width: 10%;"|Xen 4.4 |
|||
!style="width: 10%;"|Xen 4.5 |
|||
!style="width: 10%;"|Xen 4.6 |
|||
!style="width: 10%;"|Xen 4.7 |
|||
!style="width: 10%;"|Xen 4.8 |
|||
!style="width: 10%;"|Xen 4.9 |
|||
|- |
|||
|Common<br/><small>net, block, console, keyboard=kbd, mouse framebuffer=fb</small> |
|||
|{{Tick}} |
|||
|{{Tick}} |
|||
|{{Tick}} |
|||
|{{Tick}} |
|||
|{{Tick}} |
|||
|{{Tick}} <sup>[ [[#Foot28|28]] ]</sup> |
|||
|- |
|||
|USB |
|||
| |
|||
| |
|||
| |
|||
|{{Tick}} |
|||
|{{Tick}} |
|||
|{{Tick}} <sup>[ [[#Foot28|28]] ]</sup> |
|||
|- |
|||
|pvcalls<br/><small>POSIX function call forwarding</small> |
|||
| |
|||
| |
|||
| |
|||
| |
|||
| |
|||
|{{Tick}} <sup>preview [ [[#Foot28|28]] ]</sup> |
|||
|- |
|||
|9pfs<br/><small>share a filesystem between VMs (a requirement for adding Xen support to many container engines)</small> |
|||
| |
|||
| |
|||
| |
|||
| |
|||
| |
|||
|{{Tick}} <sup>preview [ [[#Foot28|28]] ]</sup> |
|||
|- |
|||
|sndif (sound device)<br/><small>used in automotive/embedded</small> |
|||
| |
|||
| |
|||
| |
|||
| |
|||
| |
|||
|{{Tick}} <sup>preview [ [[#Foot28|28]] ]</sup> |
|||
|- |
|||
|displif (display)<br/><small>used in automotive/embedded</small> |
|||
| |
|||
| |
|||
| |
|||
| |
|||
| |
|||
|{{Tick}} <sup>preview [ [[#Foot28|28]] ]</sup> |
|||
|} |
|} |
||
Line 793: | Line 967: | ||
<br/><span id="Foot25"><sup>[ 25 ]</sup> Added experimental support for VT-d Posted Interrupts, VMX TSC Scaling, Memory Protection Keys |
<br/><span id="Foot25"><sup>[ 25 ]</sup> Added experimental support for VT-d Posted Interrupts, VMX TSC Scaling, Memory Protection Keys |
||
<br/><span id="Foot26"><sup>[ 26 ]</sup> Removed support for Huawei hip04-d04 |
<br/><span id="Foot26"><sup>[ 26 ]</sup> Removed support for Huawei hip04-d04 |
||
<br/><span id="Foot27"><sup>[ 27 ]</sup> See [https://lists.xenproject.org/archives/html/xen-devel/2017-06/threads.html#03039 xen-devel discussion "livepatch: Declare live patching as a supported feature"] |
|||
<br/><span id="Foot28"><sup>[ 28 ]</sup> See [https://lists.xenproject.org/archives/html/xen-devel/2017-06/threads.html#03109 xen-devel discussion "Updating https://wiki.xenproject.org/wiki/Xen_Project_Release_Features to reflect support status of new features"] |
|||
<br/><span id="Foot29"><sup>[ 29 ]</sup> Security support via [https://libvirt.org/securityprocess.html libvirt.org/securityprocess] |
|||
[[Category:Xen]] [[Category:Users]] [[Category:Fundamentals]] |
[[Category:Xen]] [[Category:Users]] [[Category:Fundamentals]] |
||
[[Category:Xen 4.2]] |
|||
[[Category:Xen 4.3]] |
|||
[[Category:Xen 4.4]] |
[[Category:Xen 4.4]] |
||
[[Category:Xen 4.5]] |
[[Category:Xen 4.5]] |
||
Line 803: | Line 978: | ||
[[Category:Xen 4.7]] |
[[Category:Xen 4.7]] |
||
[[Category:Xen 4.8]] |
[[Category:Xen 4.8]] |
||
[[Category:Xen 4.9]] |
Latest revision as of 05:31, 5 October 2020
Note that for Xen 4.10or newer this information is in the SUPPORT.md file in the source tree and tarball. A generated web-page for 4.10 or newer can be found here. |
Legend:
- ✓: Feature
- ✓: Partial
- ✗: Removed
- For definitions of experimental, preview, supported and deprecated see here
Xen 4.10 or Newer
The matrix is generated with the relevant tree, aka
Archive
To make the table more usable, we have archived information related to older releases in
Overview
Xen 4.4 | Xen 4.5 | Xen 4.6 | Xen 4.7 | Xen 4.8 | Xen 4.9 | ||||
---|---|---|---|---|---|---|---|---|---|
Initial Release | 10 March 2014 | 15 Jan 2015 | 13 Oct 2015 | 20 June 2016 | 5 Dec 2016 | 28 June 2017 | |||
Supported until | Sept 2015 | July 2016 | April 2017 | Dec 2017 | June 2018 | Jan 2019 | |||
Security support until | March 2017 | Jan 2018 | Oct 2018 | June 2019 | Dec 2019 | July 2020 | |||
Feature List | FL 4.4 | FL 4.5 | FL 4.6 | FL 4.7 | FL 4.8 | FL 4.9 | |||
Release Notes | RN 4.4 | RN 4.5 | RN 4.6 | RN 4.7 | RN 4.8 | RN 4.9 | |||
Supported Mainline Architectures for the hypervisor (Host) | |||||||||
X86-64 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||
ARM v7 + Virtualization Extensions | ✓ | ✓ [ 8 ] | ✓ [ 14 ] | ✓ [ 26 ] | ✓ [ 26 ] | ✓ [ 26 ] | |||
ARM v8 | ✓ | ✓ [ 8 ] | ✓ [ 15 ] | ✓ [ 15 ] | ✓ [ 15 ] | ✓ [ 15 ] | |||
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 |
✓preview | ✓preview | ✓preview started implementing PVHv2 |
✓preview removed PVHv1 | |||
For ARM Architectures | |||||||||
ARM Guest Optimal combination of full virtualization and PV extensions |
✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Limits
Xen 4.4 | Xen 4.5 | Xen 4.6 | Xen 4.7 | Xen 4.8 | Xen 4.9 - 4.11 | ||||
---|---|---|---|---|---|---|---|---|---|
Host Limits | |||||||||
For X86 Architectures | |||||||||
Physical CPUs | 4095 | 4095 | 4095 | 4095 | 4095 | 4095 | |||
Physical RAM | 16TB | 16TB | 16TB | 16TB | 16TB | 16TB | |||
For ARM Architectures | |||||||||
Physical CPUs | 8 | 8 | 8 for 32bit; 128 for 64bit | 8 for 32bit; 128 for 64bit | 8 for 32bit; 128 for 64bit | 8 for 32bit; 128 for 64bit | |||
Physical RAM | 16GB | 16GB for 32bit, 5TB for 64bit | 16GB for 32bit, 5TB for 64bit | 16GB for 32bit, 5TB for 64bit | 16GB for 32bit, 5TB for 64bit | 16GB for 32bit, 5TB for 64bit | |||
Guest Limits | |||||||||
X86 PV Guest Limits | |||||||||
Virtual CPUs | 512 | 512 | 512 | 512 | 512 | 512 | |||
Virtual RAM | 512GB | 512GB | 512GB | > 1TB | > 1TB | > 1TB | |||
X86 HVM Guest Limits | |||||||||
Virtual CPUs | 128 | 128 | 128 | 128 | 128 | 128 | |||
Virtual RAM | 1TB | 1TB | 1TB | 1TB | 1TB | 1TB | |||
ARM Guest Limits | |||||||||
Virtual CPUs | 8 | 8 | 8 for 32bit; 128 for 64bit | 8 for 32bit; 128 for 64bit | 8 for 32bit; 128 for 64bit | 8 for 32bit; 128 for 64bit | |||
Virtual RAM | 16GB | 1TB [ 7 ] | 1TB [ 7 ] | 1TB [ 7 ] | 1TB [ 7 ] | 1TB [ 7 ] | |||
Number of event channels | |||||||||
Event Channels | 131072 | 131072 | 131072 | 131072 | 131072 | 131072 |
Toolstack and Tools
Xen 4.4 | Xen 4.5 | Xen 4.6 | Xen 4.7 | Xen 4.8 | Xen 4.9 | ||||
---|---|---|---|---|---|---|---|---|---|
Toolstack | |||||||||
Built-in | |||||||||
xend / xm | ✓deprecated | ✗removed | |||||||
XL | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||
Qemu based disk backend (qdisk) for XL |
✓ [ 5 ] | ✓ [ 5 ] | ✓ [ 5 ] | ✓ [ 5 ] | ✓ [ 5 ] | ✓ [ 5 ] | |||
XL Open vSwitch integration | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||
systemd support | ✓ | ✓ | ✓ | ✓ | ✓ | ||||
JSON support | ✓infrastructure only, no tools support | ✓infrastructure only, no tools support | ✓infrastructure only, no tools support | ✓infrastructure only, no tools support | ✓infrastructure only, no tools support | ||||
AHCI support | ✓ | ✓ | ✓ | ✓ | |||||
PVUSB | ✓ | ✓ | ✓ | ||||||
HVM USB passthrough | ✓ | ✓ | |||||||
QEMU backend hotplugging | ✓ | ✓ | ✓ | ||||||
Soft-Reset | ✓ | ✓ | ✓ | ||||||
3rd Party | |||||||||
libvirt driver for XL | ✓[ 29 ] | ✓[ 29 ] | ✓[ 16 ] [ 29 ] | ✓[ 16 ] [ 29 ] | ✓[ 16 ] [ 29 ] | ✓[ 16 ] [ 29 ] | |||
Tooling | |||||||||
gdbsx debugger to debug ELF guests |
✓ | ✓[ 12 ] | ✓[ 12 ] | ✓[ 12 ] | ✓[ 12 ] | ✓[ 12 ] | |||
vPMU Virtual Performance Management Unit for HVM guests |
✓ [ 4 ] | ✓ [ 4 ][ 12 ] | ✓ [ 4 ][ 12 ] | ✓ [ 4 ][ 12 ] | ✓ [ 4 ][ 12 ] | ✓ [ 4 ][ 12 ] | |||
Serial console | ✓ | ✓Add Oxford PCIe, and Broadcom TrueManage support | ✓ | ✓ | ✓ | ✓ | |||
xentrace performance analysis |
✓ | ✓[ 12 ] | ✓Added Xenalyze | ✓ | ✓ | ✓ |
Features
Xen 4.4 | Xen 4.5 | Xen 4.6 | Xen 4.7 | Xen 4.8 | Xen 4.9 | ||||
---|---|---|---|---|---|---|---|---|---|
Advanced Memory Management | |||||||||
Memory Ballooning | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||
Memory Sharing allow sharing of identical pages between HVM guests |
✓preview [ 3 ] | ✓preview [ 3 ][ 12 ] | ✓preview [ 3 ][ 12 ] | ✓preview [ 3 ][ 12 ] | ✓preview [ 3 ][ 12 ] | ✓preview [ 3 ][ 12 ] | |||
Memory Paging allow pages belonging to HVM guests to be paged to disk |
✓preview [ 3 ] | ✓preview [ 3 ][ 12 ] | ✓preview [ 3 ][ 12 ] | ✓preview [ 3 ][ 12 ] | ✓preview [ 3 ][ 12 ] | ✓preview [ 3 ][ 12 ] | |||
TMEM - Transcendent Memory | ✓experimental [ 2 ] | ✓experimental [ 2 ][ 12 ] | ✓experimental [ 2 ][ 12 ] | ✓experimental [ 2 ][ 12 ] | ✓experimental [ 2 ][ 12 ] | ✓experimental [ 2 ][ 12 ] | |||
Resource Management | |||||||||
Cpupool advanced partitioning |
✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||
Credit 2 Scheduler designed for latency-sensitive workloads and very large systems. |
✓experimental | ✓experimental | ✓experimental (significant additions) | ✓ | ✓ | ||||
RTDS Based Scheduler Real-time CPU scheduler built to provide guaranteed CPU capacity to guest VMs on SMP hosts. |
✓experimental | ✓experimental | ✓experimental (significant additions) | ✓experimental | ✓experimental | ||||
Null Scheduler Scheduler for embedded workloads where 0-scheduling overhead is required |
✓preview [ 28 ] | ||||||||
NUMA scheduler affinity | ✓ | ✓ [ 12 ] | ✓ [ 12 ] | ✓ [ 12 ] | ✓ [ 12 ] | ✓ [ 12 ] | |||
Scalability | |||||||||
1GB/2MB super page support | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||
Deliver events to PVHVM guests using Xen event channels | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||
Fair locks (ticket-locks) | ✓ | ✓ | ✓ | ✓ | |||||
High Availability and Fault Tolerance | |||||||||
Live Migration, Save & Restore | ✓ | ✓ [ 12 ] | ✓ [ 18 ] Migration v2 | ✓ [ 23 ] | ✓ [ 23 ] | ✓ [ 23 ] | |||
Remus Fault Tolerance | ✓ | ✓ improvements for COLO [ 10 ][ 12 ] |
✓ Remus ported to Migration v2 | ✓ | ✓ | ✓ | |||
COLO Manager | ✓ experimental [ 24 ] | ✓ experimental [ 24 ] | ✓ experimental [ 24 ] | ||||||
X86 vMCE Forward Machine Check Exceptions to Appropriate guests |
✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||
Network and Storage | |||||||||
✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||
Online resize of virtual disks | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||
Security (also see this presentation or this document) | |||||||||
Driver Domains | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||
Device Model Stub Domains | ✓ | ✓[ 12 ] | ✓[ 12 ][ 17 ] | ✓[ 12 ][ 17 ] | ✓[ 12 ][ 17 ] | ✓[ 12 ][ 17 ] | |||
Kconfig | ✓ experimental | ✓ experimental | ✓ experimental | ||||||
Live Patching | ✓ preview [ 22 ] | ✓ preview (added ARM support) | ✓ [ 27 ], ARM support still in preview | ||||||
Virtual Machine Introspection (Memaccess and VM Event APIs) enabling integration of 3rd party security solutions into Xen virtualized environments |
✓ | ✓ improvements[ 12 ] | ✓ [ 19 ] reworked with ARM support, added VM Event APIs | ✓ improvements | ✓ | ✓ | |||
XSM & FLASK mandatory access control policy providing fine-grained controls over Xen domains, similar to SELinux |
✓ | ✓ | ✓ [ 17 ] | ✓ [ 17 ] | ✓ [ 17 ] | ✓ [ 17 ] | |||
XSM & FLASK support for IS_PRIV | ✓ | ✓ | ✓ [ 17 ] | ✓ [ 17 ] | ✓ [ 17 ] | ✓ [ 17 ] | |||
vTPM Support |
✓ | ✓ | ✓ vTPM 2.0 | ✓ | ✓ | ✓ |
Interoperability / Hardware Support
Xen 4.4 | Xen 4.5 | Xen 4.6 | Xen 4.7 | Xen 4.8 | Xen 4.9 | ||||
---|---|---|---|---|---|---|---|---|---|
X86 | |||||||||
X86 Nested Virtualisation Running a hypervisor inside an HVM guest |
✓preview | ✓preview [ 11 ] | ✓preview [ 11 ] | ✓preview [ 11 ] | ✓preview [ 11 ] | ✓preview, fixes [ 11 ] | |||
HVM PXE Stack (x86) | gPXE | iPXE | iPXE | iPXE | iPXE | iPXE | |||
Physical CPU Hotplug | ✓ | ✓[ 12 ] | ✓[ 12 ] | ✓[ 12 ] | ✓[ 12 ] | ✓[ 12 ] | |||
Physical Memory Hotplug | ✓ | ✓[ 12 ] | ✓[ 12 ] | ✓[ 12 ] | ✓[ 12 ] | ✓[ 12 ] | |||
Support for PV kernels in bzImage format | ✓ | ✓[ 12 ] | ✓[ 12 ] | ✓[ 12 ] | ✓[ 12 ] | ✓[ 12 ] | |||
PCI Passthrough | ✓ [ 12 ] | ✓ [ 12 ][ 13 ] | ✓ [ 12 ] | ✓ [ 12 ] | ✓ [ 12 ] | ✓ [ 12 ] | |||
X86 Advanced Vector eXtension (AVX) | ✓ | ✓ | ✓ | ✓ | ✓ AVX-512 | ✓ | |||
Intel Platform QoS Technologies | ✓ preview: CMT | ✓ preview: CAT, MBM | ✓ preview: CDP | ✓ preview: CDP | ✓ preview: CDP | ||||
Other Intel® Xeon® Features | ✓ [ 25 ] | ✓ [ 25 ] | ✓ [ 25 ] | ||||||
ARM | |||||||||
64K Guest Pages | ✓ | ✓ | ✓ | ✓ | |||||
ACPI / SBBR Compliance | ✓ experimental; ACPI 6.0+ | ✓ experimental | ✓ experimental | ||||||
ACPI guest support | ✓ with UEFI | ✓ with UEFI | |||||||
PCSI Compatibility | ✓ v0.1 & 0.2 | ✓ | ✓ v1.0 | ✓ v1.0 | ✓ v1.0 | ||||
ARM® Interrupt Virtualization | ✓ GiC v2 | ✓ GiC v2m/GiC v3 | ✓ improvements to v2/v3 | ✓ | ✓ | ||||
Wallclock support | ✓ | ✓ | ✓ |
Device Models and Virtual Firmware
Xen 4.4 | Xen 4.5 | Xen 4.6 | Xen 4.7 | Xen 4.8 | Xen 4.9 | ||||
---|---|---|---|---|---|---|---|---|---|
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 |
✓default, unless stubdomains are used | ✓default, unless stubdomains are used | ✓default, unless stubdomains are used | ✓default, unless stubdomains are used | ✓default, unless stubdomains are used | ✓default, unless stubdomains are used | |||
DMOP (Device Model Operation Hypercall) | ✓[ 28 ] | ||||||||
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 ] + ARM support | ✓experimental [ 4 ] + ARM support | ✓experimental [ 4 ] + ARM support | ✓experimental [ 4 ] + ARM support | |||
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 |
✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
PV Protocols and Drivers
Xen 4.4 | Xen 4.5 | Xen 4.6 | Xen 4.7 | Xen 4.8 | Xen 4.9 | |
---|---|---|---|---|---|---|
Common net, block, console, keyboard=kbd, mouse framebuffer=fb |
✓ | ✓ | ✓ | ✓ | ✓ | ✓ [ 28 ] |
USB | ✓ | ✓ | ✓ [ 28 ] | |||
pvcalls POSIX function call forwarding |
✓ preview [ 28 ] | |||||
9pfs share a filesystem between VMs (a requirement for adding Xen support to many container engines) |
✓ preview [ 28 ] | |||||
sndif (sound device) used in automotive/embedded |
✓ preview [ 28 ] | |||||
displif (display) used in automotive/embedded |
✓ preview [ 28 ] |
Notes
[ 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 ] Limited by supported host memory
[ 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)
[ 10 ] Remus has been ported to XL and has been tested with COLO which is currently outside the Xen tree, but planned to be included in Xen 4.6. Also see Remus Toolkit Differences explaining differences between Remus with XM (not supported in Xen 4.5) and XL
[ 11 ] There are a number of reported crashes that have not yet been fixed and some known limitations
[ 12 ] Not yet supported on ARM; for a more detailed update on what is supported on ARM see here and here
[ 13 ] The PCI passthrough features did not make it on time for Xen 4.5, but doing passthrough of MMIO regions did. In the ARM world it is quite common to have no PCIe devices and to only access devices using MMIO regions. As such this feature allows us to have driver domains be in charge of network or storage devices.
[ 14 ] Added the following platforms to [ 8 ]: Renesas R-Car Gen2, Huawei hip04-d04
[ 15 ] Added the following platforms to [ 9 ]: Thunder X (partial), Xilinx ZynqMP SoC
[ 16 ] Now tested as part of Xen Project Test Lab and OpenStack CI Loop
[ 17 ] Now tested as part of Xen Project Test Lab
[ 18 ] Migration v2: see [1] and [2]. VM migration using libvirt between two hosts is now tested. Live Migration between hosts of different Xen versions is now tested.
[ 19 ] The memory event subsystem has been reworked and extended to a new VM event subsystem. The new VM event subsystems supports both the ARM and x86 architectures.
[ 20 ] Passthrough for non-PCI devices allows users to passthrough devices via partial device trees.
[ 21 ] Dates for historical releases have not be researched.
[ 22 ] The code for hypervisor live patching is NOT enabled by default. When compiling the hypervisor one must change the config to build it. Note that Live Patching is currently only supported on x86. For more information on live patching, see LivePatch.
[ 23 ] CPU ID Levelling enables migration of VM’s between a larger range of non-identical hosts than previously supported.
[ 24 ] The COLO Manager has been fully integrated as an experimental feature into Xen 4.7. Note that the COLO Block Replication and COLO Proxy components, both of which are QEMU components, are currently still reviewed by the QEMU community. Both components are available as out-of-tree add-ons to the Xen Project Hypervisor, until fully integrated into QEMU.
[ 25 ] Added experimental support for VT-d Posted Interrupts, VMX TSC Scaling, Memory Protection Keys
[ 26 ] Removed support for Huawei hip04-d04
[ 27 ] See xen-devel discussion "livepatch: Declare live patching as a supported feature"
[ 28 ] See xen-devel discussion "Updating https://wiki.xenproject.org/wiki/Xen_Project_Release_Features to reflect support status of new features"
[ 29 ] Security support via libvirt.org/securityprocess