Support Tiers: Difference between revisions
No edit summary |
Β |
||
(3 intermediate revisions by the same user not shown) | |||
Line 8: | Line 8: | ||
QEMU features are classified into a number of support tiers, which serve as guidance to users on the long term intentions wrt quality and supportability. | QEMU features are classified into a number of support tiers, which serve as guidance to users on the long term intentions wrt quality and supportability. | ||
=== Tier 1 π === | |||
These are the top class features, suitable for use in a virtualization scenario and expected to be fully functional at all times. | |||
These features MUST satisfy the following criteria at a minimum | |||
* Have a nominated maintainer | |||
* Be compiled by automated CI systems prior to merge | |||
* Be tested by automated CI systems prior to merge | |||
* Be written to be robust against malicious guests | |||
The maintainers have discretion to apply additional criteria to specific features. | |||
=== Tier 2 β
=== | |||
These are generally good features, but have some caveats preventing them achieving the top tier. They may only be suitable for use in an emulation scenario and may not be functional except at time of release. | |||
These features MUST satisfy the following criteria at a minimum | |||
* Have a nominated maintainer | |||
* Be compiled by automated CI systems prior to merge | |||
* Be tested manually by maintainer prior to major releases | |||
The maintainers have discretion to apply additional criteria to specific features. | |||
=== Tier 3 β‘ === | |||
These features are generally not recommended to be used. They may be insecure and can be non-functional at any time, even in releases. | |||
There is no expectation that they have been tested, either by automation or manually by a maintainer. | |||
They are liable to be deprecated and later removed entirely at any time. | |||
== Host architectures == | == Host architectures == | ||
Line 35: | Line 46: | ||
{| class="wikitable" | {| class="wikitable" | ||
! Arch || | ! Arch || Status || Comments | ||
|- | |- | ||
| armv7 || 1 || | | armv7 || Tier 1 π || Tested with Linux | ||
|- | |- | ||
| aarch64 || 1 || | | aarch64 || Tier 1 π || Tested with Linux | ||
|- | |- | ||
| i686 || 1 || | | i686 || Tier 1 π || Tested with Linux | ||
|- | |- | ||
| mips || 2 || - | | mips || Tier 2 β
|| - | ||
|- | |- | ||
| mips64 || 2 || - | | mips64 || Tier 2 β
|| - | ||
|- | |- | ||
| ppc || 2 || - | | ppc || Tier 2 β
|| - | ||
|- | |- | ||
| | | ppc64be || Tier 1 π || Tested with Linux | ||
|- | |- | ||
| | | ppc64be || Tier 2 β
|| Β | ||
|- | |- | ||
| | | riscv32 || Tier 2 β
|| - | ||
|- | |- | ||
| | | riscv64 || Tier 2 β
|| - | ||
|- | |- | ||
| | | s390 || Tier 3 β‘ || - | ||
|- | |- | ||
| x86_64 || 1 || - | | s390x || Tier 1 π || Tested with Linux | ||
|- | |||
| x86_64 || Tier 1 π || Tested with Linux, OS-X, FreeBSD, NetBSD, OpenBSD | |||
|} | |} | ||
Line 69: | Line 82: | ||
! Virtualizer || Arch || Tier || Comments | ! Virtualizer || Arch || Tier || Comments | ||
|- | |- | ||
| KVM || arm7 || 1 | | KVM || arm7 || Tier 1 π | ||
|- | |||
| KVM || aarch64 || Tier 1 π | |||
|- | |- | ||
| KVM || | | KVM || i686 || Tier 1 π | ||
|- | |- | ||
| KVM || | | KVM || mips || Tier 3 β‘ | ||
|- | |- | ||
| KVM || | | KVM || mips64 || Tier 3 β‘ | ||
|- | |- | ||
| KVM || | | KVM || ppc || Tier 3 β‘ | ||
|- | |- | ||
| KVM || | | KVM || ppc64be || Tier 1 π | ||
|- | |- | ||
| KVM || | | KVM || ppc64le || Tier 2 β
| ||
|- | |- | ||
| KVM || s390x || 1 | | KVM || s390x || Tier 1 π | ||
|- | |- | ||
| KVM || x86_64 || 1 | | KVM || x86_64 || Tier 1 π | ||
|- | |- | ||
| Hax || x86_64 || | | Hax || x86_64 || Tier 3 β‘ | ||
|- | |- | ||
| HyperV || x86_64 || | | HyperV || x86_64 || Tier 3 β‘ | ||
|- | |- | ||
| WHPX || x86_64 || | | WHPX || x86_64 || Tier 3 β‘ | ||
|- | |- | ||
| HVF || x86_64 || | | HVF || x86_64 || Tier 3 β‘ | ||
|} | |} | ||
Latest revision as of 12:12, 4 November 2020
Note this article is a draft / work in progress / scratch-pad.
It is not official project policy at this time.
Definitions
QEMU features are classified into a number of support tiers, which serve as guidance to users on the long term intentions wrt quality and supportability.
Tier 1 π
These are the top class features, suitable for use in a virtualization scenario and expected to be fully functional at all times.
These features MUST satisfy the following criteria at a minimum
- Have a nominated maintainer
- Be compiled by automated CI systems prior to merge
- Be tested by automated CI systems prior to merge
- Be written to be robust against malicious guests
The maintainers have discretion to apply additional criteria to specific features.
Tier 2 β
These are generally good features, but have some caveats preventing them achieving the top tier. They may only be suitable for use in an emulation scenario and may not be functional except at time of release.
These features MUST satisfy the following criteria at a minimum
- Have a nominated maintainer
- Be compiled by automated CI systems prior to merge
- Be tested manually by maintainer prior to major releases
The maintainers have discretion to apply additional criteria to specific features.
Tier 3 β‘
These features are generally not recommended to be used. They may be insecure and can be non-functional at any time, even in releases.
There is no expectation that they have been tested, either by automation or manually by a maintainer.
They are liable to be deprecated and later removed entirely at any time.
Host architectures
Arch | Status | Comments |
---|---|---|
armv7 | Tier 1 π | Tested with Linux |
aarch64 | Tier 1 π | Tested with Linux |
i686 | Tier 1 π | Tested with Linux |
mips | Tier 2 β | - |
mips64 | Tier 2 β | - |
ppc | Tier 2 β | - |
ppc64be | Tier 1 π | Tested with Linux |
ppc64be | Tier 2 β | |
riscv32 | Tier 2 β | - |
riscv64 | Tier 2 β | - |
s390 | Tier 3 β‘ | - |
s390x | Tier 1 π | Tested with Linux |
x86_64 | Tier 1 π | Tested with Linux, OS-X, FreeBSD, NetBSD, OpenBSD |
Guest CPU emulation
Guest CPU virtualization
Virtualizer | Arch | Tier | Comments |
---|---|---|---|
KVM | arm7 | Tier 1 π | |
KVM | aarch64 | Tier 1 π | |
KVM | i686 | Tier 1 π | |
KVM | mips | Tier 3 β‘ | |
KVM | mips64 | Tier 3 β‘ | |
KVM | ppc | Tier 3 β‘ | |
KVM | ppc64be | Tier 1 π | |
KVM | ppc64le | Tier 2 β | |
KVM | s390x | Tier 1 π | |
KVM | x86_64 | Tier 1 π | |
Hax | x86_64 | Tier 3 β‘ | |
HyperV | x86_64 | Tier 3 β‘ | |
WHPX | x86_64 | Tier 3 β‘ | |
HVF | x86_64 | Tier 3 β‘ |