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

Tim Wiederhake twiederh at redhat.com
Fri Oct 28 15:06:31 UTC 2022


V1: https://listman.redhat.com/archives/libvir-list/2022-October/235007.html

Changes since V1:
* Fixed register for features "sgx1" and "sgx2". Double checked all other
  features, just to be sure.
* Addes missing help message in sync_qemu_i386_features.py.
* Merged all eax=0x12 ecx=0x01 features (sgx-...).

Thanks Jiri for the review.

> I'm not sure about the "for now" part here [patch #2, "cpu_x86: Ignore
> alias names"]. Do you think we can do something clever with them while
> still not accepting them in domain XML (accepting aliases in the XML
> would just make such XMLs unnecessarily incompatible with older libvirt
> releases)?

I am planning on using this information in virQEMUCapsCPUFeatureTranslate.
Would be nice if we could deduplicate the information of how to translate
qemu feature names into libvirt names. I agree that we should not accept
the alias names in XML.

Tim Wiederhake (24):
  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 features "sgx-..."
  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



More information about the libvir-list mailing list