docs: add a table showing x86-64 ABI compatibility levels
It is useful to know which CPUs satisfy each x86-64 ABI compatibility level, when dealing with guest OS that require something newer than the baseline ABI. These ABI levels are defined in: https://gitlab.com/x86-psABIs/x86-64-ABI/ and supported by GCC, Clang, glibc and more. Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> Message-Id: <20210607135843.196595-2-berrange@redhat.com> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
This commit is contained in:
parent
d44df1d73c
commit
38dec0ef76
@ -328,7 +328,7 @@ F: tests/tcg/i386/
|
||||
F: tests/tcg/x86_64/
|
||||
F: hw/i386/
|
||||
F: disas/i386.c
|
||||
F: docs/system/cpu-models-x86.rst.inc
|
||||
F: docs/system/cpu-models-x86*
|
||||
T: git https://gitlab.com/ehabkost/qemu.git x86-next
|
||||
|
||||
Xtensa TCG CPUs
|
||||
|
67
docs/system/cpu-models-x86-abi.csv
Normal file
67
docs/system/cpu-models-x86-abi.csv
Normal file
@ -0,0 +1,67 @@
|
||||
Model,baseline,v2,v3,v4
|
||||
486-v1,,,,
|
||||
Broadwell-v1,✅,✅,✅,
|
||||
Broadwell-v2,✅,✅,✅,
|
||||
Broadwell-v3,✅,✅,✅,
|
||||
Broadwell-v4,✅,✅,✅,
|
||||
Cascadelake-Server-v1,✅,✅,✅,✅
|
||||
Cascadelake-Server-v2,✅,✅,✅,✅
|
||||
Cascadelake-Server-v3,✅,✅,✅,✅
|
||||
Cascadelake-Server-v4,✅,✅,✅,✅
|
||||
Conroe-v1,✅,,,
|
||||
Cooperlake-v1,✅,✅,✅,✅
|
||||
Denverton-v1,✅,✅,,
|
||||
Denverton-v2,✅,✅,,
|
||||
Dhyana-v1,✅,✅,✅,
|
||||
EPYC-Milan-v1,✅,✅,✅,
|
||||
EPYC-Rome-v1,✅,✅,✅,
|
||||
EPYC-Rome-v2,✅,✅,✅,
|
||||
EPYC-v1,✅,✅,✅,
|
||||
EPYC-v2,✅,✅,✅,
|
||||
EPYC-v3,✅,✅,✅,
|
||||
Haswell-v1,✅,✅,✅,
|
||||
Haswell-v2,✅,✅,✅,
|
||||
Haswell-v3,✅,✅,✅,
|
||||
Haswell-v4,✅,✅,✅,
|
||||
Icelake-Client-v1,✅,✅,✅,
|
||||
Icelake-Client-v2,✅,✅,✅,
|
||||
Icelake-Server-v1,✅,✅,✅,✅
|
||||
Icelake-Server-v2,✅,✅,✅,✅
|
||||
Icelake-Server-v3,✅,✅,✅,✅
|
||||
Icelake-Server-v4,✅,✅,✅,✅
|
||||
IvyBridge-v1,✅,✅,,
|
||||
IvyBridge-v2,✅,✅,,
|
||||
KnightsMill-v1,✅,✅,✅,
|
||||
Nehalem-v1,✅,✅,,
|
||||
Nehalem-v2,✅,✅,,
|
||||
Opteron_G1-v1,✅,,,
|
||||
Opteron_G2-v1,✅,,,
|
||||
Opteron_G3-v1,✅,,,
|
||||
Opteron_G4-v1,✅,✅,,
|
||||
Opteron_G5-v1,✅,✅,,
|
||||
Penryn-v1,✅,,,
|
||||
SandyBridge-v1,✅,✅,,
|
||||
SandyBridge-v2,✅,✅,,
|
||||
Skylake-Client-v1,✅,✅,✅,
|
||||
Skylake-Client-v2,✅,✅,✅,
|
||||
Skylake-Client-v3,✅,✅,✅,
|
||||
Skylake-Server-v1,✅,✅,✅,✅
|
||||
Skylake-Server-v2,✅,✅,✅,✅
|
||||
Skylake-Server-v3,✅,✅,✅,✅
|
||||
Skylake-Server-v4,✅,✅,✅,✅
|
||||
Snowridge-v1,✅,✅,,
|
||||
Snowridge-v2,✅,✅,,
|
||||
Westmere-v1,✅,✅,,
|
||||
Westmere-v2,✅,✅,,
|
||||
athlon-v1,,,,
|
||||
core2duo-v1,✅,,,
|
||||
coreduo-v1,,,,
|
||||
kvm32-v1,,,,
|
||||
kvm64-v1,✅,,,
|
||||
n270-v1,,,,
|
||||
pentium-v1,,,,
|
||||
pentium2-v1,,,,
|
||||
pentium3-v1,,,,
|
||||
phenom-v1,✅,,,
|
||||
qemu32-v1,,,,
|
||||
qemu64-v1,✅,,,
|
|
@ -39,6 +39,28 @@ CPU, as they would with "Host passthrough", but gives much of the
|
||||
benefit of passthrough, while making live migration safe.
|
||||
|
||||
|
||||
ABI compatibility levels for CPU models
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
The x86_64 architecture has a number of `ABI compatibility levels`_
|
||||
defined. Traditionally most operating systems and toolchains would
|
||||
only target the original baseline ABI. It is expected that in
|
||||
future OS and toolchains are likely to target newer ABIs. The
|
||||
table that follows illustrates which ABI compatibility levels
|
||||
can be satisfied by the QEMU CPU models. Note that the table only
|
||||
lists the long term stable CPU model versions (eg Haswell-v4).
|
||||
In addition to whats listed, there are also many CPU model
|
||||
aliases which resolve to a different CPU model version,
|
||||
depending on the machine type is in use.
|
||||
|
||||
.. _ABI compatibility levels: https://gitlab.com/x86-psABIs/x86-64-ABI/
|
||||
|
||||
.. csv-table:: x86-64 ABI compatibility levels
|
||||
:file: cpu-models-x86-abi.csv
|
||||
:widths: 40,15,15,15,15
|
||||
:header-rows: 2
|
||||
|
||||
|
||||
Preferred CPU models for Intel x86 hosts
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user