[PATCH 0/5] cpu_map: Add missing -v1 models

CPU models that do not have a list of versions attached are still advertised as aliases to corresponding -v1 variants. We should add the missing variants to the CPU map. Available on gitlab: git fetch https://gitlab.com/jirkade/libvirt.git cpu-versions Pipeline: https://gitlab.com/jirkade/libvirt/-/pipelines/1564399375 Jiri Denemark (5): cpu_map: Sort data files in meson.build sync_qemu_models_i386: Update meson.build sync_qemu_models_i386: Ignore old models sync_qemu_models_i386: Generate missing -v1 variants cpu_map: Add missing -v1 models src/cpu_map/index.xml | 2 + src/cpu_map/meson.build | 18 +++--- src/cpu_map/sync_qemu_models_i386.py | 58 +++++++++++++++++++ src/cpu_map/x86_EPYC-Genoa-v1.xml | 6 ++ src/cpu_map/x86_KnightsMill-v1.xml | 6 ++ .../domaincapsdata/qemu_5.2.0-q35.x86_64.xml | 14 ++++- .../domaincapsdata/qemu_5.2.0-tcg.x86_64.xml | 20 ++++++- tests/domaincapsdata/qemu_5.2.0.x86_64.xml | 14 ++++- .../domaincapsdata/qemu_6.0.0-q35.x86_64.xml | 14 ++++- .../domaincapsdata/qemu_6.0.0-tcg.x86_64.xml | 20 ++++++- tests/domaincapsdata/qemu_6.0.0.x86_64.xml | 14 ++++- .../domaincapsdata/qemu_6.1.0-q35.x86_64.xml | 14 ++++- .../domaincapsdata/qemu_6.1.0-tcg.x86_64.xml | 20 ++++++- tests/domaincapsdata/qemu_6.1.0.x86_64.xml | 14 ++++- .../domaincapsdata/qemu_6.2.0-q35.x86_64.xml | 14 ++++- .../domaincapsdata/qemu_6.2.0-tcg.x86_64.xml | 20 ++++++- tests/domaincapsdata/qemu_6.2.0.x86_64.xml | 14 ++++- .../domaincapsdata/qemu_7.0.0-q35.x86_64.xml | 14 ++++- .../domaincapsdata/qemu_7.0.0-tcg.x86_64.xml | 20 ++++++- tests/domaincapsdata/qemu_7.0.0.x86_64.xml | 14 ++++- .../domaincapsdata/qemu_7.1.0-q35.x86_64.xml | 14 ++++- .../domaincapsdata/qemu_7.1.0-tcg.x86_64.xml | 20 ++++++- tests/domaincapsdata/qemu_7.1.0.x86_64.xml | 14 ++++- .../domaincapsdata/qemu_7.2.0-q35.x86_64.xml | 14 ++++- .../qemu_7.2.0-tcg.x86_64+hvf.xml | 16 ++++- .../domaincapsdata/qemu_7.2.0-tcg.x86_64.xml | 16 ++++- tests/domaincapsdata/qemu_7.2.0.x86_64.xml | 14 ++++- .../domaincapsdata/qemu_8.0.0-q35.x86_64.xml | 14 ++++- .../domaincapsdata/qemu_8.0.0-tcg.x86_64.xml | 16 ++++- tests/domaincapsdata/qemu_8.0.0.x86_64.xml | 14 ++++- .../domaincapsdata/qemu_8.1.0-q35.x86_64.xml | 46 ++++++++++++++- .../domaincapsdata/qemu_8.1.0-tcg.x86_64.xml | 56 +++++++++++++++++- tests/domaincapsdata/qemu_8.1.0.x86_64.xml | 46 ++++++++++++++- .../domaincapsdata/qemu_8.2.0-q35.x86_64.xml | 46 ++++++++++++++- .../domaincapsdata/qemu_8.2.0-tcg.x86_64.xml | 55 +++++++++++++++++- tests/domaincapsdata/qemu_8.2.0.x86_64.xml | 46 ++++++++++++++- .../domaincapsdata/qemu_9.0.0-q35.x86_64.xml | 46 ++++++++++++++- .../domaincapsdata/qemu_9.0.0-tcg.x86_64.xml | 54 ++++++++++++++++- tests/domaincapsdata/qemu_9.0.0.x86_64.xml | 46 ++++++++++++++- .../domaincapsdata/qemu_9.1.0-q35.x86_64.xml | 46 ++++++++++++++- .../domaincapsdata/qemu_9.1.0-tcg.x86_64.xml | 54 ++++++++++++++++- tests/domaincapsdata/qemu_9.1.0.x86_64.xml | 46 ++++++++++++++- .../domaincapsdata/qemu_9.2.0-q35.x86_64.xml | 46 ++++++++++++++- .../domaincapsdata/qemu_9.2.0-tcg.x86_64.xml | 54 ++++++++++++++++- tests/domaincapsdata/qemu_9.2.0.x86_64.xml | 46 ++++++++++++++- 45 files changed, 1152 insertions(+), 63 deletions(-) create mode 100644 src/cpu_map/x86_EPYC-Genoa-v1.xml create mode 100644 src/cpu_map/x86_KnightsMill-v1.xml -- 2.47.0

Signed-off-by: Jiri Denemark <jdenemar@redhat.com> --- src/cpu_map/meson.build | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/cpu_map/meson.build b/src/cpu_map/meson.build index 88d67f4cce..f659ef230e 100644 --- a/src/cpu_map/meson.build +++ b/src/cpu_map/meson.build @@ -4,8 +4,8 @@ cpumap_data = [ 'arm_cortex-a57.xml', 'arm_cortex-a72.xml', 'arm_Falkor.xml', - 'arm_FT-2000plus.xml', 'arm_features.xml', + 'arm_FT-2000plus.xml', 'arm_Kunpeng-920.xml', 'arm_Neoverse-N1.xml', 'arm_Neoverse-N2.xml', @@ -14,11 +14,11 @@ cpumap_data = [ 'arm_ThunderX299xx.xml', 'arm_vendors.xml', 'index.xml', + 'ppc64_POWER10.xml', 'ppc64_POWER6.xml', 'ppc64_POWER7.xml', 'ppc64_POWER8.xml', 'ppc64_POWER9.xml', - 'ppc64_POWER10.xml', 'ppc64_POWERPC_e5500.xml', 'ppc64_POWERPC_e6500.xml', 'ppc64_vendors.xml', @@ -54,13 +54,8 @@ cpumap_data = [ 'x86_Dhyana-v1.xml', 'x86_Dhyana-v2.xml', 'x86_Dhyana.xml', - 'x86_EPYC-IBPB.xml', - 'x86_EPYC-v1.xml', - 'x86_EPYC-v2.xml', - 'x86_EPYC-v3.xml', - 'x86_EPYC-v4.xml', - 'x86_EPYC.xml', 'x86_EPYC-Genoa.xml', + 'x86_EPYC-IBPB.xml', 'x86_EPYC-Milan-v1.xml', 'x86_EPYC-Milan-v2.xml', 'x86_EPYC-Milan.xml', @@ -69,6 +64,11 @@ cpumap_data = [ 'x86_EPYC-Rome-v3.xml', 'x86_EPYC-Rome-v4.xml', 'x86_EPYC-Rome.xml', + 'x86_EPYC-v1.xml', + 'x86_EPYC-v2.xml', + 'x86_EPYC-v3.xml', + 'x86_EPYC-v4.xml', + 'x86_EPYC.xml', 'x86_features.xml', 'x86_GraniteRapids-v1.xml', 'x86_GraniteRapids.xml', -- 2.47.0

When adding new CPU models to CPU map it's easy (and very common) to forget to add the new files to meson.build. We already update index.xml with the new models so updating meson.build too makes sense. Signed-off-by: Jiri Denemark <jdenemar@redhat.com> --- src/cpu_map/sync_qemu_models_i386.py | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/src/cpu_map/sync_qemu_models_i386.py b/src/cpu_map/sync_qemu_models_i386.py index 798d767f4d..11fe1f7435 100755 --- a/src/cpu_map/sync_qemu_models_i386.py +++ b/src/cpu_map/sync_qemu_models_i386.py @@ -596,6 +596,32 @@ def update_index(outdir, models): f.write("\n") +def update_meson(outdir, models): + meson = os.path.join(outdir, "meson.build") + + with open(meson, "r") as f: + lines = f.readlines() + + start = None + end = None + for i in range(len(lines)): + if start is None and lines[i].startswith("cpumap_data ="): + start = i + 1 + + if start is not None and lines[i] == "]\n": + end = i + break + + xmls = lines[start:end] + for files in models.values(): + xmls.extend([f" '{file}',\n" for file in files]) + + with open(meson, "w") as f: + f.writelines(lines[:start]) + f.writelines(sorted(xmls, key=str.lower)) + f.writelines(lines[end:]) + + def main(): parser = argparse.ArgumentParser( description="Synchronize x86 cpu models from QEMU i386 target.") @@ -658,6 +684,7 @@ def main(): output_model(f, extra, model) update_index(args.outdir, files) + update_meson(args.outdir, files) features = set() for model in models: -- 2.47.0

Do not try to generated definition of ancient models (and their versions). We don't want to generate (and then manually get remove before committing) -v1 variants of CPU models that are pretty much useless now. Signed-off-by: Jiri Denemark <jdenemar@redhat.com> --- Notes: The main questions is which models should be in the list. All lowercase models should definitely be there. I also added Conroe and Penryn and all the Opteron_G* models. But I'm not quite sure if they should be there or not. src/cpu_map/sync_qemu_models_i386.py | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/src/cpu_map/sync_qemu_models_i386.py b/src/cpu_map/sync_qemu_models_i386.py index 11fe1f7435..82437a6788 100755 --- a/src/cpu_map/sync_qemu_models_i386.py +++ b/src/cpu_map/sync_qemu_models_i386.py @@ -9,6 +9,31 @@ import lxml.etree import lark +# Old QEMU models we just ignore, they don't get any updates anyway. +old_models = [ + "486", + "athlon", + "Conroe", + "core2duo", + "coreduo", + "kvm32", + "kvm64", + "n270", + "Opteron_G1", + "Opteron_G2", + "Opteron_G3", + "Opteron_G4", + "Opteron_G5", + "Penryn", + "pentium", + "pentium2", + "pentium3", + "phenom", + "qemu32", + "qemu64", +] + + def translate_vendor(name): T = { "CPUID_VENDOR_AMD": "AMD", @@ -465,6 +490,9 @@ def expand_model(outdir, model): "signature": list(), } + if result["name"] in old_models: + return + if ".family" in model and ".model" in model: result["signature"].append((model.pop(".family"), model.pop(".model"), -- 2.47.0

QEMU supports -v1 variant of any CPU model even though the list of versions is not defined (i.e., even { .version = 1 } item is missing). Signed-off-by: Jiri Denemark <jdenemar@redhat.com> --- src/cpu_map/sync_qemu_models_i386.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/cpu_map/sync_qemu_models_i386.py b/src/cpu_map/sync_qemu_models_i386.py index 82437a6788..f71a3ab9a6 100755 --- a/src/cpu_map/sync_qemu_models_i386.py +++ b/src/cpu_map/sync_qemu_models_i386.py @@ -512,6 +512,9 @@ def expand_model(outdir, model): print(result['name']) yield result + if len(versions) == 0: + versions.append({".version": "1"}) + name = result["name"] for version in versions: result = copy.deepcopy(result) -- 2.47.0

CPU models that do not have a list of versions attached are still advertised as aliases to corresponding -v1 variants. We should add the missing variants to the CPU map. Signed-off-by: Jiri Denemark <jdenemar@redhat.com> --- src/cpu_map/index.xml | 2 + src/cpu_map/meson.build | 2 + src/cpu_map/x86_EPYC-Genoa-v1.xml | 6 ++ src/cpu_map/x86_KnightsMill-v1.xml | 6 ++ .../domaincapsdata/qemu_5.2.0-q35.x86_64.xml | 14 ++++- .../domaincapsdata/qemu_5.2.0-tcg.x86_64.xml | 20 ++++++- tests/domaincapsdata/qemu_5.2.0.x86_64.xml | 14 ++++- .../domaincapsdata/qemu_6.0.0-q35.x86_64.xml | 14 ++++- .../domaincapsdata/qemu_6.0.0-tcg.x86_64.xml | 20 ++++++- tests/domaincapsdata/qemu_6.0.0.x86_64.xml | 14 ++++- .../domaincapsdata/qemu_6.1.0-q35.x86_64.xml | 14 ++++- .../domaincapsdata/qemu_6.1.0-tcg.x86_64.xml | 20 ++++++- tests/domaincapsdata/qemu_6.1.0.x86_64.xml | 14 ++++- .../domaincapsdata/qemu_6.2.0-q35.x86_64.xml | 14 ++++- .../domaincapsdata/qemu_6.2.0-tcg.x86_64.xml | 20 ++++++- tests/domaincapsdata/qemu_6.2.0.x86_64.xml | 14 ++++- .../domaincapsdata/qemu_7.0.0-q35.x86_64.xml | 14 ++++- .../domaincapsdata/qemu_7.0.0-tcg.x86_64.xml | 20 ++++++- tests/domaincapsdata/qemu_7.0.0.x86_64.xml | 14 ++++- .../domaincapsdata/qemu_7.1.0-q35.x86_64.xml | 14 ++++- .../domaincapsdata/qemu_7.1.0-tcg.x86_64.xml | 20 ++++++- tests/domaincapsdata/qemu_7.1.0.x86_64.xml | 14 ++++- .../domaincapsdata/qemu_7.2.0-q35.x86_64.xml | 14 ++++- .../qemu_7.2.0-tcg.x86_64+hvf.xml | 16 +++++- .../domaincapsdata/qemu_7.2.0-tcg.x86_64.xml | 16 +++++- tests/domaincapsdata/qemu_7.2.0.x86_64.xml | 14 ++++- .../domaincapsdata/qemu_8.0.0-q35.x86_64.xml | 14 ++++- .../domaincapsdata/qemu_8.0.0-tcg.x86_64.xml | 16 +++++- tests/domaincapsdata/qemu_8.0.0.x86_64.xml | 14 ++++- .../domaincapsdata/qemu_8.1.0-q35.x86_64.xml | 46 ++++++++++++++- .../domaincapsdata/qemu_8.1.0-tcg.x86_64.xml | 56 ++++++++++++++++++- tests/domaincapsdata/qemu_8.1.0.x86_64.xml | 46 ++++++++++++++- .../domaincapsdata/qemu_8.2.0-q35.x86_64.xml | 46 ++++++++++++++- .../domaincapsdata/qemu_8.2.0-tcg.x86_64.xml | 55 +++++++++++++++++- tests/domaincapsdata/qemu_8.2.0.x86_64.xml | 46 ++++++++++++++- .../domaincapsdata/qemu_9.0.0-q35.x86_64.xml | 46 ++++++++++++++- .../domaincapsdata/qemu_9.0.0-tcg.x86_64.xml | 54 +++++++++++++++++- tests/domaincapsdata/qemu_9.0.0.x86_64.xml | 46 ++++++++++++++- .../domaincapsdata/qemu_9.1.0-q35.x86_64.xml | 46 ++++++++++++++- .../domaincapsdata/qemu_9.1.0-tcg.x86_64.xml | 54 +++++++++++++++++- tests/domaincapsdata/qemu_9.1.0.x86_64.xml | 46 ++++++++++++++- .../domaincapsdata/qemu_9.2.0-q35.x86_64.xml | 46 ++++++++++++++- .../domaincapsdata/qemu_9.2.0-tcg.x86_64.xml | 54 +++++++++++++++++- tests/domaincapsdata/qemu_9.2.0.x86_64.xml | 46 ++++++++++++++- 44 files changed, 1086 insertions(+), 55 deletions(-) create mode 100644 src/cpu_map/x86_EPYC-Genoa-v1.xml create mode 100644 src/cpu_map/x86_KnightsMill-v1.xml diff --git a/src/cpu_map/index.xml b/src/cpu_map/index.xml index 287cd7395e..ee81d1c5ce 100644 --- a/src/cpu_map/index.xml +++ b/src/cpu_map/index.xml @@ -115,6 +115,7 @@ <include filename='x86_Denverton-v2.xml'/> <include filename='x86_Denverton-v3.xml'/> <include filename='x86_KnightsMill.xml'/> + <include filename='x86_KnightsMill-v1.xml'/> </group> <group name='AMD CPU models'> @@ -140,6 +141,7 @@ <include filename='x86_EPYC-Milan-v1.xml'/> <include filename='x86_EPYC-Milan-v2.xml'/> <include filename='x86_EPYC-Genoa.xml'/> + <include filename='x86_EPYC-Genoa-v1.xml'/> </group> <group name='Hygon CPU models'> diff --git a/src/cpu_map/meson.build b/src/cpu_map/meson.build index f659ef230e..05d4db95a6 100644 --- a/src/cpu_map/meson.build +++ b/src/cpu_map/meson.build @@ -54,6 +54,7 @@ cpumap_data = [ 'x86_Dhyana-v1.xml', 'x86_Dhyana-v2.xml', 'x86_Dhyana.xml', + 'x86_EPYC-Genoa-v1.xml', 'x86_EPYC-Genoa.xml', 'x86_EPYC-IBPB.xml', 'x86_EPYC-Milan-v1.xml', @@ -95,6 +96,7 @@ cpumap_data = [ 'x86_IvyBridge-v1.xml', 'x86_IvyBridge-v2.xml', 'x86_IvyBridge.xml', + 'x86_KnightsMill-v1.xml', 'x86_KnightsMill.xml', 'x86_kvm32.xml', 'x86_kvm64.xml', diff --git a/src/cpu_map/x86_EPYC-Genoa-v1.xml b/src/cpu_map/x86_EPYC-Genoa-v1.xml new file mode 100644 index 0000000000..df45ca18ff --- /dev/null +++ b/src/cpu_map/x86_EPYC-Genoa-v1.xml @@ -0,0 +1,6 @@ +<cpus> + <model name='EPYC-Genoa-v1'> + <decode host='on' guest='off'/> + <model name='EPYC-Genoa'/> + </model> +</cpus> diff --git a/src/cpu_map/x86_KnightsMill-v1.xml b/src/cpu_map/x86_KnightsMill-v1.xml new file mode 100644 index 0000000000..00293d05b8 --- /dev/null +++ b/src/cpu_map/x86_KnightsMill-v1.xml @@ -0,0 +1,6 @@ +<cpus> + <model name='KnightsMill-v1'> + <decode host='on' guest='off'/> + <model name='KnightsMill'/> + </model> +</cpus> diff --git a/tests/domaincapsdata/qemu_5.2.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_5.2.0-q35.x86_64.xml index 5fa2d07976..348f387d27 100644 --- a/tests/domaincapsdata/qemu_5.2.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_5.2.0-q35.x86_64.xml @@ -536,7 +536,7 @@ <feature name='erms'/> <feature name='spec-ctrl'/> </blockers> - <model usable='no' vendor='Intel'>KnightsMill</model> + <model usable='no' vendor='Intel' canonical='KnightsMill-v1'>KnightsMill</model> <blockers model='KnightsMill'> <feature name='avx512-4fmaps'/> <feature name='avx512-4vnniw'/> @@ -548,6 +548,18 @@ <feature name='erms'/> <feature name='ss'/> </blockers> + <model usable='no' vendor='Intel'>KnightsMill-v1</model> + <blockers model='KnightsMill-v1'> + <feature name='avx512-4fmaps'/> + <feature name='avx512-4vnniw'/> + <feature name='avx512-vpopcntdq'/> + <feature name='avx512cd'/> + <feature name='avx512er'/> + <feature name='avx512f'/> + <feature name='avx512pf'/> + <feature name='erms'/> + <feature name='ss'/> + </blockers> <model usable='yes' vendor='Intel' canonical='Nehalem-v1'>Nehalem</model> <model usable='no' vendor='Intel' canonical='Nehalem-v2'>Nehalem-IBRS</model> <blockers model='Nehalem-IBRS'> diff --git a/tests/domaincapsdata/qemu_5.2.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_5.2.0-tcg.x86_64.xml index 0348a65589..d82487b079 100644 --- a/tests/domaincapsdata/qemu_5.2.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_5.2.0-tcg.x86_64.xml @@ -1019,7 +1019,7 @@ <feature name='tsc-deadline'/> <feature name='x2apic'/> </blockers> - <model usable='no' vendor='Intel'>KnightsMill</model> + <model usable='no' vendor='Intel' canonical='KnightsMill-v1'>KnightsMill</model> <blockers model='KnightsMill'> <feature name='3dnowprefetch'/> <feature name='avx'/> @@ -1037,6 +1037,24 @@ <feature name='tsc-deadline'/> <feature name='x2apic'/> </blockers> + <model usable='no' vendor='Intel'>KnightsMill-v1</model> + <blockers model='KnightsMill-v1'> + <feature name='3dnowprefetch'/> + <feature name='avx'/> + <feature name='avx2'/> + <feature name='avx512-4fmaps'/> + <feature name='avx512-4vnniw'/> + <feature name='avx512-vpopcntdq'/> + <feature name='avx512cd'/> + <feature name='avx512er'/> + <feature name='avx512f'/> + <feature name='avx512pf'/> + <feature name='f16c'/> + <feature name='fma'/> + <feature name='rdseed'/> + <feature name='tsc-deadline'/> + <feature name='x2apic'/> + </blockers> <model usable='yes' vendor='Intel' canonical='Nehalem-v1'>Nehalem</model> <model usable='no' vendor='Intel' canonical='Nehalem-v2'>Nehalem-IBRS</model> <blockers model='Nehalem-IBRS'> diff --git a/tests/domaincapsdata/qemu_5.2.0.x86_64.xml b/tests/domaincapsdata/qemu_5.2.0.x86_64.xml index 49a18cd333..4717e5c53a 100644 --- a/tests/domaincapsdata/qemu_5.2.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_5.2.0.x86_64.xml @@ -535,7 +535,7 @@ <feature name='erms'/> <feature name='spec-ctrl'/> </blockers> - <model usable='no' vendor='Intel'>KnightsMill</model> + <model usable='no' vendor='Intel' canonical='KnightsMill-v1'>KnightsMill</model> <blockers model='KnightsMill'> <feature name='avx512-4fmaps'/> <feature name='avx512-4vnniw'/> @@ -547,6 +547,18 @@ <feature name='erms'/> <feature name='ss'/> </blockers> + <model usable='no' vendor='Intel'>KnightsMill-v1</model> + <blockers model='KnightsMill-v1'> + <feature name='avx512-4fmaps'/> + <feature name='avx512-4vnniw'/> + <feature name='avx512-vpopcntdq'/> + <feature name='avx512cd'/> + <feature name='avx512er'/> + <feature name='avx512f'/> + <feature name='avx512pf'/> + <feature name='erms'/> + <feature name='ss'/> + </blockers> <model usable='yes' vendor='Intel' canonical='Nehalem-v1'>Nehalem</model> <model usable='no' vendor='Intel' canonical='Nehalem-v2'>Nehalem-IBRS</model> <blockers model='Nehalem-IBRS'> diff --git a/tests/domaincapsdata/qemu_6.0.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_6.0.0-q35.x86_64.xml index b990a2d597..8cf43dee45 100644 --- a/tests/domaincapsdata/qemu_6.0.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.0.0-q35.x86_64.xml @@ -558,7 +558,7 @@ <feature name='erms'/> <feature name='spec-ctrl'/> </blockers> - <model usable='no' vendor='Intel'>KnightsMill</model> + <model usable='no' vendor='Intel' canonical='KnightsMill-v1'>KnightsMill</model> <blockers model='KnightsMill'> <feature name='avx512-4fmaps'/> <feature name='avx512-4vnniw'/> @@ -570,6 +570,18 @@ <feature name='erms'/> <feature name='ss'/> </blockers> + <model usable='no' vendor='Intel'>KnightsMill-v1</model> + <blockers model='KnightsMill-v1'> + <feature name='avx512-4fmaps'/> + <feature name='avx512-4vnniw'/> + <feature name='avx512-vpopcntdq'/> + <feature name='avx512cd'/> + <feature name='avx512er'/> + <feature name='avx512f'/> + <feature name='avx512pf'/> + <feature name='erms'/> + <feature name='ss'/> + </blockers> <model usable='yes' vendor='Intel' canonical='Nehalem-v1'>Nehalem</model> <model usable='no' vendor='Intel' canonical='Nehalem-v2'>Nehalem-IBRS</model> <blockers model='Nehalem-IBRS'> diff --git a/tests/domaincapsdata/qemu_6.0.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_6.0.0-tcg.x86_64.xml index 6746479be5..44b58f64c7 100644 --- a/tests/domaincapsdata/qemu_6.0.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.0.0-tcg.x86_64.xml @@ -1109,7 +1109,7 @@ <feature name='tsc-deadline'/> <feature name='x2apic'/> </blockers> - <model usable='no' vendor='Intel'>KnightsMill</model> + <model usable='no' vendor='Intel' canonical='KnightsMill-v1'>KnightsMill</model> <blockers model='KnightsMill'> <feature name='3dnowprefetch'/> <feature name='avx'/> @@ -1127,6 +1127,24 @@ <feature name='tsc-deadline'/> <feature name='x2apic'/> </blockers> + <model usable='no' vendor='Intel'>KnightsMill-v1</model> + <blockers model='KnightsMill-v1'> + <feature name='3dnowprefetch'/> + <feature name='avx'/> + <feature name='avx2'/> + <feature name='avx512-4fmaps'/> + <feature name='avx512-4vnniw'/> + <feature name='avx512-vpopcntdq'/> + <feature name='avx512cd'/> + <feature name='avx512er'/> + <feature name='avx512f'/> + <feature name='avx512pf'/> + <feature name='f16c'/> + <feature name='fma'/> + <feature name='rdseed'/> + <feature name='tsc-deadline'/> + <feature name='x2apic'/> + </blockers> <model usable='yes' vendor='Intel' canonical='Nehalem-v1'>Nehalem</model> <model usable='no' vendor='Intel' canonical='Nehalem-v2'>Nehalem-IBRS</model> <blockers model='Nehalem-IBRS'> diff --git a/tests/domaincapsdata/qemu_6.0.0.x86_64.xml b/tests/domaincapsdata/qemu_6.0.0.x86_64.xml index 81c9bb1444..1b0a8c7dcb 100644 --- a/tests/domaincapsdata/qemu_6.0.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.0.0.x86_64.xml @@ -557,7 +557,7 @@ <feature name='erms'/> <feature name='spec-ctrl'/> </blockers> - <model usable='no' vendor='Intel'>KnightsMill</model> + <model usable='no' vendor='Intel' canonical='KnightsMill-v1'>KnightsMill</model> <blockers model='KnightsMill'> <feature name='avx512-4fmaps'/> <feature name='avx512-4vnniw'/> @@ -569,6 +569,18 @@ <feature name='erms'/> <feature name='ss'/> </blockers> + <model usable='no' vendor='Intel'>KnightsMill-v1</model> + <blockers model='KnightsMill-v1'> + <feature name='avx512-4fmaps'/> + <feature name='avx512-4vnniw'/> + <feature name='avx512-vpopcntdq'/> + <feature name='avx512cd'/> + <feature name='avx512er'/> + <feature name='avx512f'/> + <feature name='avx512pf'/> + <feature name='erms'/> + <feature name='ss'/> + </blockers> <model usable='yes' vendor='Intel' canonical='Nehalem-v1'>Nehalem</model> <model usable='no' vendor='Intel' canonical='Nehalem-v2'>Nehalem-IBRS</model> <blockers model='Nehalem-IBRS'> diff --git a/tests/domaincapsdata/qemu_6.1.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_6.1.0-q35.x86_64.xml index 0cd73ee54f..aace4d7fdb 100644 --- a/tests/domaincapsdata/qemu_6.1.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.1.0-q35.x86_64.xml @@ -628,7 +628,7 @@ <feature name='erms'/> <feature name='spec-ctrl'/> </blockers> - <model usable='no' vendor='Intel'>KnightsMill</model> + <model usable='no' vendor='Intel' canonical='KnightsMill-v1'>KnightsMill</model> <blockers model='KnightsMill'> <feature name='avx512-4fmaps'/> <feature name='avx512-4vnniw'/> @@ -640,6 +640,18 @@ <feature name='erms'/> <feature name='ss'/> </blockers> + <model usable='no' vendor='Intel'>KnightsMill-v1</model> + <blockers model='KnightsMill-v1'> + <feature name='avx512-4fmaps'/> + <feature name='avx512-4vnniw'/> + <feature name='avx512-vpopcntdq'/> + <feature name='avx512cd'/> + <feature name='avx512er'/> + <feature name='avx512f'/> + <feature name='avx512pf'/> + <feature name='erms'/> + <feature name='ss'/> + </blockers> <model usable='yes' vendor='Intel' canonical='Nehalem-v1'>Nehalem</model> <model usable='no' vendor='Intel' canonical='Nehalem-v2'>Nehalem-IBRS</model> <blockers model='Nehalem-IBRS'> diff --git a/tests/domaincapsdata/qemu_6.1.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_6.1.0-tcg.x86_64.xml index 8a09c53177..6ee855aa57 100644 --- a/tests/domaincapsdata/qemu_6.1.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.1.0-tcg.x86_64.xml @@ -1249,7 +1249,7 @@ <feature name='tsc-deadline'/> <feature name='x2apic'/> </blockers> - <model usable='no' vendor='Intel'>KnightsMill</model> + <model usable='no' vendor='Intel' canonical='KnightsMill-v1'>KnightsMill</model> <blockers model='KnightsMill'> <feature name='3dnowprefetch'/> <feature name='avx'/> @@ -1267,6 +1267,24 @@ <feature name='tsc-deadline'/> <feature name='x2apic'/> </blockers> + <model usable='no' vendor='Intel'>KnightsMill-v1</model> + <blockers model='KnightsMill-v1'> + <feature name='3dnowprefetch'/> + <feature name='avx'/> + <feature name='avx2'/> + <feature name='avx512-4fmaps'/> + <feature name='avx512-4vnniw'/> + <feature name='avx512-vpopcntdq'/> + <feature name='avx512cd'/> + <feature name='avx512er'/> + <feature name='avx512f'/> + <feature name='avx512pf'/> + <feature name='f16c'/> + <feature name='fma'/> + <feature name='rdseed'/> + <feature name='tsc-deadline'/> + <feature name='x2apic'/> + </blockers> <model usable='yes' vendor='Intel' canonical='Nehalem-v1'>Nehalem</model> <model usable='no' vendor='Intel' canonical='Nehalem-v2'>Nehalem-IBRS</model> <blockers model='Nehalem-IBRS'> diff --git a/tests/domaincapsdata/qemu_6.1.0.x86_64.xml b/tests/domaincapsdata/qemu_6.1.0.x86_64.xml index 5a23dfee52..491e63e973 100644 --- a/tests/domaincapsdata/qemu_6.1.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.1.0.x86_64.xml @@ -627,7 +627,7 @@ <feature name='erms'/> <feature name='spec-ctrl'/> </blockers> - <model usable='no' vendor='Intel'>KnightsMill</model> + <model usable='no' vendor='Intel' canonical='KnightsMill-v1'>KnightsMill</model> <blockers model='KnightsMill'> <feature name='avx512-4fmaps'/> <feature name='avx512-4vnniw'/> @@ -639,6 +639,18 @@ <feature name='erms'/> <feature name='ss'/> </blockers> + <model usable='no' vendor='Intel'>KnightsMill-v1</model> + <blockers model='KnightsMill-v1'> + <feature name='avx512-4fmaps'/> + <feature name='avx512-4vnniw'/> + <feature name='avx512-vpopcntdq'/> + <feature name='avx512cd'/> + <feature name='avx512er'/> + <feature name='avx512f'/> + <feature name='avx512pf'/> + <feature name='erms'/> + <feature name='ss'/> + </blockers> <model usable='yes' vendor='Intel' canonical='Nehalem-v1'>Nehalem</model> <model usable='no' vendor='Intel' canonical='Nehalem-v2'>Nehalem-IBRS</model> <blockers model='Nehalem-IBRS'> diff --git a/tests/domaincapsdata/qemu_6.2.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_6.2.0-q35.x86_64.xml index 84e783f739..822f070fca 100644 --- a/tests/domaincapsdata/qemu_6.2.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.2.0-q35.x86_64.xml @@ -625,7 +625,7 @@ <feature name='erms'/> <feature name='spec-ctrl'/> </blockers> - <model usable='no' vendor='Intel'>KnightsMill</model> + <model usable='no' vendor='Intel' canonical='KnightsMill-v1'>KnightsMill</model> <blockers model='KnightsMill'> <feature name='avx512-4fmaps'/> <feature name='avx512-4vnniw'/> @@ -637,6 +637,18 @@ <feature name='erms'/> <feature name='ss'/> </blockers> + <model usable='no' vendor='Intel'>KnightsMill-v1</model> + <blockers model='KnightsMill-v1'> + <feature name='avx512-4fmaps'/> + <feature name='avx512-4vnniw'/> + <feature name='avx512-vpopcntdq'/> + <feature name='avx512cd'/> + <feature name='avx512er'/> + <feature name='avx512f'/> + <feature name='avx512pf'/> + <feature name='erms'/> + <feature name='ss'/> + </blockers> <model usable='yes' vendor='Intel' canonical='Nehalem-v1'>Nehalem</model> <model usable='no' vendor='Intel' canonical='Nehalem-v2'>Nehalem-IBRS</model> <blockers model='Nehalem-IBRS'> diff --git a/tests/domaincapsdata/qemu_6.2.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_6.2.0-tcg.x86_64.xml index 4d7ed1eea8..b1052ae0d7 100644 --- a/tests/domaincapsdata/qemu_6.2.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.2.0-tcg.x86_64.xml @@ -1246,7 +1246,7 @@ <feature name='tsc-deadline'/> <feature name='x2apic'/> </blockers> - <model usable='no' vendor='Intel'>KnightsMill</model> + <model usable='no' vendor='Intel' canonical='KnightsMill-v1'>KnightsMill</model> <blockers model='KnightsMill'> <feature name='3dnowprefetch'/> <feature name='avx'/> @@ -1264,6 +1264,24 @@ <feature name='tsc-deadline'/> <feature name='x2apic'/> </blockers> + <model usable='no' vendor='Intel'>KnightsMill-v1</model> + <blockers model='KnightsMill-v1'> + <feature name='3dnowprefetch'/> + <feature name='avx'/> + <feature name='avx2'/> + <feature name='avx512-4fmaps'/> + <feature name='avx512-4vnniw'/> + <feature name='avx512-vpopcntdq'/> + <feature name='avx512cd'/> + <feature name='avx512er'/> + <feature name='avx512f'/> + <feature name='avx512pf'/> + <feature name='f16c'/> + <feature name='fma'/> + <feature name='rdseed'/> + <feature name='tsc-deadline'/> + <feature name='x2apic'/> + </blockers> <model usable='yes' vendor='Intel' canonical='Nehalem-v1'>Nehalem</model> <model usable='no' vendor='Intel' canonical='Nehalem-v2'>Nehalem-IBRS</model> <blockers model='Nehalem-IBRS'> diff --git a/tests/domaincapsdata/qemu_6.2.0.x86_64.xml b/tests/domaincapsdata/qemu_6.2.0.x86_64.xml index 0446dff4fb..1b38e7cb52 100644 --- a/tests/domaincapsdata/qemu_6.2.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.2.0.x86_64.xml @@ -624,7 +624,7 @@ <feature name='erms'/> <feature name='spec-ctrl'/> </blockers> - <model usable='no' vendor='Intel'>KnightsMill</model> + <model usable='no' vendor='Intel' canonical='KnightsMill-v1'>KnightsMill</model> <blockers model='KnightsMill'> <feature name='avx512-4fmaps'/> <feature name='avx512-4vnniw'/> @@ -636,6 +636,18 @@ <feature name='erms'/> <feature name='ss'/> </blockers> + <model usable='no' vendor='Intel'>KnightsMill-v1</model> + <blockers model='KnightsMill-v1'> + <feature name='avx512-4fmaps'/> + <feature name='avx512-4vnniw'/> + <feature name='avx512-vpopcntdq'/> + <feature name='avx512cd'/> + <feature name='avx512er'/> + <feature name='avx512f'/> + <feature name='avx512pf'/> + <feature name='erms'/> + <feature name='ss'/> + </blockers> <model usable='yes' vendor='Intel' canonical='Nehalem-v1'>Nehalem</model> <model usable='no' vendor='Intel' canonical='Nehalem-v2'>Nehalem-IBRS</model> <blockers model='Nehalem-IBRS'> diff --git a/tests/domaincapsdata/qemu_7.0.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_7.0.0-q35.x86_64.xml index e5718bc50c..f58ba1633d 100644 --- a/tests/domaincapsdata/qemu_7.0.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.0.0-q35.x86_64.xml @@ -652,7 +652,7 @@ <feature name='erms'/> <feature name='spec-ctrl'/> </blockers> - <model usable='no' vendor='Intel'>KnightsMill</model> + <model usable='no' vendor='Intel' canonical='KnightsMill-v1'>KnightsMill</model> <blockers model='KnightsMill'> <feature name='avx512-4fmaps'/> <feature name='avx512-4vnniw'/> @@ -664,6 +664,18 @@ <feature name='erms'/> <feature name='ss'/> </blockers> + <model usable='no' vendor='Intel'>KnightsMill-v1</model> + <blockers model='KnightsMill-v1'> + <feature name='avx512-4fmaps'/> + <feature name='avx512-4vnniw'/> + <feature name='avx512-vpopcntdq'/> + <feature name='avx512cd'/> + <feature name='avx512er'/> + <feature name='avx512f'/> + <feature name='avx512pf'/> + <feature name='erms'/> + <feature name='ss'/> + </blockers> <model usable='yes' vendor='Intel' canonical='Nehalem-v1'>Nehalem</model> <model usable='no' vendor='Intel' canonical='Nehalem-v2'>Nehalem-IBRS</model> <blockers model='Nehalem-IBRS'> diff --git a/tests/domaincapsdata/qemu_7.0.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_7.0.0-tcg.x86_64.xml index c3a93369e4..ca7e0b98bd 100644 --- a/tests/domaincapsdata/qemu_7.0.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.0.0-tcg.x86_64.xml @@ -1275,7 +1275,7 @@ <feature name='tsc-deadline'/> <feature name='x2apic'/> </blockers> - <model usable='no' vendor='Intel'>KnightsMill</model> + <model usable='no' vendor='Intel' canonical='KnightsMill-v1'>KnightsMill</model> <blockers model='KnightsMill'> <feature name='3dnowprefetch'/> <feature name='avx'/> @@ -1293,6 +1293,24 @@ <feature name='tsc-deadline'/> <feature name='x2apic'/> </blockers> + <model usable='no' vendor='Intel'>KnightsMill-v1</model> + <blockers model='KnightsMill-v1'> + <feature name='3dnowprefetch'/> + <feature name='avx'/> + <feature name='avx2'/> + <feature name='avx512-4fmaps'/> + <feature name='avx512-4vnniw'/> + <feature name='avx512-vpopcntdq'/> + <feature name='avx512cd'/> + <feature name='avx512er'/> + <feature name='avx512f'/> + <feature name='avx512pf'/> + <feature name='f16c'/> + <feature name='fma'/> + <feature name='rdseed'/> + <feature name='tsc-deadline'/> + <feature name='x2apic'/> + </blockers> <model usable='yes' vendor='Intel' canonical='Nehalem-v1'>Nehalem</model> <model usable='no' vendor='Intel' canonical='Nehalem-v2'>Nehalem-IBRS</model> <blockers model='Nehalem-IBRS'> diff --git a/tests/domaincapsdata/qemu_7.0.0.x86_64.xml b/tests/domaincapsdata/qemu_7.0.0.x86_64.xml index 7415bda6bf..e0f17473c8 100644 --- a/tests/domaincapsdata/qemu_7.0.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.0.0.x86_64.xml @@ -651,7 +651,7 @@ <feature name='erms'/> <feature name='spec-ctrl'/> </blockers> - <model usable='no' vendor='Intel'>KnightsMill</model> + <model usable='no' vendor='Intel' canonical='KnightsMill-v1'>KnightsMill</model> <blockers model='KnightsMill'> <feature name='avx512-4fmaps'/> <feature name='avx512-4vnniw'/> @@ -663,6 +663,18 @@ <feature name='erms'/> <feature name='ss'/> </blockers> + <model usable='no' vendor='Intel'>KnightsMill-v1</model> + <blockers model='KnightsMill-v1'> + <feature name='avx512-4fmaps'/> + <feature name='avx512-4vnniw'/> + <feature name='avx512-vpopcntdq'/> + <feature name='avx512cd'/> + <feature name='avx512er'/> + <feature name='avx512f'/> + <feature name='avx512pf'/> + <feature name='erms'/> + <feature name='ss'/> + </blockers> <model usable='yes' vendor='Intel' canonical='Nehalem-v1'>Nehalem</model> <model usable='no' vendor='Intel' canonical='Nehalem-v2'>Nehalem-IBRS</model> <blockers model='Nehalem-IBRS'> diff --git a/tests/domaincapsdata/qemu_7.1.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_7.1.0-q35.x86_64.xml index 720387e9db..028d5db7fa 100644 --- a/tests/domaincapsdata/qemu_7.1.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.1.0-q35.x86_64.xml @@ -619,7 +619,7 @@ <feature name='erms'/> <feature name='spec-ctrl'/> </blockers> - <model usable='no' vendor='Intel'>KnightsMill</model> + <model usable='no' vendor='Intel' canonical='KnightsMill-v1'>KnightsMill</model> <blockers model='KnightsMill'> <feature name='avx512-4fmaps'/> <feature name='avx512-4vnniw'/> @@ -631,6 +631,18 @@ <feature name='erms'/> <feature name='ss'/> </blockers> + <model usable='no' vendor='Intel'>KnightsMill-v1</model> + <blockers model='KnightsMill-v1'> + <feature name='avx512-4fmaps'/> + <feature name='avx512-4vnniw'/> + <feature name='avx512-vpopcntdq'/> + <feature name='avx512cd'/> + <feature name='avx512er'/> + <feature name='avx512f'/> + <feature name='avx512pf'/> + <feature name='erms'/> + <feature name='ss'/> + </blockers> <model usable='yes' vendor='Intel' canonical='Nehalem-v1'>Nehalem</model> <model usable='no' vendor='Intel' canonical='Nehalem-v2'>Nehalem-IBRS</model> <blockers model='Nehalem-IBRS'> diff --git a/tests/domaincapsdata/qemu_7.1.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_7.1.0-tcg.x86_64.xml index 3000d11487..75f7b05d29 100644 --- a/tests/domaincapsdata/qemu_7.1.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.1.0-tcg.x86_64.xml @@ -1223,7 +1223,7 @@ <feature name='tsc-deadline'/> <feature name='x2apic'/> </blockers> - <model usable='no' vendor='Intel'>KnightsMill</model> + <model usable='no' vendor='Intel' canonical='KnightsMill-v1'>KnightsMill</model> <blockers model='KnightsMill'> <feature name='3dnowprefetch'/> <feature name='avx'/> @@ -1241,6 +1241,24 @@ <feature name='tsc-deadline'/> <feature name='x2apic'/> </blockers> + <model usable='no' vendor='Intel'>KnightsMill-v1</model> + <blockers model='KnightsMill-v1'> + <feature name='3dnowprefetch'/> + <feature name='avx'/> + <feature name='avx2'/> + <feature name='avx512-4fmaps'/> + <feature name='avx512-4vnniw'/> + <feature name='avx512-vpopcntdq'/> + <feature name='avx512cd'/> + <feature name='avx512er'/> + <feature name='avx512f'/> + <feature name='avx512pf'/> + <feature name='f16c'/> + <feature name='fma'/> + <feature name='rdseed'/> + <feature name='tsc-deadline'/> + <feature name='x2apic'/> + </blockers> <model usable='yes' vendor='Intel' canonical='Nehalem-v1'>Nehalem</model> <model usable='no' vendor='Intel' canonical='Nehalem-v2'>Nehalem-IBRS</model> <blockers model='Nehalem-IBRS'> diff --git a/tests/domaincapsdata/qemu_7.1.0.x86_64.xml b/tests/domaincapsdata/qemu_7.1.0.x86_64.xml index 31fe652a9f..4e03b1fc2d 100644 --- a/tests/domaincapsdata/qemu_7.1.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.1.0.x86_64.xml @@ -618,7 +618,7 @@ <feature name='erms'/> <feature name='spec-ctrl'/> </blockers> - <model usable='no' vendor='Intel'>KnightsMill</model> + <model usable='no' vendor='Intel' canonical='KnightsMill-v1'>KnightsMill</model> <blockers model='KnightsMill'> <feature name='avx512-4fmaps'/> <feature name='avx512-4vnniw'/> @@ -630,6 +630,18 @@ <feature name='erms'/> <feature name='ss'/> </blockers> + <model usable='no' vendor='Intel'>KnightsMill-v1</model> + <blockers model='KnightsMill-v1'> + <feature name='avx512-4fmaps'/> + <feature name='avx512-4vnniw'/> + <feature name='avx512-vpopcntdq'/> + <feature name='avx512cd'/> + <feature name='avx512er'/> + <feature name='avx512f'/> + <feature name='avx512pf'/> + <feature name='erms'/> + <feature name='ss'/> + </blockers> <model usable='yes' vendor='Intel' canonical='Nehalem-v1'>Nehalem</model> <model usable='no' vendor='Intel' canonical='Nehalem-v2'>Nehalem-IBRS</model> <blockers model='Nehalem-IBRS'> diff --git a/tests/domaincapsdata/qemu_7.2.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_7.2.0-q35.x86_64.xml index 88db1c659e..3b968e9c43 100644 --- a/tests/domaincapsdata/qemu_7.2.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.2.0-q35.x86_64.xml @@ -624,7 +624,7 @@ <feature name='erms'/> <feature name='spec-ctrl'/> </blockers> - <model usable='no' vendor='Intel'>KnightsMill</model> + <model usable='no' vendor='Intel' canonical='KnightsMill-v1'>KnightsMill</model> <blockers model='KnightsMill'> <feature name='avx512-4fmaps'/> <feature name='avx512-4vnniw'/> @@ -636,6 +636,18 @@ <feature name='erms'/> <feature name='ss'/> </blockers> + <model usable='no' vendor='Intel'>KnightsMill-v1</model> + <blockers model='KnightsMill-v1'> + <feature name='avx512-4fmaps'/> + <feature name='avx512-4vnniw'/> + <feature name='avx512-vpopcntdq'/> + <feature name='avx512cd'/> + <feature name='avx512er'/> + <feature name='avx512f'/> + <feature name='avx512pf'/> + <feature name='erms'/> + <feature name='ss'/> + </blockers> <model usable='yes' vendor='Intel' canonical='Nehalem-v1'>Nehalem</model> <model usable='no' vendor='Intel' canonical='Nehalem-v2'>Nehalem-IBRS</model> <blockers model='Nehalem-IBRS'> diff --git a/tests/domaincapsdata/qemu_7.2.0-tcg.x86_64+hvf.xml b/tests/domaincapsdata/qemu_7.2.0-tcg.x86_64+hvf.xml index 3392f2b42f..8d6f831b0d 100644 --- a/tests/domaincapsdata/qemu_7.2.0-tcg.x86_64+hvf.xml +++ b/tests/domaincapsdata/qemu_7.2.0-tcg.x86_64+hvf.xml @@ -1008,7 +1008,7 @@ <feature name='tsc-deadline'/> <feature name='x2apic'/> </blockers> - <model usable='no' vendor='Intel'>KnightsMill</model> + <model usable='no' vendor='Intel' canonical='KnightsMill-v1'>KnightsMill</model> <blockers model='KnightsMill'> <feature name='3dnowprefetch'/> <feature name='avx512-4fmaps'/> @@ -1022,6 +1022,20 @@ <feature name='tsc-deadline'/> <feature name='x2apic'/> </blockers> + <model usable='no' vendor='Intel'>KnightsMill-v1</model> + <blockers model='KnightsMill-v1'> + <feature name='3dnowprefetch'/> + <feature name='avx512-4fmaps'/> + <feature name='avx512-4vnniw'/> + <feature name='avx512-vpopcntdq'/> + <feature name='avx512cd'/> + <feature name='avx512er'/> + <feature name='avx512f'/> + <feature name='avx512pf'/> + <feature name='rdseed'/> + <feature name='tsc-deadline'/> + <feature name='x2apic'/> + </blockers> <model usable='yes' vendor='Intel' canonical='Nehalem-v1'>Nehalem</model> <model usable='no' vendor='Intel' canonical='Nehalem-v2'>Nehalem-IBRS</model> <blockers model='Nehalem-IBRS'> diff --git a/tests/domaincapsdata/qemu_7.2.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_7.2.0-tcg.x86_64.xml index 3392f2b42f..8d6f831b0d 100644 --- a/tests/domaincapsdata/qemu_7.2.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.2.0-tcg.x86_64.xml @@ -1008,7 +1008,7 @@ <feature name='tsc-deadline'/> <feature name='x2apic'/> </blockers> - <model usable='no' vendor='Intel'>KnightsMill</model> + <model usable='no' vendor='Intel' canonical='KnightsMill-v1'>KnightsMill</model> <blockers model='KnightsMill'> <feature name='3dnowprefetch'/> <feature name='avx512-4fmaps'/> @@ -1022,6 +1022,20 @@ <feature name='tsc-deadline'/> <feature name='x2apic'/> </blockers> + <model usable='no' vendor='Intel'>KnightsMill-v1</model> + <blockers model='KnightsMill-v1'> + <feature name='3dnowprefetch'/> + <feature name='avx512-4fmaps'/> + <feature name='avx512-4vnniw'/> + <feature name='avx512-vpopcntdq'/> + <feature name='avx512cd'/> + <feature name='avx512er'/> + <feature name='avx512f'/> + <feature name='avx512pf'/> + <feature name='rdseed'/> + <feature name='tsc-deadline'/> + <feature name='x2apic'/> + </blockers> <model usable='yes' vendor='Intel' canonical='Nehalem-v1'>Nehalem</model> <model usable='no' vendor='Intel' canonical='Nehalem-v2'>Nehalem-IBRS</model> <blockers model='Nehalem-IBRS'> diff --git a/tests/domaincapsdata/qemu_7.2.0.x86_64.xml b/tests/domaincapsdata/qemu_7.2.0.x86_64.xml index 5223dbb2e2..025ec7d022 100644 --- a/tests/domaincapsdata/qemu_7.2.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.2.0.x86_64.xml @@ -623,7 +623,7 @@ <feature name='erms'/> <feature name='spec-ctrl'/> </blockers> - <model usable='no' vendor='Intel'>KnightsMill</model> + <model usable='no' vendor='Intel' canonical='KnightsMill-v1'>KnightsMill</model> <blockers model='KnightsMill'> <feature name='avx512-4fmaps'/> <feature name='avx512-4vnniw'/> @@ -635,6 +635,18 @@ <feature name='erms'/> <feature name='ss'/> </blockers> + <model usable='no' vendor='Intel'>KnightsMill-v1</model> + <blockers model='KnightsMill-v1'> + <feature name='avx512-4fmaps'/> + <feature name='avx512-4vnniw'/> + <feature name='avx512-vpopcntdq'/> + <feature name='avx512cd'/> + <feature name='avx512er'/> + <feature name='avx512f'/> + <feature name='avx512pf'/> + <feature name='erms'/> + <feature name='ss'/> + </blockers> <model usable='yes' vendor='Intel' canonical='Nehalem-v1'>Nehalem</model> <model usable='no' vendor='Intel' canonical='Nehalem-v2'>Nehalem-IBRS</model> <blockers model='Nehalem-IBRS'> diff --git a/tests/domaincapsdata/qemu_8.0.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_8.0.0-q35.x86_64.xml index e43c6710e9..5fe7501941 100644 --- a/tests/domaincapsdata/qemu_8.0.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.0.0-q35.x86_64.xml @@ -624,7 +624,7 @@ <feature name='erms'/> <feature name='spec-ctrl'/> </blockers> - <model usable='no' vendor='Intel'>KnightsMill</model> + <model usable='no' vendor='Intel' canonical='KnightsMill-v1'>KnightsMill</model> <blockers model='KnightsMill'> <feature name='avx512-4fmaps'/> <feature name='avx512-4vnniw'/> @@ -636,6 +636,18 @@ <feature name='erms'/> <feature name='ss'/> </blockers> + <model usable='no' vendor='Intel'>KnightsMill-v1</model> + <blockers model='KnightsMill-v1'> + <feature name='avx512-4fmaps'/> + <feature name='avx512-4vnniw'/> + <feature name='avx512-vpopcntdq'/> + <feature name='avx512cd'/> + <feature name='avx512er'/> + <feature name='avx512f'/> + <feature name='avx512pf'/> + <feature name='erms'/> + <feature name='ss'/> + </blockers> <model usable='yes' vendor='Intel' canonical='Nehalem-v1'>Nehalem</model> <model usable='no' vendor='Intel' canonical='Nehalem-v2'>Nehalem-IBRS</model> <blockers model='Nehalem-IBRS'> diff --git a/tests/domaincapsdata/qemu_8.0.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_8.0.0-tcg.x86_64.xml index 3d5c15fdf1..68bcb93a5f 100644 --- a/tests/domaincapsdata/qemu_8.0.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.0.0-tcg.x86_64.xml @@ -1007,7 +1007,7 @@ <feature name='tsc-deadline'/> <feature name='x2apic'/> </blockers> - <model usable='no' vendor='Intel'>KnightsMill</model> + <model usable='no' vendor='Intel' canonical='KnightsMill-v1'>KnightsMill</model> <blockers model='KnightsMill'> <feature name='3dnowprefetch'/> <feature name='avx512-4fmaps'/> @@ -1021,6 +1021,20 @@ <feature name='tsc-deadline'/> <feature name='x2apic'/> </blockers> + <model usable='no' vendor='Intel'>KnightsMill-v1</model> + <blockers model='KnightsMill-v1'> + <feature name='3dnowprefetch'/> + <feature name='avx512-4fmaps'/> + <feature name='avx512-4vnniw'/> + <feature name='avx512-vpopcntdq'/> + <feature name='avx512cd'/> + <feature name='avx512er'/> + <feature name='avx512f'/> + <feature name='avx512pf'/> + <feature name='rdseed'/> + <feature name='tsc-deadline'/> + <feature name='x2apic'/> + </blockers> <model usable='yes' vendor='Intel' canonical='Nehalem-v1'>Nehalem</model> <model usable='no' vendor='Intel' canonical='Nehalem-v2'>Nehalem-IBRS</model> <blockers model='Nehalem-IBRS'> diff --git a/tests/domaincapsdata/qemu_8.0.0.x86_64.xml b/tests/domaincapsdata/qemu_8.0.0.x86_64.xml index 420dae738f..87b7af3b6f 100644 --- a/tests/domaincapsdata/qemu_8.0.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.0.0.x86_64.xml @@ -623,7 +623,7 @@ <feature name='erms'/> <feature name='spec-ctrl'/> </blockers> - <model usable='no' vendor='Intel'>KnightsMill</model> + <model usable='no' vendor='Intel' canonical='KnightsMill-v1'>KnightsMill</model> <blockers model='KnightsMill'> <feature name='avx512-4fmaps'/> <feature name='avx512-4vnniw'/> @@ -635,6 +635,18 @@ <feature name='erms'/> <feature name='ss'/> </blockers> + <model usable='no' vendor='Intel'>KnightsMill-v1</model> + <blockers model='KnightsMill-v1'> + <feature name='avx512-4fmaps'/> + <feature name='avx512-4vnniw'/> + <feature name='avx512-vpopcntdq'/> + <feature name='avx512cd'/> + <feature name='avx512er'/> + <feature name='avx512f'/> + <feature name='avx512pf'/> + <feature name='erms'/> + <feature name='ss'/> + </blockers> <model usable='yes' vendor='Intel' canonical='Nehalem-v1'>Nehalem</model> <model usable='no' vendor='Intel' canonical='Nehalem-v2'>Nehalem-IBRS</model> <blockers model='Nehalem-IBRS'> diff --git a/tests/domaincapsdata/qemu_8.1.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_8.1.0-q35.x86_64.xml index e5853535ce..2feb9c05fd 100644 --- a/tests/domaincapsdata/qemu_8.1.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.1.0-q35.x86_64.xml @@ -332,7 +332,7 @@ <feature name='xsaves'/> </blockers> <model usable='yes' vendor='AMD' canonical='EPYC-v1'>EPYC</model> - <model usable='no' vendor='AMD'>EPYC-Genoa</model> + <model usable='no' vendor='AMD' canonical='EPYC-Genoa-v1'>EPYC-Genoa</model> <blockers model='EPYC-Genoa'> <feature name='amd-psfd'/> <feature name='auto-ibrs'/> @@ -362,6 +362,36 @@ <feature name='vpclmulqdq'/> <feature name='xsaves'/> </blockers> + <model usable='no' vendor='AMD'>EPYC-Genoa-v1</model> + <blockers model='EPYC-Genoa-v1'> + <feature name='amd-psfd'/> + <feature name='auto-ibrs'/> + <feature name='avx512-bf16'/> + <feature name='avx512-vpopcntdq'/> + <feature name='avx512bitalg'/> + <feature name='avx512bw'/> + <feature name='avx512cd'/> + <feature name='avx512dq'/> + <feature name='avx512f'/> + <feature name='avx512ifma'/> + <feature name='avx512vbmi'/> + <feature name='avx512vbmi2'/> + <feature name='avx512vl'/> + <feature name='avx512vnni'/> + <feature name='erms'/> + <feature name='fsrm'/> + <feature name='gfni'/> + <feature name='ibrs'/> + <feature name='invpcid'/> + <feature name='la57'/> + <feature name='no-nested-data-bp'/> + <feature name='pcid'/> + <feature name='pku'/> + <feature name='stibp-always-on'/> + <feature name='vaes'/> + <feature name='vpclmulqdq'/> + <feature name='xsaves'/> + </blockers> <model usable='yes' vendor='AMD' canonical='EPYC-v2'>EPYC-IBPB</model> <model usable='no' vendor='AMD' canonical='EPYC-Milan-v1'>EPYC-Milan</model> <blockers model='EPYC-Milan'> @@ -802,7 +832,7 @@ <feature name='erms'/> <feature name='spec-ctrl'/> </blockers> - <model usable='no' vendor='Intel'>KnightsMill</model> + <model usable='no' vendor='Intel' canonical='KnightsMill-v1'>KnightsMill</model> <blockers model='KnightsMill'> <feature name='avx512-4fmaps'/> <feature name='avx512-4vnniw'/> @@ -814,6 +844,18 @@ <feature name='erms'/> <feature name='ss'/> </blockers> + <model usable='no' vendor='Intel'>KnightsMill-v1</model> + <blockers model='KnightsMill-v1'> + <feature name='avx512-4fmaps'/> + <feature name='avx512-4vnniw'/> + <feature name='avx512-vpopcntdq'/> + <feature name='avx512cd'/> + <feature name='avx512er'/> + <feature name='avx512f'/> + <feature name='avx512pf'/> + <feature name='erms'/> + <feature name='ss'/> + </blockers> <model usable='yes' vendor='Intel' canonical='Nehalem-v1'>Nehalem</model> <model usable='no' vendor='Intel' canonical='Nehalem-v2'>Nehalem-IBRS</model> <blockers model='Nehalem-IBRS'> diff --git a/tests/domaincapsdata/qemu_8.1.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_8.1.0-tcg.x86_64.xml index 22c40afdb1..581e492daf 100644 --- a/tests/domaincapsdata/qemu_8.1.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.1.0-tcg.x86_64.xml @@ -412,7 +412,7 @@ <feature name='topoext'/> <feature name='xsavec'/> </blockers> - <model usable='no' vendor='AMD'>EPYC-Genoa</model> + <model usable='no' vendor='AMD' canonical='EPYC-Genoa-v1'>EPYC-Genoa</model> <blockers model='EPYC-Genoa'> <feature name='amd-psfd'/> <feature name='amd-ssbd'/> @@ -452,6 +452,46 @@ <feature name='xsavec'/> <feature name='xsaves'/> </blockers> + <model usable='no' vendor='AMD'>EPYC-Genoa-v1</model> + <blockers model='EPYC-Genoa-v1'> + <feature name='amd-psfd'/> + <feature name='amd-ssbd'/> + <feature name='amd-stibp'/> + <feature name='auto-ibrs'/> + <feature name='avx512-bf16'/> + <feature name='avx512-vpopcntdq'/> + <feature name='avx512bitalg'/> + <feature name='avx512bw'/> + <feature name='avx512cd'/> + <feature name='avx512dq'/> + <feature name='avx512f'/> + <feature name='avx512ifma'/> + <feature name='avx512vbmi'/> + <feature name='avx512vbmi2'/> + <feature name='avx512vl'/> + <feature name='avx512vnni'/> + <feature name='clzero'/> + <feature name='fxsr_opt'/> + <feature name='gfni'/> + <feature name='ibpb'/> + <feature name='ibrs'/> + <feature name='invpcid'/> + <feature name='lfence-always-serializing'/> + <feature name='misalignsse'/> + <feature name='no-nested-data-bp'/> + <feature name='nrip-save'/> + <feature name='null-sel-clr-base'/> + <feature name='osvw'/> + <feature name='pcid'/> + <feature name='perfctr_core'/> + <feature name='sha-ni'/> + <feature name='stibp-always-on'/> + <feature name='topoext'/> + <feature name='vnmi'/> + <feature name='vpclmulqdq'/> + <feature name='xsavec'/> + <feature name='xsaves'/> + </blockers> <model usable='no' vendor='AMD' canonical='EPYC-v2'>EPYC-IBPB</model> <blockers model='EPYC-IBPB'> <feature name='fxsr_opt'/> @@ -1019,7 +1059,7 @@ <feature name='tsc-deadline'/> <feature name='x2apic'/> </blockers> - <model usable='no' vendor='Intel'>KnightsMill</model> + <model usable='no' vendor='Intel' canonical='KnightsMill-v1'>KnightsMill</model> <blockers model='KnightsMill'> <feature name='avx512-4fmaps'/> <feature name='avx512-4vnniw'/> @@ -1031,6 +1071,18 @@ <feature name='tsc-deadline'/> <feature name='x2apic'/> </blockers> + <model usable='no' vendor='Intel'>KnightsMill-v1</model> + <blockers model='KnightsMill-v1'> + <feature name='avx512-4fmaps'/> + <feature name='avx512-4vnniw'/> + <feature name='avx512-vpopcntdq'/> + <feature name='avx512cd'/> + <feature name='avx512er'/> + <feature name='avx512f'/> + <feature name='avx512pf'/> + <feature name='tsc-deadline'/> + <feature name='x2apic'/> + </blockers> <model usable='yes' vendor='Intel' canonical='Nehalem-v1'>Nehalem</model> <model usable='no' vendor='Intel' canonical='Nehalem-v2'>Nehalem-IBRS</model> <blockers model='Nehalem-IBRS'> diff --git a/tests/domaincapsdata/qemu_8.1.0.x86_64.xml b/tests/domaincapsdata/qemu_8.1.0.x86_64.xml index c40cbb8a73..7e3cded8b9 100644 --- a/tests/domaincapsdata/qemu_8.1.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.1.0.x86_64.xml @@ -331,7 +331,7 @@ <feature name='xsaves'/> </blockers> <model usable='yes' vendor='AMD' canonical='EPYC-v1'>EPYC</model> - <model usable='no' vendor='AMD'>EPYC-Genoa</model> + <model usable='no' vendor='AMD' canonical='EPYC-Genoa-v1'>EPYC-Genoa</model> <blockers model='EPYC-Genoa'> <feature name='amd-psfd'/> <feature name='auto-ibrs'/> @@ -361,6 +361,36 @@ <feature name='vpclmulqdq'/> <feature name='xsaves'/> </blockers> + <model usable='no' vendor='AMD'>EPYC-Genoa-v1</model> + <blockers model='EPYC-Genoa-v1'> + <feature name='amd-psfd'/> + <feature name='auto-ibrs'/> + <feature name='avx512-bf16'/> + <feature name='avx512-vpopcntdq'/> + <feature name='avx512bitalg'/> + <feature name='avx512bw'/> + <feature name='avx512cd'/> + <feature name='avx512dq'/> + <feature name='avx512f'/> + <feature name='avx512ifma'/> + <feature name='avx512vbmi'/> + <feature name='avx512vbmi2'/> + <feature name='avx512vl'/> + <feature name='avx512vnni'/> + <feature name='erms'/> + <feature name='fsrm'/> + <feature name='gfni'/> + <feature name='ibrs'/> + <feature name='invpcid'/> + <feature name='la57'/> + <feature name='no-nested-data-bp'/> + <feature name='pcid'/> + <feature name='pku'/> + <feature name='stibp-always-on'/> + <feature name='vaes'/> + <feature name='vpclmulqdq'/> + <feature name='xsaves'/> + </blockers> <model usable='yes' vendor='AMD' canonical='EPYC-v2'>EPYC-IBPB</model> <model usable='no' vendor='AMD' canonical='EPYC-Milan-v1'>EPYC-Milan</model> <blockers model='EPYC-Milan'> @@ -801,7 +831,7 @@ <feature name='erms'/> <feature name='spec-ctrl'/> </blockers> - <model usable='no' vendor='Intel'>KnightsMill</model> + <model usable='no' vendor='Intel' canonical='KnightsMill-v1'>KnightsMill</model> <blockers model='KnightsMill'> <feature name='avx512-4fmaps'/> <feature name='avx512-4vnniw'/> @@ -813,6 +843,18 @@ <feature name='erms'/> <feature name='ss'/> </blockers> + <model usable='no' vendor='Intel'>KnightsMill-v1</model> + <blockers model='KnightsMill-v1'> + <feature name='avx512-4fmaps'/> + <feature name='avx512-4vnniw'/> + <feature name='avx512-vpopcntdq'/> + <feature name='avx512cd'/> + <feature name='avx512er'/> + <feature name='avx512f'/> + <feature name='avx512pf'/> + <feature name='erms'/> + <feature name='ss'/> + </blockers> <model usable='yes' vendor='Intel' canonical='Nehalem-v1'>Nehalem</model> <model usable='no' vendor='Intel' canonical='Nehalem-v2'>Nehalem-IBRS</model> <blockers model='Nehalem-IBRS'> diff --git a/tests/domaincapsdata/qemu_8.2.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_8.2.0-q35.x86_64.xml index cfc4b3e301..f250a6530e 100644 --- a/tests/domaincapsdata/qemu_8.2.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.2.0-q35.x86_64.xml @@ -333,7 +333,7 @@ <feature name='xsaves'/> </blockers> <model usable='yes' vendor='AMD' canonical='EPYC-v1'>EPYC</model> - <model usable='no' vendor='AMD'>EPYC-Genoa</model> + <model usable='no' vendor='AMD' canonical='EPYC-Genoa-v1'>EPYC-Genoa</model> <blockers model='EPYC-Genoa'> <feature name='amd-psfd'/> <feature name='auto-ibrs'/> @@ -363,6 +363,36 @@ <feature name='vpclmulqdq'/> <feature name='xsaves'/> </blockers> + <model usable='no' vendor='AMD'>EPYC-Genoa-v1</model> + <blockers model='EPYC-Genoa-v1'> + <feature name='amd-psfd'/> + <feature name='auto-ibrs'/> + <feature name='avx512-bf16'/> + <feature name='avx512-vpopcntdq'/> + <feature name='avx512bitalg'/> + <feature name='avx512bw'/> + <feature name='avx512cd'/> + <feature name='avx512dq'/> + <feature name='avx512f'/> + <feature name='avx512ifma'/> + <feature name='avx512vbmi'/> + <feature name='avx512vbmi2'/> + <feature name='avx512vl'/> + <feature name='avx512vnni'/> + <feature name='erms'/> + <feature name='fsrm'/> + <feature name='gfni'/> + <feature name='ibrs'/> + <feature name='invpcid'/> + <feature name='la57'/> + <feature name='no-nested-data-bp'/> + <feature name='pcid'/> + <feature name='pku'/> + <feature name='stibp-always-on'/> + <feature name='vaes'/> + <feature name='vpclmulqdq'/> + <feature name='xsaves'/> + </blockers> <model usable='yes' vendor='AMD' canonical='EPYC-v2'>EPYC-IBPB</model> <model usable='no' vendor='AMD' canonical='EPYC-Milan-v1'>EPYC-Milan</model> <blockers model='EPYC-Milan'> @@ -803,7 +833,7 @@ <feature name='erms'/> <feature name='spec-ctrl'/> </blockers> - <model usable='no' vendor='Intel'>KnightsMill</model> + <model usable='no' vendor='Intel' canonical='KnightsMill-v1'>KnightsMill</model> <blockers model='KnightsMill'> <feature name='avx512-4fmaps'/> <feature name='avx512-4vnniw'/> @@ -815,6 +845,18 @@ <feature name='erms'/> <feature name='ss'/> </blockers> + <model usable='no' vendor='Intel'>KnightsMill-v1</model> + <blockers model='KnightsMill-v1'> + <feature name='avx512-4fmaps'/> + <feature name='avx512-4vnniw'/> + <feature name='avx512-vpopcntdq'/> + <feature name='avx512cd'/> + <feature name='avx512er'/> + <feature name='avx512f'/> + <feature name='avx512pf'/> + <feature name='erms'/> + <feature name='ss'/> + </blockers> <model usable='yes' vendor='Intel' canonical='Nehalem-v1'>Nehalem</model> <model usable='no' vendor='Intel' canonical='Nehalem-v2'>Nehalem-IBRS</model> <blockers model='Nehalem-IBRS'> diff --git a/tests/domaincapsdata/qemu_8.2.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_8.2.0-tcg.x86_64.xml index 4383050d3c..602ac96f32 100644 --- a/tests/domaincapsdata/qemu_8.2.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.2.0-tcg.x86_64.xml @@ -406,7 +406,7 @@ <feature name='topoext'/> <feature name='xsavec'/> </blockers> - <model usable='no' vendor='AMD'>EPYC-Genoa</model> + <model usable='no' vendor='AMD' canonical='EPYC-Genoa-v1'>EPYC-Genoa</model> <blockers model='EPYC-Genoa'> <feature name='amd-psfd'/> <feature name='amd-ssbd'/> @@ -445,6 +445,45 @@ <feature name='xsavec'/> <feature name='xsaves'/> </blockers> + <model usable='no' vendor='AMD'>EPYC-Genoa-v1</model> + <blockers model='EPYC-Genoa-v1'> + <feature name='amd-psfd'/> + <feature name='amd-ssbd'/> + <feature name='amd-stibp'/> + <feature name='auto-ibrs'/> + <feature name='avx512-bf16'/> + <feature name='avx512-vpopcntdq'/> + <feature name='avx512bitalg'/> + <feature name='avx512bw'/> + <feature name='avx512cd'/> + <feature name='avx512dq'/> + <feature name='avx512f'/> + <feature name='avx512ifma'/> + <feature name='avx512vbmi'/> + <feature name='avx512vbmi2'/> + <feature name='avx512vl'/> + <feature name='avx512vnni'/> + <feature name='clzero'/> + <feature name='fxsr_opt'/> + <feature name='gfni'/> + <feature name='ibpb'/> + <feature name='ibrs'/> + <feature name='invpcid'/> + <feature name='lfence-always-serializing'/> + <feature name='misalignsse'/> + <feature name='no-nested-data-bp'/> + <feature name='nrip-save'/> + <feature name='null-sel-clr-base'/> + <feature name='osvw'/> + <feature name='pcid'/> + <feature name='perfctr_core'/> + <feature name='stibp-always-on'/> + <feature name='topoext'/> + <feature name='vnmi'/> + <feature name='vpclmulqdq'/> + <feature name='xsavec'/> + <feature name='xsaves'/> + </blockers> <model usable='no' vendor='AMD' canonical='EPYC-v2'>EPYC-IBPB</model> <blockers model='EPYC-IBPB'> <feature name='fxsr_opt'/> @@ -994,7 +1033,7 @@ <feature name='tsc-deadline'/> <feature name='x2apic'/> </blockers> - <model usable='no' vendor='Intel'>KnightsMill</model> + <model usable='no' vendor='Intel' canonical='KnightsMill-v1'>KnightsMill</model> <blockers model='KnightsMill'> <feature name='avx512-4fmaps'/> <feature name='avx512-4vnniw'/> @@ -1006,6 +1045,18 @@ <feature name='tsc-deadline'/> <feature name='x2apic'/> </blockers> + <model usable='no' vendor='Intel'>KnightsMill-v1</model> + <blockers model='KnightsMill-v1'> + <feature name='avx512-4fmaps'/> + <feature name='avx512-4vnniw'/> + <feature name='avx512-vpopcntdq'/> + <feature name='avx512cd'/> + <feature name='avx512er'/> + <feature name='avx512f'/> + <feature name='avx512pf'/> + <feature name='tsc-deadline'/> + <feature name='x2apic'/> + </blockers> <model usable='yes' vendor='Intel' canonical='Nehalem-v1'>Nehalem</model> <model usable='no' vendor='Intel' canonical='Nehalem-v2'>Nehalem-IBRS</model> <blockers model='Nehalem-IBRS'> diff --git a/tests/domaincapsdata/qemu_8.2.0.x86_64.xml b/tests/domaincapsdata/qemu_8.2.0.x86_64.xml index 062d91ba9a..d67841bd29 100644 --- a/tests/domaincapsdata/qemu_8.2.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.2.0.x86_64.xml @@ -332,7 +332,7 @@ <feature name='xsaves'/> </blockers> <model usable='yes' vendor='AMD' canonical='EPYC-v1'>EPYC</model> - <model usable='no' vendor='AMD'>EPYC-Genoa</model> + <model usable='no' vendor='AMD' canonical='EPYC-Genoa-v1'>EPYC-Genoa</model> <blockers model='EPYC-Genoa'> <feature name='amd-psfd'/> <feature name='auto-ibrs'/> @@ -362,6 +362,36 @@ <feature name='vpclmulqdq'/> <feature name='xsaves'/> </blockers> + <model usable='no' vendor='AMD'>EPYC-Genoa-v1</model> + <blockers model='EPYC-Genoa-v1'> + <feature name='amd-psfd'/> + <feature name='auto-ibrs'/> + <feature name='avx512-bf16'/> + <feature name='avx512-vpopcntdq'/> + <feature name='avx512bitalg'/> + <feature name='avx512bw'/> + <feature name='avx512cd'/> + <feature name='avx512dq'/> + <feature name='avx512f'/> + <feature name='avx512ifma'/> + <feature name='avx512vbmi'/> + <feature name='avx512vbmi2'/> + <feature name='avx512vl'/> + <feature name='avx512vnni'/> + <feature name='erms'/> + <feature name='fsrm'/> + <feature name='gfni'/> + <feature name='ibrs'/> + <feature name='invpcid'/> + <feature name='la57'/> + <feature name='no-nested-data-bp'/> + <feature name='pcid'/> + <feature name='pku'/> + <feature name='stibp-always-on'/> + <feature name='vaes'/> + <feature name='vpclmulqdq'/> + <feature name='xsaves'/> + </blockers> <model usable='yes' vendor='AMD' canonical='EPYC-v2'>EPYC-IBPB</model> <model usable='no' vendor='AMD' canonical='EPYC-Milan-v1'>EPYC-Milan</model> <blockers model='EPYC-Milan'> @@ -802,7 +832,7 @@ <feature name='erms'/> <feature name='spec-ctrl'/> </blockers> - <model usable='no' vendor='Intel'>KnightsMill</model> + <model usable='no' vendor='Intel' canonical='KnightsMill-v1'>KnightsMill</model> <blockers model='KnightsMill'> <feature name='avx512-4fmaps'/> <feature name='avx512-4vnniw'/> @@ -814,6 +844,18 @@ <feature name='erms'/> <feature name='ss'/> </blockers> + <model usable='no' vendor='Intel'>KnightsMill-v1</model> + <blockers model='KnightsMill-v1'> + <feature name='avx512-4fmaps'/> + <feature name='avx512-4vnniw'/> + <feature name='avx512-vpopcntdq'/> + <feature name='avx512cd'/> + <feature name='avx512er'/> + <feature name='avx512f'/> + <feature name='avx512pf'/> + <feature name='erms'/> + <feature name='ss'/> + </blockers> <model usable='yes' vendor='Intel' canonical='Nehalem-v1'>Nehalem</model> <model usable='no' vendor='Intel' canonical='Nehalem-v2'>Nehalem-IBRS</model> <blockers model='Nehalem-IBRS'> diff --git a/tests/domaincapsdata/qemu_9.0.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_9.0.0-q35.x86_64.xml index e8053efc99..fb438bf984 100644 --- a/tests/domaincapsdata/qemu_9.0.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_9.0.0-q35.x86_64.xml @@ -333,7 +333,7 @@ <feature name='xsaves'/> </blockers> <model usable='yes' vendor='AMD' canonical='EPYC-v1'>EPYC</model> - <model usable='no' vendor='AMD'>EPYC-Genoa</model> + <model usable='no' vendor='AMD' canonical='EPYC-Genoa-v1'>EPYC-Genoa</model> <blockers model='EPYC-Genoa'> <feature name='amd-psfd'/> <feature name='auto-ibrs'/> @@ -363,6 +363,36 @@ <feature name='vpclmulqdq'/> <feature name='xsaves'/> </blockers> + <model usable='no' vendor='AMD'>EPYC-Genoa-v1</model> + <blockers model='EPYC-Genoa-v1'> + <feature name='amd-psfd'/> + <feature name='auto-ibrs'/> + <feature name='avx512-bf16'/> + <feature name='avx512-vpopcntdq'/> + <feature name='avx512bitalg'/> + <feature name='avx512bw'/> + <feature name='avx512cd'/> + <feature name='avx512dq'/> + <feature name='avx512f'/> + <feature name='avx512ifma'/> + <feature name='avx512vbmi'/> + <feature name='avx512vbmi2'/> + <feature name='avx512vl'/> + <feature name='avx512vnni'/> + <feature name='erms'/> + <feature name='fsrm'/> + <feature name='gfni'/> + <feature name='ibrs'/> + <feature name='invpcid'/> + <feature name='la57'/> + <feature name='no-nested-data-bp'/> + <feature name='pcid'/> + <feature name='pku'/> + <feature name='stibp-always-on'/> + <feature name='vaes'/> + <feature name='vpclmulqdq'/> + <feature name='xsaves'/> + </blockers> <model usable='yes' vendor='AMD' canonical='EPYC-v2'>EPYC-IBPB</model> <model usable='no' vendor='AMD' canonical='EPYC-Milan-v1'>EPYC-Milan</model> <blockers model='EPYC-Milan'> @@ -803,7 +833,7 @@ <feature name='erms'/> <feature name='spec-ctrl'/> </blockers> - <model usable='no' vendor='Intel'>KnightsMill</model> + <model usable='no' vendor='Intel' canonical='KnightsMill-v1'>KnightsMill</model> <blockers model='KnightsMill'> <feature name='avx512-4fmaps'/> <feature name='avx512-4vnniw'/> @@ -815,6 +845,18 @@ <feature name='erms'/> <feature name='ss'/> </blockers> + <model usable='no' vendor='Intel'>KnightsMill-v1</model> + <blockers model='KnightsMill-v1'> + <feature name='avx512-4fmaps'/> + <feature name='avx512-4vnniw'/> + <feature name='avx512-vpopcntdq'/> + <feature name='avx512cd'/> + <feature name='avx512er'/> + <feature name='avx512f'/> + <feature name='avx512pf'/> + <feature name='erms'/> + <feature name='ss'/> + </blockers> <model usable='yes' vendor='Intel' canonical='Nehalem-v1'>Nehalem</model> <model usable='no' vendor='Intel' canonical='Nehalem-v2'>Nehalem-IBRS</model> <blockers model='Nehalem-IBRS'> diff --git a/tests/domaincapsdata/qemu_9.0.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_9.0.0-tcg.x86_64.xml index 8f3357be6f..6560cdaba5 100644 --- a/tests/domaincapsdata/qemu_9.0.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_9.0.0-tcg.x86_64.xml @@ -386,7 +386,7 @@ <feature name='topoext'/> <feature name='xsavec'/> </blockers> - <model usable='no' vendor='AMD'>EPYC-Genoa</model> + <model usable='no' vendor='AMD' canonical='EPYC-Genoa-v1'>EPYC-Genoa</model> <blockers model='EPYC-Genoa'> <feature name='amd-psfd'/> <feature name='amd-ssbd'/> @@ -425,6 +425,45 @@ <feature name='xsavec'/> <feature name='xsaves'/> </blockers> + <model usable='no' vendor='AMD'>EPYC-Genoa-v1</model> + <blockers model='EPYC-Genoa-v1'> + <feature name='amd-psfd'/> + <feature name='amd-ssbd'/> + <feature name='amd-stibp'/> + <feature name='auto-ibrs'/> + <feature name='avx512-bf16'/> + <feature name='avx512-vpopcntdq'/> + <feature name='avx512bitalg'/> + <feature name='avx512bw'/> + <feature name='avx512cd'/> + <feature name='avx512dq'/> + <feature name='avx512f'/> + <feature name='avx512ifma'/> + <feature name='avx512vbmi'/> + <feature name='avx512vbmi2'/> + <feature name='avx512vl'/> + <feature name='avx512vnni'/> + <feature name='clzero'/> + <feature name='fxsr_opt'/> + <feature name='gfni'/> + <feature name='ibpb'/> + <feature name='ibrs'/> + <feature name='invpcid'/> + <feature name='lfence-always-serializing'/> + <feature name='misalignsse'/> + <feature name='no-nested-data-bp'/> + <feature name='nrip-save'/> + <feature name='null-sel-clr-base'/> + <feature name='osvw'/> + <feature name='pcid'/> + <feature name='perfctr_core'/> + <feature name='stibp-always-on'/> + <feature name='topoext'/> + <feature name='vnmi'/> + <feature name='vpclmulqdq'/> + <feature name='xsavec'/> + <feature name='xsaves'/> + </blockers> <model usable='no' vendor='AMD' canonical='EPYC-v2'>EPYC-IBPB</model> <blockers model='EPYC-IBPB'> <feature name='fxsr_opt'/> @@ -952,7 +991,7 @@ <feature name='spec-ctrl'/> <feature name='tsc-deadline'/> </blockers> - <model usable='no' vendor='Intel'>KnightsMill</model> + <model usable='no' vendor='Intel' canonical='KnightsMill-v1'>KnightsMill</model> <blockers model='KnightsMill'> <feature name='avx512-4fmaps'/> <feature name='avx512-4vnniw'/> @@ -963,6 +1002,17 @@ <feature name='avx512pf'/> <feature name='tsc-deadline'/> </blockers> + <model usable='no' vendor='Intel'>KnightsMill-v1</model> + <blockers model='KnightsMill-v1'> + <feature name='avx512-4fmaps'/> + <feature name='avx512-4vnniw'/> + <feature name='avx512-vpopcntdq'/> + <feature name='avx512cd'/> + <feature name='avx512er'/> + <feature name='avx512f'/> + <feature name='avx512pf'/> + <feature name='tsc-deadline'/> + </blockers> <model usable='yes' vendor='Intel' canonical='Nehalem-v1'>Nehalem</model> <model usable='no' vendor='Intel' canonical='Nehalem-v2'>Nehalem-IBRS</model> <blockers model='Nehalem-IBRS'> diff --git a/tests/domaincapsdata/qemu_9.0.0.x86_64.xml b/tests/domaincapsdata/qemu_9.0.0.x86_64.xml index db12bd81e3..f19b1aaf0b 100644 --- a/tests/domaincapsdata/qemu_9.0.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_9.0.0.x86_64.xml @@ -332,7 +332,7 @@ <feature name='xsaves'/> </blockers> <model usable='yes' vendor='AMD' canonical='EPYC-v1'>EPYC</model> - <model usable='no' vendor='AMD'>EPYC-Genoa</model> + <model usable='no' vendor='AMD' canonical='EPYC-Genoa-v1'>EPYC-Genoa</model> <blockers model='EPYC-Genoa'> <feature name='amd-psfd'/> <feature name='auto-ibrs'/> @@ -362,6 +362,36 @@ <feature name='vpclmulqdq'/> <feature name='xsaves'/> </blockers> + <model usable='no' vendor='AMD'>EPYC-Genoa-v1</model> + <blockers model='EPYC-Genoa-v1'> + <feature name='amd-psfd'/> + <feature name='auto-ibrs'/> + <feature name='avx512-bf16'/> + <feature name='avx512-vpopcntdq'/> + <feature name='avx512bitalg'/> + <feature name='avx512bw'/> + <feature name='avx512cd'/> + <feature name='avx512dq'/> + <feature name='avx512f'/> + <feature name='avx512ifma'/> + <feature name='avx512vbmi'/> + <feature name='avx512vbmi2'/> + <feature name='avx512vl'/> + <feature name='avx512vnni'/> + <feature name='erms'/> + <feature name='fsrm'/> + <feature name='gfni'/> + <feature name='ibrs'/> + <feature name='invpcid'/> + <feature name='la57'/> + <feature name='no-nested-data-bp'/> + <feature name='pcid'/> + <feature name='pku'/> + <feature name='stibp-always-on'/> + <feature name='vaes'/> + <feature name='vpclmulqdq'/> + <feature name='xsaves'/> + </blockers> <model usable='yes' vendor='AMD' canonical='EPYC-v2'>EPYC-IBPB</model> <model usable='no' vendor='AMD' canonical='EPYC-Milan-v1'>EPYC-Milan</model> <blockers model='EPYC-Milan'> @@ -802,7 +832,7 @@ <feature name='erms'/> <feature name='spec-ctrl'/> </blockers> - <model usable='no' vendor='Intel'>KnightsMill</model> + <model usable='no' vendor='Intel' canonical='KnightsMill-v1'>KnightsMill</model> <blockers model='KnightsMill'> <feature name='avx512-4fmaps'/> <feature name='avx512-4vnniw'/> @@ -814,6 +844,18 @@ <feature name='erms'/> <feature name='ss'/> </blockers> + <model usable='no' vendor='Intel'>KnightsMill-v1</model> + <blockers model='KnightsMill-v1'> + <feature name='avx512-4fmaps'/> + <feature name='avx512-4vnniw'/> + <feature name='avx512-vpopcntdq'/> + <feature name='avx512cd'/> + <feature name='avx512er'/> + <feature name='avx512f'/> + <feature name='avx512pf'/> + <feature name='erms'/> + <feature name='ss'/> + </blockers> <model usable='yes' vendor='Intel' canonical='Nehalem-v1'>Nehalem</model> <model usable='no' vendor='Intel' canonical='Nehalem-v2'>Nehalem-IBRS</model> <blockers model='Nehalem-IBRS'> diff --git a/tests/domaincapsdata/qemu_9.1.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_9.1.0-q35.x86_64.xml index c3a7aff766..d915937244 100644 --- a/tests/domaincapsdata/qemu_9.1.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_9.1.0-q35.x86_64.xml @@ -337,7 +337,7 @@ <feature name='xsaves'/> </blockers> <model usable='yes' vendor='AMD' canonical='EPYC-v1'>EPYC</model> - <model usable='no' vendor='AMD'>EPYC-Genoa</model> + <model usable='no' vendor='AMD' canonical='EPYC-Genoa-v1'>EPYC-Genoa</model> <blockers model='EPYC-Genoa'> <feature name='amd-psfd'/> <feature name='auto-ibrs'/> @@ -367,6 +367,36 @@ <feature name='vpclmulqdq'/> <feature name='xsaves'/> </blockers> + <model usable='no' vendor='AMD'>EPYC-Genoa-v1</model> + <blockers model='EPYC-Genoa-v1'> + <feature name='amd-psfd'/> + <feature name='auto-ibrs'/> + <feature name='avx512-bf16'/> + <feature name='avx512-vpopcntdq'/> + <feature name='avx512bitalg'/> + <feature name='avx512bw'/> + <feature name='avx512cd'/> + <feature name='avx512dq'/> + <feature name='avx512f'/> + <feature name='avx512ifma'/> + <feature name='avx512vbmi'/> + <feature name='avx512vbmi2'/> + <feature name='avx512vl'/> + <feature name='avx512vnni'/> + <feature name='erms'/> + <feature name='fsrm'/> + <feature name='gfni'/> + <feature name='ibrs'/> + <feature name='invpcid'/> + <feature name='la57'/> + <feature name='no-nested-data-bp'/> + <feature name='pcid'/> + <feature name='pku'/> + <feature name='stibp-always-on'/> + <feature name='vaes'/> + <feature name='vpclmulqdq'/> + <feature name='xsaves'/> + </blockers> <model usable='yes' vendor='AMD' canonical='EPYC-v2'>EPYC-IBPB</model> <model usable='no' vendor='AMD' canonical='EPYC-Milan-v1'>EPYC-Milan</model> <blockers model='EPYC-Milan'> @@ -836,7 +866,7 @@ <feature name='erms'/> <feature name='spec-ctrl'/> </blockers> - <model usable='no' vendor='Intel'>KnightsMill</model> + <model usable='no' vendor='Intel' canonical='KnightsMill-v1'>KnightsMill</model> <blockers model='KnightsMill'> <feature name='avx512-4fmaps'/> <feature name='avx512-4vnniw'/> @@ -848,6 +878,18 @@ <feature name='erms'/> <feature name='ss'/> </blockers> + <model usable='no' vendor='Intel'>KnightsMill-v1</model> + <blockers model='KnightsMill-v1'> + <feature name='avx512-4fmaps'/> + <feature name='avx512-4vnniw'/> + <feature name='avx512-vpopcntdq'/> + <feature name='avx512cd'/> + <feature name='avx512er'/> + <feature name='avx512f'/> + <feature name='avx512pf'/> + <feature name='erms'/> + <feature name='ss'/> + </blockers> <model usable='yes' vendor='Intel' canonical='Nehalem-v1'>Nehalem</model> <model usable='no' vendor='Intel' canonical='Nehalem-v2'>Nehalem-IBRS</model> <blockers model='Nehalem-IBRS'> diff --git a/tests/domaincapsdata/qemu_9.1.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_9.1.0-tcg.x86_64.xml index a18ce928a5..7f6b0507a5 100644 --- a/tests/domaincapsdata/qemu_9.1.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_9.1.0-tcg.x86_64.xml @@ -385,7 +385,7 @@ <feature name='topoext'/> <feature name='xsavec'/> </blockers> - <model usable='no' vendor='AMD'>EPYC-Genoa</model> + <model usable='no' vendor='AMD' canonical='EPYC-Genoa-v1'>EPYC-Genoa</model> <blockers model='EPYC-Genoa'> <feature name='amd-psfd'/> <feature name='amd-ssbd'/> @@ -424,6 +424,45 @@ <feature name='xsavec'/> <feature name='xsaves'/> </blockers> + <model usable='no' vendor='AMD'>EPYC-Genoa-v1</model> + <blockers model='EPYC-Genoa-v1'> + <feature name='amd-psfd'/> + <feature name='amd-ssbd'/> + <feature name='amd-stibp'/> + <feature name='auto-ibrs'/> + <feature name='avx512-bf16'/> + <feature name='avx512-vpopcntdq'/> + <feature name='avx512bitalg'/> + <feature name='avx512bw'/> + <feature name='avx512cd'/> + <feature name='avx512dq'/> + <feature name='avx512f'/> + <feature name='avx512ifma'/> + <feature name='avx512vbmi'/> + <feature name='avx512vbmi2'/> + <feature name='avx512vl'/> + <feature name='avx512vnni'/> + <feature name='clzero'/> + <feature name='fxsr_opt'/> + <feature name='gfni'/> + <feature name='ibpb'/> + <feature name='ibrs'/> + <feature name='invpcid'/> + <feature name='lfence-always-serializing'/> + <feature name='misalignsse'/> + <feature name='no-nested-data-bp'/> + <feature name='nrip-save'/> + <feature name='null-sel-clr-base'/> + <feature name='osvw'/> + <feature name='pcid'/> + <feature name='perfctr_core'/> + <feature name='stibp-always-on'/> + <feature name='topoext'/> + <feature name='vnmi'/> + <feature name='vpclmulqdq'/> + <feature name='xsavec'/> + <feature name='xsaves'/> + </blockers> <model usable='no' vendor='AMD' canonical='EPYC-v2'>EPYC-IBPB</model> <blockers model='EPYC-IBPB'> <feature name='fxsr_opt'/> @@ -977,7 +1016,7 @@ <feature name='spec-ctrl'/> <feature name='tsc-deadline'/> </blockers> - <model usable='no' vendor='Intel'>KnightsMill</model> + <model usable='no' vendor='Intel' canonical='KnightsMill-v1'>KnightsMill</model> <blockers model='KnightsMill'> <feature name='avx512-4fmaps'/> <feature name='avx512-4vnniw'/> @@ -988,6 +1027,17 @@ <feature name='avx512pf'/> <feature name='tsc-deadline'/> </blockers> + <model usable='no' vendor='Intel'>KnightsMill-v1</model> + <blockers model='KnightsMill-v1'> + <feature name='avx512-4fmaps'/> + <feature name='avx512-4vnniw'/> + <feature name='avx512-vpopcntdq'/> + <feature name='avx512cd'/> + <feature name='avx512er'/> + <feature name='avx512f'/> + <feature name='avx512pf'/> + <feature name='tsc-deadline'/> + </blockers> <model usable='yes' vendor='Intel' canonical='Nehalem-v1'>Nehalem</model> <model usable='no' vendor='Intel' canonical='Nehalem-v2'>Nehalem-IBRS</model> <blockers model='Nehalem-IBRS'> diff --git a/tests/domaincapsdata/qemu_9.1.0.x86_64.xml b/tests/domaincapsdata/qemu_9.1.0.x86_64.xml index 5019918b9b..ed913cf7ea 100644 --- a/tests/domaincapsdata/qemu_9.1.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_9.1.0.x86_64.xml @@ -336,7 +336,7 @@ <feature name='xsaves'/> </blockers> <model usable='yes' vendor='AMD' canonical='EPYC-v1'>EPYC</model> - <model usable='no' vendor='AMD'>EPYC-Genoa</model> + <model usable='no' vendor='AMD' canonical='EPYC-Genoa-v1'>EPYC-Genoa</model> <blockers model='EPYC-Genoa'> <feature name='amd-psfd'/> <feature name='auto-ibrs'/> @@ -366,6 +366,36 @@ <feature name='vpclmulqdq'/> <feature name='xsaves'/> </blockers> + <model usable='no' vendor='AMD'>EPYC-Genoa-v1</model> + <blockers model='EPYC-Genoa-v1'> + <feature name='amd-psfd'/> + <feature name='auto-ibrs'/> + <feature name='avx512-bf16'/> + <feature name='avx512-vpopcntdq'/> + <feature name='avx512bitalg'/> + <feature name='avx512bw'/> + <feature name='avx512cd'/> + <feature name='avx512dq'/> + <feature name='avx512f'/> + <feature name='avx512ifma'/> + <feature name='avx512vbmi'/> + <feature name='avx512vbmi2'/> + <feature name='avx512vl'/> + <feature name='avx512vnni'/> + <feature name='erms'/> + <feature name='fsrm'/> + <feature name='gfni'/> + <feature name='ibrs'/> + <feature name='invpcid'/> + <feature name='la57'/> + <feature name='no-nested-data-bp'/> + <feature name='pcid'/> + <feature name='pku'/> + <feature name='stibp-always-on'/> + <feature name='vaes'/> + <feature name='vpclmulqdq'/> + <feature name='xsaves'/> + </blockers> <model usable='yes' vendor='AMD' canonical='EPYC-v2'>EPYC-IBPB</model> <model usable='no' vendor='AMD' canonical='EPYC-Milan-v1'>EPYC-Milan</model> <blockers model='EPYC-Milan'> @@ -835,7 +865,7 @@ <feature name='erms'/> <feature name='spec-ctrl'/> </blockers> - <model usable='no' vendor='Intel'>KnightsMill</model> + <model usable='no' vendor='Intel' canonical='KnightsMill-v1'>KnightsMill</model> <blockers model='KnightsMill'> <feature name='avx512-4fmaps'/> <feature name='avx512-4vnniw'/> @@ -847,6 +877,18 @@ <feature name='erms'/> <feature name='ss'/> </blockers> + <model usable='no' vendor='Intel'>KnightsMill-v1</model> + <blockers model='KnightsMill-v1'> + <feature name='avx512-4fmaps'/> + <feature name='avx512-4vnniw'/> + <feature name='avx512-vpopcntdq'/> + <feature name='avx512cd'/> + <feature name='avx512er'/> + <feature name='avx512f'/> + <feature name='avx512pf'/> + <feature name='erms'/> + <feature name='ss'/> + </blockers> <model usable='yes' vendor='Intel' canonical='Nehalem-v1'>Nehalem</model> <model usable='no' vendor='Intel' canonical='Nehalem-v2'>Nehalem-IBRS</model> <blockers model='Nehalem-IBRS'> diff --git a/tests/domaincapsdata/qemu_9.2.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_9.2.0-q35.x86_64.xml index 5cd872831b..381cc53370 100644 --- a/tests/domaincapsdata/qemu_9.2.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_9.2.0-q35.x86_64.xml @@ -337,7 +337,7 @@ <feature name='xsaves'/> </blockers> <model usable='yes' vendor='AMD' canonical='EPYC-v1'>EPYC</model> - <model usable='no' vendor='AMD'>EPYC-Genoa</model> + <model usable='no' vendor='AMD' canonical='EPYC-Genoa-v1'>EPYC-Genoa</model> <blockers model='EPYC-Genoa'> <feature name='amd-psfd'/> <feature name='auto-ibrs'/> @@ -367,6 +367,36 @@ <feature name='vpclmulqdq'/> <feature name='xsaves'/> </blockers> + <model usable='no' vendor='AMD'>EPYC-Genoa-v1</model> + <blockers model='EPYC-Genoa-v1'> + <feature name='amd-psfd'/> + <feature name='auto-ibrs'/> + <feature name='avx512-bf16'/> + <feature name='avx512-vpopcntdq'/> + <feature name='avx512bitalg'/> + <feature name='avx512bw'/> + <feature name='avx512cd'/> + <feature name='avx512dq'/> + <feature name='avx512f'/> + <feature name='avx512ifma'/> + <feature name='avx512vbmi'/> + <feature name='avx512vbmi2'/> + <feature name='avx512vl'/> + <feature name='avx512vnni'/> + <feature name='erms'/> + <feature name='fsrm'/> + <feature name='gfni'/> + <feature name='ibrs'/> + <feature name='invpcid'/> + <feature name='la57'/> + <feature name='no-nested-data-bp'/> + <feature name='pcid'/> + <feature name='pku'/> + <feature name='stibp-always-on'/> + <feature name='vaes'/> + <feature name='vpclmulqdq'/> + <feature name='xsaves'/> + </blockers> <model usable='yes' vendor='AMD' canonical='EPYC-v2'>EPYC-IBPB</model> <model usable='no' vendor='AMD' canonical='EPYC-Milan-v1'>EPYC-Milan</model> <blockers model='EPYC-Milan'> @@ -836,7 +866,7 @@ <feature name='erms'/> <feature name='spec-ctrl'/> </blockers> - <model usable='no' vendor='Intel'>KnightsMill</model> + <model usable='no' vendor='Intel' canonical='KnightsMill-v1'>KnightsMill</model> <blockers model='KnightsMill'> <feature name='avx512-4fmaps'/> <feature name='avx512-4vnniw'/> @@ -848,6 +878,18 @@ <feature name='erms'/> <feature name='ss'/> </blockers> + <model usable='no' vendor='Intel'>KnightsMill-v1</model> + <blockers model='KnightsMill-v1'> + <feature name='avx512-4fmaps'/> + <feature name='avx512-4vnniw'/> + <feature name='avx512-vpopcntdq'/> + <feature name='avx512cd'/> + <feature name='avx512er'/> + <feature name='avx512f'/> + <feature name='avx512pf'/> + <feature name='erms'/> + <feature name='ss'/> + </blockers> <model usable='yes' vendor='Intel' canonical='Nehalem-v1'>Nehalem</model> <model usable='no' vendor='Intel' canonical='Nehalem-v2'>Nehalem-IBRS</model> <blockers model='Nehalem-IBRS'> diff --git a/tests/domaincapsdata/qemu_9.2.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_9.2.0-tcg.x86_64.xml index 7afc9e3d69..243c37f179 100644 --- a/tests/domaincapsdata/qemu_9.2.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_9.2.0-tcg.x86_64.xml @@ -385,7 +385,7 @@ <feature name='topoext'/> <feature name='xsavec'/> </blockers> - <model usable='no' vendor='AMD'>EPYC-Genoa</model> + <model usable='no' vendor='AMD' canonical='EPYC-Genoa-v1'>EPYC-Genoa</model> <blockers model='EPYC-Genoa'> <feature name='amd-psfd'/> <feature name='amd-ssbd'/> @@ -424,6 +424,45 @@ <feature name='xsavec'/> <feature name='xsaves'/> </blockers> + <model usable='no' vendor='AMD'>EPYC-Genoa-v1</model> + <blockers model='EPYC-Genoa-v1'> + <feature name='amd-psfd'/> + <feature name='amd-ssbd'/> + <feature name='amd-stibp'/> + <feature name='auto-ibrs'/> + <feature name='avx512-bf16'/> + <feature name='avx512-vpopcntdq'/> + <feature name='avx512bitalg'/> + <feature name='avx512bw'/> + <feature name='avx512cd'/> + <feature name='avx512dq'/> + <feature name='avx512f'/> + <feature name='avx512ifma'/> + <feature name='avx512vbmi'/> + <feature name='avx512vbmi2'/> + <feature name='avx512vl'/> + <feature name='avx512vnni'/> + <feature name='clzero'/> + <feature name='fxsr_opt'/> + <feature name='gfni'/> + <feature name='ibpb'/> + <feature name='ibrs'/> + <feature name='invpcid'/> + <feature name='lfence-always-serializing'/> + <feature name='misalignsse'/> + <feature name='no-nested-data-bp'/> + <feature name='nrip-save'/> + <feature name='null-sel-clr-base'/> + <feature name='osvw'/> + <feature name='pcid'/> + <feature name='perfctr_core'/> + <feature name='stibp-always-on'/> + <feature name='topoext'/> + <feature name='vnmi'/> + <feature name='vpclmulqdq'/> + <feature name='xsavec'/> + <feature name='xsaves'/> + </blockers> <model usable='no' vendor='AMD' canonical='EPYC-v2'>EPYC-IBPB</model> <blockers model='EPYC-IBPB'> <feature name='fxsr_opt'/> @@ -977,7 +1016,7 @@ <feature name='spec-ctrl'/> <feature name='tsc-deadline'/> </blockers> - <model usable='no' vendor='Intel'>KnightsMill</model> + <model usable='no' vendor='Intel' canonical='KnightsMill-v1'>KnightsMill</model> <blockers model='KnightsMill'> <feature name='avx512-4fmaps'/> <feature name='avx512-4vnniw'/> @@ -988,6 +1027,17 @@ <feature name='avx512pf'/> <feature name='tsc-deadline'/> </blockers> + <model usable='no' vendor='Intel'>KnightsMill-v1</model> + <blockers model='KnightsMill-v1'> + <feature name='avx512-4fmaps'/> + <feature name='avx512-4vnniw'/> + <feature name='avx512-vpopcntdq'/> + <feature name='avx512cd'/> + <feature name='avx512er'/> + <feature name='avx512f'/> + <feature name='avx512pf'/> + <feature name='tsc-deadline'/> + </blockers> <model usable='yes' vendor='Intel' canonical='Nehalem-v1'>Nehalem</model> <model usable='no' vendor='Intel' canonical='Nehalem-v2'>Nehalem-IBRS</model> <blockers model='Nehalem-IBRS'> diff --git a/tests/domaincapsdata/qemu_9.2.0.x86_64.xml b/tests/domaincapsdata/qemu_9.2.0.x86_64.xml index 11cfc7863d..80ebe9b3cf 100644 --- a/tests/domaincapsdata/qemu_9.2.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_9.2.0.x86_64.xml @@ -336,7 +336,7 @@ <feature name='xsaves'/> </blockers> <model usable='yes' vendor='AMD' canonical='EPYC-v1'>EPYC</model> - <model usable='no' vendor='AMD'>EPYC-Genoa</model> + <model usable='no' vendor='AMD' canonical='EPYC-Genoa-v1'>EPYC-Genoa</model> <blockers model='EPYC-Genoa'> <feature name='amd-psfd'/> <feature name='auto-ibrs'/> @@ -366,6 +366,36 @@ <feature name='vpclmulqdq'/> <feature name='xsaves'/> </blockers> + <model usable='no' vendor='AMD'>EPYC-Genoa-v1</model> + <blockers model='EPYC-Genoa-v1'> + <feature name='amd-psfd'/> + <feature name='auto-ibrs'/> + <feature name='avx512-bf16'/> + <feature name='avx512-vpopcntdq'/> + <feature name='avx512bitalg'/> + <feature name='avx512bw'/> + <feature name='avx512cd'/> + <feature name='avx512dq'/> + <feature name='avx512f'/> + <feature name='avx512ifma'/> + <feature name='avx512vbmi'/> + <feature name='avx512vbmi2'/> + <feature name='avx512vl'/> + <feature name='avx512vnni'/> + <feature name='erms'/> + <feature name='fsrm'/> + <feature name='gfni'/> + <feature name='ibrs'/> + <feature name='invpcid'/> + <feature name='la57'/> + <feature name='no-nested-data-bp'/> + <feature name='pcid'/> + <feature name='pku'/> + <feature name='stibp-always-on'/> + <feature name='vaes'/> + <feature name='vpclmulqdq'/> + <feature name='xsaves'/> + </blockers> <model usable='yes' vendor='AMD' canonical='EPYC-v2'>EPYC-IBPB</model> <model usable='no' vendor='AMD' canonical='EPYC-Milan-v1'>EPYC-Milan</model> <blockers model='EPYC-Milan'> @@ -835,7 +865,7 @@ <feature name='erms'/> <feature name='spec-ctrl'/> </blockers> - <model usable='no' vendor='Intel'>KnightsMill</model> + <model usable='no' vendor='Intel' canonical='KnightsMill-v1'>KnightsMill</model> <blockers model='KnightsMill'> <feature name='avx512-4fmaps'/> <feature name='avx512-4vnniw'/> @@ -847,6 +877,18 @@ <feature name='erms'/> <feature name='ss'/> </blockers> + <model usable='no' vendor='Intel'>KnightsMill-v1</model> + <blockers model='KnightsMill-v1'> + <feature name='avx512-4fmaps'/> + <feature name='avx512-4vnniw'/> + <feature name='avx512-vpopcntdq'/> + <feature name='avx512cd'/> + <feature name='avx512er'/> + <feature name='avx512f'/> + <feature name='avx512pf'/> + <feature name='erms'/> + <feature name='ss'/> + </blockers> <model usable='yes' vendor='Intel' canonical='Nehalem-v1'>Nehalem</model> <model usable='no' vendor='Intel' canonical='Nehalem-v2'>Nehalem-IBRS</model> <blockers model='Nehalem-IBRS'> -- 2.47.0

Tested on this branch with qemu-kvm-9.1.0-5.el9.x86_64: # for i in $(/usr/libexec/qemu-kvm -cpu help|grep deprecated -v|awk '/Available CPUs/,/Recognized CPUID flags/'|grep '^ '|awk '{print $1}');do if ! virsh cpu-models x86_64|grep -q $i;then echo $i;fi;done Opteron_G4-v1 Opteron_G5-v1 base host max Opteron_G4-v1 and Opteron_G5-v1 are not deprecated. Expect to add them to libvirt CPU models as well. On Thu, Nov 28, 2024 at 9:47 PM Jiri Denemark <jdenemar@redhat.com> wrote:
CPU models that do not have a list of versions attached are still advertised as aliases to corresponding -v1 variants. We should add the missing variants to the CPU map.
Available on gitlab:
git fetch https://gitlab.com/jirkade/libvirt.git cpu-versions
Pipeline: https://gitlab.com/jirkade/libvirt/-/pipelines/1564399375
Jiri Denemark (5): cpu_map: Sort data files in meson.build sync_qemu_models_i386: Update meson.build sync_qemu_models_i386: Ignore old models sync_qemu_models_i386: Generate missing -v1 variants cpu_map: Add missing -v1 models
src/cpu_map/index.xml | 2 + src/cpu_map/meson.build | 18 +++--- src/cpu_map/sync_qemu_models_i386.py | 58 +++++++++++++++++++ src/cpu_map/x86_EPYC-Genoa-v1.xml | 6 ++ src/cpu_map/x86_KnightsMill-v1.xml | 6 ++ .../domaincapsdata/qemu_5.2.0-q35.x86_64.xml | 14 ++++- .../domaincapsdata/qemu_5.2.0-tcg.x86_64.xml | 20 ++++++- tests/domaincapsdata/qemu_5.2.0.x86_64.xml | 14 ++++- .../domaincapsdata/qemu_6.0.0-q35.x86_64.xml | 14 ++++- .../domaincapsdata/qemu_6.0.0-tcg.x86_64.xml | 20 ++++++- tests/domaincapsdata/qemu_6.0.0.x86_64.xml | 14 ++++- .../domaincapsdata/qemu_6.1.0-q35.x86_64.xml | 14 ++++- .../domaincapsdata/qemu_6.1.0-tcg.x86_64.xml | 20 ++++++- tests/domaincapsdata/qemu_6.1.0.x86_64.xml | 14 ++++- .../domaincapsdata/qemu_6.2.0-q35.x86_64.xml | 14 ++++- .../domaincapsdata/qemu_6.2.0-tcg.x86_64.xml | 20 ++++++- tests/domaincapsdata/qemu_6.2.0.x86_64.xml | 14 ++++- .../domaincapsdata/qemu_7.0.0-q35.x86_64.xml | 14 ++++- .../domaincapsdata/qemu_7.0.0-tcg.x86_64.xml | 20 ++++++- tests/domaincapsdata/qemu_7.0.0.x86_64.xml | 14 ++++- .../domaincapsdata/qemu_7.1.0-q35.x86_64.xml | 14 ++++- .../domaincapsdata/qemu_7.1.0-tcg.x86_64.xml | 20 ++++++- tests/domaincapsdata/qemu_7.1.0.x86_64.xml | 14 ++++- .../domaincapsdata/qemu_7.2.0-q35.x86_64.xml | 14 ++++- .../qemu_7.2.0-tcg.x86_64+hvf.xml | 16 ++++- .../domaincapsdata/qemu_7.2.0-tcg.x86_64.xml | 16 ++++- tests/domaincapsdata/qemu_7.2.0.x86_64.xml | 14 ++++- .../domaincapsdata/qemu_8.0.0-q35.x86_64.xml | 14 ++++- .../domaincapsdata/qemu_8.0.0-tcg.x86_64.xml | 16 ++++- tests/domaincapsdata/qemu_8.0.0.x86_64.xml | 14 ++++- .../domaincapsdata/qemu_8.1.0-q35.x86_64.xml | 46 ++++++++++++++- .../domaincapsdata/qemu_8.1.0-tcg.x86_64.xml | 56 +++++++++++++++++- tests/domaincapsdata/qemu_8.1.0.x86_64.xml | 46 ++++++++++++++- .../domaincapsdata/qemu_8.2.0-q35.x86_64.xml | 46 ++++++++++++++- .../domaincapsdata/qemu_8.2.0-tcg.x86_64.xml | 55 +++++++++++++++++- tests/domaincapsdata/qemu_8.2.0.x86_64.xml | 46 ++++++++++++++- .../domaincapsdata/qemu_9.0.0-q35.x86_64.xml | 46 ++++++++++++++- .../domaincapsdata/qemu_9.0.0-tcg.x86_64.xml | 54 ++++++++++++++++- tests/domaincapsdata/qemu_9.0.0.x86_64.xml | 46 ++++++++++++++- .../domaincapsdata/qemu_9.1.0-q35.x86_64.xml | 46 ++++++++++++++- .../domaincapsdata/qemu_9.1.0-tcg.x86_64.xml | 54 ++++++++++++++++- tests/domaincapsdata/qemu_9.1.0.x86_64.xml | 46 ++++++++++++++- .../domaincapsdata/qemu_9.2.0-q35.x86_64.xml | 46 ++++++++++++++- .../domaincapsdata/qemu_9.2.0-tcg.x86_64.xml | 54 ++++++++++++++++- tests/domaincapsdata/qemu_9.2.0.x86_64.xml | 46 ++++++++++++++- 45 files changed, 1152 insertions(+), 63 deletions(-) create mode 100644 src/cpu_map/x86_EPYC-Genoa-v1.xml create mode 100644 src/cpu_map/x86_KnightsMill-v1.xml
-- 2.47.0

On Fri, Nov 29, 2024 at 12:33:19 +0800, Han Han wrote:
Tested on this branch with qemu-kvm-9.1.0-5.el9.x86_64: # for i in $(/usr/libexec/qemu-kvm -cpu help|grep deprecated -v|awk '/Available CPUs/,/Recognized CPUID flags/'|grep '^ '|awk '{print $1}');do if ! virsh cpu-models x86_64|grep -q $i;then echo $i;fi;done Opteron_G4-v1 Opteron_G5-v1 base host max
Opteron_G4-v1 and Opteron_G5-v1 are not deprecated. Expect to add them to libvirt CPU models as well.
I was not really sure which CPU models are deprecated. According to QEMU none of them is really deprecated (the only CPU model that was ever deprecated was Icelake-Client, which was later dropped completely). The info you use is apparently coming from downstream QEMU, because upstream shows nothing for "qemu-system-x86_64 -cpu help | grep deprecated". I guess we can use the info to say Opteron_G4 and Opteron_G5 should not be ignored by the script, I'm not sure we could use it the other way around for selecting which models are considered deprecated. Jirka

On Fri, Nov 29, 2024 at 09:50:01AM +0100, Jiri Denemark wrote:
On Fri, Nov 29, 2024 at 12:33:19 +0800, Han Han wrote:
Tested on this branch with qemu-kvm-9.1.0-5.el9.x86_64: # for i in $(/usr/libexec/qemu-kvm -cpu help|grep deprecated -v|awk '/Available CPUs/,/Recognized CPUID flags/'|grep '^ '|awk '{print $1}');do if ! virsh cpu-models x86_64|grep -q $i;then echo $i;fi;done Opteron_G4-v1 Opteron_G5-v1 base host max
Opteron_G4-v1 and Opteron_G5-v1 are not deprecated. Expect to add them to libvirt CPU models as well.
I was not really sure which CPU models are deprecated. According to QEMU none of them is really deprecated (the only CPU model that was ever deprecated was Icelake-Client, which was later dropped completely). The info you use is apparently coming from downstream QEMU, because upstream shows nothing for "qemu-system-x86_64 -cpu help | grep deprecated".
Correct, deprecation of CPUs is a decision RHEL makes downstream, and is not relevant to libvirt's upstream usage. Libvirt queries QEMU deprecations, so if a user picks a deprecated CPU, their VM will be tainted and show the deprecation message in logs, etc.
I guess we can use the info to say Opteron_G4 and Opteron_G5 should not be ignored by the script, I'm not sure we could use it the other way around for selecting which models are considered deprecated.
We should always honour all CPUs QEMU reports as existing. Deprecated CPUs are still supported for use, it is merely a warning that they /may/ go away in future. With regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|

On Fri, Nov 29, 2024 at 09:03:11 +0000, Daniel P. Berrangé wrote:
On Fri, Nov 29, 2024 at 09:50:01AM +0100, Jiri Denemark wrote:
On Fri, Nov 29, 2024 at 12:33:19 +0800, Han Han wrote:
Tested on this branch with qemu-kvm-9.1.0-5.el9.x86_64: # for i in $(/usr/libexec/qemu-kvm -cpu help|grep deprecated -v|awk '/Available CPUs/,/Recognized CPUID flags/'|grep '^ '|awk '{print $1}');do if ! virsh cpu-models x86_64|grep -q $i;then echo $i;fi;done Opteron_G4-v1 Opteron_G5-v1 base host max
Opteron_G4-v1 and Opteron_G5-v1 are not deprecated. Expect to add them to libvirt CPU models as well.
I was not really sure which CPU models are deprecated. According to QEMU none of them is really deprecated (the only CPU model that was ever deprecated was Icelake-Client, which was later dropped completely). The info you use is apparently coming from downstream QEMU, because upstream shows nothing for "qemu-system-x86_64 -cpu help | grep deprecated".
Correct, deprecation of CPUs is a decision RHEL makes downstream, and is not relevant to libvirt's upstream usage.
Libvirt queries QEMU deprecations, so if a user picks a deprecated CPU, their VM will be tainted and show the deprecation message in logs, etc.
I guess we can use the info to say Opteron_G4 and Opteron_G5 should not be ignored by the script, I'm not sure we could use it the other way around for selecting which models are considered deprecated.
We should always honour all CPUs QEMU reports as existing. Deprecated CPUs are still supported for use, it is merely a warning that they /may/ go away in future.
So do you suggest we should not ignore even those ancient lower case CPU models and add their -v1 variants as well? That would seems to me like a lot of churn with no benefit. Although there's no technical reason for ignoring them. Jirka

On Tue, Dec 03, 2024 at 01:14:07PM +0100, Jiri Denemark wrote:
On Fri, Nov 29, 2024 at 09:03:11 +0000, Daniel P. Berrangé wrote:
On Fri, Nov 29, 2024 at 09:50:01AM +0100, Jiri Denemark wrote:
On Fri, Nov 29, 2024 at 12:33:19 +0800, Han Han wrote:
Tested on this branch with qemu-kvm-9.1.0-5.el9.x86_64: # for i in $(/usr/libexec/qemu-kvm -cpu help|grep deprecated -v|awk '/Available CPUs/,/Recognized CPUID flags/'|grep '^ '|awk '{print $1}');do if ! virsh cpu-models x86_64|grep -q $i;then echo $i;fi;done Opteron_G4-v1 Opteron_G5-v1 base host max
Opteron_G4-v1 and Opteron_G5-v1 are not deprecated. Expect to add them to libvirt CPU models as well.
I was not really sure which CPU models are deprecated. According to QEMU none of them is really deprecated (the only CPU model that was ever deprecated was Icelake-Client, which was later dropped completely). The info you use is apparently coming from downstream QEMU, because upstream shows nothing for "qemu-system-x86_64 -cpu help | grep deprecated".
Correct, deprecation of CPUs is a decision RHEL makes downstream, and is not relevant to libvirt's upstream usage.
Libvirt queries QEMU deprecations, so if a user picks a deprecated CPU, their VM will be tainted and show the deprecation message in logs, etc.
I guess we can use the info to say Opteron_G4 and Opteron_G5 should not be ignored by the script, I'm not sure we could use it the other way around for selecting which models are considered deprecated.
We should always honour all CPUs QEMU reports as existing. Deprecated CPUs are still supported for use, it is merely a warning that they /may/ go away in future.
So do you suggest we should not ignore even those ancient lower case CPU models and add their -v1 variants as well? That would seems to me like a lot of churn with no benefit. Although there's no technical reason for ignoring them.
My inclination is that we should not special case anything. If I look at -cpu help there are 143 CPus currently. 3 are special (base, host, max). Of the 140, 24 are the old lowercase models you mention, 12 traditional names, and 12 -v1 names. IOW, we've currently got 128 CPUs, and we're excluding 12. That doesn't seems like a worthwhile thing to specialcase. With regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
participants (3)
-
Daniel P. Berrangé
-
Han Han
-
Jiri Denemark