[libvirt] [PATCH v3 00/28] qemu: Detect host CPU model by asking QEMU on x86_64

Jiri Denemark posted 28 patches 7 years, 1 month ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/libvirt tags/patchew/cover.1487858696.git.jdenemar@redhat.com
...k.xml => x86_64-host+host-model-nofallback.xml} |   0
...t+host-model.xml => x86_64-host+host-model.xml} |   0
...l => x86_64-host+host-passthrough-features.xml} |   0
...hrough.xml => x86_64-host+host-passthrough.xml} |   0
.../{x86-host+min.xml => x86_64-host+min.xml}      |   0
...ult.xml => x86_64-host+penryn-force-result.xml} |   0
...-host+pentium3.xml => x86_64-host+pentium3.xml} |   0
...l => x86_64-host+strict-force-extra-result.xml} |   0
...-host-Haswell-noTSX+Haswell,haswell-result.xml} |   0
...Haswell-noTSX+Haswell-noTSX,haswell-result.xml} |   0
...64-host-Haswell-noTSX+Haswell-noTSX-result.xml} |   0
...ell-noTSX.xml => x86_64-host-Haswell-noTSX.xml} |   0
...SandyBridge.xml => x86_64-host-SandyBridge.xml} |   0
...-host-amd-fake.xml => x86_64-host-amd-fake.xml} |   0
.../{x86-host-amd.xml => x86_64-host-amd.xml}      |   0
....xml => x86_64-host-better+pentium3-result.xml} |   0
...{x86-host-better.xml => x86_64-host-better.xml} |   0
...incomp-arch.xml => x86_64-host-incomp-arch.xml} |   0
...model.xml => x86_64-host-invtsc+host-model.xml} |   0
...{x86-host-invtsc.xml => x86_64-host-invtsc.xml} |   0
...llback.xml => x86_64-host-model-nofallback.xml} |   0
.../{x86-host-model.xml => x86_64-host-model.xml}  |   0
...ost-no-vendor.xml => x86_64-host-no-vendor.xml} |   0
...es.xml => x86_64-host-passthrough-features.xml} |   0
...passthrough.xml => x86_64-host-passthrough.xml} |   0
...sult.xml => x86_64-host-worse+guest-result.xml} |   0
.../{x86-host-worse.xml => x86_64-host-worse.xml}  |   0
.../cputestdata/{x86-host.xml => x86_64-host.xml}  |   0
tests/cputestdata/{x86-min.xml => x86_64-min.xml}  |   0
...86-penryn-force.xml => x86_64-penryn-force.xml} |   0
...86-pentium3-amd.xml => x86_64-pentium3-amd.xml} |   0
.../{x86-pentium3.xml => x86_64-pentium3.xml}      |   0
...trict-disable.xml => x86_64-strict-disable.xml} |   0
...rce-extra.xml => x86_64-strict-force-extra.xml} |   0
...{x86-strict-full.xml => x86_64-strict-full.xml} |   0
.../{x86-strict.xml => x86_64-strict.xml}          |   0
tests/domaincapsschemadata/qemu_2.8.0.s390x.xml    |   2 +-
.../domaincapsschemadata/qemu_2.9.0-tcg.x86_64.xml | 145 ++++
tests/domaincapsschemadata/qemu_2.9.0.x86_64.xml   | 124 +++
tests/domaincapstest.c                             |   8 +
.../qemucapabilitiesdata/caps_2.8.0.s390x.replies  |   8 +
tests/qemucapabilitiesdata/caps_2.8.0.s390x.xml    |  32 +-
.../qemucapabilitiesdata/caps_2.9.0.x86_64.replies | 879 ++++++++++++++++++++-
tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml   | 465 ++++++++++-
tests/qemumonitorjsontest.c                        |   4 +-
tests/qemuxml2argvtest.c                           |   3 +-
267 files changed, 6731 insertions(+), 2055 deletions(-)
create mode 100755 tests/cputestdata/cpu-convert.py
delete mode 100644 tests/cputestdata/x86-cpuid-A10-5800K.json
delete mode 100644 tests/cputestdata/x86-cpuid-Core-i5-2500.json
delete mode 100644 tests/cputestdata/x86-cpuid-Core-i5-2540M.json
delete mode 100644 tests/cputestdata/x86-cpuid-Core-i5-4670T.json
delete mode 100644 tests/cputestdata/x86-cpuid-Core-i5-6600.json
delete mode 100644 tests/cputestdata/x86-cpuid-Core-i7-2600.json
delete mode 100644 tests/cputestdata/x86-cpuid-Core-i7-3740QM.json
delete mode 100644 tests/cputestdata/x86-cpuid-Core-i7-3770.json
delete mode 100644 tests/cputestdata/x86-cpuid-Core-i7-4600U.json
delete mode 100644 tests/cputestdata/x86-cpuid-Core-i7-5600U-json.xml
delete mode 100644 tests/cputestdata/x86-cpuid-Core-i7-5600U.json
delete mode 100644 tests/cputestdata/x86-cpuid-Core2-E6850.json
delete mode 100644 tests/cputestdata/x86-cpuid-Opteron-2350.json
delete mode 100644 tests/cputestdata/x86-cpuid-Opteron-6234.json
delete mode 100644 tests/cputestdata/x86-cpuid-Phenom-B95.json
delete mode 100644 tests/cputestdata/x86-cpuid-Xeon-E3-1245.json
delete mode 100644 tests/cputestdata/x86-cpuid-Xeon-E5-2630.json
delete mode 100644 tests/cputestdata/x86-cpuid-Xeon-E5-2650.json
delete mode 100644 tests/cputestdata/x86-cpuid-Xeon-E7-4820.json
delete mode 100644 tests/cputestdata/x86-cpuid-Xeon-W3520.json
rename tests/cputestdata/{x86-Haswell-noTSX-nofallback.xml => x86_64-Haswell-noTSX-nofallback.xml} (100%)
rename tests/cputestdata/{x86-Haswell-noTSX.xml => x86_64-Haswell-noTSX.xml} (100%)
rename tests/cputestdata/{x86-Haswell.xml => x86_64-Haswell.xml} (100%)
rename tests/cputestdata/{x86-baseline-1-result.xml => x86_64-baseline-1-result.xml} (100%)
rename tests/cputestdata/{x86-baseline-1.xml => x86_64-baseline-1.xml} (100%)
rename tests/cputestdata/{x86-baseline-2-result.xml => x86_64-baseline-2-result.xml} (100%)
rename tests/cputestdata/{x86-baseline-2.xml => x86_64-baseline-2.xml} (100%)
rename tests/cputestdata/{x86-baseline-3-expanded.xml => x86_64-baseline-3-expanded.xml} (100%)
rename tests/cputestdata/{x86-baseline-3-result.xml => x86_64-baseline-3-result.xml} (100%)
rename tests/cputestdata/{x86-baseline-3.xml => x86_64-baseline-3.xml} (100%)
rename tests/cputestdata/{x86-baseline-4-expanded.xml => x86_64-baseline-4-expanded.xml} (100%)
rename tests/cputestdata/{x86-baseline-4-result.xml => x86_64-baseline-4-result.xml} (100%)
rename tests/cputestdata/{x86-baseline-4.xml => x86_64-baseline-4.xml} (100%)
rename tests/cputestdata/{x86-baseline-5-expanded.xml => x86_64-baseline-5-expanded.xml} (100%)
rename tests/cputestdata/{x86-baseline-5-result.xml => x86_64-baseline-5-result.xml} (100%)
rename tests/cputestdata/{x86-baseline-5.xml => x86_64-baseline-5.xml} (100%)
rename tests/cputestdata/{x86-baseline-6-migratable.xml => x86_64-baseline-6-migratable.xml} (100%)
rename tests/cputestdata/{x86-baseline-6-result.xml => x86_64-baseline-6-result.xml} (100%)
rename tests/cputestdata/{x86-baseline-6.xml => x86_64-baseline-6.xml} (100%)
rename tests/cputestdata/{x86-baseline-7-result.xml => x86_64-baseline-7-result.xml} (100%)
rename tests/cputestdata/{x86-baseline-7.xml => x86_64-baseline-7.xml} (100%)
rename tests/cputestdata/{x86-baseline-8-result.xml => x86_64-baseline-8-result.xml} (100%)
rename tests/cputestdata/{x86-baseline-8.xml => x86_64-baseline-8.xml} (100%)
rename tests/cputestdata/{x86-baseline-incompatible-vendors.xml => x86_64-baseline-incompatible-vendors.xml} (100%)
rename tests/cputestdata/{x86-baseline-no-vendor-result.xml => x86_64-baseline-no-vendor-result.xml} (100%)
rename tests/cputestdata/{x86-baseline-no-vendor.xml => x86_64-baseline-no-vendor.xml} (100%)
rename tests/cputestdata/{x86-baseline-some-vendors-result.xml => x86_64-baseline-some-vendors-result.xml} (100%)
rename tests/cputestdata/{x86-baseline-some-vendors.xml => x86_64-baseline-some-vendors.xml} (100%)
rename tests/cputestdata/{x86-bogus-feature.xml => x86_64-bogus-feature.xml} (100%)
rename tests/cputestdata/{x86-bogus-model.xml => x86_64-bogus-model.xml} (100%)
rename tests/cputestdata/{x86-bogus-vendor.xml => x86_64-bogus-vendor.xml} (100%)
rename tests/cputestdata/{x86-cpuid-A10-5800K-guest.xml => x86_64-cpuid-A10-5800K-guest.xml} (100%)
rename tests/cputestdata/{x86-cpuid-A10-5800K-host.xml => x86_64-cpuid-A10-5800K-host.xml} (100%)
rename tests/cputestdata/{x86-cpuid-A10-5800K-json.xml => x86_64-cpuid-A10-5800K-json.xml} (96%)
create mode 100644 tests/cputestdata/x86_64-cpuid-A10-5800K.json
rename tests/cputestdata/{x86-cpuid-A10-5800K.xml => x86_64-cpuid-A10-5800K.xml} (100%)
rename tests/cputestdata/{x86-cpuid-Atom-D510-guest.xml => x86_64-cpuid-Atom-D510-guest.xml} (100%)
rename tests/cputestdata/{x86-cpuid-Atom-D510-host.xml => x86_64-cpuid-Atom-D510-host.xml} (100%)
rename tests/cputestdata/{x86-cpuid-Atom-D510.xml => x86_64-cpuid-Atom-D510.xml} (100%)
rename tests/cputestdata/{x86-cpuid-Atom-N450-guest.xml => x86_64-cpuid-Atom-N450-guest.xml} (100%)
rename tests/cputestdata/{x86-cpuid-Atom-N450-host.xml => x86_64-cpuid-Atom-N450-host.xml} (100%)
rename tests/cputestdata/{x86-cpuid-Atom-N450.xml => x86_64-cpuid-Atom-N450.xml} (100%)
rename tests/cputestdata/{x86-cpuid-Core-i5-2500-guest.xml => x86_64-cpuid-Core-i5-2500-guest.xml} (100%)
rename tests/cputestdata/{x86-cpuid-Core-i5-2500-host.xml => x86_64-cpuid-Core-i5-2500-host.xml} (100%)
rename tests/cputestdata/{x86-cpuid-Core-i5-2540M-json.xml => x86_64-cpuid-Core-i5-2500-json.xml} (94%)
create mode 100644 tests/cputestdata/x86_64-cpuid-Core-i5-2500.json
rename tests/cputestdata/{x86-cpuid-Core-i5-2500.xml => x86_64-cpuid-Core-i5-2500.xml} (100%)
rename tests/cputestdata/{x86-cpuid-Core-i5-2540M-guest.xml => x86_64-cpuid-Core-i5-2540M-guest.xml} (100%)
rename tests/cputestdata/{x86-cpuid-Core-i5-2540M-host.xml => x86_64-cpuid-Core-i5-2540M-host.xml} (100%)
rename tests/cputestdata/{x86-cpuid-Core-i5-2500-json.xml => x86_64-cpuid-Core-i5-2540M-json.xml} (94%)
create mode 100644 tests/cputestdata/x86_64-cpuid-Core-i5-2540M.json
rename tests/cputestdata/{x86-cpuid-Core-i5-2540M.xml => x86_64-cpuid-Core-i5-2540M.xml} (100%)
rename tests/cputestdata/{x86-cpuid-Core-i5-4670T-guest.xml => x86_64-cpuid-Core-i5-4670T-guest.xml} (100%)
rename tests/cputestdata/{x86-cpuid-Core-i5-4670T-host.xml => x86_64-cpuid-Core-i5-4670T-host.xml} (100%)
rename tests/cputestdata/{x86-cpuid-Core-i5-4670T-json.xml => x86_64-cpuid-Core-i5-4670T-json.xml} (95%)
create mode 100644 tests/cputestdata/x86_64-cpuid-Core-i5-4670T.json
rename tests/cputestdata/{x86-cpuid-Core-i5-4670T.xml => x86_64-cpuid-Core-i5-4670T.xml} (100%)
rename tests/cputestdata/{x86-cpuid-Core-i5-6600-guest.xml => x86_64-cpuid-Core-i5-6600-guest.xml} (100%)
rename tests/cputestdata/{x86-cpuid-Core-i5-6600-host.xml => x86_64-cpuid-Core-i5-6600-host.xml} (100%)
rename tests/cputestdata/{x86-cpuid-Core-i5-6600-json.xml => x86_64-cpuid-Core-i5-6600-json.xml} (93%)
create mode 100644 tests/cputestdata/x86_64-cpuid-Core-i5-6600.json
rename tests/cputestdata/{x86-cpuid-Core-i5-6600.xml => x86_64-cpuid-Core-i5-6600.xml} (100%)
rename tests/cputestdata/{x86-cpuid-Core-i7-2600-guest.xml => x86_64-cpuid-Core-i7-2600-guest.xml} (100%)
rename tests/cputestdata/{x86-cpuid-Core-i7-2600-host.xml => x86_64-cpuid-Core-i7-2600-host.xml} (100%)
rename tests/cputestdata/{x86-cpuid-Core-i7-2600-json.xml => x86_64-cpuid-Core-i7-2600-json.xml} (93%)
create mode 100644 tests/cputestdata/x86_64-cpuid-Core-i7-2600.json
rename tests/cputestdata/{x86-cpuid-Core-i7-2600.xml => x86_64-cpuid-Core-i7-2600.xml} (100%)
rename tests/cputestdata/{x86-cpuid-Core-i7-3520M-guest.xml => x86_64-cpuid-Core-i7-3520M-guest.xml} (100%)
rename tests/cputestdata/{x86-cpuid-Core-i7-3520M-host.xml => x86_64-cpuid-Core-i7-3520M-host.xml} (100%)
rename tests/cputestdata/{x86-cpuid-Core-i7-3520M.xml => x86_64-cpuid-Core-i7-3520M.xml} (100%)
rename tests/cputestdata/{x86-cpuid-Core-i7-3740QM-guest.xml => x86_64-cpuid-Core-i7-3740QM-guest.xml} (100%)
rename tests/cputestdata/{x86-cpuid-Core-i7-3740QM-host.xml => x86_64-cpuid-Core-i7-3740QM-host.xml} (100%)
rename tests/cputestdata/{x86-cpuid-Core-i7-3740QM-json.xml => x86_64-cpuid-Core-i7-3740QM-json.xml} (93%)
create mode 100644 tests/cputestdata/x86_64-cpuid-Core-i7-3740QM.json
rename tests/cputestdata/{x86-cpuid-Core-i7-3740QM.xml => x86_64-cpuid-Core-i7-3740QM.xml} (100%)
rename tests/cputestdata/{x86-cpuid-Core-i7-3770-guest.xml => x86_64-cpuid-Core-i7-3770-guest.xml} (100%)
rename tests/cputestdata/{x86-cpuid-Core-i7-3770-host.xml => x86_64-cpuid-Core-i7-3770-host.xml} (100%)
rename tests/cputestdata/{x86-cpuid-Core-i7-3770-json.xml => x86_64-cpuid-Core-i7-3770-json.xml} (92%)
create mode 100644 tests/cputestdata/x86_64-cpuid-Core-i7-3770.json
rename tests/cputestdata/{x86-cpuid-Core-i7-3770.xml => x86_64-cpuid-Core-i7-3770.xml} (100%)
rename tests/cputestdata/{x86-cpuid-Core-i7-4600U-guest.xml => x86_64-cpuid-Core-i7-4600U-guest.xml} (100%)
rename tests/cputestdata/{x86-cpuid-Core-i7-4600U-host.xml => x86_64-cpuid-Core-i7-4600U-host.xml} (100%)
rename tests/cputestdata/{x86-cpuid-Core-i7-4600U-json.xml => x86_64-cpuid-Core-i7-4600U-json.xml} (95%)
create mode 100644 tests/cputestdata/x86_64-cpuid-Core-i7-4600U.json
rename tests/cputestdata/{x86-cpuid-Core-i7-4600U.xml => x86_64-cpuid-Core-i7-4600U.xml} (100%)
rename tests/cputestdata/{x86-cpuid-Core-i7-5600U-guest.xml => x86_64-cpuid-Core-i7-5600U-guest.xml} (100%)
rename tests/cputestdata/{x86-cpuid-Core-i7-5600U-host.xml => x86_64-cpuid-Core-i7-5600U-host.xml} (100%)
create mode 100644 tests/cputestdata/x86_64-cpuid-Core-i7-5600U-json.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Core-i7-5600U.json
rename tests/cputestdata/{x86-cpuid-Core-i7-5600U.xml => x86_64-cpuid-Core-i7-5600U.xml} (100%)
rename tests/cputestdata/{x86-cpuid-Core2-E6850-guest.xml => x86_64-cpuid-Core2-E6850-guest.xml} (100%)
rename tests/cputestdata/{x86-cpuid-Core2-E6850-host.xml => x86_64-cpuid-Core2-E6850-host.xml} (100%)
rename tests/cputestdata/{x86-cpuid-Core2-E6850-json.xml => x86_64-cpuid-Core2-E6850-json.xml} (75%)
create mode 100644 tests/cputestdata/x86_64-cpuid-Core2-E6850.json
rename tests/cputestdata/{x86-cpuid-Core2-E6850.xml => x86_64-cpuid-Core2-E6850.xml} (100%)
rename tests/cputestdata/{x86-cpuid-Core2-Q9500-guest.xml => x86_64-cpuid-Core2-Q9500-guest.xml} (100%)
rename tests/cputestdata/{x86-cpuid-Core2-Q9500-host.xml => x86_64-cpuid-Core2-Q9500-host.xml} (100%)
rename tests/cputestdata/{x86-cpuid-Core2-Q9500.xml => x86_64-cpuid-Core2-Q9500.xml} (100%)
rename tests/cputestdata/{x86-cpuid-FX-8150-guest.xml => x86_64-cpuid-FX-8150-guest.xml} (100%)
rename tests/cputestdata/{x86-cpuid-FX-8150-host.xml => x86_64-cpuid-FX-8150-host.xml} (100%)
rename tests/cputestdata/{x86-cpuid-FX-8150.xml => x86_64-cpuid-FX-8150.xml} (100%)
rename tests/cputestdata/{x86-cpuid-Opteron-1352-guest.xml => x86_64-cpuid-Opteron-1352-guest.xml} (100%)
rename tests/cputestdata/{x86-cpuid-Opteron-1352-host.xml => x86_64-cpuid-Opteron-1352-host.xml} (100%)
rename tests/cputestdata/{x86-cpuid-Opteron-1352.xml => x86_64-cpuid-Opteron-1352.xml} (100%)
rename tests/cputestdata/{x86-cpuid-Opteron-2350-guest.xml => x86_64-cpuid-Opteron-2350-guest.xml} (100%)
rename tests/cputestdata/{x86-cpuid-Opteron-2350-host.xml => x86_64-cpuid-Opteron-2350-host.xml} (100%)
rename tests/cputestdata/{x86-cpuid-Opteron-2350-json.xml => x86_64-cpuid-Opteron-2350-json.xml} (97%)
create mode 100644 tests/cputestdata/x86_64-cpuid-Opteron-2350.json
rename tests/cputestdata/{x86-cpuid-Opteron-2350.xml => x86_64-cpuid-Opteron-2350.xml} (100%)
rename tests/cputestdata/{x86-cpuid-Opteron-6234-guest.xml => x86_64-cpuid-Opteron-6234-guest.xml} (100%)
rename tests/cputestdata/{x86-cpuid-Opteron-6234-host.xml => x86_64-cpuid-Opteron-6234-host.xml} (100%)
rename tests/cputestdata/{x86-cpuid-Opteron-6234-json.xml => x86_64-cpuid-Opteron-6234-json.xml} (96%)
create mode 100644 tests/cputestdata/x86_64-cpuid-Opteron-6234.json
rename tests/cputestdata/{x86-cpuid-Opteron-6234.xml => x86_64-cpuid-Opteron-6234.xml} (100%)
rename tests/cputestdata/{x86-cpuid-Opteron-6282-guest.xml => x86_64-cpuid-Opteron-6282-guest.xml} (100%)
rename tests/cputestdata/{x86-cpuid-Opteron-6282-host.xml => x86_64-cpuid-Opteron-6282-host.xml} (100%)
rename tests/cputestdata/{x86-cpuid-Opteron-6282.xml => x86_64-cpuid-Opteron-6282.xml} (100%)
rename tests/cputestdata/{x86-cpuid-Pentium-P6100-guest.xml => x86_64-cpuid-Pentium-P6100-guest.xml} (100%)
rename tests/cputestdata/{x86-cpuid-Pentium-P6100-host.xml => x86_64-cpuid-Pentium-P6100-host.xml} (100%)
rename tests/cputestdata/{x86-cpuid-Pentium-P6100.xml => x86_64-cpuid-Pentium-P6100.xml} (100%)
rename tests/cputestdata/{x86-cpuid-Phenom-B95-guest.xml => x86_64-cpuid-Phenom-B95-guest.xml} (100%)
rename tests/cputestdata/{x86-cpuid-Phenom-B95-host.xml => x86_64-cpuid-Phenom-B95-host.xml} (100%)
rename tests/cputestdata/{x86-cpuid-Phenom-B95-json.xml => x86_64-cpuid-Phenom-B95-json.xml} (97%)
create mode 100644 tests/cputestdata/x86_64-cpuid-Phenom-B95.json
rename tests/cputestdata/{x86-cpuid-Phenom-B95.xml => x86_64-cpuid-Phenom-B95.xml} (100%)
rename tests/cputestdata/{x86-cpuid-Xeon-5110-guest.xml => x86_64-cpuid-Xeon-5110-guest.xml} (100%)
rename tests/cputestdata/{x86-cpuid-Xeon-5110-host.xml => x86_64-cpuid-Xeon-5110-host.xml} (100%)
rename tests/cputestdata/{x86-cpuid-Xeon-5110.xml => x86_64-cpuid-Xeon-5110.xml} (100%)
rename tests/cputestdata/{x86-cpuid-Xeon-E3-1245-guest.xml => x86_64-cpuid-Xeon-E3-1245-guest.xml} (100%)
rename tests/cputestdata/{x86-cpuid-Xeon-E3-1245-host.xml => x86_64-cpuid-Xeon-E3-1245-host.xml} (100%)
rename tests/cputestdata/{x86-cpuid-Xeon-E3-1245-json.xml => x86_64-cpuid-Xeon-E3-1245-json.xml} (93%)
create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-E3-1245.json
rename tests/cputestdata/{x86-cpuid-Xeon-E3-1245.xml => x86_64-cpuid-Xeon-E3-1245.xml} (100%)
rename tests/cputestdata/{x86-cpuid-Xeon-E5-2630-guest.xml => x86_64-cpuid-Xeon-E5-2630-guest.xml} (100%)
rename tests/cputestdata/{x86-cpuid-Xeon-E5-2630-host.xml => x86_64-cpuid-Xeon-E5-2630-host.xml} (100%)
rename tests/cputestdata/{x86-cpuid-Xeon-E5-2630-json.xml => x86_64-cpuid-Xeon-E5-2630-json.xml} (95%)
create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-E5-2630.json
rename tests/cputestdata/{x86-cpuid-Xeon-E5-2630.xml => x86_64-cpuid-Xeon-E5-2630.xml} (100%)
rename tests/cputestdata/{x86-cpuid-Xeon-E5-2650-guest.xml => x86_64-cpuid-Xeon-E5-2650-guest.xml} (100%)
rename tests/cputestdata/{x86-cpuid-Xeon-E5-2650-host.xml => x86_64-cpuid-Xeon-E5-2650-host.xml} (100%)
rename tests/cputestdata/{x86-cpuid-Xeon-E5-2650-json.xml => x86_64-cpuid-Xeon-E5-2650-json.xml} (94%)
create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-E5-2650.json
rename tests/cputestdata/{x86-cpuid-Xeon-E5-2650.xml => x86_64-cpuid-Xeon-E5-2650.xml} (100%)
rename tests/cputestdata/{x86-cpuid-Xeon-E7-4820-guest.xml => x86_64-cpuid-Xeon-E7-4820-guest.xml} (100%)
rename tests/cputestdata/{x86-cpuid-Xeon-E7-4820-host.xml => x86_64-cpuid-Xeon-E7-4820-host.xml} (100%)
rename tests/cputestdata/{x86-cpuid-Xeon-E7-4820-json.xml => x86_64-cpuid-Xeon-E7-4820-json.xml} (94%)
create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-E7-4820.json
rename tests/cputestdata/{x86-cpuid-Xeon-E7-4820.xml => x86_64-cpuid-Xeon-E7-4820.xml} (100%)
rename tests/cputestdata/{x86-cpuid-Xeon-W3520-guest.xml => x86_64-cpuid-Xeon-W3520-guest.xml} (100%)
rename tests/cputestdata/{x86-cpuid-Xeon-W3520-host.xml => x86_64-cpuid-Xeon-W3520-host.xml} (100%)
rename tests/cputestdata/{x86-cpuid-Xeon-W3520-json.xml => x86_64-cpuid-Xeon-W3520-json.xml} (93%)
create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-W3520.json
rename tests/cputestdata/{x86-cpuid-Xeon-W3520.xml => x86_64-cpuid-Xeon-W3520.xml} (100%)
rename tests/cputestdata/{x86-cpuid-Xeon-X5460-guest.xml => x86_64-cpuid-Xeon-X5460-guest.xml} (100%)
rename tests/cputestdata/{x86-cpuid-Xeon-X5460-host.xml => x86_64-cpuid-Xeon-X5460-host.xml} (100%)
rename tests/cputestdata/{x86-cpuid-Xeon-X5460.xml => x86_64-cpuid-Xeon-X5460.xml} (100%)
rename tests/cputestdata/{x86-exact-disable-extra.xml => x86_64-exact-disable-extra.xml} (100%)
rename tests/cputestdata/{x86-exact-disable.xml => x86_64-exact-disable.xml} (100%)
rename tests/cputestdata/{x86-exact-disable2.xml => x86_64-exact-disable2.xml} (100%)
rename tests/cputestdata/{x86-exact-forbid-extra.xml => x86_64-exact-forbid-extra.xml} (100%)
rename tests/cputestdata/{x86-exact-forbid.xml => x86_64-exact-forbid.xml} (100%)
rename tests/cputestdata/{x86-exact-force-Haswell.xml => x86_64-exact-force-Haswell.xml} (100%)
rename tests/cputestdata/{x86-exact-force.xml => x86_64-exact-force.xml} (100%)
rename tests/cputestdata/{x86-exact-require-extra.xml => x86_64-exact-require-extra.xml} (100%)
rename tests/cputestdata/{x86-exact-require.xml => x86_64-exact-require.xml} (100%)
rename tests/cputestdata/{x86-exact.xml => x86_64-exact.xml} (100%)
rename tests/cputestdata/{x86-guest-nofallback.xml => x86_64-guest-nofallback.xml} (100%)
rename tests/cputestdata/{x86-guest.xml => x86_64-guest.xml} (100%)
rename tests/cputestdata/{x86-host+guest,model486-result.xml => x86_64-host+guest,model486-result.xml} (100%)
rename tests/cputestdata/{x86-host+guest,models-result.xml => x86_64-host+guest,models-result.xml} (100%)
rename tests/cputestdata/{x86-host+guest-result.xml => x86_64-host+guest-result.xml} (100%)
rename tests/cputestdata/{x86-host+guest.xml => x86_64-host+guest.xml} (100%)
rename tests/cputestdata/{x86-host+host+host-model,models-result.xml => x86_64-host+host+host-model,models-result.xml} (100%)
rename tests/cputestdata/{x86-host+host-model-nofallback.xml => x86_64-host+host-model-nofallback.xml} (100%)
rename tests/cputestdata/{x86-host+host-model.xml => x86_64-host+host-model.xml} (100%)
rename tests/cputestdata/{x86-host+host-passthrough-features.xml => x86_64-host+host-passthrough-features.xml} (100%)
rename tests/cputestdata/{x86-host+host-passthrough.xml => x86_64-host+host-passthrough.xml} (100%)
rename tests/cputestdata/{x86-host+min.xml => x86_64-host+min.xml} (100%)
rename tests/cputestdata/{x86-host+penryn-force-result.xml => x86_64-host+penryn-force-result.xml} (100%)
rename tests/cputestdata/{x86-host+pentium3.xml => x86_64-host+pentium3.xml} (100%)
rename tests/cputestdata/{x86-host+strict-force-extra-result.xml => x86_64-host+strict-force-extra-result.xml} (100%)
rename tests/cputestdata/{x86-host-Haswell-noTSX+Haswell,haswell-result.xml => x86_64-host-Haswell-noTSX+Haswell,haswell-result.xml} (100%)
rename tests/cputestdata/{x86-host-Haswell-noTSX+Haswell-noTSX,haswell-result.xml => x86_64-host-Haswell-noTSX+Haswell-noTSX,haswell-result.xml} (100%)
rename tests/cputestdata/{x86-host-Haswell-noTSX+Haswell-noTSX-result.xml => x86_64-host-Haswell-noTSX+Haswell-noTSX-result.xml} (100%)
rename tests/cputestdata/{x86-host-Haswell-noTSX.xml => x86_64-host-Haswell-noTSX.xml} (100%)
rename tests/cputestdata/{x86-host-SandyBridge.xml => x86_64-host-SandyBridge.xml} (100%)
rename tests/cputestdata/{x86-host-amd-fake.xml => x86_64-host-amd-fake.xml} (100%)
rename tests/cputestdata/{x86-host-amd.xml => x86_64-host-amd.xml} (100%)
rename tests/cputestdata/{x86-host-better+pentium3-result.xml => x86_64-host-better+pentium3-result.xml} (100%)
rename tests/cputestdata/{x86-host-better.xml => x86_64-host-better.xml} (100%)
rename tests/cputestdata/{x86-host-incomp-arch.xml => x86_64-host-incomp-arch.xml} (100%)
rename tests/cputestdata/{x86-host-invtsc+host-model.xml => x86_64-host-invtsc+host-model.xml} (100%)
rename tests/cputestdata/{x86-host-invtsc.xml => x86_64-host-invtsc.xml} (100%)
rename tests/cputestdata/{x86-host-model-nofallback.xml => x86_64-host-model-nofallback.xml} (100%)
rename tests/cputestdata/{x86-host-model.xml => x86_64-host-model.xml} (100%)
rename tests/cputestdata/{x86-host-no-vendor.xml => x86_64-host-no-vendor.xml} (100%)
rename tests/cputestdata/{x86-host-passthrough-features.xml => x86_64-host-passthrough-features.xml} (100%)
rename tests/cputestdata/{x86-host-passthrough.xml => x86_64-host-passthrough.xml} (100%)
rename tests/cputestdata/{x86-host-worse+guest-result.xml => x86_64-host-worse+guest-result.xml} (100%)
rename tests/cputestdata/{x86-host-worse.xml => x86_64-host-worse.xml} (100%)
rename tests/cputestdata/{x86-host.xml => x86_64-host.xml} (100%)
rename tests/cputestdata/{x86-min.xml => x86_64-min.xml} (100%)
rename tests/cputestdata/{x86-penryn-force.xml => x86_64-penryn-force.xml} (100%)
rename tests/cputestdata/{x86-pentium3-amd.xml => x86_64-pentium3-amd.xml} (100%)
rename tests/cputestdata/{x86-pentium3.xml => x86_64-pentium3.xml} (100%)
rename tests/cputestdata/{x86-strict-disable.xml => x86_64-strict-disable.xml} (100%)
rename tests/cputestdata/{x86-strict-force-extra.xml => x86_64-strict-force-extra.xml} (100%)
rename tests/cputestdata/{x86-strict-full.xml => x86_64-strict-full.xml} (100%)
rename tests/cputestdata/{x86-strict.xml => x86_64-strict.xml} (100%)
create mode 100644 tests/domaincapsschemadata/qemu_2.9.0-tcg.x86_64.xml
create mode 100644 tests/domaincapsschemadata/qemu_2.9.0.x86_64.xml
[libvirt] [PATCH v3 00/28] qemu: Detect host CPU model by asking QEMU on x86_64
Posted by Jiri Denemark 7 years, 1 month ago
Until now host-model CPU mode tried to enable all CPU features supported
by the host CPU even if QEMU/KVM did not support them. This caused a
number of issues and made host-model quite unreliable. Asking QEMU for
the CPU it can provide and the current host makes host-model much more
robust.

This series fixes the following bugs:

    https://bugzilla.redhat.com/show_bug.cgi?id=1018251
    https://bugzilla.redhat.com/show_bug.cgi?id=1371617
    https://bugzilla.redhat.com/show_bug.cgi?id=1372581
    https://bugzilla.redhat.com/show_bug.cgi?id=1404627
    https://bugzilla.redhat.com/show_bug.cgi?id=870071

In addition to that, the following bug should be mostly limited to cases
when an unsupported feature is explicitly requested:

    https://bugzilla.redhat.com/show_bug.cgi?id=1335534

The series relies on features which are not in QEMU yet, but should be
hopefully close enough to be pushed in 2.9.0. In the meantime, Eduardo's
work/x86-query-cpu-expansion-full branch can be used to play with them.

Version 3:
- a few patches which were ACKed in v2 and didn't have any dependencies
  were pushed to make the series a bit smaller
- review comments addressed (see individual patches for more details)

Version 2:
- properly set vendor property in converted test data files
- fix cpu-parse.sh to use "x86_64" prefix for the generated files

Jiri Denemark (28):
  qemucapstest: Update test data for QEMU 2.9.0
  domaincapstest: Add test data for QEMU 2.9.0
  qemu: Refactor virQEMUCapsInitHostCPUModel
  qemu: Fix CPU model fallback in domain capabilities
  docs: Update description of the host-model CPU mode
  qemu: Rename hostCPU/feature element in capabilities cache
  qemu: Prepare for more types in qemuMonitorCPUModelInfo
  qemu: Store more types in qemuMonitorCPUModelInfo
  qemu: Probe "max" CPU model in TCG
  cpu_x86: Drop virCPUx86MakeData and use virCPUDataNew
  cpu_x86: Make virCPUx86DataClear static
  cpu: Rework cpuDataFree
  cpu_x86: Make virCPUx86DataAddCPUID work with virCPUDataPtr
  cpu_x86: Introduce virCPUx86DataSetSignature
  cpu_x86: Introduce virCPUx86DataSetVendor
  cpu_x86: Introduce virCPUx86DataAddFeature
  qemu: Get host CPU model from QEMU on x86_64
  qemu: Use enum for CPU model expansion type
  qemu: Use full CPU model expansion on x86
  qemu: Make virQEMUCapsInitCPUModel testable
  cputest: Rename x86 data files
  cputest: Use virArch enum rather then strings
  cputest: Switch host CPU data scripts to model expansion
  cputest: Convert all json data files to query-cpu-model-expansion
  cputest: Test virQEMUCapsInitCPUModel
  cputest: Drop obsolete CPU test data files
  cputest: Drop .new suffix from CPU test data files
  news: Detect host CPU model by asking QEMU on x86_64

 docs/formatdomain.html.in                          |  37 +-
 docs/news.xml                                      |  11 +
 src/bhyve/bhyve_capabilities.c                     |   2 +-
 src/cpu/cpu.c                                      |  21 +-
 src/cpu/cpu.h                                      |   4 +-
 src/cpu/cpu_arm.c                                  |   7 -
 src/cpu/cpu_ppc64.c                                |   6 +-
 src/cpu/cpu_s390.c                                 |   7 -
 src/cpu/cpu_x86.c                                  | 280 ++++---
 src/cpu/cpu_x86.h                                  |  13 +-
 src/libvirt_private.syms                           |   7 +-
 src/libxl/libxl_capabilities.c                     |  18 +-
 src/qemu/qemu_capabilities.c                       | 463 ++++++++---
 src/qemu/qemu_capabilities.h                       |   3 +-
 src/qemu/qemu_capspriv.h                           |  13 +-
 src/qemu/qemu_command.c                            |   2 +-
 src/qemu/qemu_monitor.c                            |  29 +-
 src/qemu/qemu_monitor.h                            |  35 +-
 src/qemu/qemu_monitor_json.c                       | 107 ++-
 src/qemu/qemu_monitor_json.h                       |   4 +-
 src/qemu/qemu_parse_command.c                      |   2 +-
 src/qemu/qemu_process.c                            |   7 +-
 src/vmware/vmware_conf.c                           |   2 +-
 src/vz/vz_driver.c                                 |   2 +-
 tests/cputest.c                                    | 324 ++++----
 tests/cputestdata/cpu-convert.py                   | 249 ++++++
 tests/cputestdata/cpu-gather.sh                    |  39 +-
 tests/cputestdata/cpu-parse.sh                     |   5 +-
 tests/cputestdata/x86-cpuid-A10-5800K.json         |  77 --
 tests/cputestdata/x86-cpuid-Core-i5-2500.json      |  88 ---
 tests/cputestdata/x86-cpuid-Core-i5-2540M.json     |  82 --
 tests/cputestdata/x86-cpuid-Core-i5-4670T.json     |  77 --
 tests/cputestdata/x86-cpuid-Core-i5-6600.json      |  82 --
 tests/cputestdata/x86-cpuid-Core-i7-2600.json      |  77 --
 tests/cputestdata/x86-cpuid-Core-i7-3740QM.json    |  77 --
 tests/cputestdata/x86-cpuid-Core-i7-3770.json      |  77 --
 tests/cputestdata/x86-cpuid-Core-i7-4600U.json     |  82 --
 tests/cputestdata/x86-cpuid-Core-i7-5600U-json.xml |  12 -
 tests/cputestdata/x86-cpuid-Core-i7-5600U.json     |  88 ---
 tests/cputestdata/x86-cpuid-Core2-E6850.json       |  77 --
 tests/cputestdata/x86-cpuid-Opteron-2350.json      |  71 --
 tests/cputestdata/x86-cpuid-Opteron-6234.json      |  88 ---
 tests/cputestdata/x86-cpuid-Phenom-B95.json        |  77 --
 tests/cputestdata/x86-cpuid-Xeon-E3-1245.json      |  88 ---
 tests/cputestdata/x86-cpuid-Xeon-E5-2630.json      |  77 --
 tests/cputestdata/x86-cpuid-Xeon-E5-2650.json      |  71 --
 tests/cputestdata/x86-cpuid-Xeon-E7-4820.json      |  77 --
 tests/cputestdata/x86-cpuid-Xeon-W3520.json        |  77 --
 ...ack.xml => x86_64-Haswell-noTSX-nofallback.xml} |   0
 ...-Haswell-noTSX.xml => x86_64-Haswell-noTSX.xml} |   0
 .../{x86-Haswell.xml => x86_64-Haswell.xml}        |   0
 ...e-1-result.xml => x86_64-baseline-1-result.xml} |   0
 .../{x86-baseline-1.xml => x86_64-baseline-1.xml}  |   0
 ...e-2-result.xml => x86_64-baseline-2-result.xml} |   0
 .../{x86-baseline-2.xml => x86_64-baseline-2.xml}  |   0
 ...expanded.xml => x86_64-baseline-3-expanded.xml} |   0
 ...e-3-result.xml => x86_64-baseline-3-result.xml} |   0
 .../{x86-baseline-3.xml => x86_64-baseline-3.xml}  |   0
 ...expanded.xml => x86_64-baseline-4-expanded.xml} |   0
 ...e-4-result.xml => x86_64-baseline-4-result.xml} |   0
 .../{x86-baseline-4.xml => x86_64-baseline-4.xml}  |   0
 ...expanded.xml => x86_64-baseline-5-expanded.xml} |   0
 ...e-5-result.xml => x86_64-baseline-5-result.xml} |   0
 .../{x86-baseline-5.xml => x86_64-baseline-5.xml}  |   0
 ...atable.xml => x86_64-baseline-6-migratable.xml} |   0
 ...e-6-result.xml => x86_64-baseline-6-result.xml} |   0
 .../{x86-baseline-6.xml => x86_64-baseline-6.xml}  |   0
 ...e-7-result.xml => x86_64-baseline-7-result.xml} |   0
 .../{x86-baseline-7.xml => x86_64-baseline-7.xml}  |   0
 ...e-8-result.xml => x86_64-baseline-8-result.xml} |   0
 .../{x86-baseline-8.xml => x86_64-baseline-8.xml}  |   0
 ...ml => x86_64-baseline-incompatible-vendors.xml} |   0
 ...lt.xml => x86_64-baseline-no-vendor-result.xml} |   0
 ...no-vendor.xml => x86_64-baseline-no-vendor.xml} |   0
 ...xml => x86_64-baseline-some-vendors-result.xml} |   0
 ...endors.xml => x86_64-baseline-some-vendors.xml} |   0
 ...-bogus-feature.xml => x86_64-bogus-feature.xml} |   0
 ...{x86-bogus-model.xml => x86_64-bogus-model.xml} |   0
 ...86-bogus-vendor.xml => x86_64-bogus-vendor.xml} |   0
 ...-guest.xml => x86_64-cpuid-A10-5800K-guest.xml} |   0
 ...0K-host.xml => x86_64-cpuid-A10-5800K-host.xml} |   0
 ...0K-json.xml => x86_64-cpuid-A10-5800K-json.xml} |   1 +
 tests/cputestdata/x86_64-cpuid-A10-5800K.json      | 203 +++++
 ...id-A10-5800K.xml => x86_64-cpuid-A10-5800K.xml} |   0
 ...-guest.xml => x86_64-cpuid-Atom-D510-guest.xml} |   0
 ...10-host.xml => x86_64-cpuid-Atom-D510-host.xml} |   0
 ...id-Atom-D510.xml => x86_64-cpuid-Atom-D510.xml} |   0
 ...-guest.xml => x86_64-cpuid-Atom-N450-guest.xml} |   0
 ...50-host.xml => x86_64-cpuid-Atom-N450-host.xml} |   0
 ...id-Atom-N450.xml => x86_64-cpuid-Atom-N450.xml} |   0
 ...est.xml => x86_64-cpuid-Core-i5-2500-guest.xml} |   0
 ...host.xml => x86_64-cpuid-Core-i5-2500-host.xml} |   0
 ...json.xml => x86_64-cpuid-Core-i5-2500-json.xml} |   1 +
 tests/cputestdata/x86_64-cpuid-Core-i5-2500.json   | 203 +++++
 ...e-i5-2500.xml => x86_64-cpuid-Core-i5-2500.xml} |   0
 ...st.xml => x86_64-cpuid-Core-i5-2540M-guest.xml} |   0
 ...ost.xml => x86_64-cpuid-Core-i5-2540M-host.xml} |   0
 ...son.xml => x86_64-cpuid-Core-i5-2540M-json.xml} |   1 +
 tests/cputestdata/x86_64-cpuid-Core-i5-2540M.json  | 203 +++++
 ...i5-2540M.xml => x86_64-cpuid-Core-i5-2540M.xml} |   0
 ...st.xml => x86_64-cpuid-Core-i5-4670T-guest.xml} |   0
 ...ost.xml => x86_64-cpuid-Core-i5-4670T-host.xml} |   0
 ...son.xml => x86_64-cpuid-Core-i5-4670T-json.xml} |   1 +
 tests/cputestdata/x86_64-cpuid-Core-i5-4670T.json  | 203 +++++
 ...i5-4670T.xml => x86_64-cpuid-Core-i5-4670T.xml} |   0
 ...est.xml => x86_64-cpuid-Core-i5-6600-guest.xml} |   0
 ...host.xml => x86_64-cpuid-Core-i5-6600-host.xml} |   0
 ...json.xml => x86_64-cpuid-Core-i5-6600-json.xml} |   1 +
 tests/cputestdata/x86_64-cpuid-Core-i5-6600.json   | 203 +++++
 ...e-i5-6600.xml => x86_64-cpuid-Core-i5-6600.xml} |   0
 ...est.xml => x86_64-cpuid-Core-i7-2600-guest.xml} |   0
 ...host.xml => x86_64-cpuid-Core-i7-2600-host.xml} |   0
 ...json.xml => x86_64-cpuid-Core-i7-2600-json.xml} |   1 +
 tests/cputestdata/x86_64-cpuid-Core-i7-2600.json   | 203 +++++
 ...e-i7-2600.xml => x86_64-cpuid-Core-i7-2600.xml} |   0
 ...st.xml => x86_64-cpuid-Core-i7-3520M-guest.xml} |   0
 ...ost.xml => x86_64-cpuid-Core-i7-3520M-host.xml} |   0
 ...i7-3520M.xml => x86_64-cpuid-Core-i7-3520M.xml} |   0
 ...t.xml => x86_64-cpuid-Core-i7-3740QM-guest.xml} |   0
 ...st.xml => x86_64-cpuid-Core-i7-3740QM-host.xml} |   0
 ...on.xml => x86_64-cpuid-Core-i7-3740QM-json.xml} |   1 +
 tests/cputestdata/x86_64-cpuid-Core-i7-3740QM.json | 203 +++++
 ...-3740QM.xml => x86_64-cpuid-Core-i7-3740QM.xml} |   0
 ...est.xml => x86_64-cpuid-Core-i7-3770-guest.xml} |   0
 ...host.xml => x86_64-cpuid-Core-i7-3770-host.xml} |   0
 ...json.xml => x86_64-cpuid-Core-i7-3770-json.xml} |   1 +
 tests/cputestdata/x86_64-cpuid-Core-i7-3770.json   | 203 +++++
 ...e-i7-3770.xml => x86_64-cpuid-Core-i7-3770.xml} |   0
 ...st.xml => x86_64-cpuid-Core-i7-4600U-guest.xml} |   0
 ...ost.xml => x86_64-cpuid-Core-i7-4600U-host.xml} |   0
 ...son.xml => x86_64-cpuid-Core-i7-4600U-json.xml} |   1 +
 tests/cputestdata/x86_64-cpuid-Core-i7-4600U.json  | 203 +++++
 ...i7-4600U.xml => x86_64-cpuid-Core-i7-4600U.xml} |   0
 ...st.xml => x86_64-cpuid-Core-i7-5600U-guest.xml} |   0
 ...ost.xml => x86_64-cpuid-Core-i7-5600U-host.xml} |   0
 .../x86_64-cpuid-Core-i7-5600U-json.xml            |  16 +
 tests/cputestdata/x86_64-cpuid-Core-i7-5600U.json  | 203 +++++
 ...i7-5600U.xml => x86_64-cpuid-Core-i7-5600U.xml} |   0
 ...uest.xml => x86_64-cpuid-Core2-E6850-guest.xml} |   0
 ...-host.xml => x86_64-cpuid-Core2-E6850-host.xml} |   0
 ...-json.xml => x86_64-cpuid-Core2-E6850-json.xml} |   5 +-
 tests/cputestdata/x86_64-cpuid-Core2-E6850.json    | 203 +++++
 ...ore2-E6850.xml => x86_64-cpuid-Core2-E6850.xml} |   0
 ...uest.xml => x86_64-cpuid-Core2-Q9500-guest.xml} |   0
 ...-host.xml => x86_64-cpuid-Core2-Q9500-host.xml} |   0
 ...ore2-Q9500.xml => x86_64-cpuid-Core2-Q9500.xml} |   0
 ...50-guest.xml => x86_64-cpuid-FX-8150-guest.xml} |   0
 ...8150-host.xml => x86_64-cpuid-FX-8150-host.xml} |   0
 ...-cpuid-FX-8150.xml => x86_64-cpuid-FX-8150.xml} |   0
 ...est.xml => x86_64-cpuid-Opteron-1352-guest.xml} |   0
 ...host.xml => x86_64-cpuid-Opteron-1352-host.xml} |   0
 ...eron-1352.xml => x86_64-cpuid-Opteron-1352.xml} |   0
 ...est.xml => x86_64-cpuid-Opteron-2350-guest.xml} |   0
 ...host.xml => x86_64-cpuid-Opteron-2350-host.xml} |   0
 ...json.xml => x86_64-cpuid-Opteron-2350-json.xml} |   1 +
 tests/cputestdata/x86_64-cpuid-Opteron-2350.json   | 203 +++++
 ...eron-2350.xml => x86_64-cpuid-Opteron-2350.xml} |   0
 ...est.xml => x86_64-cpuid-Opteron-6234-guest.xml} |   0
 ...host.xml => x86_64-cpuid-Opteron-6234-host.xml} |   0
 ...json.xml => x86_64-cpuid-Opteron-6234-json.xml} |   1 +
 tests/cputestdata/x86_64-cpuid-Opteron-6234.json   | 203 +++++
 ...eron-6234.xml => x86_64-cpuid-Opteron-6234.xml} |   0
 ...est.xml => x86_64-cpuid-Opteron-6282-guest.xml} |   0
 ...host.xml => x86_64-cpuid-Opteron-6282-host.xml} |   0
 ...eron-6282.xml => x86_64-cpuid-Opteron-6282.xml} |   0
 ...st.xml => x86_64-cpuid-Pentium-P6100-guest.xml} |   0
 ...ost.xml => x86_64-cpuid-Pentium-P6100-host.xml} |   0
 ...um-P6100.xml => x86_64-cpuid-Pentium-P6100.xml} |   0
 ...guest.xml => x86_64-cpuid-Phenom-B95-guest.xml} |   0
 ...5-host.xml => x86_64-cpuid-Phenom-B95-host.xml} |   0
 ...5-json.xml => x86_64-cpuid-Phenom-B95-json.xml} |   1 +
 tests/cputestdata/x86_64-cpuid-Phenom-B95.json     | 203 +++++
 ...-Phenom-B95.xml => x86_64-cpuid-Phenom-B95.xml} |   0
 ...-guest.xml => x86_64-cpuid-Xeon-5110-guest.xml} |   0
 ...10-host.xml => x86_64-cpuid-Xeon-5110-host.xml} |   0
 ...id-Xeon-5110.xml => x86_64-cpuid-Xeon-5110.xml} |   0
 ...est.xml => x86_64-cpuid-Xeon-E3-1245-guest.xml} |   0
 ...host.xml => x86_64-cpuid-Xeon-E3-1245-host.xml} |   0
 ...json.xml => x86_64-cpuid-Xeon-E3-1245-json.xml} |   1 +
 tests/cputestdata/x86_64-cpuid-Xeon-E3-1245.json   | 203 +++++
 ...n-E3-1245.xml => x86_64-cpuid-Xeon-E3-1245.xml} |   0
 ...est.xml => x86_64-cpuid-Xeon-E5-2630-guest.xml} |   0
 ...host.xml => x86_64-cpuid-Xeon-E5-2630-host.xml} |   0
 ...json.xml => x86_64-cpuid-Xeon-E5-2630-json.xml} |   1 +
 tests/cputestdata/x86_64-cpuid-Xeon-E5-2630.json   | 203 +++++
 ...n-E5-2630.xml => x86_64-cpuid-Xeon-E5-2630.xml} |   0
 ...est.xml => x86_64-cpuid-Xeon-E5-2650-guest.xml} |   0
 ...host.xml => x86_64-cpuid-Xeon-E5-2650-host.xml} |   0
 ...json.xml => x86_64-cpuid-Xeon-E5-2650-json.xml} |   1 +
 tests/cputestdata/x86_64-cpuid-Xeon-E5-2650.json   | 203 +++++
 ...n-E5-2650.xml => x86_64-cpuid-Xeon-E5-2650.xml} |   0
 ...est.xml => x86_64-cpuid-Xeon-E7-4820-guest.xml} |   0
 ...host.xml => x86_64-cpuid-Xeon-E7-4820-host.xml} |   0
 ...json.xml => x86_64-cpuid-Xeon-E7-4820-json.xml} |   1 +
 tests/cputestdata/x86_64-cpuid-Xeon-E7-4820.json   | 203 +++++
 ...n-E7-4820.xml => x86_64-cpuid-Xeon-E7-4820.xml} |   0
 ...guest.xml => x86_64-cpuid-Xeon-W3520-guest.xml} |   0
 ...0-host.xml => x86_64-cpuid-Xeon-W3520-host.xml} |   0
 ...0-json.xml => x86_64-cpuid-Xeon-W3520-json.xml} |   1 +
 tests/cputestdata/x86_64-cpuid-Xeon-W3520.json     | 203 +++++
 ...-Xeon-W3520.xml => x86_64-cpuid-Xeon-W3520.xml} |   0
 ...guest.xml => x86_64-cpuid-Xeon-X5460-guest.xml} |   0
 ...0-host.xml => x86_64-cpuid-Xeon-X5460-host.xml} |   0
 ...-Xeon-X5460.xml => x86_64-cpuid-Xeon-X5460.xml} |   0
 ...le-extra.xml => x86_64-exact-disable-extra.xml} |   0
 ...-exact-disable.xml => x86_64-exact-disable.xml} |   0
 ...xact-disable2.xml => x86_64-exact-disable2.xml} |   0
 ...bid-extra.xml => x86_64-exact-forbid-extra.xml} |   0
 ...86-exact-forbid.xml => x86_64-exact-forbid.xml} |   0
 ...-Haswell.xml => x86_64-exact-force-Haswell.xml} |   0
 ...{x86-exact-force.xml => x86_64-exact-force.xml} |   0
 ...re-extra.xml => x86_64-exact-require-extra.xml} |   0
 ...-exact-require.xml => x86_64-exact-require.xml} |   0
 .../{x86-exact.xml => x86_64-exact.xml}            |   0
 ...-nofallback.xml => x86_64-guest-nofallback.xml} |   0
 .../{x86-guest.xml => x86_64-guest.xml}            |   0
 ...t.xml => x86_64-host+guest,model486-result.xml} |   0
 ...ult.xml => x86_64-host+guest,models-result.xml} |   0
 ...est-result.xml => x86_64-host+guest-result.xml} |   0
 .../{x86-host+guest.xml => x86_64-host+guest.xml}  |   0
 ... x86_64-host+host+host-model,models-result.xml} |   0
 ...k.xml => x86_64-host+host-model-nofallback.xml} |   0
 ...t+host-model.xml => x86_64-host+host-model.xml} |   0
 ...l => x86_64-host+host-passthrough-features.xml} |   0
 ...hrough.xml => x86_64-host+host-passthrough.xml} |   0
 .../{x86-host+min.xml => x86_64-host+min.xml}      |   0
 ...ult.xml => x86_64-host+penryn-force-result.xml} |   0
 ...-host+pentium3.xml => x86_64-host+pentium3.xml} |   0
 ...l => x86_64-host+strict-force-extra-result.xml} |   0
 ...-host-Haswell-noTSX+Haswell,haswell-result.xml} |   0
 ...Haswell-noTSX+Haswell-noTSX,haswell-result.xml} |   0
 ...64-host-Haswell-noTSX+Haswell-noTSX-result.xml} |   0
 ...ell-noTSX.xml => x86_64-host-Haswell-noTSX.xml} |   0
 ...SandyBridge.xml => x86_64-host-SandyBridge.xml} |   0
 ...-host-amd-fake.xml => x86_64-host-amd-fake.xml} |   0
 .../{x86-host-amd.xml => x86_64-host-amd.xml}      |   0
 ....xml => x86_64-host-better+pentium3-result.xml} |   0
 ...{x86-host-better.xml => x86_64-host-better.xml} |   0
 ...incomp-arch.xml => x86_64-host-incomp-arch.xml} |   0
 ...model.xml => x86_64-host-invtsc+host-model.xml} |   0
 ...{x86-host-invtsc.xml => x86_64-host-invtsc.xml} |   0
 ...llback.xml => x86_64-host-model-nofallback.xml} |   0
 .../{x86-host-model.xml => x86_64-host-model.xml}  |   0
 ...ost-no-vendor.xml => x86_64-host-no-vendor.xml} |   0
 ...es.xml => x86_64-host-passthrough-features.xml} |   0
 ...passthrough.xml => x86_64-host-passthrough.xml} |   0
 ...sult.xml => x86_64-host-worse+guest-result.xml} |   0
 .../{x86-host-worse.xml => x86_64-host-worse.xml}  |   0
 .../cputestdata/{x86-host.xml => x86_64-host.xml}  |   0
 tests/cputestdata/{x86-min.xml => x86_64-min.xml}  |   0
 ...86-penryn-force.xml => x86_64-penryn-force.xml} |   0
 ...86-pentium3-amd.xml => x86_64-pentium3-amd.xml} |   0
 .../{x86-pentium3.xml => x86_64-pentium3.xml}      |   0
 ...trict-disable.xml => x86_64-strict-disable.xml} |   0
 ...rce-extra.xml => x86_64-strict-force-extra.xml} |   0
 ...{x86-strict-full.xml => x86_64-strict-full.xml} |   0
 .../{x86-strict.xml => x86_64-strict.xml}          |   0
 tests/domaincapsschemadata/qemu_2.8.0.s390x.xml    |   2 +-
 .../domaincapsschemadata/qemu_2.9.0-tcg.x86_64.xml | 145 ++++
 tests/domaincapsschemadata/qemu_2.9.0.x86_64.xml   | 124 +++
 tests/domaincapstest.c                             |   8 +
 .../qemucapabilitiesdata/caps_2.8.0.s390x.replies  |   8 +
 tests/qemucapabilitiesdata/caps_2.8.0.s390x.xml    |  32 +-
 .../qemucapabilitiesdata/caps_2.9.0.x86_64.replies | 879 ++++++++++++++++++++-
 tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml   | 465 ++++++++++-
 tests/qemumonitorjsontest.c                        |   4 +-
 tests/qemuxml2argvtest.c                           |   3 +-
 267 files changed, 6731 insertions(+), 2055 deletions(-)
 create mode 100755 tests/cputestdata/cpu-convert.py
 delete mode 100644 tests/cputestdata/x86-cpuid-A10-5800K.json
 delete mode 100644 tests/cputestdata/x86-cpuid-Core-i5-2500.json
 delete mode 100644 tests/cputestdata/x86-cpuid-Core-i5-2540M.json
 delete mode 100644 tests/cputestdata/x86-cpuid-Core-i5-4670T.json
 delete mode 100644 tests/cputestdata/x86-cpuid-Core-i5-6600.json
 delete mode 100644 tests/cputestdata/x86-cpuid-Core-i7-2600.json
 delete mode 100644 tests/cputestdata/x86-cpuid-Core-i7-3740QM.json
 delete mode 100644 tests/cputestdata/x86-cpuid-Core-i7-3770.json
 delete mode 100644 tests/cputestdata/x86-cpuid-Core-i7-4600U.json
 delete mode 100644 tests/cputestdata/x86-cpuid-Core-i7-5600U-json.xml
 delete mode 100644 tests/cputestdata/x86-cpuid-Core-i7-5600U.json
 delete mode 100644 tests/cputestdata/x86-cpuid-Core2-E6850.json
 delete mode 100644 tests/cputestdata/x86-cpuid-Opteron-2350.json
 delete mode 100644 tests/cputestdata/x86-cpuid-Opteron-6234.json
 delete mode 100644 tests/cputestdata/x86-cpuid-Phenom-B95.json
 delete mode 100644 tests/cputestdata/x86-cpuid-Xeon-E3-1245.json
 delete mode 100644 tests/cputestdata/x86-cpuid-Xeon-E5-2630.json
 delete mode 100644 tests/cputestdata/x86-cpuid-Xeon-E5-2650.json
 delete mode 100644 tests/cputestdata/x86-cpuid-Xeon-E7-4820.json
 delete mode 100644 tests/cputestdata/x86-cpuid-Xeon-W3520.json
 rename tests/cputestdata/{x86-Haswell-noTSX-nofallback.xml => x86_64-Haswell-noTSX-nofallback.xml} (100%)
 rename tests/cputestdata/{x86-Haswell-noTSX.xml => x86_64-Haswell-noTSX.xml} (100%)
 rename tests/cputestdata/{x86-Haswell.xml => x86_64-Haswell.xml} (100%)
 rename tests/cputestdata/{x86-baseline-1-result.xml => x86_64-baseline-1-result.xml} (100%)
 rename tests/cputestdata/{x86-baseline-1.xml => x86_64-baseline-1.xml} (100%)
 rename tests/cputestdata/{x86-baseline-2-result.xml => x86_64-baseline-2-result.xml} (100%)
 rename tests/cputestdata/{x86-baseline-2.xml => x86_64-baseline-2.xml} (100%)
 rename tests/cputestdata/{x86-baseline-3-expanded.xml => x86_64-baseline-3-expanded.xml} (100%)
 rename tests/cputestdata/{x86-baseline-3-result.xml => x86_64-baseline-3-result.xml} (100%)
 rename tests/cputestdata/{x86-baseline-3.xml => x86_64-baseline-3.xml} (100%)
 rename tests/cputestdata/{x86-baseline-4-expanded.xml => x86_64-baseline-4-expanded.xml} (100%)
 rename tests/cputestdata/{x86-baseline-4-result.xml => x86_64-baseline-4-result.xml} (100%)
 rename tests/cputestdata/{x86-baseline-4.xml => x86_64-baseline-4.xml} (100%)
 rename tests/cputestdata/{x86-baseline-5-expanded.xml => x86_64-baseline-5-expanded.xml} (100%)
 rename tests/cputestdata/{x86-baseline-5-result.xml => x86_64-baseline-5-result.xml} (100%)
 rename tests/cputestdata/{x86-baseline-5.xml => x86_64-baseline-5.xml} (100%)
 rename tests/cputestdata/{x86-baseline-6-migratable.xml => x86_64-baseline-6-migratable.xml} (100%)
 rename tests/cputestdata/{x86-baseline-6-result.xml => x86_64-baseline-6-result.xml} (100%)
 rename tests/cputestdata/{x86-baseline-6.xml => x86_64-baseline-6.xml} (100%)
 rename tests/cputestdata/{x86-baseline-7-result.xml => x86_64-baseline-7-result.xml} (100%)
 rename tests/cputestdata/{x86-baseline-7.xml => x86_64-baseline-7.xml} (100%)
 rename tests/cputestdata/{x86-baseline-8-result.xml => x86_64-baseline-8-result.xml} (100%)
 rename tests/cputestdata/{x86-baseline-8.xml => x86_64-baseline-8.xml} (100%)
 rename tests/cputestdata/{x86-baseline-incompatible-vendors.xml => x86_64-baseline-incompatible-vendors.xml} (100%)
 rename tests/cputestdata/{x86-baseline-no-vendor-result.xml => x86_64-baseline-no-vendor-result.xml} (100%)
 rename tests/cputestdata/{x86-baseline-no-vendor.xml => x86_64-baseline-no-vendor.xml} (100%)
 rename tests/cputestdata/{x86-baseline-some-vendors-result.xml => x86_64-baseline-some-vendors-result.xml} (100%)
 rename tests/cputestdata/{x86-baseline-some-vendors.xml => x86_64-baseline-some-vendors.xml} (100%)
 rename tests/cputestdata/{x86-bogus-feature.xml => x86_64-bogus-feature.xml} (100%)
 rename tests/cputestdata/{x86-bogus-model.xml => x86_64-bogus-model.xml} (100%)
 rename tests/cputestdata/{x86-bogus-vendor.xml => x86_64-bogus-vendor.xml} (100%)
 rename tests/cputestdata/{x86-cpuid-A10-5800K-guest.xml => x86_64-cpuid-A10-5800K-guest.xml} (100%)
 rename tests/cputestdata/{x86-cpuid-A10-5800K-host.xml => x86_64-cpuid-A10-5800K-host.xml} (100%)
 rename tests/cputestdata/{x86-cpuid-A10-5800K-json.xml => x86_64-cpuid-A10-5800K-json.xml} (96%)
 create mode 100644 tests/cputestdata/x86_64-cpuid-A10-5800K.json
 rename tests/cputestdata/{x86-cpuid-A10-5800K.xml => x86_64-cpuid-A10-5800K.xml} (100%)
 rename tests/cputestdata/{x86-cpuid-Atom-D510-guest.xml => x86_64-cpuid-Atom-D510-guest.xml} (100%)
 rename tests/cputestdata/{x86-cpuid-Atom-D510-host.xml => x86_64-cpuid-Atom-D510-host.xml} (100%)
 rename tests/cputestdata/{x86-cpuid-Atom-D510.xml => x86_64-cpuid-Atom-D510.xml} (100%)
 rename tests/cputestdata/{x86-cpuid-Atom-N450-guest.xml => x86_64-cpuid-Atom-N450-guest.xml} (100%)
 rename tests/cputestdata/{x86-cpuid-Atom-N450-host.xml => x86_64-cpuid-Atom-N450-host.xml} (100%)
 rename tests/cputestdata/{x86-cpuid-Atom-N450.xml => x86_64-cpuid-Atom-N450.xml} (100%)
 rename tests/cputestdata/{x86-cpuid-Core-i5-2500-guest.xml => x86_64-cpuid-Core-i5-2500-guest.xml} (100%)
 rename tests/cputestdata/{x86-cpuid-Core-i5-2500-host.xml => x86_64-cpuid-Core-i5-2500-host.xml} (100%)
 rename tests/cputestdata/{x86-cpuid-Core-i5-2540M-json.xml => x86_64-cpuid-Core-i5-2500-json.xml} (94%)
 create mode 100644 tests/cputestdata/x86_64-cpuid-Core-i5-2500.json
 rename tests/cputestdata/{x86-cpuid-Core-i5-2500.xml => x86_64-cpuid-Core-i5-2500.xml} (100%)
 rename tests/cputestdata/{x86-cpuid-Core-i5-2540M-guest.xml => x86_64-cpuid-Core-i5-2540M-guest.xml} (100%)
 rename tests/cputestdata/{x86-cpuid-Core-i5-2540M-host.xml => x86_64-cpuid-Core-i5-2540M-host.xml} (100%)
 rename tests/cputestdata/{x86-cpuid-Core-i5-2500-json.xml => x86_64-cpuid-Core-i5-2540M-json.xml} (94%)
 create mode 100644 tests/cputestdata/x86_64-cpuid-Core-i5-2540M.json
 rename tests/cputestdata/{x86-cpuid-Core-i5-2540M.xml => x86_64-cpuid-Core-i5-2540M.xml} (100%)
 rename tests/cputestdata/{x86-cpuid-Core-i5-4670T-guest.xml => x86_64-cpuid-Core-i5-4670T-guest.xml} (100%)
 rename tests/cputestdata/{x86-cpuid-Core-i5-4670T-host.xml => x86_64-cpuid-Core-i5-4670T-host.xml} (100%)
 rename tests/cputestdata/{x86-cpuid-Core-i5-4670T-json.xml => x86_64-cpuid-Core-i5-4670T-json.xml} (95%)
 create mode 100644 tests/cputestdata/x86_64-cpuid-Core-i5-4670T.json
 rename tests/cputestdata/{x86-cpuid-Core-i5-4670T.xml => x86_64-cpuid-Core-i5-4670T.xml} (100%)
 rename tests/cputestdata/{x86-cpuid-Core-i5-6600-guest.xml => x86_64-cpuid-Core-i5-6600-guest.xml} (100%)
 rename tests/cputestdata/{x86-cpuid-Core-i5-6600-host.xml => x86_64-cpuid-Core-i5-6600-host.xml} (100%)
 rename tests/cputestdata/{x86-cpuid-Core-i5-6600-json.xml => x86_64-cpuid-Core-i5-6600-json.xml} (93%)
 create mode 100644 tests/cputestdata/x86_64-cpuid-Core-i5-6600.json
 rename tests/cputestdata/{x86-cpuid-Core-i5-6600.xml => x86_64-cpuid-Core-i5-6600.xml} (100%)
 rename tests/cputestdata/{x86-cpuid-Core-i7-2600-guest.xml => x86_64-cpuid-Core-i7-2600-guest.xml} (100%)
 rename tests/cputestdata/{x86-cpuid-Core-i7-2600-host.xml => x86_64-cpuid-Core-i7-2600-host.xml} (100%)
 rename tests/cputestdata/{x86-cpuid-Core-i7-2600-json.xml => x86_64-cpuid-Core-i7-2600-json.xml} (93%)
 create mode 100644 tests/cputestdata/x86_64-cpuid-Core-i7-2600.json
 rename tests/cputestdata/{x86-cpuid-Core-i7-2600.xml => x86_64-cpuid-Core-i7-2600.xml} (100%)
 rename tests/cputestdata/{x86-cpuid-Core-i7-3520M-guest.xml => x86_64-cpuid-Core-i7-3520M-guest.xml} (100%)
 rename tests/cputestdata/{x86-cpuid-Core-i7-3520M-host.xml => x86_64-cpuid-Core-i7-3520M-host.xml} (100%)
 rename tests/cputestdata/{x86-cpuid-Core-i7-3520M.xml => x86_64-cpuid-Core-i7-3520M.xml} (100%)
 rename tests/cputestdata/{x86-cpuid-Core-i7-3740QM-guest.xml => x86_64-cpuid-Core-i7-3740QM-guest.xml} (100%)
 rename tests/cputestdata/{x86-cpuid-Core-i7-3740QM-host.xml => x86_64-cpuid-Core-i7-3740QM-host.xml} (100%)
 rename tests/cputestdata/{x86-cpuid-Core-i7-3740QM-json.xml => x86_64-cpuid-Core-i7-3740QM-json.xml} (93%)
 create mode 100644 tests/cputestdata/x86_64-cpuid-Core-i7-3740QM.json
 rename tests/cputestdata/{x86-cpuid-Core-i7-3740QM.xml => x86_64-cpuid-Core-i7-3740QM.xml} (100%)
 rename tests/cputestdata/{x86-cpuid-Core-i7-3770-guest.xml => x86_64-cpuid-Core-i7-3770-guest.xml} (100%)
 rename tests/cputestdata/{x86-cpuid-Core-i7-3770-host.xml => x86_64-cpuid-Core-i7-3770-host.xml} (100%)
 rename tests/cputestdata/{x86-cpuid-Core-i7-3770-json.xml => x86_64-cpuid-Core-i7-3770-json.xml} (92%)
 create mode 100644 tests/cputestdata/x86_64-cpuid-Core-i7-3770.json
 rename tests/cputestdata/{x86-cpuid-Core-i7-3770.xml => x86_64-cpuid-Core-i7-3770.xml} (100%)
 rename tests/cputestdata/{x86-cpuid-Core-i7-4600U-guest.xml => x86_64-cpuid-Core-i7-4600U-guest.xml} (100%)
 rename tests/cputestdata/{x86-cpuid-Core-i7-4600U-host.xml => x86_64-cpuid-Core-i7-4600U-host.xml} (100%)
 rename tests/cputestdata/{x86-cpuid-Core-i7-4600U-json.xml => x86_64-cpuid-Core-i7-4600U-json.xml} (95%)
 create mode 100644 tests/cputestdata/x86_64-cpuid-Core-i7-4600U.json
 rename tests/cputestdata/{x86-cpuid-Core-i7-4600U.xml => x86_64-cpuid-Core-i7-4600U.xml} (100%)
 rename tests/cputestdata/{x86-cpuid-Core-i7-5600U-guest.xml => x86_64-cpuid-Core-i7-5600U-guest.xml} (100%)
 rename tests/cputestdata/{x86-cpuid-Core-i7-5600U-host.xml => x86_64-cpuid-Core-i7-5600U-host.xml} (100%)
 create mode 100644 tests/cputestdata/x86_64-cpuid-Core-i7-5600U-json.xml
 create mode 100644 tests/cputestdata/x86_64-cpuid-Core-i7-5600U.json
 rename tests/cputestdata/{x86-cpuid-Core-i7-5600U.xml => x86_64-cpuid-Core-i7-5600U.xml} (100%)
 rename tests/cputestdata/{x86-cpuid-Core2-E6850-guest.xml => x86_64-cpuid-Core2-E6850-guest.xml} (100%)
 rename tests/cputestdata/{x86-cpuid-Core2-E6850-host.xml => x86_64-cpuid-Core2-E6850-host.xml} (100%)
 rename tests/cputestdata/{x86-cpuid-Core2-E6850-json.xml => x86_64-cpuid-Core2-E6850-json.xml} (75%)
 create mode 100644 tests/cputestdata/x86_64-cpuid-Core2-E6850.json
 rename tests/cputestdata/{x86-cpuid-Core2-E6850.xml => x86_64-cpuid-Core2-E6850.xml} (100%)
 rename tests/cputestdata/{x86-cpuid-Core2-Q9500-guest.xml => x86_64-cpuid-Core2-Q9500-guest.xml} (100%)
 rename tests/cputestdata/{x86-cpuid-Core2-Q9500-host.xml => x86_64-cpuid-Core2-Q9500-host.xml} (100%)
 rename tests/cputestdata/{x86-cpuid-Core2-Q9500.xml => x86_64-cpuid-Core2-Q9500.xml} (100%)
 rename tests/cputestdata/{x86-cpuid-FX-8150-guest.xml => x86_64-cpuid-FX-8150-guest.xml} (100%)
 rename tests/cputestdata/{x86-cpuid-FX-8150-host.xml => x86_64-cpuid-FX-8150-host.xml} (100%)
 rename tests/cputestdata/{x86-cpuid-FX-8150.xml => x86_64-cpuid-FX-8150.xml} (100%)
 rename tests/cputestdata/{x86-cpuid-Opteron-1352-guest.xml => x86_64-cpuid-Opteron-1352-guest.xml} (100%)
 rename tests/cputestdata/{x86-cpuid-Opteron-1352-host.xml => x86_64-cpuid-Opteron-1352-host.xml} (100%)
 rename tests/cputestdata/{x86-cpuid-Opteron-1352.xml => x86_64-cpuid-Opteron-1352.xml} (100%)
 rename tests/cputestdata/{x86-cpuid-Opteron-2350-guest.xml => x86_64-cpuid-Opteron-2350-guest.xml} (100%)
 rename tests/cputestdata/{x86-cpuid-Opteron-2350-host.xml => x86_64-cpuid-Opteron-2350-host.xml} (100%)
 rename tests/cputestdata/{x86-cpuid-Opteron-2350-json.xml => x86_64-cpuid-Opteron-2350-json.xml} (97%)
 create mode 100644 tests/cputestdata/x86_64-cpuid-Opteron-2350.json
 rename tests/cputestdata/{x86-cpuid-Opteron-2350.xml => x86_64-cpuid-Opteron-2350.xml} (100%)
 rename tests/cputestdata/{x86-cpuid-Opteron-6234-guest.xml => x86_64-cpuid-Opteron-6234-guest.xml} (100%)
 rename tests/cputestdata/{x86-cpuid-Opteron-6234-host.xml => x86_64-cpuid-Opteron-6234-host.xml} (100%)
 rename tests/cputestdata/{x86-cpuid-Opteron-6234-json.xml => x86_64-cpuid-Opteron-6234-json.xml} (96%)
 create mode 100644 tests/cputestdata/x86_64-cpuid-Opteron-6234.json
 rename tests/cputestdata/{x86-cpuid-Opteron-6234.xml => x86_64-cpuid-Opteron-6234.xml} (100%)
 rename tests/cputestdata/{x86-cpuid-Opteron-6282-guest.xml => x86_64-cpuid-Opteron-6282-guest.xml} (100%)
 rename tests/cputestdata/{x86-cpuid-Opteron-6282-host.xml => x86_64-cpuid-Opteron-6282-host.xml} (100%)
 rename tests/cputestdata/{x86-cpuid-Opteron-6282.xml => x86_64-cpuid-Opteron-6282.xml} (100%)
 rename tests/cputestdata/{x86-cpuid-Pentium-P6100-guest.xml => x86_64-cpuid-Pentium-P6100-guest.xml} (100%)
 rename tests/cputestdata/{x86-cpuid-Pentium-P6100-host.xml => x86_64-cpuid-Pentium-P6100-host.xml} (100%)
 rename tests/cputestdata/{x86-cpuid-Pentium-P6100.xml => x86_64-cpuid-Pentium-P6100.xml} (100%)
 rename tests/cputestdata/{x86-cpuid-Phenom-B95-guest.xml => x86_64-cpuid-Phenom-B95-guest.xml} (100%)
 rename tests/cputestdata/{x86-cpuid-Phenom-B95-host.xml => x86_64-cpuid-Phenom-B95-host.xml} (100%)
 rename tests/cputestdata/{x86-cpuid-Phenom-B95-json.xml => x86_64-cpuid-Phenom-B95-json.xml} (97%)
 create mode 100644 tests/cputestdata/x86_64-cpuid-Phenom-B95.json
 rename tests/cputestdata/{x86-cpuid-Phenom-B95.xml => x86_64-cpuid-Phenom-B95.xml} (100%)
 rename tests/cputestdata/{x86-cpuid-Xeon-5110-guest.xml => x86_64-cpuid-Xeon-5110-guest.xml} (100%)
 rename tests/cputestdata/{x86-cpuid-Xeon-5110-host.xml => x86_64-cpuid-Xeon-5110-host.xml} (100%)
 rename tests/cputestdata/{x86-cpuid-Xeon-5110.xml => x86_64-cpuid-Xeon-5110.xml} (100%)
 rename tests/cputestdata/{x86-cpuid-Xeon-E3-1245-guest.xml => x86_64-cpuid-Xeon-E3-1245-guest.xml} (100%)
 rename tests/cputestdata/{x86-cpuid-Xeon-E3-1245-host.xml => x86_64-cpuid-Xeon-E3-1245-host.xml} (100%)
 rename tests/cputestdata/{x86-cpuid-Xeon-E3-1245-json.xml => x86_64-cpuid-Xeon-E3-1245-json.xml} (93%)
 create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-E3-1245.json
 rename tests/cputestdata/{x86-cpuid-Xeon-E3-1245.xml => x86_64-cpuid-Xeon-E3-1245.xml} (100%)
 rename tests/cputestdata/{x86-cpuid-Xeon-E5-2630-guest.xml => x86_64-cpuid-Xeon-E5-2630-guest.xml} (100%)
 rename tests/cputestdata/{x86-cpuid-Xeon-E5-2630-host.xml => x86_64-cpuid-Xeon-E5-2630-host.xml} (100%)
 rename tests/cputestdata/{x86-cpuid-Xeon-E5-2630-json.xml => x86_64-cpuid-Xeon-E5-2630-json.xml} (95%)
 create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-E5-2630.json
 rename tests/cputestdata/{x86-cpuid-Xeon-E5-2630.xml => x86_64-cpuid-Xeon-E5-2630.xml} (100%)
 rename tests/cputestdata/{x86-cpuid-Xeon-E5-2650-guest.xml => x86_64-cpuid-Xeon-E5-2650-guest.xml} (100%)
 rename tests/cputestdata/{x86-cpuid-Xeon-E5-2650-host.xml => x86_64-cpuid-Xeon-E5-2650-host.xml} (100%)
 rename tests/cputestdata/{x86-cpuid-Xeon-E5-2650-json.xml => x86_64-cpuid-Xeon-E5-2650-json.xml} (94%)
 create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-E5-2650.json
 rename tests/cputestdata/{x86-cpuid-Xeon-E5-2650.xml => x86_64-cpuid-Xeon-E5-2650.xml} (100%)
 rename tests/cputestdata/{x86-cpuid-Xeon-E7-4820-guest.xml => x86_64-cpuid-Xeon-E7-4820-guest.xml} (100%)
 rename tests/cputestdata/{x86-cpuid-Xeon-E7-4820-host.xml => x86_64-cpuid-Xeon-E7-4820-host.xml} (100%)
 rename tests/cputestdata/{x86-cpuid-Xeon-E7-4820-json.xml => x86_64-cpuid-Xeon-E7-4820-json.xml} (94%)
 create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-E7-4820.json
 rename tests/cputestdata/{x86-cpuid-Xeon-E7-4820.xml => x86_64-cpuid-Xeon-E7-4820.xml} (100%)
 rename tests/cputestdata/{x86-cpuid-Xeon-W3520-guest.xml => x86_64-cpuid-Xeon-W3520-guest.xml} (100%)
 rename tests/cputestdata/{x86-cpuid-Xeon-W3520-host.xml => x86_64-cpuid-Xeon-W3520-host.xml} (100%)
 rename tests/cputestdata/{x86-cpuid-Xeon-W3520-json.xml => x86_64-cpuid-Xeon-W3520-json.xml} (93%)
 create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-W3520.json
 rename tests/cputestdata/{x86-cpuid-Xeon-W3520.xml => x86_64-cpuid-Xeon-W3520.xml} (100%)
 rename tests/cputestdata/{x86-cpuid-Xeon-X5460-guest.xml => x86_64-cpuid-Xeon-X5460-guest.xml} (100%)
 rename tests/cputestdata/{x86-cpuid-Xeon-X5460-host.xml => x86_64-cpuid-Xeon-X5460-host.xml} (100%)
 rename tests/cputestdata/{x86-cpuid-Xeon-X5460.xml => x86_64-cpuid-Xeon-X5460.xml} (100%)
 rename tests/cputestdata/{x86-exact-disable-extra.xml => x86_64-exact-disable-extra.xml} (100%)
 rename tests/cputestdata/{x86-exact-disable.xml => x86_64-exact-disable.xml} (100%)
 rename tests/cputestdata/{x86-exact-disable2.xml => x86_64-exact-disable2.xml} (100%)
 rename tests/cputestdata/{x86-exact-forbid-extra.xml => x86_64-exact-forbid-extra.xml} (100%)
 rename tests/cputestdata/{x86-exact-forbid.xml => x86_64-exact-forbid.xml} (100%)
 rename tests/cputestdata/{x86-exact-force-Haswell.xml => x86_64-exact-force-Haswell.xml} (100%)
 rename tests/cputestdata/{x86-exact-force.xml => x86_64-exact-force.xml} (100%)
 rename tests/cputestdata/{x86-exact-require-extra.xml => x86_64-exact-require-extra.xml} (100%)
 rename tests/cputestdata/{x86-exact-require.xml => x86_64-exact-require.xml} (100%)
 rename tests/cputestdata/{x86-exact.xml => x86_64-exact.xml} (100%)
 rename tests/cputestdata/{x86-guest-nofallback.xml => x86_64-guest-nofallback.xml} (100%)
 rename tests/cputestdata/{x86-guest.xml => x86_64-guest.xml} (100%)
 rename tests/cputestdata/{x86-host+guest,model486-result.xml => x86_64-host+guest,model486-result.xml} (100%)
 rename tests/cputestdata/{x86-host+guest,models-result.xml => x86_64-host+guest,models-result.xml} (100%)
 rename tests/cputestdata/{x86-host+guest-result.xml => x86_64-host+guest-result.xml} (100%)
 rename tests/cputestdata/{x86-host+guest.xml => x86_64-host+guest.xml} (100%)
 rename tests/cputestdata/{x86-host+host+host-model,models-result.xml => x86_64-host+host+host-model,models-result.xml} (100%)
 rename tests/cputestdata/{x86-host+host-model-nofallback.xml => x86_64-host+host-model-nofallback.xml} (100%)
 rename tests/cputestdata/{x86-host+host-model.xml => x86_64-host+host-model.xml} (100%)
 rename tests/cputestdata/{x86-host+host-passthrough-features.xml => x86_64-host+host-passthrough-features.xml} (100%)
 rename tests/cputestdata/{x86-host+host-passthrough.xml => x86_64-host+host-passthrough.xml} (100%)
 rename tests/cputestdata/{x86-host+min.xml => x86_64-host+min.xml} (100%)
 rename tests/cputestdata/{x86-host+penryn-force-result.xml => x86_64-host+penryn-force-result.xml} (100%)
 rename tests/cputestdata/{x86-host+pentium3.xml => x86_64-host+pentium3.xml} (100%)
 rename tests/cputestdata/{x86-host+strict-force-extra-result.xml => x86_64-host+strict-force-extra-result.xml} (100%)
 rename tests/cputestdata/{x86-host-Haswell-noTSX+Haswell,haswell-result.xml => x86_64-host-Haswell-noTSX+Haswell,haswell-result.xml} (100%)
 rename tests/cputestdata/{x86-host-Haswell-noTSX+Haswell-noTSX,haswell-result.xml => x86_64-host-Haswell-noTSX+Haswell-noTSX,haswell-result.xml} (100%)
 rename tests/cputestdata/{x86-host-Haswell-noTSX+Haswell-noTSX-result.xml => x86_64-host-Haswell-noTSX+Haswell-noTSX-result.xml} (100%)
 rename tests/cputestdata/{x86-host-Haswell-noTSX.xml => x86_64-host-Haswell-noTSX.xml} (100%)
 rename tests/cputestdata/{x86-host-SandyBridge.xml => x86_64-host-SandyBridge.xml} (100%)
 rename tests/cputestdata/{x86-host-amd-fake.xml => x86_64-host-amd-fake.xml} (100%)
 rename tests/cputestdata/{x86-host-amd.xml => x86_64-host-amd.xml} (100%)
 rename tests/cputestdata/{x86-host-better+pentium3-result.xml => x86_64-host-better+pentium3-result.xml} (100%)
 rename tests/cputestdata/{x86-host-better.xml => x86_64-host-better.xml} (100%)
 rename tests/cputestdata/{x86-host-incomp-arch.xml => x86_64-host-incomp-arch.xml} (100%)
 rename tests/cputestdata/{x86-host-invtsc+host-model.xml => x86_64-host-invtsc+host-model.xml} (100%)
 rename tests/cputestdata/{x86-host-invtsc.xml => x86_64-host-invtsc.xml} (100%)
 rename tests/cputestdata/{x86-host-model-nofallback.xml => x86_64-host-model-nofallback.xml} (100%)
 rename tests/cputestdata/{x86-host-model.xml => x86_64-host-model.xml} (100%)
 rename tests/cputestdata/{x86-host-no-vendor.xml => x86_64-host-no-vendor.xml} (100%)
 rename tests/cputestdata/{x86-host-passthrough-features.xml => x86_64-host-passthrough-features.xml} (100%)
 rename tests/cputestdata/{x86-host-passthrough.xml => x86_64-host-passthrough.xml} (100%)
 rename tests/cputestdata/{x86-host-worse+guest-result.xml => x86_64-host-worse+guest-result.xml} (100%)
 rename tests/cputestdata/{x86-host-worse.xml => x86_64-host-worse.xml} (100%)
 rename tests/cputestdata/{x86-host.xml => x86_64-host.xml} (100%)
 rename tests/cputestdata/{x86-min.xml => x86_64-min.xml} (100%)
 rename tests/cputestdata/{x86-penryn-force.xml => x86_64-penryn-force.xml} (100%)
 rename tests/cputestdata/{x86-pentium3-amd.xml => x86_64-pentium3-amd.xml} (100%)
 rename tests/cputestdata/{x86-pentium3.xml => x86_64-pentium3.xml} (100%)
 rename tests/cputestdata/{x86-strict-disable.xml => x86_64-strict-disable.xml} (100%)
 rename tests/cputestdata/{x86-strict-force-extra.xml => x86_64-strict-force-extra.xml} (100%)
 rename tests/cputestdata/{x86-strict-full.xml => x86_64-strict-full.xml} (100%)
 rename tests/cputestdata/{x86-strict.xml => x86_64-strict.xml} (100%)
 create mode 100644 tests/domaincapsschemadata/qemu_2.9.0-tcg.x86_64.xml
 create mode 100644 tests/domaincapsschemadata/qemu_2.9.0.x86_64.xml

-- 
2.11.1

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [PATCH v3 00/28] qemu: Detect host CPU model by asking QEMU on x86_64
Posted by Jiri Denemark 7 years, 1 month ago
Thanks for the reviews.

I pushed all patches which didn't rely on the new QEMU feature. They are
mostly refactoring the code or adding new internal APIs used in the rest
of the series. I'll wait with pushing the other patches until the QEMU
feature is accepted upstream.

Pushed patches:

- qemu: Refactor virQEMUCapsInitHostCPUModel
- qemu: Fix CPU model fallback in domain capabilities
- cpu_x86: Drop virCPUx86MakeData and use virCPUDataNew
- cpu_x86: Make virCPUx86DataClear static
- cpu: Rework cpuDataFree
- cpu_x86: Make virCPUx86DataAddCPUID work with virCPUDataPtr
- cpu_x86: Introduce virCPUx86DataSetSignature
- cpu_x86: Introduce virCPUx86DataSetVendor
- cpu_x86: Introduce virCPUx86DataAddFeature
- cputest: Rename x86 data files
- cputest: Use virArch enum rather than strings

Patches waiting for QEMU code to be pushed:

- qemucapstest: Update test data for QEMU 2.9.0
- domaincapstest: Add test data for QEMU 2.9.0
- docs: Update description of the host-model CPU mode
- qemu: Rename hostCPU/feature element in capabilities cache
- qemu: Prepare for more types in qemuMonitorCPUModelInfo
- qemu: Store more types in qemuMonitorCPUModelInfo
- qemu: Probe "max" CPU model in TCG
- qemu: Get host CPU model from QEMU on x86_64
- qemu: Use enum for CPU model expansion type
- qemu: Use full CPU model expansion on x86
- qemu: Make virQEMUCapsInitCPUModel testable
- cputest: Switch host CPU data scripts to model expansion
- cputest: Convert all json data files to query-cpu-model-expansion
- cputest: Test virQEMUCapsInitCPUModel
- cputest: Drop obsolete CPU test data files
- cputest: Drop .new suffix from CPU test data files
- news: Detect host CPU model by asking QEMU on x86_64

Jirka

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [PATCH v3 00/28] qemu: Detect host CPU model by asking QEMU on x86_64
Posted by Jiri Denemark 7 years ago
Thanks for the reviews.

> Patches waiting for QEMU code to be pushed:
> 
> - qemucapstest: Update test data for QEMU 2.9.0
> - domaincapstest: Add test data for QEMU 2.9.0
> - docs: Update description of the host-model CPU mode
> - qemu: Rename hostCPU/feature element in capabilities cache
> - qemu: Prepare for more types in qemuMonitorCPUModelInfo
> - qemu: Store more types in qemuMonitorCPUModelInfo
> - qemu: Probe "max" CPU model in TCG
> - qemu: Get host CPU model from QEMU on x86_64
> - qemu: Use enum for CPU model expansion type
> - qemu: Use full CPU model expansion on x86
> - qemu: Make virQEMUCapsInitCPUModel testable
> - cputest: Switch host CPU data scripts to model expansion
> - cputest: Convert all json data files to query-cpu-model-expansion
> - cputest: Test virQEMUCapsInitCPUModel
> - cputest: Drop obsolete CPU test data files
> - cputest: Drop .new suffix from CPU test data files
> - news: Detect host CPU model by asking QEMU on x86_64

The QEMU implementation is merged for the upcoming 2.9.0. I changed
libvirt 3.1.0 references to 3.2.0 and pushed all the remaining patches.

Jirka

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list