[libvirt PATCH 00/28] Synchronize x86 cpu features from qemu

Tim Wiederhake posted 28 patches 1 year, 6 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/libvirt tags/patchew/20221019165628.321092-1-twiederh@redhat.com
There is a newer version of this series
src/cpu/cpu_x86.c                             |  10 +-
src/cpu_map/sync_qemu_features_i386.py        | 278 ++++++++++++++++++
..._qemu_i386.py => sync_qemu_models_i386.py} |   0
src/cpu_map/x86_features.xml                  | 133 +++++++--
tests/cputestdata/cpu-data.py                 |  11 +-
.../x86_64-cpuid-Atom-P5362-disabled.xml      |   1 +
.../x86_64-cpuid-Atom-P5362-guest.xml         |   1 +
.../x86_64-cpuid-Atom-P5362-host.xml          |   1 +
.../x86_64-cpuid-Core-i7-7600U-disabled.xml   |   2 +-
.../x86_64-cpuid-Core-i7-7600U-guest.xml      |   1 +
.../x86_64-cpuid-Core-i7-7600U-host.xml       |   1 +
.../x86_64-cpuid-Core-i7-7700-disabled.xml    |   2 +-
.../x86_64-cpuid-Core-i7-7700-guest.xml       |   1 +
.../x86_64-cpuid-Core-i7-7700-host.xml        |   1 +
.../x86_64-cpuid-Core-i7-8550U-disabled.xml   |   2 +-
.../x86_64-cpuid-Core-i7-8550U-guest.xml      |   1 +
.../x86_64-cpuid-Core-i7-8550U-host.xml       |   1 +
.../x86_64-cpuid-Core-i7-8700-disabled.xml    |   2 +-
.../x86_64-cpuid-Core-i7-8700-guest.xml       |   2 +
.../x86_64-cpuid-Core-i7-8700-host.xml        |   2 +
...86_64-cpuid-EPYC-7502-32-Core-disabled.xml |   2 +-
.../x86_64-cpuid-EPYC-7502-32-Core-guest.xml  |   3 +
.../x86_64-cpuid-EPYC-7502-32-Core-host.xml   |   3 +
...86_64-cpuid-EPYC-7601-32-Core-disabled.xml |   2 +-
.../x86_64-cpuid-EPYC-7601-32-Core-guest.xml  |   3 +
.../x86_64-cpuid-EPYC-7601-32-Core-host.xml   |   3 +
...-cpuid-EPYC-7601-32-Core-ibpb-disabled.xml |   2 +-
..._64-cpuid-EPYC-7601-32-Core-ibpb-guest.xml |   3 +
...6_64-cpuid-EPYC-7601-32-Core-ibpb-host.xml |   3 +
...-cpuid-Hygon-C86-7185-32-core-disabled.xml |   2 +-
..._64-cpuid-Hygon-C86-7185-32-core-guest.xml |   3 +
...6_64-cpuid-Hygon-C86-7185-32-core-host.xml |   3 +
.../x86_64-cpuid-Ice-Lake-Server-disabled.xml |   2 +-
.../x86_64-cpuid-Ice-Lake-Server-guest.xml    |   2 +
.../x86_64-cpuid-Ice-Lake-Server-host.xml     |   2 +
...puid-Ryzen-7-1800X-Eight-Core-disabled.xml |   2 +-
...4-cpuid-Ryzen-7-1800X-Eight-Core-guest.xml |   3 +
...64-cpuid-Ryzen-7-1800X-Eight-Core-host.xml |   3 +
...4-cpuid-Ryzen-9-3900X-12-Core-disabled.xml |   2 +-
...6_64-cpuid-Ryzen-9-3900X-12-Core-guest.xml |   3 +
...86_64-cpuid-Ryzen-9-3900X-12-Core-host.xml |   3 +
.../x86_64-cpuid-Xeon-E3-1225-v5-disabled.xml |   2 +-
.../x86_64-cpuid-Xeon-E3-1225-v5-guest.xml    |   1 +
.../x86_64-cpuid-Xeon-E3-1225-v5-host.xml     |   1 +
.../x86_64-cpuid-Xeon-E3-1245-v5-disabled.xml |   2 +-
.../x86_64-cpuid-Xeon-E3-1245-v5-guest.xml    |   1 +
.../x86_64-cpuid-Xeon-E3-1245-v5-host.xml     |   1 +
.../domaincapsdata/qemu_6.0.0-tcg.x86_64.xml  |   1 +
.../domaincapsdata/qemu_6.1.0-tcg.x86_64.xml  |   1 +
.../domaincapsdata/qemu_6.2.0-tcg.x86_64.xml  |   2 +
.../domaincapsdata/qemu_7.0.0-tcg.x86_64.xml  |   2 +
.../domaincapsdata/qemu_7.1.0-tcg.x86_64.xml  |   2 +
52 files changed, 487 insertions(+), 36 deletions(-)
create mode 100755 src/cpu_map/sync_qemu_features_i386.py
rename src/cpu_map/{sync_qemu_i386.py => sync_qemu_models_i386.py} (100%)
[libvirt PATCH 00/28] Synchronize x86 cpu features from qemu
Posted by Tim Wiederhake 1 year, 6 months ago
libvirt is missing support for some x86 cpu features supported by qemu. This
series adds the missing cpu features to libvirt's feature map and adds a script
to ease the detection of new features in the future.

Support for amx-int8, amx-tile, and amx-bf16 is deliberately not included, as
they were already proposed on the list[1].

[1] https://listman.redhat.com/archives/libvir-list/2022-September/234292.html

Tim Wiederhake (28):
  cpu-data.py: Allow for more than child in feature nodes
  cpu_x86: Ignore alias names
  cpu: make x86 feature alias names machine readable
  cpu_map: Add script to sync from QEMU i386 cpu features
  cpu_map: Rename sync_qemu_i386.py
  cpu_map: Add missing x86 feature alias names
  cpu_map: Add missing x86 feature "sgx"
  cpu_map: Add missing x86 feature "sgxlc"
  cpu_map: Add missing x86 feature "sgx-exinfo"
  cpu_map: Add missing x86 feature "sgx1"
  cpu_map: Add missing x86 feature "sgx2"
  cpu_map: Add missing x86 feature "sgx-debug"
  cpu_map: Add missing x86 feature "sgx-mode64"
  cpu_map: Add missing x86 feature "sgx-provisionkey"
  cpu_map: Add missing x86 feature "sgx-tokenkey"
  cpu_map: Add missing x86 feature "sgx-kss"
  cpu_map: Add missing x86 feature "bus-lock-detect"
  cpu_map: Add missing x86 feature "pks"
  cpu_map: Add missing x86 feature "avx512-vp2intersect"
  cpu_map: Add missing x86 feature "avx512-fp16"
  cpu_map: Add missing x86 feature "serialize"
  cpu_map: Add missing x86 feature "tsx-ldtrk"
  cpu_map: Add missing x86 feature "arch-lbr"
  cpu_map: Add missing x86 feature "xfd"
  cpu_map: Add missing x86 feature "intel-pt-lip"
  cpu_map: Add missing x86 feature "avic"
  cpu_map: Add missing x86 feature "v-vmsave-vmload"
  cpu_map: Add missing x86 feature "vgif"

 src/cpu/cpu_x86.c                             |  10 +-
 src/cpu_map/sync_qemu_features_i386.py        | 278 ++++++++++++++++++
 ..._qemu_i386.py => sync_qemu_models_i386.py} |   0
 src/cpu_map/x86_features.xml                  | 133 +++++++--
 tests/cputestdata/cpu-data.py                 |  11 +-
 .../x86_64-cpuid-Atom-P5362-disabled.xml      |   1 +
 .../x86_64-cpuid-Atom-P5362-guest.xml         |   1 +
 .../x86_64-cpuid-Atom-P5362-host.xml          |   1 +
 .../x86_64-cpuid-Core-i7-7600U-disabled.xml   |   2 +-
 .../x86_64-cpuid-Core-i7-7600U-guest.xml      |   1 +
 .../x86_64-cpuid-Core-i7-7600U-host.xml       |   1 +
 .../x86_64-cpuid-Core-i7-7700-disabled.xml    |   2 +-
 .../x86_64-cpuid-Core-i7-7700-guest.xml       |   1 +
 .../x86_64-cpuid-Core-i7-7700-host.xml        |   1 +
 .../x86_64-cpuid-Core-i7-8550U-disabled.xml   |   2 +-
 .../x86_64-cpuid-Core-i7-8550U-guest.xml      |   1 +
 .../x86_64-cpuid-Core-i7-8550U-host.xml       |   1 +
 .../x86_64-cpuid-Core-i7-8700-disabled.xml    |   2 +-
 .../x86_64-cpuid-Core-i7-8700-guest.xml       |   2 +
 .../x86_64-cpuid-Core-i7-8700-host.xml        |   2 +
 ...86_64-cpuid-EPYC-7502-32-Core-disabled.xml |   2 +-
 .../x86_64-cpuid-EPYC-7502-32-Core-guest.xml  |   3 +
 .../x86_64-cpuid-EPYC-7502-32-Core-host.xml   |   3 +
 ...86_64-cpuid-EPYC-7601-32-Core-disabled.xml |   2 +-
 .../x86_64-cpuid-EPYC-7601-32-Core-guest.xml  |   3 +
 .../x86_64-cpuid-EPYC-7601-32-Core-host.xml   |   3 +
 ...-cpuid-EPYC-7601-32-Core-ibpb-disabled.xml |   2 +-
 ..._64-cpuid-EPYC-7601-32-Core-ibpb-guest.xml |   3 +
 ...6_64-cpuid-EPYC-7601-32-Core-ibpb-host.xml |   3 +
 ...-cpuid-Hygon-C86-7185-32-core-disabled.xml |   2 +-
 ..._64-cpuid-Hygon-C86-7185-32-core-guest.xml |   3 +
 ...6_64-cpuid-Hygon-C86-7185-32-core-host.xml |   3 +
 .../x86_64-cpuid-Ice-Lake-Server-disabled.xml |   2 +-
 .../x86_64-cpuid-Ice-Lake-Server-guest.xml    |   2 +
 .../x86_64-cpuid-Ice-Lake-Server-host.xml     |   2 +
 ...puid-Ryzen-7-1800X-Eight-Core-disabled.xml |   2 +-
 ...4-cpuid-Ryzen-7-1800X-Eight-Core-guest.xml |   3 +
 ...64-cpuid-Ryzen-7-1800X-Eight-Core-host.xml |   3 +
 ...4-cpuid-Ryzen-9-3900X-12-Core-disabled.xml |   2 +-
 ...6_64-cpuid-Ryzen-9-3900X-12-Core-guest.xml |   3 +
 ...86_64-cpuid-Ryzen-9-3900X-12-Core-host.xml |   3 +
 .../x86_64-cpuid-Xeon-E3-1225-v5-disabled.xml |   2 +-
 .../x86_64-cpuid-Xeon-E3-1225-v5-guest.xml    |   1 +
 .../x86_64-cpuid-Xeon-E3-1225-v5-host.xml     |   1 +
 .../x86_64-cpuid-Xeon-E3-1245-v5-disabled.xml |   2 +-
 .../x86_64-cpuid-Xeon-E3-1245-v5-guest.xml    |   1 +
 .../x86_64-cpuid-Xeon-E3-1245-v5-host.xml     |   1 +
 .../domaincapsdata/qemu_6.0.0-tcg.x86_64.xml  |   1 +
 .../domaincapsdata/qemu_6.1.0-tcg.x86_64.xml  |   1 +
 .../domaincapsdata/qemu_6.2.0-tcg.x86_64.xml  |   2 +
 .../domaincapsdata/qemu_7.0.0-tcg.x86_64.xml  |   2 +
 .../domaincapsdata/qemu_7.1.0-tcg.x86_64.xml  |   2 +
 52 files changed, 487 insertions(+), 36 deletions(-)
 create mode 100755 src/cpu_map/sync_qemu_features_i386.py
 rename src/cpu_map/{sync_qemu_i386.py => sync_qemu_models_i386.py} (100%)

-- 
2.36.1