[PATCH v3 00/12] Improve versioned CPU support in libvirt

For SEV-SNP support we will need to be able to specify versioned CPU models that are not yet available in libvirt. Rather than just adding a versioned CPU or two that would satisfy that immediate need, I decided to try to add versioned CPUs in a more standard way. This series generates CPU definitions for all cpu versions that are defined in upstream qemu (at least for recent Intel and AMD CPUs). libvirt already provides a select subset of these versions as configurable CPU models. But we only include the ones that have defined aliases in qemu, such as EPYC-IBPB. After this patchset, all verisioned cpu models supported by qemu will be available in libvirt. In addition to adding these new versioned models, based on feedback from Daniel Berrange, I've also translated all CPU model aliases to a specific version when specifying a CPU model to qemu. This means that we will no longer specify e.g. '-cpu EPYC' to qemu, but will rather specify '-cpu EPYC-v1' Changes in v3: - handle unversioned aliases Changes in v2: - don't make any changes to existing CPU models - drop concept of aliases from libvirt and only provide new versioned models that aren't already available via their qemu alias. Jonathon Jongsma (12): cpu_map: update script to handle versioned CPUs cpu_map: add canonical names to existing CPU models cpu: parse the canonical name from the cpu model qemu: use canonical name for CPU models cpu_map: Add versioned EPYC CPUs cpu_map: Add versioned Intel Skylake CPUs cpu_map: Add versioned Intel Cascadelake CPUs cpu_map: Add versioned Intel Icelake CPUs cpu_map: Add versioned Intel Cooperlake CPUs cpu_map: Add versioned Intel Snowridge CPUs cpu_map: Add versioned Intel SapphireRapids CPUs cpu_map: Add versioned Dhyana CPUs src/conf/cpu_conf.c | 3 + src/conf/cpu_conf.h | 1 + src/cpu/cpu_x86.c | 24 ++++ src/cpu_map/index.xml | 22 +++ src/cpu_map/meson.build | 22 +++ src/cpu_map/sync_qemu_models_i386.py | 42 ++++-- src/cpu_map/x86_Broadwell-IBRS.xml | 1 + src/cpu_map/x86_Broadwell-noTSX-IBRS.xml | 1 + src/cpu_map/x86_Broadwell-noTSX.xml | 1 + src/cpu_map/x86_Broadwell.xml | 1 + src/cpu_map/x86_Cascadelake-Server-noTSX.xml | 1 + src/cpu_map/x86_Cascadelake-Server-v2.xml | 93 +++++++++++++ src/cpu_map/x86_Cascadelake-Server-v4.xml | 91 +++++++++++++ src/cpu_map/x86_Cascadelake-Server-v5.xml | 92 +++++++++++++ src/cpu_map/x86_Cascadelake-Server.xml | 1 + src/cpu_map/x86_Cooperlake-v2.xml | 98 ++++++++++++++ src/cpu_map/x86_Cooperlake.xml | 1 + src/cpu_map/x86_Dhyana-v2.xml | 81 ++++++++++++ src/cpu_map/x86_Dhyana.xml | 1 + src/cpu_map/x86_EPYC-IBPB.xml | 1 + src/cpu_map/x86_EPYC-Milan-v2.xml | 108 +++++++++++++++ src/cpu_map/x86_EPYC-Milan.xml | 1 + src/cpu_map/x86_EPYC-Rome-v2.xml | 93 +++++++++++++ src/cpu_map/x86_EPYC-Rome-v3.xml | 95 +++++++++++++ src/cpu_map/x86_EPYC-Rome-v4.xml | 94 +++++++++++++ src/cpu_map/x86_EPYC-Rome.xml | 1 + src/cpu_map/x86_EPYC-v3.xml | 87 ++++++++++++ src/cpu_map/x86_EPYC-v4.xml | 88 ++++++++++++ src/cpu_map/x86_EPYC.xml | 1 + src/cpu_map/x86_Haswell-IBRS.xml | 1 + src/cpu_map/x86_Haswell-noTSX-IBRS.xml | 1 + src/cpu_map/x86_Haswell-noTSX.xml | 1 + src/cpu_map/x86_Haswell.xml | 1 + src/cpu_map/x86_Icelake-Server-noTSX.xml | 1 + src/cpu_map/x86_Icelake-Server-v3.xml | 103 +++++++++++++++ src/cpu_map/x86_Icelake-Server-v4.xml | 108 +++++++++++++++ src/cpu_map/x86_Icelake-Server-v5.xml | 109 +++++++++++++++ src/cpu_map/x86_Icelake-Server-v6.xml | 109 +++++++++++++++ src/cpu_map/x86_Icelake-Server.xml | 1 + src/cpu_map/x86_IvyBridge-IBRS.xml | 1 + src/cpu_map/x86_IvyBridge.xml | 1 + src/cpu_map/x86_Nehalem-IBRS.xml | 1 + src/cpu_map/x86_Nehalem.xml | 1 + src/cpu_map/x86_SandyBridge-IBRS.xml | 1 + src/cpu_map/x86_SandyBridge.xml | 1 + src/cpu_map/x86_SapphireRapids-v2.xml | 125 ++++++++++++++++++ src/cpu_map/x86_SapphireRapids.xml | 1 + src/cpu_map/x86_Skylake-Client-IBRS.xml | 1 + src/cpu_map/x86_Skylake-Client-noTSX-IBRS.xml | 1 + src/cpu_map/x86_Skylake-Client-v4.xml | 77 +++++++++++ src/cpu_map/x86_Skylake-Client.xml | 1 + src/cpu_map/x86_Skylake-Server-IBRS.xml | 1 + src/cpu_map/x86_Skylake-Server-noTSX-IBRS.xml | 1 + src/cpu_map/x86_Skylake-Server-v4.xml | 83 ++++++++++++ src/cpu_map/x86_Skylake-Server-v5.xml | 85 ++++++++++++ src/cpu_map/x86_Skylake-Server.xml | 1 + src/cpu_map/x86_Snowridge-v2.xml | 78 +++++++++++ src/cpu_map/x86_Snowridge-v3.xml | 80 +++++++++++ src/cpu_map/x86_Snowridge-v4.xml | 78 +++++++++++ src/cpu_map/x86_Snowridge.xml | 1 + src/cpu_map/x86_Westmere-IBRS.xml | 1 + src/cpu_map/x86_Westmere.xml | 1 + src/qemu/qemu_command.c | 5 +- .../x86_64-cpuid-Atom-P5362-guest.xml | 3 +- .../x86_64-cpuid-Atom-P5362-json.xml | 3 +- .../x86_64-cpuid-Cooperlake-host.xml | 3 +- .../x86_64-cpuid-EPYC-7502-32-Core-host.xml | 5 +- .../x86_64-cpuid-EPYC-7601-32-Core-guest.xml | 9 +- ...6_64-cpuid-EPYC-7601-32-Core-ibpb-host.xml | 8 +- ..._64-cpuid-Hygon-C86-7185-32-core-guest.xml | 5 +- ...6_64-cpuid-Hygon-C86-7185-32-core-host.xml | 5 +- ...6_64-cpuid-Hygon-C86-7185-32-core-json.xml | 6 +- ...4-cpuid-Ryzen-7-1800X-Eight-Core-guest.xml | 9 +- .../x86_64-cpuid-Xeon-Platinum-8268-guest.xml | 9 +- .../x86_64-cpuid-Xeon-Platinum-8268-host.xml | 9 +- .../x86_64-cpuid-Xeon-Platinum-9242-guest.xml | 9 +- .../x86_64-cpuid-Xeon-Platinum-9242-host.xml | 9 +- .../x86_64-cpuid-Xeon-Platinum-9242-json.xml | 9 +- ..._64-cpuid-baseline-Cascadelake+Icelake.xml | 9 +- ...-cpuid-baseline-Cooperlake+Cascadelake.xml | 9 +- ...6_64-cpuid-baseline-Cooperlake+Icelake.xml | 9 +- .../domaincapsdata/qemu_4.2.0-q35.x86_64.xml | 2 + .../domaincapsdata/qemu_4.2.0-tcg.x86_64.xml | 2 + tests/domaincapsdata/qemu_4.2.0.x86_64.xml | 2 + .../domaincapsdata/qemu_5.0.0-q35.x86_64.xml | 4 + .../domaincapsdata/qemu_5.0.0-tcg.x86_64.xml | 4 + tests/domaincapsdata/qemu_5.0.0.x86_64.xml | 4 + .../domaincapsdata/qemu_5.1.0-q35.x86_64.xml | 7 + .../domaincapsdata/qemu_5.1.0-tcg.x86_64.xml | 7 + tests/domaincapsdata/qemu_5.1.0.x86_64.xml | 7 + .../domaincapsdata/qemu_5.2.0-q35.x86_64.xml | 7 + .../domaincapsdata/qemu_5.2.0-tcg.x86_64.xml | 7 + tests/domaincapsdata/qemu_5.2.0.x86_64.xml | 7 + .../domaincapsdata/qemu_6.0.0-q35.x86_64.xml | 8 ++ .../domaincapsdata/qemu_6.0.0-tcg.x86_64.xml | 8 ++ tests/domaincapsdata/qemu_6.0.0.x86_64.xml | 8 ++ .../domaincapsdata/qemu_6.1.0-q35.x86_64.xml | 15 +++ .../domaincapsdata/qemu_6.1.0-tcg.x86_64.xml | 15 +++ tests/domaincapsdata/qemu_6.1.0.x86_64.xml | 15 +++ .../domaincapsdata/qemu_6.2.0-q35.x86_64.xml | 16 +++ .../domaincapsdata/qemu_6.2.0-tcg.x86_64.xml | 16 +++ tests/domaincapsdata/qemu_6.2.0.x86_64.xml | 16 +++ .../domaincapsdata/qemu_7.0.0-q35.x86_64.xml | 17 +++ .../domaincapsdata/qemu_7.0.0-tcg.x86_64.xml | 17 +++ tests/domaincapsdata/qemu_7.0.0.x86_64.xml | 17 +++ .../domaincapsdata/qemu_7.1.0-q35.x86_64.xml | 17 +++ .../domaincapsdata/qemu_7.1.0-tcg.x86_64.xml | 17 +++ tests/domaincapsdata/qemu_7.1.0.x86_64.xml | 17 +++ .../domaincapsdata/qemu_7.2.0-q35.x86_64.xml | 17 +++ .../qemu_7.2.0-tcg.x86_64+hvf.xml | 17 +++ .../domaincapsdata/qemu_7.2.0-tcg.x86_64.xml | 17 +++ tests/domaincapsdata/qemu_7.2.0.x86_64.xml | 17 +++ .../domaincapsdata/qemu_8.0.0-q35.x86_64.xml | 17 +++ .../domaincapsdata/qemu_8.0.0-tcg.x86_64.xml | 17 +++ tests/domaincapsdata/qemu_8.0.0.x86_64.xml | 17 +++ .../domaincapsdata/qemu_8.1.0-q35.x86_64.xml | 27 +++- .../domaincapsdata/qemu_8.1.0-tcg.x86_64.xml | 22 +++ tests/domaincapsdata/qemu_8.1.0.x86_64.xml | 27 +++- .../domaincapsdata/qemu_8.2.0-q35.x86_64.xml | 27 +++- .../domaincapsdata/qemu_8.2.0-tcg.x86_64.xml | 22 +++ tests/domaincapsdata/qemu_8.2.0.x86_64.xml | 27 +++- .../cpu-Haswell-noTSX.x86_64-latest.args | 2 +- .../cpu-Haswell.x86_64-latest.args | 2 +- .../cpu-Haswell2.x86_64-latest.args | 2 +- .../cpu-Haswell3.x86_64-latest.args | 2 +- ...-Icelake-Server-pconfig.x86_64-latest.args | 2 +- .../cpu-cache-disable3.x86_64-latest.args | 2 +- ...u-check-default-partial.x86_64-latest.args | 2 +- .../cpu-fallback.x86_64-5.2.0.args | 2 +- .../cpu-fallback.x86_64-8.0.0.args | 2 +- .../cpu-host-model-cmt.x86_64-latest.args | 2 +- ...-host-model-fallback-kvm.x86_64-4.2.0.args | 2 +- ...-host-model-fallback-kvm.x86_64-5.0.0.args | 2 +- ...-host-model-fallback-kvm.x86_64-5.1.0.args | 2 +- ...-host-model-fallback-kvm.x86_64-5.2.0.args | 2 +- ...-host-model-fallback-kvm.x86_64-6.0.0.args | 2 +- ...-host-model-fallback-kvm.x86_64-6.1.0.args | 2 +- ...-host-model-fallback-kvm.x86_64-6.2.0.args | 2 +- ...-host-model-fallback-kvm.x86_64-7.0.0.args | 2 +- ...-host-model-fallback-kvm.x86_64-7.1.0.args | 2 +- ...-host-model-fallback-kvm.x86_64-7.2.0.args | 2 +- ...-host-model-fallback-kvm.x86_64-8.0.0.args | 2 +- ...-host-model-fallback-kvm.x86_64-8.1.0.args | 2 +- ...host-model-fallback-kvm.x86_64-latest.args | 2 +- ...-host-model-fallback-tcg.x86_64-7.2.0.args | 2 +- ...-host-model-fallback-tcg.x86_64-8.0.0.args | 2 +- ...-host-model-fallback-tcg.x86_64-8.1.0.args | 2 +- ...host-model-fallback-tcg.x86_64-latest.args | 2 +- .../cpu-host-model-kvm.x86_64-4.2.0.args | 2 +- .../cpu-host-model-kvm.x86_64-5.0.0.args | 2 +- .../cpu-host-model-kvm.x86_64-5.1.0.args | 2 +- .../cpu-host-model-kvm.x86_64-5.2.0.args | 2 +- .../cpu-host-model-kvm.x86_64-6.0.0.args | 2 +- .../cpu-host-model-kvm.x86_64-6.1.0.args | 2 +- .../cpu-host-model-kvm.x86_64-6.2.0.args | 2 +- .../cpu-host-model-kvm.x86_64-7.0.0.args | 2 +- .../cpu-host-model-kvm.x86_64-7.1.0.args | 2 +- .../cpu-host-model-kvm.x86_64-7.2.0.args | 2 +- .../cpu-host-model-kvm.x86_64-8.0.0.args | 2 +- .../cpu-host-model-kvm.x86_64-8.1.0.args | 2 +- .../cpu-host-model-kvm.x86_64-latest.args | 2 +- ...ost-model-nofallback-kvm.x86_64-4.2.0.args | 2 +- ...ost-model-nofallback-kvm.x86_64-5.0.0.args | 2 +- ...ost-model-nofallback-kvm.x86_64-5.1.0.args | 2 +- ...ost-model-nofallback-kvm.x86_64-5.2.0.args | 2 +- ...ost-model-nofallback-kvm.x86_64-6.0.0.args | 2 +- ...ost-model-nofallback-kvm.x86_64-6.1.0.args | 2 +- ...ost-model-nofallback-kvm.x86_64-6.2.0.args | 2 +- ...ost-model-nofallback-kvm.x86_64-7.0.0.args | 2 +- ...ost-model-nofallback-kvm.x86_64-7.1.0.args | 2 +- ...ost-model-nofallback-kvm.x86_64-7.2.0.args | 2 +- ...ost-model-nofallback-kvm.x86_64-8.0.0.args | 2 +- ...ost-model-nofallback-kvm.x86_64-8.1.0.args | 2 +- ...st-model-nofallback-kvm.x86_64-latest.args | 2 +- ...ost-model-nofallback-tcg.x86_64-7.2.0.args | 2 +- ...ost-model-nofallback-tcg.x86_64-8.0.0.args | 2 +- ...ost-model-nofallback-tcg.x86_64-8.1.0.args | 2 +- ...st-model-nofallback-tcg.x86_64-latest.args | 2 +- .../cpu-host-model-tcg.x86_64-7.2.0.args | 2 +- .../cpu-host-model-tcg.x86_64-8.0.0.args | 2 +- .../cpu-host-model-tcg.x86_64-8.1.0.args | 2 +- .../cpu-host-model-tcg.x86_64-latest.args | 2 +- .../cpu-host-model-vendor.x86_64-latest.args | 2 +- .../cpu-minimum1.x86_64-latest.args | 2 +- .../cpu-minimum2.x86_64-latest.args | 2 +- .../cpu-nofallback.x86_64-8.0.0.args | 2 +- .../cpu-phys-bits-emulate2.x86_64-latest.args | 2 +- .../cpu-strict1.x86_64-latest.args | 2 +- .../cpu-translation.x86_64-latest.args | 2 +- .../cpu-tsc-frequency.x86_64-latest.args | 2 +- 190 files changed, 2837 insertions(+), 187 deletions(-) create mode 100644 src/cpu_map/x86_Cascadelake-Server-v2.xml create mode 100644 src/cpu_map/x86_Cascadelake-Server-v4.xml create mode 100644 src/cpu_map/x86_Cascadelake-Server-v5.xml create mode 100644 src/cpu_map/x86_Cooperlake-v2.xml create mode 100644 src/cpu_map/x86_Dhyana-v2.xml create mode 100644 src/cpu_map/x86_EPYC-Milan-v2.xml create mode 100644 src/cpu_map/x86_EPYC-Rome-v2.xml create mode 100644 src/cpu_map/x86_EPYC-Rome-v3.xml create mode 100644 src/cpu_map/x86_EPYC-Rome-v4.xml create mode 100644 src/cpu_map/x86_EPYC-v3.xml create mode 100644 src/cpu_map/x86_EPYC-v4.xml create mode 100644 src/cpu_map/x86_Icelake-Server-v3.xml create mode 100644 src/cpu_map/x86_Icelake-Server-v4.xml create mode 100644 src/cpu_map/x86_Icelake-Server-v5.xml create mode 100644 src/cpu_map/x86_Icelake-Server-v6.xml create mode 100644 src/cpu_map/x86_SapphireRapids-v2.xml create mode 100644 src/cpu_map/x86_Skylake-Client-v4.xml create mode 100644 src/cpu_map/x86_Skylake-Server-v4.xml create mode 100644 src/cpu_map/x86_Skylake-Server-v5.xml create mode 100644 src/cpu_map/x86_Snowridge-v2.xml create mode 100644 src/cpu_map/x86_Snowridge-v3.xml create mode 100644 src/cpu_map/x86_Snowridge-v4.xml -- 2.41.0

Previously, the script only generated the parent CPU and any versions that had a defined alias. The script now generates all CPU versions. Any version that had a defined alias will continue to use that alias, but those without aliases will use the generated name $BASECPUNAME-vN. The reason for this change is two-fold. First, we need to add new models that support new features (such as SEV-SNP). To deal with this, the script now generates model definitions for all versions. But we also need to ensure that our CPU definitions are migration-safe. To deal with this issue we need to make sure we're always using the canonical versioned names for CPUs. Qemu documentation states that unversioned names for CPU models (e.g. 'EPYC') are actually aliases to a specific versioned CPU model (e.g. 'EPYC-v1'). The documentation further states that the specific version targeted by the alias may change based on the machine type of the domain. Management software such as libvirt is directed to translate these aliases to a concrete version in order to make sure that the CPU definition is safe when migrating between different qemu versions that may make different choices for which underlying versioned model represents the alias. In practice, at the time of writing qemu always maps the unversioned aliases to the -v1 model. And libvirt's CPU model definitions also assume that this is the case. For example, the 'x86_EPYC.xml' file contains the features that are defined for the EPYC-v1 inside of qemu. But if qemu ever changes their alias mapping, libvirt's idea of what an 'EPYC' CPU means and qemu's idea of what an 'EPYC' CPU means will no longer match. So when choosing a CPU model for a domain, we should always pass the canonical versioned name to libvirt rather than the unversioned alias. To enable this, the script will generate a new 'canonical_name' field to the CPU model xml definition. Signed-off-by: Jonathon Jongsma <jjongsma@redhat.com> --- src/cpu_map/sync_qemu_models_i386.py | 42 ++++++++++++++++++++++------ 1 file changed, 34 insertions(+), 8 deletions(-) diff --git a/src/cpu_map/sync_qemu_models_i386.py b/src/cpu_map/sync_qemu_models_i386.py index 1c6a2d4d27..7fd62eba4a 100755 --- a/src/cpu_map/sync_qemu_models_i386.py +++ b/src/cpu_map/sync_qemu_models_i386.py @@ -322,31 +322,55 @@ def expand_model(model): different fields and may have differing versions into several libvirt- friendly cpu models.""" - result = { - "name": model.pop(".name"), + basename = model.pop(".name") + parent = { + "name": basename, "vendor": translate_vendor(model.pop(".vendor")), "features": set(), "extra": dict()} if ".family" in model and ".model" in model: - result["family"] = model.pop(".family") - result["model"] = model.pop(".model") + parent["family"] = model.pop(".family") + parent["model"] = model.pop(".model") for k in [k for k in model if k.startswith(".features")]: v = model.pop(k) for feature in v.split(): translated = translate_feature(feature) if translated: - result["features"].add(translated) + parent["features"].add(translated) versions = model.pop(".versions", []) for k, v in model.items(): - result["extra"]["model" + k] = v - yield result + parent["extra"]["model" + k] = v + + if not versions: + yield parent + return + + result = parent for version in versions: + # each version builds on the previous one result = copy.deepcopy(result) - result["name"] = version.pop(".alias", result["name"]) + vnum = int(version.pop(".version")) + vname = "{}-v{}".format(basename, vnum) + result["canonical_name"] = vname + if vnum == 1: + # the first version should always be an alias for the parent and + # should therefore have no extra properties + if version.items(): + raise RuntimeError("Unexpected properties in version 1") + yield result + continue + + # prefer the 'alias' over the generated the name if it exists since we + # have already been using these aliases + alias = version.pop(".alias", None) + if alias: + result["name"] = alias + else: + result["name"] = vname props = version.pop(".props", dict()) for k, v in props: @@ -377,6 +401,8 @@ def output_model(f, model): f.write("<cpus>\n") f.write(" <model name='{}'>\n".format(model["name"])) + if "canonical_name" in model and model["name"] != model["canonical_name"]: + f.write(" <canonical_name>{}</canonical_name>\n".format(model["canonical_name"])) f.write(" <decode host='on' guest='on'/>\n") f.write(" <signature family='{}' model='{}'/>\n".format( model["family"], model["model"])) -- 2.41.0

On 12/15/23 15:11, Jonathon Jongsma wrote:
Previously, the script only generated the parent CPU and any versions that had a defined alias. The script now generates all CPU versions. Any version that had a defined alias will continue to use that alias, but those without aliases will use the generated name $BASECPUNAME-vN.
The reason for this change is two-fold. First, we need to add new models that support new features (such as SEV-SNP). To deal with this, the script now generates model definitions for all versions.
But we also need to ensure that our CPU definitions are migration-safe. To deal with this issue we need to make sure we're always using the canonical versioned names for CPUs.
Qemu documentation states that unversioned names for CPU models (e.g. 'EPYC') are actually aliases to a specific versioned CPU model (e.g. 'EPYC-v1'). The documentation further states that the specific version targeted by the alias may change based on the machine type of the domain. Management software such as libvirt is directed to translate these aliases to a concrete version in order to make sure that the CPU definition is safe when migrating between different qemu versions that may make different choices for which underlying versioned model represents the alias.
In practice, at the time of writing qemu always maps the unversioned aliases to the -v1 model. And libvirt's CPU model definitions also assume that this is the case. For example, the 'x86_EPYC.xml' file contains the features that are defined for the EPYC-v1 inside of qemu. But if qemu ever changes their alias mapping, libvirt's idea of what an 'EPYC' CPU means and qemu's idea of what an 'EPYC' CPU means will no longer match. So when choosing a CPU model for a domain, we should always pass the canonical versioned name to libvirt rather than the unversioned alias. To enable this, the script will generate a new 'canonical_name' field to the CPU model xml definition.
Signed-off-by: Jonathon Jongsma <jjongsma@redhat.com> --- src/cpu_map/sync_qemu_models_i386.py | 42 ++++++++++++++++++++++------
I'm not familiar with this script and how to use it in practice. Same for it's companion sync_qemu_features_i386. How often are they run? Is it the developer's responsibility to sift through the results for commitable changes? I admit to not looking too hard, but couldn't find any documentation on how to use these tools. Regards, Jim
1 file changed, 34 insertions(+), 8 deletions(-)
diff --git a/src/cpu_map/sync_qemu_models_i386.py b/src/cpu_map/sync_qemu_models_i386.py index 1c6a2d4d27..7fd62eba4a 100755 --- a/src/cpu_map/sync_qemu_models_i386.py +++ b/src/cpu_map/sync_qemu_models_i386.py @@ -322,31 +322,55 @@ def expand_model(model): different fields and may have differing versions into several libvirt- friendly cpu models."""
- result = { - "name": model.pop(".name"), + basename = model.pop(".name") + parent = { + "name": basename, "vendor": translate_vendor(model.pop(".vendor")), "features": set(), "extra": dict()}
if ".family" in model and ".model" in model: - result["family"] = model.pop(".family") - result["model"] = model.pop(".model") + parent["family"] = model.pop(".family") + parent["model"] = model.pop(".model")
for k in [k for k in model if k.startswith(".features")]: v = model.pop(k) for feature in v.split(): translated = translate_feature(feature) if translated: - result["features"].add(translated) + parent["features"].add(translated)
versions = model.pop(".versions", []) for k, v in model.items(): - result["extra"]["model" + k] = v - yield result + parent["extra"]["model" + k] = v + + if not versions: + yield parent + return + + result = parent
for version in versions: + # each version builds on the previous one result = copy.deepcopy(result) - result["name"] = version.pop(".alias", result["name"]) + vnum = int(version.pop(".version")) + vname = "{}-v{}".format(basename, vnum) + result["canonical_name"] = vname + if vnum == 1: + # the first version should always be an alias for the parent and + # should therefore have no extra properties + if version.items(): + raise RuntimeError("Unexpected properties in version 1") + yield result + continue + + # prefer the 'alias' over the generated the name if it exists since we + # have already been using these aliases + alias = version.pop(".alias", None) + if alias: + result["name"] = alias + else: + result["name"] = vname
props = version.pop(".props", dict()) for k, v in props: @@ -377,6 +401,8 @@ def output_model(f, model):
f.write("<cpus>\n") f.write(" <model name='{}'>\n".format(model["name"])) + if "canonical_name" in model and model["name"] != model["canonical_name"]: + f.write(" <canonical_name>{}</canonical_name>\n".format(model["canonical_name"])) f.write(" <decode host='on' guest='on'/>\n") f.write(" <signature family='{}' model='{}'/>\n".format( model["family"], model["model"]))

On 2/15/24 3:26 PM, Jim Fehlig wrote:
On 12/15/23 15:11, Jonathon Jongsma wrote:
Previously, the script only generated the parent CPU and any versions that had a defined alias. The script now generates all CPU versions. Any version that had a defined alias will continue to use that alias, but those without aliases will use the generated name $BASECPUNAME-vN.
The reason for this change is two-fold. First, we need to add new models that support new features (such as SEV-SNP). To deal with this, the script now generates model definitions for all versions.
But we also need to ensure that our CPU definitions are migration-safe. To deal with this issue we need to make sure we're always using the canonical versioned names for CPUs.
Qemu documentation states that unversioned names for CPU models (e.g. 'EPYC') are actually aliases to a specific versioned CPU model (e.g. 'EPYC-v1'). The documentation further states that the specific version targeted by the alias may change based on the machine type of the domain. Management software such as libvirt is directed to translate these aliases to a concrete version in order to make sure that the CPU definition is safe when migrating between different qemu versions that may make different choices for which underlying versioned model represents the alias.
In practice, at the time of writing qemu always maps the unversioned aliases to the -v1 model. And libvirt's CPU model definitions also assume that this is the case. For example, the 'x86_EPYC.xml' file contains the features that are defined for the EPYC-v1 inside of qemu. But if qemu ever changes their alias mapping, libvirt's idea of what an 'EPYC' CPU means and qemu's idea of what an 'EPYC' CPU means will no longer match. So when choosing a CPU model for a domain, we should always pass the canonical versioned name to libvirt rather than the unversioned alias. To enable this, the script will generate a new 'canonical_name' field to the CPU model xml definition.
Signed-off-by: Jonathon Jongsma <jjongsma@redhat.com> --- src/cpu_map/sync_qemu_models_i386.py | 42 ++++++++++++++++++++++------
I'm not familiar with this script and how to use it in practice. Same for it's companion sync_qemu_features_i386. How often are they run? Is it the developer's responsibility to sift through the results for commitable changes? I admit to not looking too hard, but couldn't find any documentation on how to use these tools.
Regards, Jim
Yeah, there's not much documentation on this script. Here's the commit message from the initial commit of the script: cpu_map: Add script to sync from QEMU i386 cpu models This script is intended to help in synchronizing i386 QEMU cpu model definitions with libvirt. As the QEMU cpu model definitions are post processed by QEMU and not meant to be consumed by third parties directly, parsing this information is imperfect. Additionally, the libvirt models contain information that cannot be generated from the QEMU data, preventing fully automated usage. The output should nevertheless be helpful for a human in determining potentially interesting changes. So basically you just run $ ./sync_qemu_models_i386.py /path/to/qemu/target/i386/cpu.c outdir and it will spit out a bunch of generated cpu model definitions in outdir and you can compare them to what already exists. Jonathon
1 file changed, 34 insertions(+), 8 deletions(-)
diff --git a/src/cpu_map/sync_qemu_models_i386.py b/src/cpu_map/sync_qemu_models_i386.py index 1c6a2d4d27..7fd62eba4a 100755 --- a/src/cpu_map/sync_qemu_models_i386.py +++ b/src/cpu_map/sync_qemu_models_i386.py @@ -322,31 +322,55 @@ def expand_model(model): different fields and may have differing versions into several libvirt- friendly cpu models.""" - result = { - "name": model.pop(".name"), + basename = model.pop(".name") + parent = { + "name": basename, "vendor": translate_vendor(model.pop(".vendor")), "features": set(), "extra": dict()} if ".family" in model and ".model" in model: - result["family"] = model.pop(".family") - result["model"] = model.pop(".model") + parent["family"] = model.pop(".family") + parent["model"] = model.pop(".model") for k in [k for k in model if k.startswith(".features")]: v = model.pop(k) for feature in v.split(): translated = translate_feature(feature) if translated: - result["features"].add(translated) + parent["features"].add(translated) versions = model.pop(".versions", []) for k, v in model.items(): - result["extra"]["model" + k] = v - yield result + parent["extra"]["model" + k] = v + + if not versions: + yield parent + return + + result = parent for version in versions: + # each version builds on the previous one result = copy.deepcopy(result) - result["name"] = version.pop(".alias", result["name"]) + vnum = int(version.pop(".version")) + vname = "{}-v{}".format(basename, vnum) + result["canonical_name"] = vname + if vnum == 1: + # the first version should always be an alias for the parent and + # should therefore have no extra properties + if version.items(): + raise RuntimeError("Unexpected properties in version 1") + yield result + continue + + # prefer the 'alias' over the generated the name if it exists since we + # have already been using these aliases + alias = version.pop(".alias", None) + if alias: + result["name"] = alias + else: + result["name"] = vname props = version.pop(".props", dict()) for k, v in props: @@ -377,6 +401,8 @@ def output_model(f, model): f.write("<cpus>\n") f.write(" <model name='{}'>\n".format(model["name"])) + if "canonical_name" in model and model["name"] != model["canonical_name"]: + f.write(" <canonical_name>{}</canonical_name>\n".format(model["canonical_name"])) f.write(" <decode host='on' guest='on'/>\n") f.write(" <signature family='{}' model='{}'/>\n".format( model["family"], model["model"]))

On 12/15/23 15:11, Jonathon Jongsma wrote:
Previously, the script only generated the parent CPU and any versions that had a defined alias. The script now generates all CPU versions. Any version that had a defined alias will continue to use that alias, but those without aliases will use the generated name $BASECPUNAME-vN.
The reason for this change is two-fold. First, we need to add new models that support new features (such as SEV-SNP). To deal with this, the script now generates model definitions for all versions.
But we also need to ensure that our CPU definitions are migration-safe. To deal with this issue we need to make sure we're always using the canonical versioned names for CPUs.
Related to migration safety, do we need to be concerned with the expansion of 'host-model' CPU? E.g. is it possible 'host-model' expands to EPYC before introducing the new models, and EPYC-v4 afterwards? If so, what are the ramifications of that?
Qemu documentation states that unversioned names for CPU models (e.g. 'EPYC') are actually aliases to a specific versioned CPU model (e.g. 'EPYC-v1'). The documentation further states that the specific version targeted by the alias may change based on the machine type of the domain. Management software such as libvirt is directed to translate these aliases to a concrete version in order to make sure that the CPU definition is safe when migrating between different qemu versions that may make different choices for which underlying versioned model represents the alias.
Do you have a link to the qemu documentation? Can it be added to the commit message?
In practice, at the time of writing qemu always maps the unversioned aliases to the -v1 model. And libvirt's CPU model definitions also assume that this is the case. For example, the 'x86_EPYC.xml' file contains the features that are defined for the EPYC-v1 inside of qemu. But if qemu ever changes their alias mapping, libvirt's idea of what an 'EPYC' CPU means and qemu's idea of what an 'EPYC' CPU means will no longer match. So when choosing a CPU model for a domain, we should always pass the canonical versioned name to libvirt rather than the unversioned alias. To enable this, the script will generate a new 'canonical_name' field to the CPU model xml definition.
Signed-off-by: Jonathon Jongsma <jjongsma@redhat.com> --- src/cpu_map/sync_qemu_models_i386.py | 42 ++++++++++++++++++++++------ 1 file changed, 34 insertions(+), 8 deletions(-)
The logic changes to the script LGTM. Reviewed-by: Jim Fehlig <jfehlig@suse.com> Regards, Jim
diff --git a/src/cpu_map/sync_qemu_models_i386.py b/src/cpu_map/sync_qemu_models_i386.py index 1c6a2d4d27..7fd62eba4a 100755 --- a/src/cpu_map/sync_qemu_models_i386.py +++ b/src/cpu_map/sync_qemu_models_i386.py @@ -322,31 +322,55 @@ def expand_model(model): different fields and may have differing versions into several libvirt- friendly cpu models."""
- result = { - "name": model.pop(".name"), + basename = model.pop(".name") + parent = { + "name": basename, "vendor": translate_vendor(model.pop(".vendor")), "features": set(), "extra": dict()}
if ".family" in model and ".model" in model: - result["family"] = model.pop(".family") - result["model"] = model.pop(".model") + parent["family"] = model.pop(".family") + parent["model"] = model.pop(".model")
for k in [k for k in model if k.startswith(".features")]: v = model.pop(k) for feature in v.split(): translated = translate_feature(feature) if translated: - result["features"].add(translated) + parent["features"].add(translated)
versions = model.pop(".versions", []) for k, v in model.items(): - result["extra"]["model" + k] = v - yield result + parent["extra"]["model" + k] = v + + if not versions: + yield parent + return + + result = parent
for version in versions: + # each version builds on the previous one result = copy.deepcopy(result) - result["name"] = version.pop(".alias", result["name"]) + vnum = int(version.pop(".version")) + vname = "{}-v{}".format(basename, vnum) + result["canonical_name"] = vname + if vnum == 1: + # the first version should always be an alias for the parent and + # should therefore have no extra properties + if version.items(): + raise RuntimeError("Unexpected properties in version 1") + yield result + continue + + # prefer the 'alias' over the generated the name if it exists since we + # have already been using these aliases + alias = version.pop(".alias", None) + if alias: + result["name"] = alias + else: + result["name"] = vname
props = version.pop(".props", dict()) for k, v in props: @@ -377,6 +401,8 @@ def output_model(f, model):
f.write("<cpus>\n") f.write(" <model name='{}'>\n".format(model["name"])) + if "canonical_name" in model and model["name"] != model["canonical_name"]: + f.write(" <canonical_name>{}</canonical_name>\n".format(model["canonical_name"])) f.write(" <decode host='on' guest='on'/>\n") f.write(" <signature family='{}' model='{}'/>\n".format( model["family"], model["model"]))

On 2/20/24 6:08 PM, Jim Fehlig wrote:
On 12/15/23 15:11, Jonathon Jongsma wrote:
Previously, the script only generated the parent CPU and any versions that had a defined alias. The script now generates all CPU versions. Any version that had a defined alias will continue to use that alias, but those without aliases will use the generated name $BASECPUNAME-vN.
The reason for this change is two-fold. First, we need to add new models that support new features (such as SEV-SNP). To deal with this, the script now generates model definitions for all versions.
But we also need to ensure that our CPU definitions are migration-safe. To deal with this issue we need to make sure we're always using the canonical versioned names for CPUs.
Related to migration safety, do we need to be concerned with the expansion of 'host-model' CPU? E.g. is it possible 'host-model' expands to EPYC before introducing the new models, and EPYC-v4 afterwards? If so, what are the ramifications of that?
Indeed, that behavior is possible. In fact, you can see it happening in the test results for e.g. patch #5 ("Add versioned EPYC CPUs"). But I think that in general we should be fine, because we don't just expand to a plain model name, we expand to a model name plus a list of enabled or disabled feature flags. For example, consider one test output file (tests/domaincapsdata/qemu_8.1.0-q35.x86_64.xml) that exhibits this behavior change. Before my patches the host CPU expanded to a model of 'EPYC-ROME', with a number of feature flags which included (among others): <feature policy='require' name='amd-ssbd'/> <feature policy='disable' name='xsaves'/> After my patches, the host model was expanded to 'EPYC-Rome-v4', with a slightly different set of feature flags. The main differences being that the 'amd-ssbd' and 'xsaves' features were no longer mentioned because they are now included in the -v4 definition. But it also adds a new feature flag to disable the 'ibrs' feature since this feature is included in the -v4 definition but not in the -v1 definition and is not provided by the host CPU: <feature policy='disable' name='ibrs'/> So although the model name is changed, the definition of the host CPU as a whole should expand to the same set of CPU features. I think that this sort of thing can happen every time a new CPU model is added (e.g. the -noTSX-IBRS variants), so I think it should work. But if anyone knows of any specific migration issues, please let me know.
Qemu documentation states that unversioned names for CPU models (e.g. 'EPYC') are actually aliases to a specific versioned CPU model (e.g. 'EPYC-v1'). The documentation further states that the specific version targeted by the alias may change based on the machine type of the domain. Management software such as libvirt is directed to translate these aliases to a concrete version in order to make sure that the CPU definition is safe when migrating between different qemu versions that may make different choices for which underlying versioned model represents the alias.
Do you have a link to the qemu documentation? Can it be added to the commit message?
Yes, I could certainly add a link to the commit message. It is mentioned here: https://www.qemu.org/docs/master/about/deprecated.html#runnability-guarantee...
In practice, at the time of writing qemu always maps the unversioned aliases to the -v1 model. And libvirt's CPU model definitions also assume that this is the case. For example, the 'x86_EPYC.xml' file contains the features that are defined for the EPYC-v1 inside of qemu. But if qemu ever changes their alias mapping, libvirt's idea of what an 'EPYC' CPU means and qemu's idea of what an 'EPYC' CPU means will no longer match. So when choosing a CPU model for a domain, we should always pass the canonical versioned name to libvirt rather than the unversioned alias. To enable this, the script will generate a new 'canonical_name' field to the CPU model xml definition.
Signed-off-by: Jonathon Jongsma <jjongsma@redhat.com> --- src/cpu_map/sync_qemu_models_i386.py | 42 ++++++++++++++++++++++------ 1 file changed, 34 insertions(+), 8 deletions(-)
The logic changes to the script LGTM.
Reviewed-by: Jim Fehlig <jfehlig@suse.com>
Regards, Jim
diff --git a/src/cpu_map/sync_qemu_models_i386.py b/src/cpu_map/sync_qemu_models_i386.py index 1c6a2d4d27..7fd62eba4a 100755 --- a/src/cpu_map/sync_qemu_models_i386.py +++ b/src/cpu_map/sync_qemu_models_i386.py @@ -322,31 +322,55 @@ def expand_model(model): different fields and may have differing versions into several libvirt- friendly cpu models.""" - result = { - "name": model.pop(".name"), + basename = model.pop(".name") + parent = { + "name": basename, "vendor": translate_vendor(model.pop(".vendor")), "features": set(), "extra": dict()} if ".family" in model and ".model" in model: - result["family"] = model.pop(".family") - result["model"] = model.pop(".model") + parent["family"] = model.pop(".family") + parent["model"] = model.pop(".model") for k in [k for k in model if k.startswith(".features")]: v = model.pop(k) for feature in v.split(): translated = translate_feature(feature) if translated: - result["features"].add(translated) + parent["features"].add(translated) versions = model.pop(".versions", []) for k, v in model.items(): - result["extra"]["model" + k] = v - yield result + parent["extra"]["model" + k] = v + + if not versions: + yield parent + return + + result = parent for version in versions: + # each version builds on the previous one result = copy.deepcopy(result) - result["name"] = version.pop(".alias", result["name"]) + vnum = int(version.pop(".version")) + vname = "{}-v{}".format(basename, vnum) + result["canonical_name"] = vname + if vnum == 1: + # the first version should always be an alias for the parent and + # should therefore have no extra properties + if version.items(): + raise RuntimeError("Unexpected properties in version 1") + yield result + continue + + # prefer the 'alias' over the generated the name if it exists since we + # have already been using these aliases + alias = version.pop(".alias", None) + if alias: + result["name"] = alias + else: + result["name"] = vname props = version.pop(".props", dict()) for k, v in props: @@ -377,6 +401,8 @@ def output_model(f, model): f.write("<cpus>\n") f.write(" <model name='{}'>\n".format(model["name"])) + if "canonical_name" in model and model["name"] != model["canonical_name"]: + f.write(" <canonical_name>{}</canonical_name>\n".format(model["canonical_name"])) f.write(" <decode host='on' guest='on'/>\n") f.write(" <signature family='{}' model='{}'/>\n".format( model["family"], model["model"]))

On 2/21/24 13:56, Jonathon Jongsma wrote:
On 2/20/24 6:08 PM, Jim Fehlig wrote:
On 12/15/23 15:11, Jonathon Jongsma wrote:
Previously, the script only generated the parent CPU and any versions that had a defined alias. The script now generates all CPU versions. Any version that had a defined alias will continue to use that alias, but those without aliases will use the generated name $BASECPUNAME-vN.
The reason for this change is two-fold. First, we need to add new models that support new features (such as SEV-SNP). To deal with this, the script now generates model definitions for all versions.
But we also need to ensure that our CPU definitions are migration-safe. To deal with this issue we need to make sure we're always using the canonical versioned names for CPUs.
Related to migration safety, do we need to be concerned with the expansion of 'host-model' CPU? E.g. is it possible 'host-model' expands to EPYC before introducing the new models, and EPYC-v4 afterwards? If so, what are the ramifications of that?
Indeed, that behavior is possible. In fact, you can see it happening in the test results for e.g. patch #5 ("Add versioned EPYC CPUs"). But I think that in general we should be fine, because we don't just expand to a plain model name, we expand to a model name plus a list of enabled or disabled feature flags.
For example, consider one test output file (tests/domaincapsdata/qemu_8.1.0-q35.x86_64.xml) that exhibits this behavior change. Before my patches the host CPU expanded to a model of 'EPYC-ROME', with a number of feature flags which included (among others):
<feature policy='require' name='amd-ssbd'/> <feature policy='disable' name='xsaves'/>
After my patches, the host model was expanded to 'EPYC-Rome-v4', with a slightly different set of feature flags. The main differences being that the 'amd-ssbd' and 'xsaves' features were no longer mentioned because they are now included in the -v4 definition. But it also adds a new feature flag to disable the 'ibrs' feature since this feature is included in the -v4 definition but not in the -v1 definition and is not provided by the host CPU:
<feature policy='disable' name='ibrs'/>
So although the model name is changed, the definition of the host CPU as a whole should expand to the same set of CPU features.
Thanks for the detailed explanation! It confirms my understanding, which is helpful for reviewing the series.
I think that this sort of thing can happen every time a new CPU model is added (e.g. the -noTSX-IBRS variants), so I think it should work. But if anyone knows of any specific migration issues, please let me know.
Yep, it's not the first time we've introduced a new CPU model. And I'm now vaguely recalling a bug with Skylake-Client-IBRS vs Skylake-Client-noTSX-IBRS. The full details escape me, but IIRC migration of a VM using host-model failed between supposedly identical hosts with something like "missing hle,rtm features". In the end I think one or more hosts in the cluster had microcode update applied, which caused the host CPU to switch from Skylake-Client-IBRS to Skylake-Client-noTSX-IBRS. No fault of libvirt in that case, but an example of the scenarios to consider. Regards, Jim

On Tue, Feb 20, 2024 at 05:08:02PM -0700, Jim Fehlig wrote:
On 12/15/23 15:11, Jonathon Jongsma wrote:
Previously, the script only generated the parent CPU and any versions that had a defined alias. The script now generates all CPU versions. Any version that had a defined alias will continue to use that alias, but those without aliases will use the generated name $BASECPUNAME-vN.
The reason for this change is two-fold. First, we need to add new models that support new features (such as SEV-SNP). To deal with this, the script now generates model definitions for all versions.
But we also need to ensure that our CPU definitions are migration-safe. To deal with this issue we need to make sure we're always using the canonical versioned names for CPUs.
Related to migration safety, do we need to be concerned with the expansion of 'host-model' CPU? E.g. is it possible 'host-model' expands to EPYC before introducing the new models, and EPYC-v4 afterwards? If so, what are the ramifications of that?
Yes, I see that happening on my laptop in domcapabilities: Currently libvirt reports: <mode name='host-model' supported='yes'> <model fallback='forbid'>Snowridge</model> <vendor>Intel</vendor> <maxphysaddr mode='passthrough' limit='46'/> <feature policy='require' name='ss'/> <feature policy='require' name='vmx'/> ...snip... and after this series it reports: <mode name='host-model' supported='yes'> <model fallback='forbid'>Snowridge-v4</model> <vendor>Intel</vendor> <maxphysaddr mode='passthrough' limit='46'/> <feature policy='require' name='ss'/> <feature policy='require' name='vmx'/> ...snip... That's not wrong per-se, becasue Snowrigde-v4 has a smaller delta against my host CPU. The problem is that libvirt updates the *live* XML for the guest with this expansion. IIUC, if we now attempt to live migrate to a compatible machine running older libvirt the migrate will fail as old libvirt doesn't know the -v4 CPU. I'm not sure how to address this ? 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 3/1/24 10:13 AM, Daniel P. Berrangé wrote:
On Tue, Feb 20, 2024 at 05:08:02PM -0700, Jim Fehlig wrote:
On 12/15/23 15:11, Jonathon Jongsma wrote:
Previously, the script only generated the parent CPU and any versions that had a defined alias. The script now generates all CPU versions. Any version that had a defined alias will continue to use that alias, but those without aliases will use the generated name $BASECPUNAME-vN.
The reason for this change is two-fold. First, we need to add new models that support new features (such as SEV-SNP). To deal with this, the script now generates model definitions for all versions.
But we also need to ensure that our CPU definitions are migration-safe. To deal with this issue we need to make sure we're always using the canonical versioned names for CPUs.
Related to migration safety, do we need to be concerned with the expansion of 'host-model' CPU? E.g. is it possible 'host-model' expands to EPYC before introducing the new models, and EPYC-v4 afterwards? If so, what are the ramifications of that?
Yes, I see that happening on my laptop in domcapabilities:
Currently libvirt reports:
<mode name='host-model' supported='yes'> <model fallback='forbid'>Snowridge</model> <vendor>Intel</vendor> <maxphysaddr mode='passthrough' limit='46'/> <feature policy='require' name='ss'/> <feature policy='require' name='vmx'/> ...snip...
and after this series it reports:
<mode name='host-model' supported='yes'> <model fallback='forbid'>Snowridge-v4</model> <vendor>Intel</vendor> <maxphysaddr mode='passthrough' limit='46'/> <feature policy='require' name='ss'/> <feature policy='require' name='vmx'/> ...snip...
That's not wrong per-se, becasue Snowrigde-v4 has a smaller delta against my host CPU.
The problem is that libvirt updates the *live* XML for the guest with this expansion. IIUC, if we now attempt to live migrate to a compatible machine running older libvirt the migrate will fail as old libvirt doesn't know the -v4 CPU.
I'm not sure how to address this ?
But don't we have this issue any time we add a new CPU model to libvirt? Anytime there's a new model, it has the potential to be a closer match to the host CPU than an existing model definition was. As I mentioned in my previous reply, when e.g. the -noTSX CPU variants were added, didn't the same sort of thing (potentially) happen? Or am I doing something meaningfully different in this patch set than what happens in those scenarios? Jonathon

On Fri, Mar 01, 2024 at 10:36:12AM -0600, Jonathon Jongsma wrote:
On 3/1/24 10:13 AM, Daniel P. Berrangé wrote:
On Tue, Feb 20, 2024 at 05:08:02PM -0700, Jim Fehlig wrote:
On 12/15/23 15:11, Jonathon Jongsma wrote:
Previously, the script only generated the parent CPU and any versions that had a defined alias. The script now generates all CPU versions. Any version that had a defined alias will continue to use that alias, but those without aliases will use the generated name $BASECPUNAME-vN.
The reason for this change is two-fold. First, we need to add new models that support new features (such as SEV-SNP). To deal with this, the script now generates model definitions for all versions.
But we also need to ensure that our CPU definitions are migration-safe. To deal with this issue we need to make sure we're always using the canonical versioned names for CPUs.
Related to migration safety, do we need to be concerned with the expansion of 'host-model' CPU? E.g. is it possible 'host-model' expands to EPYC before introducing the new models, and EPYC-v4 afterwards? If so, what are the ramifications of that?
Yes, I see that happening on my laptop in domcapabilities:
Currently libvirt reports:
<mode name='host-model' supported='yes'> <model fallback='forbid'>Snowridge</model> <vendor>Intel</vendor> <maxphysaddr mode='passthrough' limit='46'/> <feature policy='require' name='ss'/> <feature policy='require' name='vmx'/> ...snip...
and after this series it reports:
<mode name='host-model' supported='yes'> <model fallback='forbid'>Snowridge-v4</model> <vendor>Intel</vendor> <maxphysaddr mode='passthrough' limit='46'/> <feature policy='require' name='ss'/> <feature policy='require' name='vmx'/> ...snip...
That's not wrong per-se, becasue Snowrigde-v4 has a smaller delta against my host CPU.
The problem is that libvirt updates the *live* XML for the guest with this expansion. IIUC, if we now attempt to live migrate to a compatible machine running older libvirt the migrate will fail as old libvirt doesn't know the -v4 CPU.
I'm not sure how to address this ?
But don't we have this issue any time we add a new CPU model to libvirt? Anytime there's a new model, it has the potential to be a closer match to the host CPU than an existing model definition was. As I mentioned in my previous reply, when e.g. the -noTSX CPU variants were added, didn't the same sort of thing (potentially) happen? Or am I doing something meaningfully different in this patch set than what happens in those scenarios?
I think it probably /did/ happen, but that doesn't make it acceptable. The noTSX stuff was the cause of massive amounts of compatibility pain for mgmt apps, so the incompatibility in libvirt might have been glossed over. We're adding alot of new versions here, so the possibly increasing the visibility/impact of this libvirt change. 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 3/1/24 10:13, Daniel P. Berrangé wrote:
On Fri, Mar 01, 2024 at 10:36:12AM -0600, Jonathon Jongsma wrote:
On 3/1/24 10:13 AM, Daniel P. Berrangé wrote:
On Tue, Feb 20, 2024 at 05:08:02PM -0700, Jim Fehlig wrote:
On 12/15/23 15:11, Jonathon Jongsma wrote:
Previously, the script only generated the parent CPU and any versions that had a defined alias. The script now generates all CPU versions. Any version that had a defined alias will continue to use that alias, but those without aliases will use the generated name $BASECPUNAME-vN.
The reason for this change is two-fold. First, we need to add new models that support new features (such as SEV-SNP). To deal with this, the script now generates model definitions for all versions.
But we also need to ensure that our CPU definitions are migration-safe. To deal with this issue we need to make sure we're always using the canonical versioned names for CPUs.
Related to migration safety, do we need to be concerned with the expansion of 'host-model' CPU? E.g. is it possible 'host-model' expands to EPYC before introducing the new models, and EPYC-v4 afterwards? If so, what are the ramifications of that?
Yes, I see that happening on my laptop in domcapabilities:
Currently libvirt reports:
<mode name='host-model' supported='yes'> <model fallback='forbid'>Snowridge</model> <vendor>Intel</vendor> <maxphysaddr mode='passthrough' limit='46'/> <feature policy='require' name='ss'/> <feature policy='require' name='vmx'/> ...snip...
and after this series it reports:
<mode name='host-model' supported='yes'> <model fallback='forbid'>Snowridge-v4</model> <vendor>Intel</vendor> <maxphysaddr mode='passthrough' limit='46'/> <feature policy='require' name='ss'/> <feature policy='require' name='vmx'/> ...snip...
That's not wrong per-se, becasue Snowrigde-v4 has a smaller delta against my host CPU.
The problem is that libvirt updates the *live* XML for the guest with this expansion. IIUC, if we now attempt to live migrate to a compatible machine running older libvirt the migrate will fail as old libvirt doesn't know the -v4 CPU.
Downstream, we (SUSE) don't really support migrating from new -> old. Is this something we aim to support upstream?
I'm not sure how to address this ?
But don't we have this issue any time we add a new CPU model to libvirt? Anytime there's a new model, it has the potential to be a closer match to the host CPU than an existing model definition was. As I mentioned in my previous reply, when e.g. the -noTSX CPU variants were added, didn't the same sort of thing (potentially) happen? Or am I doing something meaningfully different in this patch set than what happens in those scenarios?
I think it probably /did/ happen, but that doesn't make it acceptable. The noTSX stuff was the cause of massive amounts of compatibility pain for mgmt apps, so the incompatibility in libvirt might have been glossed over. We're adding alot of new versions here, so the possibly increasing the visibility/impact of this libvirt change.
It can happen when we introduce an entirely new CPU model too. E.g. on a Genoa machine, prior to commit bfe53e9145c, host model expanded to <cpu mode='custom' match='exact' check='full'> <model fallback='forbid'>EPYC-Milan</model> <vendor>AMD</vendor> <feature policy='require' name='x2apic'/> <feature policy='require' name='tsc-deadline'/> <feature policy='require' name='hypervisor'/> <feature policy='require' name='tsc_adjust'/> <feature policy='require' name='avx512f'/> <feature policy='require' name='avx512dq'/> <feature policy='require' name='avx512ifma'/> <feature policy='require' name='avx512cd'/> <feature policy='require' name='avx512bw'/> <feature policy='require' name='avx512vl'/> <feature policy='require' name='avx512vbmi'/> <feature policy='require' name='avx512vbmi2'/> <feature policy='require' name='gfni'/> <feature policy='require' name='vaes'/> <feature policy='require' name='vpclmulqdq'/> <feature policy='require' name='avx512vnni'/> <feature policy='require' name='avx512bitalg'/> <feature policy='require' name='avx512-vpopcntdq'/> <feature policy='require' name='la57'/> <feature policy='require' name='spec-ctrl'/> <feature policy='require' name='stibp'/> <feature policy='require' name='arch-capabilities'/> <feature policy='require' name='ssbd'/> <feature policy='require' name='avx512-bf16'/> <feature policy='require' name='cmp_legacy'/> <feature policy='require' name='virt-ssbd'/> <feature policy='require' name='rdctl-no'/> <feature policy='require' name='skip-l1dfl-vmentry'/> <feature policy='require' name='mds-no'/> <feature policy='require' name='pschange-mc-no'/> <feature policy='disable' name='svm'/> <feature policy='require' name='topoext'/> <feature policy='disable' name='npt'/> <feature policy='disable' name='nrip-save'/> <feature policy='disable' name='svme-addr-chk'/> </cpu> After commit bfe53e9145c <cpu mode='custom' match='exact' check='full'> <model fallback='forbid'>EPYC-Genoa</model> <vendor>AMD</vendor> <feature policy='require' name='x2apic'/> <feature policy='require' name='tsc-deadline'/> <feature policy='require' name='hypervisor'/> <feature policy='require' name='tsc_adjust'/> <feature policy='require' name='spec-ctrl'/> <feature policy='require' name='stibp'/> <feature policy='require' name='arch-capabilities'/> <feature policy='require' name='ssbd'/> <feature policy='require' name='cmp_legacy'/> <feature policy='require' name='virt-ssbd'/> <feature policy='require' name='rdctl-no'/> <feature policy='require' name='skip-l1dfl-vmentry'/> <feature policy='require' name='mds-no'/> <feature policy='require' name='pschange-mc-no'/> <feature policy='disable' name='svm'/> <feature policy='require' name='topoext'/> <feature policy='disable' name='npt'/> <feature policy='disable' name='nrip-save'/> <feature policy='disable' name='svme-addr-chk'/> </cpu> Regards, Jim

On 3/4/24 11:35 AM, Jim Fehlig wrote:
On 3/1/24 10:13, Daniel P. Berrangé wrote:
On Fri, Mar 01, 2024 at 10:36:12AM -0600, Jonathon Jongsma wrote:
On 3/1/24 10:13 AM, Daniel P. Berrangé wrote:
On Tue, Feb 20, 2024 at 05:08:02PM -0700, Jim Fehlig wrote:
On 12/15/23 15:11, Jonathon Jongsma wrote:
Previously, the script only generated the parent CPU and any versions that had a defined alias. The script now generates all CPU versions. Any version that had a defined alias will continue to use that alias, but those without aliases will use the generated name $BASECPUNAME-vN.
The reason for this change is two-fold. First, we need to add new models that support new features (such as SEV-SNP). To deal with this, the script now generates model definitions for all versions.
But we also need to ensure that our CPU definitions are migration-safe. To deal with this issue we need to make sure we're always using the canonical versioned names for CPUs.
Related to migration safety, do we need to be concerned with the expansion of 'host-model' CPU? E.g. is it possible 'host-model' expands to EPYC before introducing the new models, and EPYC-v4 afterwards? If so, what are the ramifications of that?
Yes, I see that happening on my laptop in domcapabilities:
Currently libvirt reports:
<mode name='host-model' supported='yes'> <model fallback='forbid'>Snowridge</model> <vendor>Intel</vendor> <maxphysaddr mode='passthrough' limit='46'/> <feature policy='require' name='ss'/> <feature policy='require' name='vmx'/> ...snip...
and after this series it reports:
<mode name='host-model' supported='yes'> <model fallback='forbid'>Snowridge-v4</model> <vendor>Intel</vendor> <maxphysaddr mode='passthrough' limit='46'/> <feature policy='require' name='ss'/> <feature policy='require' name='vmx'/> ...snip...
That's not wrong per-se, becasue Snowrigde-v4 has a smaller delta against my host CPU.
The problem is that libvirt updates the *live* XML for the guest with this expansion. IIUC, if we now attempt to live migrate to a compatible machine running older libvirt the migrate will fail as old libvirt doesn't know the -v4 CPU.
Downstream, we (SUSE) don't really support migrating from new -> old. Is this something we aim to support upstream?
I don't know the answer to this question.
I'm not sure how to address this ?
But don't we have this issue any time we add a new CPU model to libvirt? Anytime there's a new model, it has the potential to be a closer match to the host CPU than an existing model definition was. As I mentioned in my previous reply, when e.g. the -noTSX CPU variants were added, didn't the same sort of thing (potentially) happen? Or am I doing something meaningfully different in this patch set than what happens in those scenarios?
I think it probably /did/ happen, but that doesn't make it acceptable. The noTSX stuff was the cause of massive amounts of compatibility pain for mgmt apps, so the incompatibility in libvirt might have been glossed over. We're adding alot of new versions here, so the possibly increasing the visibility/impact of this libvirt change.
It can happen when we introduce an entirely new CPU model too. E.g. on a Genoa machine, prior to commit bfe53e9145c, host model expanded to
<cpu mode='custom' match='exact' check='full'> <model fallback='forbid'>EPYC-Milan</model> <vendor>AMD</vendor> <feature policy='require' name='x2apic'/> <feature policy='require' name='tsc-deadline'/> <feature policy='require' name='hypervisor'/> <feature policy='require' name='tsc_adjust'/> <feature policy='require' name='avx512f'/> <feature policy='require' name='avx512dq'/> <feature policy='require' name='avx512ifma'/> <feature policy='require' name='avx512cd'/> <feature policy='require' name='avx512bw'/> <feature policy='require' name='avx512vl'/> <feature policy='require' name='avx512vbmi'/> <feature policy='require' name='avx512vbmi2'/> <feature policy='require' name='gfni'/> <feature policy='require' name='vaes'/> <feature policy='require' name='vpclmulqdq'/> <feature policy='require' name='avx512vnni'/> <feature policy='require' name='avx512bitalg'/> <feature policy='require' name='avx512-vpopcntdq'/> <feature policy='require' name='la57'/> <feature policy='require' name='spec-ctrl'/> <feature policy='require' name='stibp'/> <feature policy='require' name='arch-capabilities'/> <feature policy='require' name='ssbd'/> <feature policy='require' name='avx512-bf16'/> <feature policy='require' name='cmp_legacy'/> <feature policy='require' name='virt-ssbd'/> <feature policy='require' name='rdctl-no'/> <feature policy='require' name='skip-l1dfl-vmentry'/> <feature policy='require' name='mds-no'/> <feature policy='require' name='pschange-mc-no'/> <feature policy='disable' name='svm'/> <feature policy='require' name='topoext'/> <feature policy='disable' name='npt'/> <feature policy='disable' name='nrip-save'/> <feature policy='disable' name='svme-addr-chk'/> </cpu>
After commit bfe53e9145c
<cpu mode='custom' match='exact' check='full'> <model fallback='forbid'>EPYC-Genoa</model> <vendor>AMD</vendor> <feature policy='require' name='x2apic'/> <feature policy='require' name='tsc-deadline'/> <feature policy='require' name='hypervisor'/> <feature policy='require' name='tsc_adjust'/> <feature policy='require' name='spec-ctrl'/> <feature policy='require' name='stibp'/> <feature policy='require' name='arch-capabilities'/> <feature policy='require' name='ssbd'/> <feature policy='require' name='cmp_legacy'/> <feature policy='require' name='virt-ssbd'/> <feature policy='require' name='rdctl-no'/> <feature policy='require' name='skip-l1dfl-vmentry'/> <feature policy='require' name='mds-no'/> <feature policy='require' name='pschange-mc-no'/> <feature policy='disable' name='svm'/> <feature policy='require' name='topoext'/> <feature policy='disable' name='npt'/> <feature policy='disable' name='nrip-save'/> <feature policy='disable' name='svme-addr-chk'/> </cpu>
Regards, Jim
Does anybody have a response to this point from Jim? I can't really think of a way forward if it's not acceptable for the host model expansion to change between different versions of libvirt. Jonathon

On Mon, Mar 04, 2024 at 10:35:25AM -0700, Jim Fehlig wrote:
On 3/1/24 10:13, Daniel P. Berrangé wrote:
On Fri, Mar 01, 2024 at 10:36:12AM -0600, Jonathon Jongsma wrote:
On 3/1/24 10:13 AM, Daniel P. Berrangé wrote:
On Tue, Feb 20, 2024 at 05:08:02PM -0700, Jim Fehlig wrote:
On 12/15/23 15:11, Jonathon Jongsma wrote:
Previously, the script only generated the parent CPU and any versions that had a defined alias. The script now generates all CPU versions. Any version that had a defined alias will continue to use that alias, but those without aliases will use the generated name $BASECPUNAME-vN.
The reason for this change is two-fold. First, we need to add new models that support new features (such as SEV-SNP). To deal with this, the script now generates model definitions for all versions.
But we also need to ensure that our CPU definitions are migration-safe. To deal with this issue we need to make sure we're always using the canonical versioned names for CPUs.
Related to migration safety, do we need to be concerned with the expansion of 'host-model' CPU? E.g. is it possible 'host-model' expands to EPYC before introducing the new models, and EPYC-v4 afterwards? If so, what are the ramifications of that?
Yes, I see that happening on my laptop in domcapabilities:
Currently libvirt reports:
<mode name='host-model' supported='yes'> <model fallback='forbid'>Snowridge</model> <vendor>Intel</vendor> <maxphysaddr mode='passthrough' limit='46'/> <feature policy='require' name='ss'/> <feature policy='require' name='vmx'/> ...snip...
and after this series it reports:
<mode name='host-model' supported='yes'> <model fallback='forbid'>Snowridge-v4</model> <vendor>Intel</vendor> <maxphysaddr mode='passthrough' limit='46'/> <feature policy='require' name='ss'/> <feature policy='require' name='vmx'/> ...snip...
That's not wrong per-se, becasue Snowrigde-v4 has a smaller delta against my host CPU.
The problem is that libvirt updates the *live* XML for the guest with this expansion. IIUC, if we now attempt to live migrate to a compatible machine running older libvirt the migrate will fail as old libvirt doesn't know the -v4 CPU.
Downstream, we (SUSE) don't really support migrating from new -> old. Is this something we aim to support upstream?
Kind of, sort of, yes and no :) The VIR_DOMAIN_XML_MIGRATABLE flag is a bit of an attempt to make it possible to format XML in a way that's (hopefully) mostly acceptable to older libvirt. The devil is in the detail though, and there's never really been any formal testing to prove correctness, so new -> old is one of those things that may work, please report bugs if we missed something.
I'm not sure how to address this ?
But don't we have this issue any time we add a new CPU model to libvirt? Anytime there's a new model, it has the potential to be a closer match to the host CPU than an existing model definition was. As I mentioned in my previous reply, when e.g. the -noTSX CPU variants were added, didn't the same sort of thing (potentially) happen? Or am I doing something meaningfully different in this patch set than what happens in those scenarios?
I think it probably /did/ happen, but that doesn't make it acceptable. The noTSX stuff was the cause of massive amounts of compatibility pain for mgmt apps, so the incompatibility in libvirt might have been glossed over. We're adding alot of new versions here, so the possibly increasing the visibility/impact of this libvirt change.
It can happen when we introduce an entirely new CPU model too. E.g. on a Genoa machine, prior to commit bfe53e9145c, host model expanded to
Yeah, true, so that's a general problem with 'host-model' when introducing new CPU generations, if that post-dates a user deploying on said CPU generation.. 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 3/22/24 04:54, Daniel P. Berrangé wrote:
On Mon, Mar 04, 2024 at 10:35:25AM -0700, Jim Fehlig wrote:
On 3/1/24 10:13, Daniel P. Berrangé wrote:
On Fri, Mar 01, 2024 at 10:36:12AM -0600, Jonathon Jongsma wrote:
On 3/1/24 10:13 AM, Daniel P. Berrangé wrote:
On Tue, Feb 20, 2024 at 05:08:02PM -0700, Jim Fehlig wrote:
On 12/15/23 15:11, Jonathon Jongsma wrote: > Previously, the script only generated the parent CPU and any versions > that had a defined alias. The script now generates all CPU versions. Any > version that had a defined alias will continue to use that alias, but > those without aliases will use the generated name $BASECPUNAME-vN. > > The reason for this change is two-fold. First, we need to add new models > that support new features (such as SEV-SNP). To deal with this, the > script now generates model definitions for all versions. > > But we also need to ensure that our CPU definitions are migration-safe. > To deal with this issue we need to make sure we're always using the > canonical versioned names for CPUs.
Related to migration safety, do we need to be concerned with the expansion of 'host-model' CPU? E.g. is it possible 'host-model' expands to EPYC before introducing the new models, and EPYC-v4 afterwards? If so, what are the ramifications of that?
Yes, I see that happening on my laptop in domcapabilities:
Currently libvirt reports:
<mode name='host-model' supported='yes'> <model fallback='forbid'>Snowridge</model> <vendor>Intel</vendor> <maxphysaddr mode='passthrough' limit='46'/> <feature policy='require' name='ss'/> <feature policy='require' name='vmx'/> ...snip...
and after this series it reports:
<mode name='host-model' supported='yes'> <model fallback='forbid'>Snowridge-v4</model> <vendor>Intel</vendor> <maxphysaddr mode='passthrough' limit='46'/> <feature policy='require' name='ss'/> <feature policy='require' name='vmx'/> ...snip...
That's not wrong per-se, becasue Snowrigde-v4 has a smaller delta against my host CPU.
The problem is that libvirt updates the *live* XML for the guest with this expansion. IIUC, if we now attempt to live migrate to a compatible machine running older libvirt the migrate will fail as old libvirt doesn't know the -v4 CPU.
Downstream, we (SUSE) don't really support migrating from new -> old. Is this something we aim to support upstream?
Kind of, sort of, yes and no :)
The VIR_DOMAIN_XML_MIGRATABLE flag is a bit of an attempt to make it possible to format XML in a way that's (hopefully) mostly acceptable to older libvirt.
The devil is in the detail though, and there's never really been any formal testing to prove correctness, so new -> old is one of those things that may work, please report bugs if we missed something.
I'm not sure how to address this ?
But don't we have this issue any time we add a new CPU model to libvirt? Anytime there's a new model, it has the potential to be a closer match to the host CPU than an existing model definition was. As I mentioned in my previous reply, when e.g. the -noTSX CPU variants were added, didn't the same sort of thing (potentially) happen? Or am I doing something meaningfully different in this patch set than what happens in those scenarios?
I think it probably /did/ happen, but that doesn't make it acceptable. The noTSX stuff was the cause of massive amounts of compatibility pain for mgmt apps, so the incompatibility in libvirt might have been glossed over. We're adding alot of new versions here, so the possibly increasing the visibility/impact of this libvirt change.
It can happen when we introduce an entirely new CPU model too. E.g. on a Genoa machine, prior to commit bfe53e9145c, host model expanded to
Yeah, true, so that's a general problem with 'host-model' when introducing new CPU generations, if that post-dates a user deploying on said CPU generation..
So what's the consensus on this series? With it, there will certainly be cases where host-model expands to one of the new versioned models. Question is, how many of those result in an incompatible CPU from the guest perspective? Without the series, we'll need to selectively add versioned CPUs when supporting new features such as sev-snp. Regards, Jim

On Fri, Dec 15, 2023 at 04:11:57PM -0600, Jonathon Jongsma wrote:
Previously, the script only generated the parent CPU and any versions that had a defined alias. The script now generates all CPU versions. Any version that had a defined alias will continue to use that alias, but those without aliases will use the generated name $BASECPUNAME-vN.
The reason for this change is two-fold. First, we need to add new models that support new features (such as SEV-SNP). To deal with this, the script now generates model definitions for all versions.
But we also need to ensure that our CPU definitions are migration-safe. To deal with this issue we need to make sure we're always using the canonical versioned names for CPUs.
Qemu documentation states that unversioned names for CPU models (e.g. 'EPYC') are actually aliases to a specific versioned CPU model (e.g. 'EPYC-v1'). The documentation further states that the specific version targeted by the alias may change based on the machine type of the domain. Management software such as libvirt is directed to translate these aliases to a concrete version in order to make sure that the CPU definition is safe when migrating between different qemu versions that may make different choices for which underlying versioned model represents the alias.
Our CPU models are already migration safe, since we expand the unversioned machine type to a versioned machine, and thus as a result our unversioned CPU model is implicitly turned into the versioned CPU model associated with that versioned machine type. It is still compelling for libvirt to deal with versioned CPU models, but we don't directly need that in order to be migration safe. Where versioned models are interesting is if the applicatio does not care about the specific machine type, so just asks for 'q35', but /does/ care about a specific CPU model in order to establish migration compat between a certain set of hosts. Letting them give a versioned CPU model gives more direct control which is good.
In practice, at the time of writing qemu always maps the unversioned aliases to the -v1 model. And libvirt's CPU model definitions also assume that this is the case. For example, the 'x86_EPYC.xml' file contains the features that are defined for the EPYC-v1 inside of qemu. But if qemu ever changes their alias mapping, libvirt's idea of what an 'EPYC' CPU means and qemu's idea of what an 'EPYC' CPU means will no longer match. So when choosing a CPU model for a domain, we should always pass the canonical versioned name to libvirt rather than the unversioned alias. To enable this, the script will generate a new 'canonical_name' field to the CPU model xml definition.
Signed-off-by: Jonathon Jongsma <jjongsma@redhat.com> --- src/cpu_map/sync_qemu_models_i386.py | 42 ++++++++++++++++++++++------ 1 file changed, 34 insertions(+), 8 deletions(-)
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> 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 :|

Signed-off-by: Jonathon Jongsma <jjongsma@redhat.com> --- src/cpu_map/x86_Broadwell-IBRS.xml | 1 + src/cpu_map/x86_Broadwell-noTSX-IBRS.xml | 1 + src/cpu_map/x86_Broadwell-noTSX.xml | 1 + src/cpu_map/x86_Broadwell.xml | 1 + src/cpu_map/x86_Cascadelake-Server-noTSX.xml | 1 + src/cpu_map/x86_Cascadelake-Server.xml | 1 + src/cpu_map/x86_Cooperlake.xml | 1 + src/cpu_map/x86_Dhyana.xml | 1 + src/cpu_map/x86_EPYC-IBPB.xml | 1 + src/cpu_map/x86_EPYC-Milan.xml | 1 + src/cpu_map/x86_EPYC-Rome.xml | 1 + src/cpu_map/x86_EPYC.xml | 1 + src/cpu_map/x86_Haswell-IBRS.xml | 1 + src/cpu_map/x86_Haswell-noTSX-IBRS.xml | 1 + src/cpu_map/x86_Haswell-noTSX.xml | 1 + src/cpu_map/x86_Haswell.xml | 1 + src/cpu_map/x86_Icelake-Server-noTSX.xml | 1 + src/cpu_map/x86_Icelake-Server.xml | 1 + src/cpu_map/x86_IvyBridge-IBRS.xml | 1 + src/cpu_map/x86_IvyBridge.xml | 1 + src/cpu_map/x86_Nehalem-IBRS.xml | 1 + src/cpu_map/x86_Nehalem.xml | 1 + src/cpu_map/x86_SandyBridge-IBRS.xml | 1 + src/cpu_map/x86_SandyBridge.xml | 1 + src/cpu_map/x86_SapphireRapids.xml | 1 + src/cpu_map/x86_Skylake-Client-IBRS.xml | 1 + src/cpu_map/x86_Skylake-Client-noTSX-IBRS.xml | 1 + src/cpu_map/x86_Skylake-Client.xml | 1 + src/cpu_map/x86_Skylake-Server-IBRS.xml | 1 + src/cpu_map/x86_Skylake-Server-noTSX-IBRS.xml | 1 + src/cpu_map/x86_Skylake-Server.xml | 1 + src/cpu_map/x86_Snowridge.xml | 1 + src/cpu_map/x86_Westmere-IBRS.xml | 1 + src/cpu_map/x86_Westmere.xml | 1 + 34 files changed, 34 insertions(+) diff --git a/src/cpu_map/x86_Broadwell-IBRS.xml b/src/cpu_map/x86_Broadwell-IBRS.xml index 9033d5fcd5..13568eac81 100644 --- a/src/cpu_map/x86_Broadwell-IBRS.xml +++ b/src/cpu_map/x86_Broadwell-IBRS.xml @@ -1,5 +1,6 @@ <cpus> <model name='Broadwell-IBRS'> + <canonical_name>Broadwell-v3</canonical_name> <decode host='on' guest='on'/> <signature family='6' model='61'/> <!-- 0306d0 --> <signature family='6' model='71'/> <!-- 040670 --> diff --git a/src/cpu_map/x86_Broadwell-noTSX-IBRS.xml b/src/cpu_map/x86_Broadwell-noTSX-IBRS.xml index c044b60e36..4ec35ce3a2 100644 --- a/src/cpu_map/x86_Broadwell-noTSX-IBRS.xml +++ b/src/cpu_map/x86_Broadwell-noTSX-IBRS.xml @@ -1,5 +1,6 @@ <cpus> <model name='Broadwell-noTSX-IBRS'> + <canonical_name>Broadwell-v4</canonical_name> <decode host='on' guest='on'/> <signature family='6' model='61'/> <!-- 0306d0 --> <signature family='6' model='71'/> <!-- 040670 --> diff --git a/src/cpu_map/x86_Broadwell-noTSX.xml b/src/cpu_map/x86_Broadwell-noTSX.xml index 637f29ba1c..3fed34e3a4 100644 --- a/src/cpu_map/x86_Broadwell-noTSX.xml +++ b/src/cpu_map/x86_Broadwell-noTSX.xml @@ -1,5 +1,6 @@ <cpus> <model name='Broadwell-noTSX'> + <canonical_name>Broadwell-v2</canonical_name> <decode host='on' guest='on'/> <signature family='6' model='61'/> <!-- 0306d0 --> <signature family='6' model='71'/> <!-- 040670 --> diff --git a/src/cpu_map/x86_Broadwell.xml b/src/cpu_map/x86_Broadwell.xml index 82939a4509..79c96c3857 100644 --- a/src/cpu_map/x86_Broadwell.xml +++ b/src/cpu_map/x86_Broadwell.xml @@ -1,5 +1,6 @@ <cpus> <model name='Broadwell'> + <canonical_name>Broadwell-v1</canonical_name> <decode host='on' guest='on'/> <signature family='6' model='61'/> <!-- 0306d0 --> <signature family='6' model='71'/> <!-- 040670 --> diff --git a/src/cpu_map/x86_Cascadelake-Server-noTSX.xml b/src/cpu_map/x86_Cascadelake-Server-noTSX.xml index bfd4629836..e1b2a820dc 100644 --- a/src/cpu_map/x86_Cascadelake-Server-noTSX.xml +++ b/src/cpu_map/x86_Cascadelake-Server-noTSX.xml @@ -1,5 +1,6 @@ <cpus> <model name='Cascadelake-Server-noTSX'> + <canonical_name>Cascadelake-Server-v3</canonical_name> <decode host='on' guest='off'/> <signature family='6' model='85' stepping='5-7'/> <!-- 050654 --> <vendor name='Intel'/> diff --git a/src/cpu_map/x86_Cascadelake-Server.xml b/src/cpu_map/x86_Cascadelake-Server.xml index 335e9cb584..4e72518e0d 100644 --- a/src/cpu_map/x86_Cascadelake-Server.xml +++ b/src/cpu_map/x86_Cascadelake-Server.xml @@ -1,5 +1,6 @@ <cpus> <model name='Cascadelake-Server'> + <canonical_name>Cascadelake-Server-v1</canonical_name> <decode host='on' guest='on'/> <signature family='6' model='85' stepping='5-7'/> <!-- 050654 --> <vendor name='Intel'/> diff --git a/src/cpu_map/x86_Cooperlake.xml b/src/cpu_map/x86_Cooperlake.xml index ceca687334..d2967daf3b 100644 --- a/src/cpu_map/x86_Cooperlake.xml +++ b/src/cpu_map/x86_Cooperlake.xml @@ -1,5 +1,6 @@ <cpus> <model name='Cooperlake'> + <canonical_name>Cooperlake-v1</canonical_name> <decode host='on' guest='on'/> <signature family='6' model='85' stepping='10-11'/> <!-- 05065b --> <vendor name='Intel'/> diff --git a/src/cpu_map/x86_Dhyana.xml b/src/cpu_map/x86_Dhyana.xml index cfde07f99f..a7fb540973 100644 --- a/src/cpu_map/x86_Dhyana.xml +++ b/src/cpu_map/x86_Dhyana.xml @@ -1,5 +1,6 @@ <cpus> <model name='Dhyana'> + <canonical_name>Dhyana-v1</canonical_name> <decode host='on' guest='on'/> <signature family='24' model='0'/> <!-- 900f00 --> <vendor name='Hygon'/> diff --git a/src/cpu_map/x86_EPYC-IBPB.xml b/src/cpu_map/x86_EPYC-IBPB.xml index fc5aadf52e..28f0113392 100644 --- a/src/cpu_map/x86_EPYC-IBPB.xml +++ b/src/cpu_map/x86_EPYC-IBPB.xml @@ -1,5 +1,6 @@ <cpus> <model name='EPYC-IBPB'> + <canonical_name>EPYC-v2</canonical_name> <decode host='on' guest='on'/> <signature family='23' model='1'/> <!-- 800f10 --> <vendor name='AMD'/> diff --git a/src/cpu_map/x86_EPYC-Milan.xml b/src/cpu_map/x86_EPYC-Milan.xml index 3055e175fa..0dfdbb5b4b 100644 --- a/src/cpu_map/x86_EPYC-Milan.xml +++ b/src/cpu_map/x86_EPYC-Milan.xml @@ -1,5 +1,6 @@ <cpus> <model name='EPYC-Milan'> + <canonical_name>EPYC-Milan-v1</canonical_name> <decode host='on' guest='on'/> <signature family='25' model='1'/> <vendor name='AMD'/> diff --git a/src/cpu_map/x86_EPYC-Rome.xml b/src/cpu_map/x86_EPYC-Rome.xml index e54d0a48d8..794f3a8ff6 100644 --- a/src/cpu_map/x86_EPYC-Rome.xml +++ b/src/cpu_map/x86_EPYC-Rome.xml @@ -1,5 +1,6 @@ <cpus> <model name='EPYC-Rome'> + <canonical_name>EPYC-Rome-v1</canonical_name> <decode host='on' guest='on'/> <signature family='23' model='49'/> <vendor name='AMD'/> diff --git a/src/cpu_map/x86_EPYC.xml b/src/cpu_map/x86_EPYC.xml index 3b406de37a..852ca047e4 100644 --- a/src/cpu_map/x86_EPYC.xml +++ b/src/cpu_map/x86_EPYC.xml @@ -1,5 +1,6 @@ <cpus> <model name='EPYC'> + <canonical_name>EPYC-v1</canonical_name> <decode host='on' guest='on'/> <signature family='23' model='1'/> <!-- 800f10 --> <vendor name='AMD'/> diff --git a/src/cpu_map/x86_Haswell-IBRS.xml b/src/cpu_map/x86_Haswell-IBRS.xml index 0ffe2bae0d..49da1fff06 100644 --- a/src/cpu_map/x86_Haswell-IBRS.xml +++ b/src/cpu_map/x86_Haswell-IBRS.xml @@ -1,5 +1,6 @@ <cpus> <model name='Haswell-IBRS'> + <canonical_name>Haswell-v3</canonical_name> <decode host='on' guest='on'/> <signature family='6' model='60'/> <!-- 0306c0 --> <signature family='6' model='63'/> <!-- 0306f0 --> diff --git a/src/cpu_map/x86_Haswell-noTSX-IBRS.xml b/src/cpu_map/x86_Haswell-noTSX-IBRS.xml index 75d709c009..49cac64ff6 100644 --- a/src/cpu_map/x86_Haswell-noTSX-IBRS.xml +++ b/src/cpu_map/x86_Haswell-noTSX-IBRS.xml @@ -1,5 +1,6 @@ <cpus> <model name='Haswell-noTSX-IBRS'> + <canonical_name>Haswell-v4</canonical_name> <decode host='on' guest='on'/> <signature family='6' model='60'/> <!-- 0306c0 --> <signature family='6' model='63'/> <!-- 0306f0 --> diff --git a/src/cpu_map/x86_Haswell-noTSX.xml b/src/cpu_map/x86_Haswell-noTSX.xml index b0a0faa856..7d2834be9b 100644 --- a/src/cpu_map/x86_Haswell-noTSX.xml +++ b/src/cpu_map/x86_Haswell-noTSX.xml @@ -1,5 +1,6 @@ <cpus> <model name='Haswell-noTSX'> + <canonical_name>Haswell-v2</canonical_name> <decode host='on' guest='on'/> <signature family='6' model='60'/> <!-- 0306c0 --> <signature family='6' model='63'/> <!-- 0306f0 --> diff --git a/src/cpu_map/x86_Haswell.xml b/src/cpu_map/x86_Haswell.xml index ee16b30f19..8bbd929db2 100644 --- a/src/cpu_map/x86_Haswell.xml +++ b/src/cpu_map/x86_Haswell.xml @@ -1,5 +1,6 @@ <cpus> <model name='Haswell'> + <canonical_name>Haswell-v1</canonical_name> <decode host='on' guest='on'/> <signature family='6' model='60'/> <!-- 0306c0 --> <signature family='6' model='63'/> <!-- 0306f0 --> diff --git a/src/cpu_map/x86_Icelake-Server-noTSX.xml b/src/cpu_map/x86_Icelake-Server-noTSX.xml index 7c9c32c977..e13135cb81 100644 --- a/src/cpu_map/x86_Icelake-Server-noTSX.xml +++ b/src/cpu_map/x86_Icelake-Server-noTSX.xml @@ -1,5 +1,6 @@ <cpus> <model name='Icelake-Server-noTSX'> + <canonical_name>Icelake-Server-v2</canonical_name> <decode host='on' guest='off'/> <signature family='6' model='106'/> <!-- 0606A5 --> <vendor name='Intel'/> diff --git a/src/cpu_map/x86_Icelake-Server.xml b/src/cpu_map/x86_Icelake-Server.xml index b4685bead0..575f2c1014 100644 --- a/src/cpu_map/x86_Icelake-Server.xml +++ b/src/cpu_map/x86_Icelake-Server.xml @@ -1,5 +1,6 @@ <cpus> <model name='Icelake-Server'> + <canonical_name>Icelake-Server-v1</canonical_name> <decode host='on' guest='on'/> <signature family='6' model='106'/> <!-- 0606A5 --> <vendor name='Intel'/> diff --git a/src/cpu_map/x86_IvyBridge-IBRS.xml b/src/cpu_map/x86_IvyBridge-IBRS.xml index 430bc3232d..48720671fa 100644 --- a/src/cpu_map/x86_IvyBridge-IBRS.xml +++ b/src/cpu_map/x86_IvyBridge-IBRS.xml @@ -1,5 +1,6 @@ <cpus> <model name='IvyBridge-IBRS'> + <canonical_name>IvyBridge-v2</canonical_name> <decode host='on' guest='on'/> <signature family='6' model='58'/> <!-- 0306a0 --> <signature family='6' model='62'/> <!-- 0306e0 --> diff --git a/src/cpu_map/x86_IvyBridge.xml b/src/cpu_map/x86_IvyBridge.xml index eaf5d02e82..34057a6bd6 100644 --- a/src/cpu_map/x86_IvyBridge.xml +++ b/src/cpu_map/x86_IvyBridge.xml @@ -1,5 +1,6 @@ <cpus> <model name='IvyBridge'> + <canonical_name>IvyBridge-v1</canonical_name> <decode host='on' guest='on'/> <signature family='6' model='58'/> <!-- 0306a0 --> <signature family='6' model='62'/> <!-- 0306e0 --> diff --git a/src/cpu_map/x86_Nehalem-IBRS.xml b/src/cpu_map/x86_Nehalem-IBRS.xml index 00d0d2fe51..8745efe977 100644 --- a/src/cpu_map/x86_Nehalem-IBRS.xml +++ b/src/cpu_map/x86_Nehalem-IBRS.xml @@ -1,5 +1,6 @@ <cpus> <model name='Nehalem-IBRS'> + <canonical_name>Nehalem-v2</canonical_name> <decode host='on' guest='on'/> <signature family='6' model='26'/> <!-- 0106a0 --> <signature family='6' model='30'/> <!-- 0106e0 --> diff --git a/src/cpu_map/x86_Nehalem.xml b/src/cpu_map/x86_Nehalem.xml index 9968001fe7..d5717b4264 100644 --- a/src/cpu_map/x86_Nehalem.xml +++ b/src/cpu_map/x86_Nehalem.xml @@ -1,5 +1,6 @@ <cpus> <model name='Nehalem'> + <canonical_name>Nehalem-v1</canonical_name> <decode host='on' guest='on'/> <signature family='6' model='26'/> <!-- 0106a0 --> <signature family='6' model='30'/> <!-- 0106e0 --> diff --git a/src/cpu_map/x86_SandyBridge-IBRS.xml b/src/cpu_map/x86_SandyBridge-IBRS.xml index fbdb4f2bf6..2a596bf5f0 100644 --- a/src/cpu_map/x86_SandyBridge-IBRS.xml +++ b/src/cpu_map/x86_SandyBridge-IBRS.xml @@ -1,5 +1,6 @@ <cpus> <model name='SandyBridge-IBRS'> + <canonical_name>SandyBridge-v2</canonical_name> <decode host='on' guest='on'/> <signature family='6' model='42'/> <!-- 0206a0 --> <signature family='6' model='45'/> <!-- 0206d0 --> diff --git a/src/cpu_map/x86_SandyBridge.xml b/src/cpu_map/x86_SandyBridge.xml index 7c85ed42df..3ee0273264 100644 --- a/src/cpu_map/x86_SandyBridge.xml +++ b/src/cpu_map/x86_SandyBridge.xml @@ -1,5 +1,6 @@ <cpus> <model name='SandyBridge'> + <canonical_name>SandyBridge-v1</canonical_name> <decode host='on' guest='on'/> <signature family='6' model='42'/> <!-- 0206a0 --> <signature family='6' model='45'/> <!-- 0206d0 --> diff --git a/src/cpu_map/x86_SapphireRapids.xml b/src/cpu_map/x86_SapphireRapids.xml index 2297feeeca..a658561fa1 100644 --- a/src/cpu_map/x86_SapphireRapids.xml +++ b/src/cpu_map/x86_SapphireRapids.xml @@ -1,5 +1,6 @@ <cpus> <model name='SapphireRapids'> + <canonical_name>SapphireRapids-v1</canonical_name> <decode host='on' guest='on'/> <signature family='6' model='143'/> <vendor name='Intel'/> diff --git a/src/cpu_map/x86_Skylake-Client-IBRS.xml b/src/cpu_map/x86_Skylake-Client-IBRS.xml index 5709e7c2f9..3d81bc0f2b 100644 --- a/src/cpu_map/x86_Skylake-Client-IBRS.xml +++ b/src/cpu_map/x86_Skylake-Client-IBRS.xml @@ -1,5 +1,6 @@ <cpus> <model name='Skylake-Client-IBRS'> + <canonical_name>Skylake-Client-v2</canonical_name> <decode host='on' guest='on'/> <signature family='6' model='94'/> <!-- 0506e0 --> <signature family='6' model='78'/> <!-- 0406e0 --> diff --git a/src/cpu_map/x86_Skylake-Client-noTSX-IBRS.xml b/src/cpu_map/x86_Skylake-Client-noTSX-IBRS.xml index ffba34502a..0cb420f5e6 100644 --- a/src/cpu_map/x86_Skylake-Client-noTSX-IBRS.xml +++ b/src/cpu_map/x86_Skylake-Client-noTSX-IBRS.xml @@ -1,5 +1,6 @@ <cpus> <model name='Skylake-Client-noTSX-IBRS'> + <canonical_name>Skylake-Client-v3</canonical_name> <decode host='on' guest='off'/> <signature family='6' model='94'/> <!-- 0506e0 --> <signature family='6' model='78'/> <!-- 0406e0 --> diff --git a/src/cpu_map/x86_Skylake-Client.xml b/src/cpu_map/x86_Skylake-Client.xml index 14cd57e176..608fa23de7 100644 --- a/src/cpu_map/x86_Skylake-Client.xml +++ b/src/cpu_map/x86_Skylake-Client.xml @@ -1,5 +1,6 @@ <cpus> <model name='Skylake-Client'> + <canonical_name>Skylake-Client-v1</canonical_name> <decode host='on' guest='on'/> <signature family='6' model='94'/> <!-- 0506e0 --> <signature family='6' model='78'/> <!-- 0406e0 --> diff --git a/src/cpu_map/x86_Skylake-Server-IBRS.xml b/src/cpu_map/x86_Skylake-Server-IBRS.xml index 9fb3488809..ad54ca85c9 100644 --- a/src/cpu_map/x86_Skylake-Server-IBRS.xml +++ b/src/cpu_map/x86_Skylake-Server-IBRS.xml @@ -1,5 +1,6 @@ <cpus> <model name='Skylake-Server-IBRS'> + <canonical_name>Skylake-Server-v2</canonical_name> <decode host='on' guest='on'/> <signature family='6' model='85' stepping='0-4'/> <!-- 050654 --> <vendor name='Intel'/> diff --git a/src/cpu_map/x86_Skylake-Server-noTSX-IBRS.xml b/src/cpu_map/x86_Skylake-Server-noTSX-IBRS.xml index c162c0acc3..896aa5a7bf 100644 --- a/src/cpu_map/x86_Skylake-Server-noTSX-IBRS.xml +++ b/src/cpu_map/x86_Skylake-Server-noTSX-IBRS.xml @@ -1,5 +1,6 @@ <cpus> <model name='Skylake-Server-noTSX-IBRS'> + <canonical_name>Skylake-Server-v3</canonical_name> <decode host='on' guest='off'/> <signature family='6' model='85' stepping='0-4'/> <!-- 050654 --> <vendor name='Intel'/> diff --git a/src/cpu_map/x86_Skylake-Server.xml b/src/cpu_map/x86_Skylake-Server.xml index e022d94c84..5d76828c0c 100644 --- a/src/cpu_map/x86_Skylake-Server.xml +++ b/src/cpu_map/x86_Skylake-Server.xml @@ -1,5 +1,6 @@ <cpus> <model name='Skylake-Server'> + <canonical_name>Skylake-Server-v1</canonical_name> <decode host='on' guest='on'/> <signature family='6' model='85' stepping='0-4'/> <!-- 050654 --> <vendor name='Intel'/> diff --git a/src/cpu_map/x86_Snowridge.xml b/src/cpu_map/x86_Snowridge.xml index 383a24d367..87686502c1 100644 --- a/src/cpu_map/x86_Snowridge.xml +++ b/src/cpu_map/x86_Snowridge.xml @@ -1,5 +1,6 @@ <cpus> <model name='Snowridge'> + <canonical_name>Snowridge-v1</canonical_name> <decode host='on' guest='on'/> <signature family='6' model='134'/> <!-- 080665 --> <vendor name='Intel'/> diff --git a/src/cpu_map/x86_Westmere-IBRS.xml b/src/cpu_map/x86_Westmere-IBRS.xml index c7898f0c22..f8ad746a22 100644 --- a/src/cpu_map/x86_Westmere-IBRS.xml +++ b/src/cpu_map/x86_Westmere-IBRS.xml @@ -1,5 +1,6 @@ <cpus> <model name='Westmere-IBRS'> + <canonical_name>Westmere-v2</canonical_name> <decode host='on' guest='on'/> <signature family='6' model='44'/> <!-- 0206c0 --> <vendor name='Intel'/> diff --git a/src/cpu_map/x86_Westmere.xml b/src/cpu_map/x86_Westmere.xml index 16e4ad6c30..120140a3ce 100644 --- a/src/cpu_map/x86_Westmere.xml +++ b/src/cpu_map/x86_Westmere.xml @@ -1,5 +1,6 @@ <cpus> <model name='Westmere'> + <canonical_name>Westmere-v1</canonical_name> <decode host='on' guest='on'/> <signature family='6' model='44'/> <!-- 0206c0 --> <signature family='6' model='47'/> <!-- 0206f0 --> -- 2.41.0

On Fri, Dec 15, 2023 at 04:11:58PM -0600, Jonathon Jongsma wrote:
Signed-off-by: Jonathon Jongsma <jjongsma@redhat.com> --- src/cpu_map/x86_Broadwell-IBRS.xml | 1 + src/cpu_map/x86_Broadwell-noTSX-IBRS.xml | 1 + src/cpu_map/x86_Broadwell-noTSX.xml | 1 + src/cpu_map/x86_Broadwell.xml | 1 + src/cpu_map/x86_Cascadelake-Server-noTSX.xml | 1 + src/cpu_map/x86_Cascadelake-Server.xml | 1 + src/cpu_map/x86_Cooperlake.xml | 1 + src/cpu_map/x86_Dhyana.xml | 1 + src/cpu_map/x86_EPYC-IBPB.xml | 1 + src/cpu_map/x86_EPYC-Milan.xml | 1 + src/cpu_map/x86_EPYC-Rome.xml | 1 + src/cpu_map/x86_EPYC.xml | 1 + src/cpu_map/x86_Haswell-IBRS.xml | 1 + src/cpu_map/x86_Haswell-noTSX-IBRS.xml | 1 + src/cpu_map/x86_Haswell-noTSX.xml | 1 + src/cpu_map/x86_Haswell.xml | 1 + src/cpu_map/x86_Icelake-Server-noTSX.xml | 1 + src/cpu_map/x86_Icelake-Server.xml | 1 + src/cpu_map/x86_IvyBridge-IBRS.xml | 1 + src/cpu_map/x86_IvyBridge.xml | 1 + src/cpu_map/x86_Nehalem-IBRS.xml | 1 + src/cpu_map/x86_Nehalem.xml | 1 + src/cpu_map/x86_SandyBridge-IBRS.xml | 1 + src/cpu_map/x86_SandyBridge.xml | 1 + src/cpu_map/x86_SapphireRapids.xml | 1 + src/cpu_map/x86_Skylake-Client-IBRS.xml | 1 + src/cpu_map/x86_Skylake-Client-noTSX-IBRS.xml | 1 + src/cpu_map/x86_Skylake-Client.xml | 1 + src/cpu_map/x86_Skylake-Server-IBRS.xml | 1 + src/cpu_map/x86_Skylake-Server-noTSX-IBRS.xml | 1 + src/cpu_map/x86_Skylake-Server.xml | 1 + src/cpu_map/x86_Snowridge.xml | 1 + src/cpu_map/x86_Westmere-IBRS.xml | 1 + src/cpu_map/x86_Westmere.xml | 1 + 34 files changed, 34 insertions(+)
diff --git a/src/cpu_map/x86_Broadwell-IBRS.xml b/src/cpu_map/x86_Broadwell-IBRS.xml index 9033d5fcd5..13568eac81 100644 --- a/src/cpu_map/x86_Broadwell-IBRS.xml +++ b/src/cpu_map/x86_Broadwell-IBRS.xml @@ -1,5 +1,6 @@ <cpus> <model name='Broadwell-IBRS'> + <canonical_name>Broadwell-v3</canonical_name> <decode host='on' guest='on'/> <signature family='6' model='61'/> <!-- 0306d0 --> <signature family='6' model='71'/> <!-- 040670 --> diff --git a/src/cpu_map/x86_Broadwell-noTSX-IBRS.xml b/src/cpu_map/x86_Broadwell-noTSX-IBRS.xml index c044b60e36..4ec35ce3a2 100644 --- a/src/cpu_map/x86_Broadwell-noTSX-IBRS.xml +++ b/src/cpu_map/x86_Broadwell-noTSX-IBRS.xml @@ -1,5 +1,6 @@ <cpus> <model name='Broadwell-noTSX-IBRS'> + <canonical_name>Broadwell-v4</canonical_name> <decode host='on' guest='on'/> <signature family='6' model='61'/> <!-- 0306d0 --> <signature family='6' model='71'/> <!-- 040670 --> diff --git a/src/cpu_map/x86_Broadwell-noTSX.xml b/src/cpu_map/x86_Broadwell-noTSX.xml index 637f29ba1c..3fed34e3a4 100644 --- a/src/cpu_map/x86_Broadwell-noTSX.xml +++ b/src/cpu_map/x86_Broadwell-noTSX.xml @@ -1,5 +1,6 @@ <cpus> <model name='Broadwell-noTSX'> + <canonical_name>Broadwell-v2</canonical_name> <decode host='on' guest='on'/> <signature family='6' model='61'/> <!-- 0306d0 --> <signature family='6' model='71'/> <!-- 040670 --> diff --git a/src/cpu_map/x86_Broadwell.xml b/src/cpu_map/x86_Broadwell.xml index 82939a4509..79c96c3857 100644 --- a/src/cpu_map/x86_Broadwell.xml +++ b/src/cpu_map/x86_Broadwell.xml @@ -1,5 +1,6 @@ <cpus> <model name='Broadwell'> + <canonical_name>Broadwell-v1</canonical_name> <decode host='on' guest='on'/> <signature family='6' model='61'/> <!-- 0306d0 --> <signature family='6' model='71'/> <!-- 040670 -->
In theory the expansion from the plain CPU model names (ie without the noXXXX suffix) can vary per machine type. In practice QEMU has never changed it thus far, so its always 'v1'. Lets be clear that although this expansion can vary per machine type, libvirt's CPU model database is independant of machine type, and thus we've decided to arbitrary fix the base CPU model names to the '-v1' CPU models. Can you put something in the commit message to this effect. 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 :|

Recent changes have added a 'canonical_name' field to the xml definitions for our CPU models. Parse this field into the C structure and pass it around where necessary. --- src/conf/cpu_conf.c | 3 +++ src/conf/cpu_conf.h | 1 + src/cpu/cpu_x86.c | 24 ++++++++++++++++++++++++ 3 files changed, 28 insertions(+) diff --git a/src/conf/cpu_conf.c b/src/conf/cpu_conf.c index 7abe489733..a771893956 100644 --- a/src/conf/cpu_conf.c +++ b/src/conf/cpu_conf.c @@ -113,6 +113,7 @@ void ATTRIBUTE_NONNULL(1) virCPUDefFreeModel(virCPUDef *def) { VIR_FREE(def->model); + VIR_FREE(def->canonical_model); VIR_FREE(def->vendor); VIR_FREE(def->vendor_id); virCPUDefFreeFeatures(def); @@ -161,6 +162,7 @@ virCPUDefCopyModelFilter(virCPUDef *dst, dst->features = g_new0(virCPUFeatureDef, src->nfeatures); dst->model = g_strdup(src->model); + dst->canonical_model = g_strdup(src->canonical_model); dst->vendor = g_strdup(src->vendor); dst->vendor_id = g_strdup(src->vendor_id); dst->microcodeVersion = src->microcodeVersion; @@ -211,6 +213,7 @@ virCPUDefStealModel(virCPUDef *dst, virCPUDefFreeModel(dst); dst->model = g_steal_pointer(&src->model); + dst->canonical_model = g_steal_pointer(&src->canonical_model); dst->features = g_steal_pointer(&src->features); dst->microcodeVersion = src->microcodeVersion; dst->nfeatures_max = src->nfeatures_max; diff --git a/src/conf/cpu_conf.h b/src/conf/cpu_conf.h index 3e4c53675c..ba8dab6c7f 100644 --- a/src/conf/cpu_conf.h +++ b/src/conf/cpu_conf.h @@ -142,6 +142,7 @@ struct _virCPUDef { virCPUCheck check; virArch arch; char *model; + char *canonical_model; char *vendor_id; /* vendor id returned by CPUID in the guest */ int fallback; /* enum virCPUFallback */ char *vendor; diff --git a/src/cpu/cpu_x86.c b/src/cpu/cpu_x86.c index 8d0e3947ce..70800d9579 100644 --- a/src/cpu/cpu_x86.c +++ b/src/cpu/cpu_x86.c @@ -142,6 +142,7 @@ struct _virCPUx86Signatures { typedef struct _virCPUx86Model virCPUx86Model; struct _virCPUx86Model { char *name; + char *canonical_name; bool decodeHost; bool decodeGuest; virCPUx86Vendor *vendor; @@ -864,6 +865,7 @@ x86DataToCPU(const virCPUx86Data *data, cpu = virCPUDefNew(); cpu->model = g_strdup(model->name); + cpu->canonical_model = g_strdup(model->canonical_name); x86DataCopy(©, data); x86DataCopy(&modelData, &model->data); @@ -1281,6 +1283,7 @@ x86ModelFree(virCPUx86Model *model) return; g_free(model->name); + g_free(model->canonical_name); virCPUx86SignaturesFree(model->signatures); virCPUx86DataClear(&model->data); g_strfreev(model->removedFeatures); @@ -1296,6 +1299,7 @@ x86ModelCopy(virCPUx86Model *model) copy = g_new0(virCPUx86Model, 1); copy->name = g_strdup(model->name); + copy->canonical_name = g_strdup(model->canonical_name); copy->signatures = virCPUx86SignaturesCopy(model->signatures); x86DataCopy(©->data, &model->data); copy->removedFeatures = g_strdupv(model->removedFeatures); @@ -1451,6 +1455,17 @@ x86ModelCompare(virCPUx86Model *model1, } +static int +x86ModelParseCanonicalName(virCPUx86Model *model, + xmlXPathContextPtr ctxt) +{ + if (!(model->canonical_name = virXPathString("string(./canonical_name[1])", ctxt))) + model->canonical_name = g_strdup(model->name); + + return 0; +} + + static int x86ModelParseDecode(virCPUx86Model *model, xmlXPathContextPtr ctxt) @@ -1668,6 +1683,9 @@ x86ModelParse(xmlXPathContextPtr ctxt, model = g_new0(virCPUx86Model, 1); model->name = g_strdup(name); + if (x86ModelParseCanonicalName(model, ctxt) < 0) + return -1; + if (x86ModelParseDecode(model, ctxt) < 0) return -1; @@ -2268,6 +2286,7 @@ x86Decode(virCPUDef *cpu, sigFamily, sigModel, sigStepping); cpu->model = g_steal_pointer(&cpuModel->model); + cpu->canonical_model = g_steal_pointer(&cpuModel->canonical_model); cpu->features = g_steal_pointer(&cpuModel->features); cpu->nfeatures = cpuModel->nfeatures; cpuModel->nfeatures = 0; @@ -3010,6 +3029,11 @@ virCPUx86Update(virCPUDef *guest, return -1; } + if (guestModel->canonical_name) { + g_free(guest->canonical_model); + guest->canonical_model = g_strdup(guestModel->canonical_name); + } + if (virCPUx86DisableRemovedFeatures(guest, guestModel) < 0) return -1; -- 2.41.0

On Fri, Dec 15, 2023 at 04:11:59PM -0600, Jonathon Jongsma wrote:
Recent changes have added a 'canonical_name' field to the xml definitions for our CPU models. Parse this field into the C structure and pass it around where necessary. --- src/conf/cpu_conf.c | 3 +++ src/conf/cpu_conf.h | 1 + src/cpu/cpu_x86.c | 24 ++++++++++++++++++++++++ 3 files changed, 28 insertions(+)
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> 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 :|

As described in detail in the commit "cpu_map: add canonical names to existing CPU models", the unversioned CPU model names are not migration-safe. If qemu makes the anticipated changes to CPU alias mapping, an unversioned CPU model may be represented by different underlying CPU models on different hosts. To avoid being susceptible to this issue, use the new 'canonical_name' property of the CPU definition to always specify a specific versioned CPU model version to qemu rather than using CPU model aliases. This canonical name is only used in the qemu backend and is not exposed to the user in anyway. The libvirt CPU configuration will continue to use existing unversioned model names in the domain xml for continuity. But internally we will translate these to a specific version. Signed-off-by: Jonathon Jongsma <jjongsma@redhat.com> --- src/qemu/qemu_command.c | 5 ++++- tests/qemuxml2argvdata/cpu-Haswell-noTSX.x86_64-latest.args | 2 +- tests/qemuxml2argvdata/cpu-Haswell.x86_64-latest.args | 2 +- tests/qemuxml2argvdata/cpu-Haswell2.x86_64-latest.args | 2 +- tests/qemuxml2argvdata/cpu-Haswell3.x86_64-latest.args | 2 +- .../cpu-Icelake-Server-pconfig.x86_64-latest.args | 2 +- tests/qemuxml2argvdata/cpu-cache-disable3.x86_64-latest.args | 2 +- .../cpu-check-default-partial.x86_64-latest.args | 2 +- tests/qemuxml2argvdata/cpu-fallback.x86_64-5.2.0.args | 2 +- tests/qemuxml2argvdata/cpu-fallback.x86_64-8.0.0.args | 2 +- tests/qemuxml2argvdata/cpu-host-model-cmt.x86_64-latest.args | 2 +- .../cpu-host-model-fallback-kvm.x86_64-4.2.0.args | 2 +- .../cpu-host-model-fallback-kvm.x86_64-5.0.0.args | 2 +- .../cpu-host-model-fallback-kvm.x86_64-5.1.0.args | 2 +- .../cpu-host-model-fallback-kvm.x86_64-5.2.0.args | 2 +- .../cpu-host-model-fallback-kvm.x86_64-6.0.0.args | 2 +- .../cpu-host-model-fallback-kvm.x86_64-6.1.0.args | 2 +- .../cpu-host-model-fallback-kvm.x86_64-6.2.0.args | 2 +- .../cpu-host-model-fallback-kvm.x86_64-7.0.0.args | 2 +- .../cpu-host-model-fallback-kvm.x86_64-7.1.0.args | 2 +- .../cpu-host-model-fallback-kvm.x86_64-7.2.0.args | 2 +- .../cpu-host-model-fallback-kvm.x86_64-8.0.0.args | 2 +- .../cpu-host-model-fallback-kvm.x86_64-8.1.0.args | 2 +- .../cpu-host-model-fallback-kvm.x86_64-latest.args | 2 +- .../cpu-host-model-fallback-tcg.x86_64-7.2.0.args | 2 +- .../cpu-host-model-fallback-tcg.x86_64-8.0.0.args | 2 +- .../cpu-host-model-fallback-tcg.x86_64-8.1.0.args | 2 +- .../cpu-host-model-fallback-tcg.x86_64-latest.args | 2 +- tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-4.2.0.args | 2 +- tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-5.0.0.args | 2 +- tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-5.1.0.args | 2 +- tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-5.2.0.args | 2 +- tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-6.0.0.args | 2 +- tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-6.1.0.args | 2 +- tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-6.2.0.args | 2 +- tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-7.0.0.args | 2 +- tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-7.1.0.args | 2 +- tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-7.2.0.args | 2 +- tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-8.0.0.args | 2 +- tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-8.1.0.args | 2 +- tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-latest.args | 2 +- .../cpu-host-model-nofallback-kvm.x86_64-4.2.0.args | 2 +- .../cpu-host-model-nofallback-kvm.x86_64-5.0.0.args | 2 +- .../cpu-host-model-nofallback-kvm.x86_64-5.1.0.args | 2 +- .../cpu-host-model-nofallback-kvm.x86_64-5.2.0.args | 2 +- .../cpu-host-model-nofallback-kvm.x86_64-6.0.0.args | 2 +- .../cpu-host-model-nofallback-kvm.x86_64-6.1.0.args | 2 +- .../cpu-host-model-nofallback-kvm.x86_64-6.2.0.args | 2 +- .../cpu-host-model-nofallback-kvm.x86_64-7.0.0.args | 2 +- .../cpu-host-model-nofallback-kvm.x86_64-7.1.0.args | 2 +- .../cpu-host-model-nofallback-kvm.x86_64-7.2.0.args | 2 +- .../cpu-host-model-nofallback-kvm.x86_64-8.0.0.args | 2 +- .../cpu-host-model-nofallback-kvm.x86_64-8.1.0.args | 2 +- .../cpu-host-model-nofallback-kvm.x86_64-latest.args | 2 +- .../cpu-host-model-nofallback-tcg.x86_64-7.2.0.args | 2 +- .../cpu-host-model-nofallback-tcg.x86_64-8.0.0.args | 2 +- .../cpu-host-model-nofallback-tcg.x86_64-8.1.0.args | 2 +- .../cpu-host-model-nofallback-tcg.x86_64-latest.args | 2 +- tests/qemuxml2argvdata/cpu-host-model-tcg.x86_64-7.2.0.args | 2 +- tests/qemuxml2argvdata/cpu-host-model-tcg.x86_64-8.0.0.args | 2 +- tests/qemuxml2argvdata/cpu-host-model-tcg.x86_64-8.1.0.args | 2 +- tests/qemuxml2argvdata/cpu-host-model-tcg.x86_64-latest.args | 2 +- .../cpu-host-model-vendor.x86_64-latest.args | 2 +- tests/qemuxml2argvdata/cpu-minimum1.x86_64-latest.args | 2 +- tests/qemuxml2argvdata/cpu-minimum2.x86_64-latest.args | 2 +- tests/qemuxml2argvdata/cpu-nofallback.x86_64-8.0.0.args | 2 +- .../cpu-phys-bits-emulate2.x86_64-latest.args | 2 +- tests/qemuxml2argvdata/cpu-strict1.x86_64-latest.args | 2 +- tests/qemuxml2argvdata/cpu-translation.x86_64-latest.args | 2 +- tests/qemuxml2argvdata/cpu-tsc-frequency.x86_64-latest.args | 2 +- 70 files changed, 73 insertions(+), 70 deletions(-) diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 54fb8220e8..be9cbe4915 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -6267,7 +6267,10 @@ qemuBuildCpuModelArgStr(virQEMUDriver *driver, break; case VIR_CPU_MODE_CUSTOM: - virBufferAdd(buf, cpu->model, -1); + if (cpu->canonical_model) + virBufferAdd(buf, cpu->canonical_model, -1); + else + virBufferAdd(buf, cpu->model, -1); break; case VIR_CPU_MODE_LAST: diff --git a/tests/qemuxml2argvdata/cpu-Haswell-noTSX.x86_64-latest.args b/tests/qemuxml2argvdata/cpu-Haswell-noTSX.x86_64-latest.args index 41e7045dad..358856ceb7 100644 --- a/tests/qemuxml2argvdata/cpu-Haswell-noTSX.x86_64-latest.args +++ b/tests/qemuxml2argvdata/cpu-Haswell-noTSX.x86_64-latest.args @@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes"}' \ -machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram,acpi=off \ -accel kvm \ --cpu Haswell-noTSX \ +-cpu Haswell-v2 \ -m size=219136k \ -object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \ -overcommit mem-lock=off \ diff --git a/tests/qemuxml2argvdata/cpu-Haswell.x86_64-latest.args b/tests/qemuxml2argvdata/cpu-Haswell.x86_64-latest.args index bfbb2d8700..f5b7d9a8d2 100644 --- a/tests/qemuxml2argvdata/cpu-Haswell.x86_64-latest.args +++ b/tests/qemuxml2argvdata/cpu-Haswell.x86_64-latest.args @@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes"}' \ -machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram,acpi=off \ -accel kvm \ --cpu Haswell \ +-cpu Haswell-v1 \ -m size=219136k \ -object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \ -overcommit mem-lock=off \ diff --git a/tests/qemuxml2argvdata/cpu-Haswell2.x86_64-latest.args b/tests/qemuxml2argvdata/cpu-Haswell2.x86_64-latest.args index 84e9e86127..33e1aa2a59 100644 --- a/tests/qemuxml2argvdata/cpu-Haswell2.x86_64-latest.args +++ b/tests/qemuxml2argvdata/cpu-Haswell2.x86_64-latest.args @@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes"}' \ -machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram,acpi=off \ -accel kvm \ --cpu Haswell,hle=off,rtm=off \ +-cpu Haswell-v1,hle=off,rtm=off \ -m size=219136k \ -object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \ -overcommit mem-lock=off \ diff --git a/tests/qemuxml2argvdata/cpu-Haswell3.x86_64-latest.args b/tests/qemuxml2argvdata/cpu-Haswell3.x86_64-latest.args index 4c2cdf0484..97c9fbe6bb 100644 --- a/tests/qemuxml2argvdata/cpu-Haswell3.x86_64-latest.args +++ b/tests/qemuxml2argvdata/cpu-Haswell3.x86_64-latest.args @@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes"}' \ -machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram,acpi=off \ -accel kvm \ --cpu Haswell,rtm=on,hle=on \ +-cpu Haswell-v1,rtm=on,hle=on \ -m size=219136k \ -object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \ -overcommit mem-lock=off \ diff --git a/tests/qemuxml2argvdata/cpu-Icelake-Server-pconfig.x86_64-latest.args b/tests/qemuxml2argvdata/cpu-Icelake-Server-pconfig.x86_64-latest.args index c841bb80c8..d1cbb2c9fc 100644 --- a/tests/qemuxml2argvdata/cpu-Icelake-Server-pconfig.x86_64-latest.args +++ b/tests/qemuxml2argvdata/cpu-Icelake-Server-pconfig.x86_64-latest.args @@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-test/.config \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-test/master-key.aes"}' \ -machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram,acpi=off \ -accel kvm \ --cpu Icelake-Server,intel-pt=off \ +-cpu Icelake-Server-v1,intel-pt=off \ -m size=219136k \ -object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \ -overcommit mem-lock=off \ diff --git a/tests/qemuxml2argvdata/cpu-cache-disable3.x86_64-latest.args b/tests/qemuxml2argvdata/cpu-cache-disable3.x86_64-latest.args index 4adf20b55a..bbb82e53a2 100644 --- a/tests/qemuxml2argvdata/cpu-cache-disable3.x86_64-latest.args +++ b/tests/qemuxml2argvdata/cpu-cache-disable3.x86_64-latest.args @@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-foo/.config \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-foo/master-key.aes"}' \ -machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram,acpi=off \ -accel kvm \ --cpu Haswell,vme=on,ds=on,acpi=on,ss=on,ht=on,tm=on,pbe=on,dtes64=on,monitor=on,ds-cpl=on,vmx=on,smx=on,est=on,tm2=on,xtpr=on,pdcm=on,f16c=on,rdrand=on,pdpe1gb=on,abm=on,lahf-lm=on,l3-cache=off \ +-cpu Haswell-v1,vme=on,ds=on,acpi=on,ss=on,ht=on,tm=on,pbe=on,dtes64=on,monitor=on,ds-cpl=on,vmx=on,smx=on,est=on,tm2=on,xtpr=on,pdcm=on,f16c=on,rdrand=on,pdpe1gb=on,abm=on,lahf-lm=on,l3-cache=off \ -m size=219136k \ -object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \ -overcommit mem-lock=off \ diff --git a/tests/qemuxml2argvdata/cpu-check-default-partial.x86_64-latest.args b/tests/qemuxml2argvdata/cpu-check-default-partial.x86_64-latest.args index a92da44bd8..1ca5cc9c92 100644 --- a/tests/qemuxml2argvdata/cpu-check-default-partial.x86_64-latest.args +++ b/tests/qemuxml2argvdata/cpu-check-default-partial.x86_64-latest.args @@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes"}' \ -machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram,acpi=off \ -accel kvm \ --cpu Haswell,vme=on,ds=on,acpi=on,ss=on,ht=on,tm=on,pbe=on,dtes64=on,monitor=on,ds-cpl=on,vmx=on,smx=on,est=on,tm2=on,xtpr=on,pdcm=on,f16c=on,rdrand=on,pdpe1gb=on,abm=on,lahf-lm=on \ +-cpu Haswell-v1,vme=on,ds=on,acpi=on,ss=on,ht=on,tm=on,pbe=on,dtes64=on,monitor=on,ds-cpl=on,vmx=on,smx=on,est=on,tm2=on,xtpr=on,pdcm=on,f16c=on,rdrand=on,pdpe1gb=on,abm=on,lahf-lm=on \ -m size=219136k \ -object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \ -overcommit mem-lock=off \ diff --git a/tests/qemuxml2argvdata/cpu-fallback.x86_64-5.2.0.args b/tests/qemuxml2argvdata/cpu-fallback.x86_64-5.2.0.args index ecc6bb3977..dc574fa4a7 100644 --- a/tests/qemuxml2argvdata/cpu-fallback.x86_64-5.2.0.args +++ b/tests/qemuxml2argvdata/cpu-fallback.x86_64-5.2.0.args @@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \ -object secret,id=masterKey0,format=raw,file=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes \ -machine pc-i440fx-5.2,usb=off,dump-guest-core=off,memory-backend=pc.ram \ -accel kvm \ --cpu EPYC-Rome,amd-ssbd=off,erms=off,fsrm=off,invpcid=off,pcid=off,pku=off,xsaves=off \ +-cpu EPYC-Rome-v1,amd-ssbd=off,erms=off,fsrm=off,invpcid=off,pcid=off,pku=off,xsaves=off \ -m size=219136k \ -object memory-backend-ram,id=pc.ram,size=224395264 \ -overcommit mem-lock=off \ diff --git a/tests/qemuxml2argvdata/cpu-fallback.x86_64-8.0.0.args b/tests/qemuxml2argvdata/cpu-fallback.x86_64-8.0.0.args index b0ce1dfcbd..371cbbfb62 100644 --- a/tests/qemuxml2argvdata/cpu-fallback.x86_64-8.0.0.args +++ b/tests/qemuxml2argvdata/cpu-fallback.x86_64-8.0.0.args @@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes"}' \ -machine pc-i440fx-8.0,usb=off,dump-guest-core=off,memory-backend=pc.ram,acpi=off \ -accel kvm \ --cpu EPYC-Milan,amd-ssbd=off,erms=off,fsrm=off,ibrs=off,invpcid=off,pcid=off,pku=off,svme-addr-chk=off,xsaves=off \ +-cpu EPYC-Milan-v1,amd-ssbd=off,erms=off,fsrm=off,ibrs=off,invpcid=off,pcid=off,pku=off,svme-addr-chk=off,xsaves=off \ -m size=219136k \ -object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \ -overcommit mem-lock=off \ diff --git a/tests/qemuxml2argvdata/cpu-host-model-cmt.x86_64-latest.args b/tests/qemuxml2argvdata/cpu-host-model-cmt.x86_64-latest.args index 510e19bba6..1702e4afa6 100644 --- a/tests/qemuxml2argvdata/cpu-host-model-cmt.x86_64-latest.args +++ b/tests/qemuxml2argvdata/cpu-host-model-cmt.x86_64-latest.args @@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes"}' \ -machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram,acpi=off \ -accel tcg \ --cpu Haswell,vme=on,ds=on,acpi=on,ss=on,ht=on,tm=on,pbe=on,dtes64=on,monitor=on,ds-cpl=on,vmx=on,smx=on,est=on,tm2=on,xtpr=on,pdcm=on,f16c=on,rdrand=on,pdpe1gb=on,abm=on,lahf-lm=on \ +-cpu Haswell-v1,vme=on,ds=on,acpi=on,ss=on,ht=on,tm=on,pbe=on,dtes64=on,monitor=on,ds-cpl=on,vmx=on,smx=on,est=on,tm2=on,xtpr=on,pdcm=on,f16c=on,rdrand=on,pdpe1gb=on,abm=on,lahf-lm=on \ -m size=219136k \ -object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \ -overcommit mem-lock=off \ diff --git a/tests/qemuxml2argvdata/cpu-host-model-fallback-kvm.x86_64-4.2.0.args b/tests/qemuxml2argvdata/cpu-host-model-fallback-kvm.x86_64-4.2.0.args index f5f0e818af..47d09265fa 100644 --- a/tests/qemuxml2argvdata/cpu-host-model-fallback-kvm.x86_64-4.2.0.args +++ b/tests/qemuxml2argvdata/cpu-host-model-fallback-kvm.x86_64-4.2.0.args @@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \ -object secret,id=masterKey0,format=raw,file=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes \ -machine pc-i440fx-4.2,usb=off,dump-guest-core=off \ -accel kvm \ --cpu Skylake-Client-IBRS,ss=on,vmx=on,hypervisor=on,tsc-adjust=on,clflushopt=on,umip=on,md-clear=on,stibp=on,arch-capabilities=on,ssbd=on,xsaves=on,pdpe1gb=on,skip-l1dfl-vmentry=on,pschange-mc-no=on,vmx-ins-outs=on,vmx-true-ctls=on,vmx-store-lma=on,vmx-activity-hlt=on,vmx-vmwrite-vmexit-fields=on,vmx-apicv-xapic=on,vmx-ept=on,vmx-desc-exit=on,vmx-rdtscp-exit=on,vmx-apicv-x2apic=on,vmx-vpid=on,vmx-wbinvd-exit=on,vmx-unrestricted-guest=on,vmx-rdrand-exit=on,vmx-invpcid-exit=on,vmx-vmfunc=on,vmx-shadow-vmcs=on,vmx-rdseed-exit=on,vmx-pml=on,vmx-xsaves=on,vmx-invvpid=on,vmx-invvpid-single-addr=on,vmx-invvpid-all-context=on,vmx-ept-execonly=on,vmx-page-walk-4=on,vmx-ept-2mb=on,vmx-ept-1gb=on,vmx-invept=on,vmx-eptad=on,vmx-invept-single-context=on,vmx-invept-all-context=on,vmx-intr-exit=on,vmx-nmi-exit=on,vmx-vnmi=on,vmx-preemption-timer=on,vmx-vintr-pending=on,vmx-tsc-offset=on,vmx-hlt-exit=on,vmx-invlpg-exit=on,vmx-mwait-exit=on,vmx-rdpmc-exit=on,vmx-rdtsc-exit=on,vmx-cr3-load-noexit=on,vmx-cr3-store-noexit=on,vmx-cr8-load-exit=on,vmx-cr8-store-exit=on,vmx-flexpriority=on,vmx-vnmi-pending=on,vmx-movdr-exit=on,vmx-io-exit=on,vmx-io-bitmap=on,vmx-mtf=on,vmx-msr-bitmap=on,vmx-monitor-exit=on,vmx-pause-exit=on,vmx-secondary-ctls=on,vmx-exit-nosave-debugctl=on,vmx-exit-ack-intr=on,vmx-exit-save-pat=on,vmx-exit-load-pat=on,vmx-exit-save-efer=on,vmx-exit-load-efer=on,vmx-exit-save-preemption-timer=on,vmx-entry-noload-debugctl=on,vmx-entry-ia32e-mode=on,vmx-entry-load-pat=on,vmx-entry-load-efer=on,vmx-eptp-switching=on \ +-cpu Skylake-Client-v2,ss=on,vmx=on,hypervisor=on,tsc-adjust=on,clflushopt=on,umip=on,md-clear=on,stibp=on,arch-capabilities=on,ssbd=on,xsaves=on,pdpe1gb=on,skip-l1dfl-vmentry=on,pschange-mc-no=on,vmx-ins-outs=on,vmx-true-ctls=on,vmx-store-lma=on,vmx-activity-hlt=on,vmx-vmwrite-vmexit-fields=on,vmx-apicv-xapic=on,vmx-ept=on,vmx-desc-exit=on,vmx-rdtscp-exit=on,vmx-apicv-x2apic=on,vmx-vpid=on,vmx-wbinvd-exit=on,vmx-unrestricted-guest=on,vmx-rdrand-exit=on,vmx-invpcid-exit=on,vmx-vmfunc=on,vmx-shadow-vmcs=on,vmx-rdseed-exit=on,vmx-pml=on,vmx-xsaves=on,vmx-invvpid=on,vmx-invvpid-single-addr=on,vmx-invvpid-all-context=on,vmx-ept-execonly=on,vmx-page-walk-4=on,vmx-ept-2mb=on,vmx-ept-1gb=on,vmx-invept=on,vmx-eptad=on,vmx-invept-single-context=on,vmx-invept-all-context=on,vmx-intr-exit=on,vmx-nmi-exit=on,vmx-vnmi=on,vmx-preemption-timer=on,vmx-vintr-pending=on,vmx-tsc-offset=on,vmx-hlt-exit=on,vmx-invlpg-exit=on,vmx-mwait-exit=on,vmx-rdpmc-exit=on,vmx-rdtsc-exit=on,vmx-cr3-load-noexit=on,vmx-cr3-store-noexit=on,vmx-cr8-load-exit=on,vmx-cr8-store-exit=on,vmx-flexpriority=on,vmx-vnmi-pending=on,vmx-movdr-exit=on,vmx-io-exit=on,vmx-io-bitmap=on,vmx-mtf=on,vmx-msr-bitmap=on,vmx-monitor-exit=on,vmx-pause-exit=on,vmx-secondary-ctls=on,vmx-exit-nosave-debugctl=on,vmx-exit-ack-intr=on,vmx-exit-save-pat=on,vmx-exit-load-pat=on,vmx-exit-save-efer=on,vmx-exit-load-efer=on,vmx-exit-save-preemption-timer=on,vmx-entry-noload-debugctl=on,vmx-entry-ia32e-mode=on,vmx-entry-load-pat=on,vmx-entry-load-efer=on,vmx-eptp-switching=on \ -m size=219136k \ -overcommit mem-lock=off \ -smp 6,sockets=6,cores=1,threads=1 \ diff --git a/tests/qemuxml2argvdata/cpu-host-model-fallback-kvm.x86_64-5.0.0.args b/tests/qemuxml2argvdata/cpu-host-model-fallback-kvm.x86_64-5.0.0.args index 699f48fbaa..5c32d6aedd 100644 --- a/tests/qemuxml2argvdata/cpu-host-model-fallback-kvm.x86_64-5.0.0.args +++ b/tests/qemuxml2argvdata/cpu-host-model-fallback-kvm.x86_64-5.0.0.args @@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \ -object secret,id=masterKey0,format=raw,file=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes \ -machine pc-i440fx-5.0,usb=off,dump-guest-core=off \ -accel kvm \ --cpu Skylake-Client-IBRS,ss=on,vmx=on,hypervisor=on,tsc-adjust=on,clflushopt=on,umip=on,md-clear=on,stibp=on,arch-capabilities=on,ssbd=on,xsaves=on,pdpe1gb=on,skip-l1dfl-vmentry=on,pschange-mc-no=on,vmx-ins-outs=on,vmx-true-ctls=on,vmx-store-lma=on,vmx-activity-hlt=on,vmx-vmwrite-vmexit-fields=on,vmx-apicv-xapic=on,vmx-ept=on,vmx-desc-exit=on,vmx-rdtscp-exit=on,vmx-apicv-x2apic=on,vmx-vpid=on,vmx-wbinvd-exit=on,vmx-unrestricted-guest=on,vmx-rdrand-exit=on,vmx-invpcid-exit=on,vmx-vmfunc=on,vmx-shadow-vmcs=on,vmx-rdseed-exit=on,vmx-pml=on,vmx-xsaves=on,vmx-invvpid=on,vmx-invvpid-single-addr=on,vmx-invvpid-all-context=on,vmx-ept-execonly=on,vmx-page-walk-4=on,vmx-ept-2mb=on,vmx-ept-1gb=on,vmx-invept=on,vmx-eptad=on,vmx-invept-single-context=on,vmx-invept-all-context=on,vmx-intr-exit=on,vmx-nmi-exit=on,vmx-vnmi=on,vmx-preemption-timer=on,vmx-vintr-pending=on,vmx-tsc-offset=on,vmx-hlt-exit=on,vmx-invlpg-exit=on,vmx-mwait-exit=on,vmx-rdpmc-exit=on,vmx-rdtsc-exit=on,vmx-cr3-load-noexit=on,vmx-cr3-store-noexit=on,vmx-cr8-load-exit=on,vmx-cr8-store-exit=on,vmx-flexpriority=on,vmx-vnmi-pending=on,vmx-movdr-exit=on,vmx-io-exit=on,vmx-io-bitmap=on,vmx-mtf=on,vmx-msr-bitmap=on,vmx-monitor-exit=on,vmx-pause-exit=on,vmx-secondary-ctls=on,vmx-exit-nosave-debugctl=on,vmx-exit-ack-intr=on,vmx-exit-save-pat=on,vmx-exit-load-pat=on,vmx-exit-save-efer=on,vmx-exit-load-efer=on,vmx-exit-save-preemption-timer=on,vmx-entry-noload-debugctl=on,vmx-entry-ia32e-mode=on,vmx-entry-load-pat=on,vmx-entry-load-efer=on,vmx-eptp-switching=on \ +-cpu Skylake-Client-v2,ss=on,vmx=on,hypervisor=on,tsc-adjust=on,clflushopt=on,umip=on,md-clear=on,stibp=on,arch-capabilities=on,ssbd=on,xsaves=on,pdpe1gb=on,skip-l1dfl-vmentry=on,pschange-mc-no=on,vmx-ins-outs=on,vmx-true-ctls=on,vmx-store-lma=on,vmx-activity-hlt=on,vmx-vmwrite-vmexit-fields=on,vmx-apicv-xapic=on,vmx-ept=on,vmx-desc-exit=on,vmx-rdtscp-exit=on,vmx-apicv-x2apic=on,vmx-vpid=on,vmx-wbinvd-exit=on,vmx-unrestricted-guest=on,vmx-rdrand-exit=on,vmx-invpcid-exit=on,vmx-vmfunc=on,vmx-shadow-vmcs=on,vmx-rdseed-exit=on,vmx-pml=on,vmx-xsaves=on,vmx-invvpid=on,vmx-invvpid-single-addr=on,vmx-invvpid-all-context=on,vmx-ept-execonly=on,vmx-page-walk-4=on,vmx-ept-2mb=on,vmx-ept-1gb=on,vmx-invept=on,vmx-eptad=on,vmx-invept-single-context=on,vmx-invept-all-context=on,vmx-intr-exit=on,vmx-nmi-exit=on,vmx-vnmi=on,vmx-preemption-timer=on,vmx-vintr-pending=on,vmx-tsc-offset=on,vmx-hlt-exit=on,vmx-invlpg-exit=on,vmx-mwait-exit=on,vmx-rdpmc-exit=on,vmx-rdtsc-exit=on,vmx-cr3-load-noexit=on,vmx-cr3-store-noexit=on,vmx-cr8-load-exit=on,vmx-cr8-store-exit=on,vmx-flexpriority=on,vmx-vnmi-pending=on,vmx-movdr-exit=on,vmx-io-exit=on,vmx-io-bitmap=on,vmx-mtf=on,vmx-msr-bitmap=on,vmx-monitor-exit=on,vmx-pause-exit=on,vmx-secondary-ctls=on,vmx-exit-nosave-debugctl=on,vmx-exit-ack-intr=on,vmx-exit-save-pat=on,vmx-exit-load-pat=on,vmx-exit-save-efer=on,vmx-exit-load-efer=on,vmx-exit-save-preemption-timer=on,vmx-entry-noload-debugctl=on,vmx-entry-ia32e-mode=on,vmx-entry-load-pat=on,vmx-entry-load-efer=on,vmx-eptp-switching=on \ -m size=219136k \ -overcommit mem-lock=off \ -smp 6,sockets=6,cores=1,threads=1 \ diff --git a/tests/qemuxml2argvdata/cpu-host-model-fallback-kvm.x86_64-5.1.0.args b/tests/qemuxml2argvdata/cpu-host-model-fallback-kvm.x86_64-5.1.0.args index aa87a909fc..f560987609 100644 --- a/tests/qemuxml2argvdata/cpu-host-model-fallback-kvm.x86_64-5.1.0.args +++ b/tests/qemuxml2argvdata/cpu-host-model-fallback-kvm.x86_64-5.1.0.args @@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \ -object secret,id=masterKey0,format=raw,file=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes \ -machine pc-i440fx-5.1,usb=off,dump-guest-core=off \ -accel kvm \ --cpu EPYC-Rome,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,xsaves=on,cmp-legacy=on,amd-ssbd=on,virt-ssbd=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on \ +-cpu EPYC-Rome-v1,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,xsaves=on,cmp-legacy=on,amd-ssbd=on,virt-ssbd=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on \ -m size=219136k \ -overcommit mem-lock=off \ -smp 6,sockets=6,cores=1,threads=1 \ diff --git a/tests/qemuxml2argvdata/cpu-host-model-fallback-kvm.x86_64-5.2.0.args b/tests/qemuxml2argvdata/cpu-host-model-fallback-kvm.x86_64-5.2.0.args index fb4b243e19..c7e817ec45 100644 --- a/tests/qemuxml2argvdata/cpu-host-model-fallback-kvm.x86_64-5.2.0.args +++ b/tests/qemuxml2argvdata/cpu-host-model-fallback-kvm.x86_64-5.2.0.args @@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \ -object secret,id=masterKey0,format=raw,file=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes \ -machine pc-i440fx-5.2,usb=off,dump-guest-core=off,memory-backend=pc.ram \ -accel kvm \ --cpu EPYC-Rome,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,xsaves=on,cmp-legacy=on,amd-ssbd=on,virt-ssbd=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on \ +-cpu EPYC-Rome-v1,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,xsaves=on,cmp-legacy=on,amd-ssbd=on,virt-ssbd=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on \ -m size=219136k \ -object memory-backend-ram,id=pc.ram,size=224395264 \ -overcommit mem-lock=off \ diff --git a/tests/qemuxml2argvdata/cpu-host-model-fallback-kvm.x86_64-6.0.0.args b/tests/qemuxml2argvdata/cpu-host-model-fallback-kvm.x86_64-6.0.0.args index 1f07704baa..c7ddb5b00d 100644 --- a/tests/qemuxml2argvdata/cpu-host-model-fallback-kvm.x86_64-6.0.0.args +++ b/tests/qemuxml2argvdata/cpu-host-model-fallback-kvm.x86_64-6.0.0.args @@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes"}' \ -machine pc-i440fx-6.0,usb=off,dump-guest-core=off,memory-backend=pc.ram \ -accel kvm \ --cpu EPYC-Rome,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,xsaves=on,cmp-legacy=on,amd-ssbd=on,virt-ssbd=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on \ +-cpu EPYC-Rome-v1,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,xsaves=on,cmp-legacy=on,amd-ssbd=on,virt-ssbd=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on \ -m size=219136k \ -object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \ -overcommit mem-lock=off \ diff --git a/tests/qemuxml2argvdata/cpu-host-model-fallback-kvm.x86_64-6.1.0.args b/tests/qemuxml2argvdata/cpu-host-model-fallback-kvm.x86_64-6.1.0.args index 3d8df92a19..ecb345fd9f 100644 --- a/tests/qemuxml2argvdata/cpu-host-model-fallback-kvm.x86_64-6.1.0.args +++ b/tests/qemuxml2argvdata/cpu-host-model-fallback-kvm.x86_64-6.1.0.args @@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes"}' \ -machine pc-i440fx-6.1,usb=off,dump-guest-core=off,memory-backend=pc.ram \ -accel kvm \ --cpu EPYC-Rome,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,xsaves=on,cmp-legacy=on,amd-ssbd=on,virt-ssbd=on,svme-addr-chk=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on \ +-cpu EPYC-Rome-v1,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,xsaves=on,cmp-legacy=on,amd-ssbd=on,virt-ssbd=on,svme-addr-chk=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on \ -m size=219136k \ -object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \ -overcommit mem-lock=off \ diff --git a/tests/qemuxml2argvdata/cpu-host-model-fallback-kvm.x86_64-6.2.0.args b/tests/qemuxml2argvdata/cpu-host-model-fallback-kvm.x86_64-6.2.0.args index 4aa9011fe8..16fe33c182 100644 --- a/tests/qemuxml2argvdata/cpu-host-model-fallback-kvm.x86_64-6.2.0.args +++ b/tests/qemuxml2argvdata/cpu-host-model-fallback-kvm.x86_64-6.2.0.args @@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes"}' \ -machine pc-i440fx-6.2,usb=off,dump-guest-core=off,memory-backend=pc.ram \ -accel kvm \ --cpu EPYC-Rome,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,xsaves=on,cmp-legacy=on,amd-ssbd=on,virt-ssbd=on,svme-addr-chk=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on \ +-cpu EPYC-Rome-v1,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,xsaves=on,cmp-legacy=on,amd-ssbd=on,virt-ssbd=on,svme-addr-chk=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on \ -m size=219136k \ -object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \ -overcommit mem-lock=off \ diff --git a/tests/qemuxml2argvdata/cpu-host-model-fallback-kvm.x86_64-7.0.0.args b/tests/qemuxml2argvdata/cpu-host-model-fallback-kvm.x86_64-7.0.0.args index e944e69cfd..d095ec6e19 100644 --- a/tests/qemuxml2argvdata/cpu-host-model-fallback-kvm.x86_64-7.0.0.args +++ b/tests/qemuxml2argvdata/cpu-host-model-fallback-kvm.x86_64-7.0.0.args @@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes"}' \ -machine pc-i440fx-7.0,usb=off,dump-guest-core=off,memory-backend=pc.ram \ -accel kvm \ --cpu EPYC-Rome,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,xsaves=on,cmp-legacy=on,amd-ssbd=on,virt-ssbd=on,tsc-scale=on,svme-addr-chk=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on \ +-cpu EPYC-Rome-v1,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,xsaves=on,cmp-legacy=on,amd-ssbd=on,virt-ssbd=on,tsc-scale=on,svme-addr-chk=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on \ -m size=219136k \ -object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \ -overcommit mem-lock=off \ diff --git a/tests/qemuxml2argvdata/cpu-host-model-fallback-kvm.x86_64-7.1.0.args b/tests/qemuxml2argvdata/cpu-host-model-fallback-kvm.x86_64-7.1.0.args index d9edda2733..3f1a231ebd 100644 --- a/tests/qemuxml2argvdata/cpu-host-model-fallback-kvm.x86_64-7.1.0.args +++ b/tests/qemuxml2argvdata/cpu-host-model-fallback-kvm.x86_64-7.1.0.args @@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes"}' \ -machine pc-i440fx-7.1,usb=off,dump-guest-core=off,memory-backend=pc.ram \ -accel kvm \ --cpu EPYC-Rome,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,xsaves=on,cmp-legacy=on,amd-ssbd=on,virt-ssbd=on,tsc-scale=on,vmcb-clean=on,svme-addr-chk=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on \ +-cpu EPYC-Rome-v1,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,xsaves=on,cmp-legacy=on,amd-ssbd=on,virt-ssbd=on,tsc-scale=on,vmcb-clean=on,svme-addr-chk=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on \ -m size=219136k \ -object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \ -overcommit mem-lock=off \ diff --git a/tests/qemuxml2argvdata/cpu-host-model-fallback-kvm.x86_64-7.2.0.args b/tests/qemuxml2argvdata/cpu-host-model-fallback-kvm.x86_64-7.2.0.args index 1d1839b7fa..6ebf79f103 100644 --- a/tests/qemuxml2argvdata/cpu-host-model-fallback-kvm.x86_64-7.2.0.args +++ b/tests/qemuxml2argvdata/cpu-host-model-fallback-kvm.x86_64-7.2.0.args @@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes"}' \ -machine pc-i440fx-7.2,usb=off,dump-guest-core=off,memory-backend=pc.ram \ -accel kvm \ --cpu EPYC-Rome,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,xsaves=on,cmp-legacy=on,amd-ssbd=on,virt-ssbd=on,lbrv=on,tsc-scale=on,vmcb-clean=on,pause-filter=on,pfthreshold=on,v-vmsave-vmload=on,vgif=on,svme-addr-chk=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on \ +-cpu EPYC-Rome-v1,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,xsaves=on,cmp-legacy=on,amd-ssbd=on,virt-ssbd=on,lbrv=on,tsc-scale=on,vmcb-clean=on,pause-filter=on,pfthreshold=on,v-vmsave-vmload=on,vgif=on,svme-addr-chk=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on \ -m size=219136k \ -object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \ -overcommit mem-lock=off \ diff --git a/tests/qemuxml2argvdata/cpu-host-model-fallback-kvm.x86_64-8.0.0.args b/tests/qemuxml2argvdata/cpu-host-model-fallback-kvm.x86_64-8.0.0.args index 8278629ee7..87dfa53e46 100644 --- a/tests/qemuxml2argvdata/cpu-host-model-fallback-kvm.x86_64-8.0.0.args +++ b/tests/qemuxml2argvdata/cpu-host-model-fallback-kvm.x86_64-8.0.0.args @@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes"}' \ -machine pc-i440fx-8.0,usb=off,dump-guest-core=off,memory-backend=pc.ram,acpi=off \ -accel kvm \ --cpu EPYC-Rome,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,xsaves=on,cmp-legacy=on,amd-ssbd=on,virt-ssbd=on,lbrv=on,tsc-scale=on,vmcb-clean=on,pause-filter=on,pfthreshold=on,v-vmsave-vmload=on,vgif=on,svme-addr-chk=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on \ +-cpu EPYC-Rome-v1,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,xsaves=on,cmp-legacy=on,amd-ssbd=on,virt-ssbd=on,lbrv=on,tsc-scale=on,vmcb-clean=on,pause-filter=on,pfthreshold=on,v-vmsave-vmload=on,vgif=on,svme-addr-chk=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on \ -m size=219136k \ -object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \ -overcommit mem-lock=off \ diff --git a/tests/qemuxml2argvdata/cpu-host-model-fallback-kvm.x86_64-8.1.0.args b/tests/qemuxml2argvdata/cpu-host-model-fallback-kvm.x86_64-8.1.0.args index 3b733a3c5d..45ff38ebef 100644 --- a/tests/qemuxml2argvdata/cpu-host-model-fallback-kvm.x86_64-8.1.0.args +++ b/tests/qemuxml2argvdata/cpu-host-model-fallback-kvm.x86_64-8.1.0.args @@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes"}' \ -machine pc-i440fx-8.1,usb=off,dump-guest-core=off,memory-backend=pc.ram,acpi=off \ -accel kvm \ --cpu EPYC-Rome,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,cmp-legacy=on,amd-ssbd=on,virt-ssbd=on,lbrv=on,tsc-scale=on,vmcb-clean=on,pause-filter=on,pfthreshold=on,v-vmsave-vmload=on,vgif=on,svme-addr-chk=on,lfence-always-serializing=on,null-sel-clr-base=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on,xsaves=off \ +-cpu EPYC-Rome-v1,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,cmp-legacy=on,amd-ssbd=on,virt-ssbd=on,lbrv=on,tsc-scale=on,vmcb-clean=on,pause-filter=on,pfthreshold=on,v-vmsave-vmload=on,vgif=on,svme-addr-chk=on,lfence-always-serializing=on,null-sel-clr-base=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on,xsaves=off \ -m size=219136k \ -object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \ -overcommit mem-lock=off \ diff --git a/tests/qemuxml2argvdata/cpu-host-model-fallback-kvm.x86_64-latest.args b/tests/qemuxml2argvdata/cpu-host-model-fallback-kvm.x86_64-latest.args index c11c2118bf..30cb821759 100644 --- a/tests/qemuxml2argvdata/cpu-host-model-fallback-kvm.x86_64-latest.args +++ b/tests/qemuxml2argvdata/cpu-host-model-fallback-kvm.x86_64-latest.args @@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes"}' \ -machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram,acpi=off \ -accel kvm \ --cpu EPYC-Rome,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,cmp-legacy=on,amd-ssbd=on,virt-ssbd=on,lbrv=on,tsc-scale=on,vmcb-clean=on,pause-filter=on,pfthreshold=on,v-vmsave-vmload=on,vgif=on,svme-addr-chk=on,lfence-always-serializing=on,null-sel-clr-base=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on,gds-no=on,xsaves=off \ +-cpu EPYC-Rome-v1,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,cmp-legacy=on,amd-ssbd=on,virt-ssbd=on,lbrv=on,tsc-scale=on,vmcb-clean=on,pause-filter=on,pfthreshold=on,v-vmsave-vmload=on,vgif=on,svme-addr-chk=on,lfence-always-serializing=on,null-sel-clr-base=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on,gds-no=on,xsaves=off \ -m size=219136k \ -object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \ -overcommit mem-lock=off \ diff --git a/tests/qemuxml2argvdata/cpu-host-model-fallback-tcg.x86_64-7.2.0.args b/tests/qemuxml2argvdata/cpu-host-model-fallback-tcg.x86_64-7.2.0.args index 1e7f444d73..8d3051cd1b 100644 --- a/tests/qemuxml2argvdata/cpu-host-model-fallback-tcg.x86_64-7.2.0.args +++ b/tests/qemuxml2argvdata/cpu-host-model-fallback-tcg.x86_64-7.2.0.args @@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes"}' \ -machine pc-i440fx-7.2,usb=off,dump-guest-core=off,memory-backend=pc.ram \ -accel tcg \ --cpu EPYC,acpi=on,ss=on,monitor=on,hypervisor=on,erms=on,mpx=on,pcommit=on,clwb=on,umip=on,pku=on,vaes=on,la57=on,pks=on,3dnowext=on,3dnow=on,npt=on,vgif=on,svme-addr-chk=on,vme=off,rdseed=off,sha-ni=off,xsavec=off,fxsr-opt=off,misalignsse=off,3dnowprefetch=off,osvw=off,topoext=off,nrip-save=off \ +-cpu EPYC-v1,acpi=on,ss=on,monitor=on,hypervisor=on,erms=on,mpx=on,pcommit=on,clwb=on,umip=on,pku=on,vaes=on,la57=on,pks=on,3dnowext=on,3dnow=on,npt=on,vgif=on,svme-addr-chk=on,vme=off,rdseed=off,sha-ni=off,xsavec=off,fxsr-opt=off,misalignsse=off,3dnowprefetch=off,osvw=off,topoext=off,nrip-save=off \ -m size=219136k \ -object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \ -overcommit mem-lock=off \ diff --git a/tests/qemuxml2argvdata/cpu-host-model-fallback-tcg.x86_64-8.0.0.args b/tests/qemuxml2argvdata/cpu-host-model-fallback-tcg.x86_64-8.0.0.args index 943b0d477b..3ec065c7bb 100644 --- a/tests/qemuxml2argvdata/cpu-host-model-fallback-tcg.x86_64-8.0.0.args +++ b/tests/qemuxml2argvdata/cpu-host-model-fallback-tcg.x86_64-8.0.0.args @@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes"}' \ -machine pc-i440fx-8.0,usb=off,dump-guest-core=off,memory-backend=pc.ram,acpi=off \ -accel tcg \ --cpu EPYC,acpi=on,ss=on,monitor=on,hypervisor=on,erms=on,mpx=on,pcommit=on,clwb=on,umip=on,pku=on,vaes=on,la57=on,pks=on,fsrm=on,fzrm=on,fsrs=on,fsrc=on,3dnowext=on,3dnow=on,npt=on,vgif=on,svme-addr-chk=on,vme=off,rdseed=off,sha-ni=off,xsavec=off,fxsr-opt=off,misalignsse=off,3dnowprefetch=off,osvw=off,topoext=off,nrip-save=off \ +-cpu EPYC-v1,acpi=on,ss=on,monitor=on,hypervisor=on,erms=on,mpx=on,pcommit=on,clwb=on,umip=on,pku=on,vaes=on,la57=on,pks=on,fsrm=on,fzrm=on,fsrs=on,fsrc=on,3dnowext=on,3dnow=on,npt=on,vgif=on,svme-addr-chk=on,vme=off,rdseed=off,sha-ni=off,xsavec=off,fxsr-opt=off,misalignsse=off,3dnowprefetch=off,osvw=off,topoext=off,nrip-save=off \ -m size=219136k \ -object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \ -overcommit mem-lock=off \ diff --git a/tests/qemuxml2argvdata/cpu-host-model-fallback-tcg.x86_64-8.1.0.args b/tests/qemuxml2argvdata/cpu-host-model-fallback-tcg.x86_64-8.1.0.args index 177f7da2b5..3eefbd991a 100644 --- a/tests/qemuxml2argvdata/cpu-host-model-fallback-tcg.x86_64-8.1.0.args +++ b/tests/qemuxml2argvdata/cpu-host-model-fallback-tcg.x86_64-8.1.0.args @@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes"}' \ -machine pc-i440fx-8.1,usb=off,dump-guest-core=off,memory-backend=pc.ram,acpi=off \ -accel tcg \ --cpu EPYC,acpi=on,ss=on,monitor=on,hypervisor=on,erms=on,mpx=on,pcommit=on,clwb=on,umip=on,pku=on,vaes=on,la57=on,rdpid=on,pks=on,fsrm=on,fzrm=on,fsrs=on,fsrc=on,3dnowext=on,3dnow=on,xsaveerptr=on,wbnoinvd=on,npt=on,vgif=on,svme-addr-chk=on,vme=off,sha-ni=off,xsavec=off,fxsr-opt=off,misalignsse=off,osvw=off,topoext=off,nrip-save=off \ +-cpu EPYC-v1,acpi=on,ss=on,monitor=on,hypervisor=on,erms=on,mpx=on,pcommit=on,clwb=on,umip=on,pku=on,vaes=on,la57=on,rdpid=on,pks=on,fsrm=on,fzrm=on,fsrs=on,fsrc=on,3dnowext=on,3dnow=on,xsaveerptr=on,wbnoinvd=on,npt=on,vgif=on,svme-addr-chk=on,vme=off,sha-ni=off,xsavec=off,fxsr-opt=off,misalignsse=off,osvw=off,topoext=off,nrip-save=off \ -m size=219136k \ -object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \ -overcommit mem-lock=off \ diff --git a/tests/qemuxml2argvdata/cpu-host-model-fallback-tcg.x86_64-latest.args b/tests/qemuxml2argvdata/cpu-host-model-fallback-tcg.x86_64-latest.args index 225aa5566c..9779dcd137 100644 --- a/tests/qemuxml2argvdata/cpu-host-model-fallback-tcg.x86_64-latest.args +++ b/tests/qemuxml2argvdata/cpu-host-model-fallback-tcg.x86_64-latest.args @@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes"}' \ -machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram,acpi=off \ -accel tcg \ --cpu EPYC,acpi=on,ss=on,monitor=on,hypervisor=on,erms=on,mpx=on,pcommit=on,clwb=on,umip=on,pku=on,vaes=on,la57=on,rdpid=on,pks=on,fsrm=on,fzrm=on,fsrs=on,fsrc=on,3dnowext=on,3dnow=on,xsaveerptr=on,wbnoinvd=on,npt=on,vgif=on,svme-addr-chk=on,vme=off,xsavec=off,fxsr-opt=off,misalignsse=off,osvw=off,topoext=off,nrip-save=off \ +-cpu EPYC-v1,acpi=on,ss=on,monitor=on,hypervisor=on,erms=on,mpx=on,pcommit=on,clwb=on,umip=on,pku=on,vaes=on,la57=on,rdpid=on,pks=on,fsrm=on,fzrm=on,fsrs=on,fsrc=on,3dnowext=on,3dnow=on,xsaveerptr=on,wbnoinvd=on,npt=on,vgif=on,svme-addr-chk=on,vme=off,xsavec=off,fxsr-opt=off,misalignsse=off,osvw=off,topoext=off,nrip-save=off \ -m size=219136k \ -object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \ -overcommit mem-lock=off \ diff --git a/tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-4.2.0.args b/tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-4.2.0.args index aacba803e8..5232af4847 100644 --- a/tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-4.2.0.args +++ b/tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-4.2.0.args @@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \ -object secret,id=masterKey0,format=raw,file=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes \ -machine pc-q35-4.2,usb=off,dump-guest-core=off \ -accel kvm \ --cpu Skylake-Client-IBRS,ss=on,vmx=on,hypervisor=on,tsc-adjust=on,clflushopt=on,umip=on,md-clear=on,stibp=on,arch-capabilities=on,ssbd=on,xsaves=on,pdpe1gb=on,skip-l1dfl-vmentry=on,pschange-mc-no=on,vmx-ins-outs=on,vmx-true-ctls=on,vmx-store-lma=on,vmx-activity-hlt=on,vmx-vmwrite-vmexit-fields=on,vmx-apicv-xapic=on,vmx-ept=on,vmx-desc-exit=on,vmx-rdtscp-exit=on,vmx-apicv-x2apic=on,vmx-vpid=on,vmx-wbinvd-exit=on,vmx-unrestricted-guest=on,vmx-rdrand-exit=on,vmx-invpcid-exit=on,vmx-vmfunc=on,vmx-shadow-vmcs=on,vmx-rdseed-exit=on,vmx-pml=on,vmx-xsaves=on,vmx-invvpid=on,vmx-invvpid-single-addr=on,vmx-invvpid-all-context=on,vmx-ept-execonly=on,vmx-page-walk-4=on,vmx-ept-2mb=on,vmx-ept-1gb=on,vmx-invept=on,vmx-eptad=on,vmx-invept-single-context=on,vmx-invept-all-context=on,vmx-intr-exit=on,vmx-nmi-exit=on,vmx-vnmi=on,vmx-preemption-timer=on,vmx-vintr-pending=on,vmx-tsc-offset=on,vmx-hlt-exit=on,vmx-invlpg-exit=on,vmx-mwait-exit=on,vmx-rdpmc-exit=on,vmx-rdtsc-exit=on,vmx-cr3-load-noexit=on,vmx-cr3-store-noexit=on,vmx-cr8-load-exit=on,vmx-cr8-store-exit=on,vmx-flexpriority=on,vmx-vnmi-pending=on,vmx-movdr-exit=on,vmx-io-exit=on,vmx-io-bitmap=on,vmx-mtf=on,vmx-msr-bitmap=on,vmx-monitor-exit=on,vmx-pause-exit=on,vmx-secondary-ctls=on,vmx-exit-nosave-debugctl=on,vmx-exit-ack-intr=on,vmx-exit-save-pat=on,vmx-exit-load-pat=on,vmx-exit-save-efer=on,vmx-exit-load-efer=on,vmx-exit-save-preemption-timer=on,vmx-entry-noload-debugctl=on,vmx-entry-ia32e-mode=on,vmx-entry-load-pat=on,vmx-entry-load-efer=on,vmx-eptp-switching=on \ +-cpu Skylake-Client-v2,ss=on,vmx=on,hypervisor=on,tsc-adjust=on,clflushopt=on,umip=on,md-clear=on,stibp=on,arch-capabilities=on,ssbd=on,xsaves=on,pdpe1gb=on,skip-l1dfl-vmentry=on,pschange-mc-no=on,vmx-ins-outs=on,vmx-true-ctls=on,vmx-store-lma=on,vmx-activity-hlt=on,vmx-vmwrite-vmexit-fields=on,vmx-apicv-xapic=on,vmx-ept=on,vmx-desc-exit=on,vmx-rdtscp-exit=on,vmx-apicv-x2apic=on,vmx-vpid=on,vmx-wbinvd-exit=on,vmx-unrestricted-guest=on,vmx-rdrand-exit=on,vmx-invpcid-exit=on,vmx-vmfunc=on,vmx-shadow-vmcs=on,vmx-rdseed-exit=on,vmx-pml=on,vmx-xsaves=on,vmx-invvpid=on,vmx-invvpid-single-addr=on,vmx-invvpid-all-context=on,vmx-ept-execonly=on,vmx-page-walk-4=on,vmx-ept-2mb=on,vmx-ept-1gb=on,vmx-invept=on,vmx-eptad=on,vmx-invept-single-context=on,vmx-invept-all-context=on,vmx-intr-exit=on,vmx-nmi-exit=on,vmx-vnmi=on,vmx-preemption-timer=on,vmx-vintr-pending=on,vmx-tsc-offset=on,vmx-hlt-exit=on,vmx-invlpg-exit=on,vmx-mwait-exit=on,vmx-rdpmc-exit=on,vmx-rdtsc-exit=on,vmx-cr3-load-noexit=on,vmx-cr3-store-noexit=on,vmx-cr8-load-exit=on,vmx-cr8-store-exit=on,vmx-flexpriority=on,vmx-vnmi-pending=on,vmx-movdr-exit=on,vmx-io-exit=on,vmx-io-bitmap=on,vmx-mtf=on,vmx-msr-bitmap=on,vmx-monitor-exit=on,vmx-pause-exit=on,vmx-secondary-ctls=on,vmx-exit-nosave-debugctl=on,vmx-exit-ack-intr=on,vmx-exit-save-pat=on,vmx-exit-load-pat=on,vmx-exit-save-efer=on,vmx-exit-load-efer=on,vmx-exit-save-preemption-timer=on,vmx-entry-noload-debugctl=on,vmx-entry-ia32e-mode=on,vmx-entry-load-pat=on,vmx-entry-load-efer=on,vmx-eptp-switching=on \ -m size=219136k \ -overcommit mem-lock=off \ -smp 1,sockets=1,cores=1,threads=1 \ diff --git a/tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-5.0.0.args b/tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-5.0.0.args index a2415bb667..e6dbb61dd6 100644 --- a/tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-5.0.0.args +++ b/tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-5.0.0.args @@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \ -object secret,id=masterKey0,format=raw,file=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes \ -machine pc-q35-5.0,usb=off,dump-guest-core=off \ -accel kvm \ --cpu Skylake-Client-IBRS,ss=on,vmx=on,hypervisor=on,tsc-adjust=on,clflushopt=on,umip=on,md-clear=on,stibp=on,arch-capabilities=on,ssbd=on,xsaves=on,pdpe1gb=on,skip-l1dfl-vmentry=on,pschange-mc-no=on,vmx-ins-outs=on,vmx-true-ctls=on,vmx-store-lma=on,vmx-activity-hlt=on,vmx-vmwrite-vmexit-fields=on,vmx-apicv-xapic=on,vmx-ept=on,vmx-desc-exit=on,vmx-rdtscp-exit=on,vmx-apicv-x2apic=on,vmx-vpid=on,vmx-wbinvd-exit=on,vmx-unrestricted-guest=on,vmx-rdrand-exit=on,vmx-invpcid-exit=on,vmx-vmfunc=on,vmx-shadow-vmcs=on,vmx-rdseed-exit=on,vmx-pml=on,vmx-xsaves=on,vmx-invvpid=on,vmx-invvpid-single-addr=on,vmx-invvpid-all-context=on,vmx-ept-execonly=on,vmx-page-walk-4=on,vmx-ept-2mb=on,vmx-ept-1gb=on,vmx-invept=on,vmx-eptad=on,vmx-invept-single-context=on,vmx-invept-all-context=on,vmx-intr-exit=on,vmx-nmi-exit=on,vmx-vnmi=on,vmx-preemption-timer=on,vmx-vintr-pending=on,vmx-tsc-offset=on,vmx-hlt-exit=on,vmx-invlpg-exit=on,vmx-mwait-exit=on,vmx-rdpmc-exit=on,vmx-rdtsc-exit=on,vmx-cr3-load-noexit=on,vmx-cr3-store-noexit=on,vmx-cr8-load-exit=on,vmx-cr8-store-exit=on,vmx-flexpriority=on,vmx-vnmi-pending=on,vmx-movdr-exit=on,vmx-io-exit=on,vmx-io-bitmap=on,vmx-mtf=on,vmx-msr-bitmap=on,vmx-monitor-exit=on,vmx-pause-exit=on,vmx-secondary-ctls=on,vmx-exit-nosave-debugctl=on,vmx-exit-ack-intr=on,vmx-exit-save-pat=on,vmx-exit-load-pat=on,vmx-exit-save-efer=on,vmx-exit-load-efer=on,vmx-exit-save-preemption-timer=on,vmx-entry-noload-debugctl=on,vmx-entry-ia32e-mode=on,vmx-entry-load-pat=on,vmx-entry-load-efer=on,vmx-eptp-switching=on \ +-cpu Skylake-Client-v2,ss=on,vmx=on,hypervisor=on,tsc-adjust=on,clflushopt=on,umip=on,md-clear=on,stibp=on,arch-capabilities=on,ssbd=on,xsaves=on,pdpe1gb=on,skip-l1dfl-vmentry=on,pschange-mc-no=on,vmx-ins-outs=on,vmx-true-ctls=on,vmx-store-lma=on,vmx-activity-hlt=on,vmx-vmwrite-vmexit-fields=on,vmx-apicv-xapic=on,vmx-ept=on,vmx-desc-exit=on,vmx-rdtscp-exit=on,vmx-apicv-x2apic=on,vmx-vpid=on,vmx-wbinvd-exit=on,vmx-unrestricted-guest=on,vmx-rdrand-exit=on,vmx-invpcid-exit=on,vmx-vmfunc=on,vmx-shadow-vmcs=on,vmx-rdseed-exit=on,vmx-pml=on,vmx-xsaves=on,vmx-invvpid=on,vmx-invvpid-single-addr=on,vmx-invvpid-all-context=on,vmx-ept-execonly=on,vmx-page-walk-4=on,vmx-ept-2mb=on,vmx-ept-1gb=on,vmx-invept=on,vmx-eptad=on,vmx-invept-single-context=on,vmx-invept-all-context=on,vmx-intr-exit=on,vmx-nmi-exit=on,vmx-vnmi=on,vmx-preemption-timer=on,vmx-vintr-pending=on,vmx-tsc-offset=on,vmx-hlt-exit=on,vmx-invlpg-exit=on,vmx-mwait-exit=on,vmx-rdpmc-exit=on,vmx-rdtsc-exit=on,vmx-cr3-load-noexit=on,vmx-cr3-store-noexit=on,vmx-cr8-load-exit=on,vmx-cr8-store-exit=on,vmx-flexpriority=on,vmx-vnmi-pending=on,vmx-movdr-exit=on,vmx-io-exit=on,vmx-io-bitmap=on,vmx-mtf=on,vmx-msr-bitmap=on,vmx-monitor-exit=on,vmx-pause-exit=on,vmx-secondary-ctls=on,vmx-exit-nosave-debugctl=on,vmx-exit-ack-intr=on,vmx-exit-save-pat=on,vmx-exit-load-pat=on,vmx-exit-save-efer=on,vmx-exit-load-efer=on,vmx-exit-save-preemption-timer=on,vmx-entry-noload-debugctl=on,vmx-entry-ia32e-mode=on,vmx-entry-load-pat=on,vmx-entry-load-efer=on,vmx-eptp-switching=on \ -m size=219136k \ -overcommit mem-lock=off \ -smp 1,sockets=1,cores=1,threads=1 \ diff --git a/tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-5.1.0.args b/tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-5.1.0.args index 0d2eea3e62..b50792230f 100644 --- a/tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-5.1.0.args +++ b/tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-5.1.0.args @@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \ -object secret,id=masterKey0,format=raw,file=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes \ -machine pc-q35-5.1,usb=off,dump-guest-core=off \ -accel kvm \ --cpu EPYC-Rome,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,xsaves=on,cmp-legacy=on,amd-ssbd=on,virt-ssbd=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on \ +-cpu EPYC-Rome-v1,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,xsaves=on,cmp-legacy=on,amd-ssbd=on,virt-ssbd=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on \ -m size=219136k \ -overcommit mem-lock=off \ -smp 1,sockets=1,cores=1,threads=1 \ diff --git a/tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-5.2.0.args b/tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-5.2.0.args index 93c6a576e9..879d8e9d8c 100644 --- a/tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-5.2.0.args +++ b/tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-5.2.0.args @@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \ -object secret,id=masterKey0,format=raw,file=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes \ -machine pc-q35-5.2,usb=off,dump-guest-core=off,memory-backend=pc.ram \ -accel kvm \ --cpu EPYC-Rome,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,xsaves=on,cmp-legacy=on,amd-ssbd=on,virt-ssbd=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on \ +-cpu EPYC-Rome-v1,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,xsaves=on,cmp-legacy=on,amd-ssbd=on,virt-ssbd=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on \ -m size=219136k \ -object memory-backend-ram,id=pc.ram,size=224395264 \ -overcommit mem-lock=off \ diff --git a/tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-6.0.0.args b/tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-6.0.0.args index 5f24227b8e..6c8b763b8b 100644 --- a/tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-6.0.0.args +++ b/tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-6.0.0.args @@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes"}' \ -machine pc-q35-6.0,usb=off,dump-guest-core=off,memory-backend=pc.ram \ -accel kvm \ --cpu EPYC-Rome,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,xsaves=on,cmp-legacy=on,amd-ssbd=on,virt-ssbd=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on \ +-cpu EPYC-Rome-v1,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,xsaves=on,cmp-legacy=on,amd-ssbd=on,virt-ssbd=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on \ -m size=219136k \ -object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \ -overcommit mem-lock=off \ diff --git a/tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-6.1.0.args b/tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-6.1.0.args index 2678b334d9..26c798a70a 100644 --- a/tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-6.1.0.args +++ b/tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-6.1.0.args @@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes"}' \ -machine pc-q35-6.1,usb=off,dump-guest-core=off,memory-backend=pc.ram \ -accel kvm \ --cpu EPYC-Rome,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,xsaves=on,cmp-legacy=on,amd-ssbd=on,virt-ssbd=on,svme-addr-chk=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on \ +-cpu EPYC-Rome-v1,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,xsaves=on,cmp-legacy=on,amd-ssbd=on,virt-ssbd=on,svme-addr-chk=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on \ -m size=219136k \ -object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \ -overcommit mem-lock=off \ diff --git a/tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-6.2.0.args b/tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-6.2.0.args index f65444948e..4fcd01c317 100644 --- a/tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-6.2.0.args +++ b/tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-6.2.0.args @@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes"}' \ -machine pc-q35-6.2,usb=off,dump-guest-core=off,memory-backend=pc.ram \ -accel kvm \ --cpu EPYC-Rome,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,xsaves=on,cmp-legacy=on,amd-ssbd=on,virt-ssbd=on,svme-addr-chk=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on \ +-cpu EPYC-Rome-v1,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,xsaves=on,cmp-legacy=on,amd-ssbd=on,virt-ssbd=on,svme-addr-chk=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on \ -m size=219136k \ -object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \ -overcommit mem-lock=off \ diff --git a/tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-7.0.0.args b/tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-7.0.0.args index 8f8b1645d5..d380b8c51c 100644 --- a/tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-7.0.0.args +++ b/tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-7.0.0.args @@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes"}' \ -machine pc-q35-7.0,usb=off,dump-guest-core=off,memory-backend=pc.ram \ -accel kvm \ --cpu EPYC-Rome,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,xsaves=on,cmp-legacy=on,amd-ssbd=on,virt-ssbd=on,tsc-scale=on,svme-addr-chk=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on \ +-cpu EPYC-Rome-v1,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,xsaves=on,cmp-legacy=on,amd-ssbd=on,virt-ssbd=on,tsc-scale=on,svme-addr-chk=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on \ -m size=219136k \ -object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \ -overcommit mem-lock=off \ diff --git a/tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-7.1.0.args b/tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-7.1.0.args index df03bafab3..a882e98f0b 100644 --- a/tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-7.1.0.args +++ b/tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-7.1.0.args @@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes"}' \ -machine pc-q35-7.1,usb=off,dump-guest-core=off,memory-backend=pc.ram \ -accel kvm \ --cpu EPYC-Rome,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,xsaves=on,cmp-legacy=on,amd-ssbd=on,virt-ssbd=on,tsc-scale=on,vmcb-clean=on,svme-addr-chk=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on \ +-cpu EPYC-Rome-v1,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,xsaves=on,cmp-legacy=on,amd-ssbd=on,virt-ssbd=on,tsc-scale=on,vmcb-clean=on,svme-addr-chk=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on \ -m size=219136k \ -object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \ -overcommit mem-lock=off \ diff --git a/tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-7.2.0.args b/tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-7.2.0.args index 7a796812fa..9aca927212 100644 --- a/tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-7.2.0.args +++ b/tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-7.2.0.args @@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes"}' \ -machine pc-q35-7.2,usb=off,dump-guest-core=off,memory-backend=pc.ram \ -accel kvm \ --cpu EPYC-Rome,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,xsaves=on,cmp-legacy=on,amd-ssbd=on,virt-ssbd=on,lbrv=on,tsc-scale=on,vmcb-clean=on,pause-filter=on,pfthreshold=on,v-vmsave-vmload=on,vgif=on,svme-addr-chk=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on \ +-cpu EPYC-Rome-v1,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,xsaves=on,cmp-legacy=on,amd-ssbd=on,virt-ssbd=on,lbrv=on,tsc-scale=on,vmcb-clean=on,pause-filter=on,pfthreshold=on,v-vmsave-vmload=on,vgif=on,svme-addr-chk=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on \ -m size=219136k \ -object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \ -overcommit mem-lock=off \ diff --git a/tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-8.0.0.args b/tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-8.0.0.args index d63438e81c..f5eb39cd2a 100644 --- a/tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-8.0.0.args +++ b/tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-8.0.0.args @@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes"}' \ -machine pc-q35-8.0,usb=off,dump-guest-core=off,memory-backend=pc.ram,acpi=off \ -accel kvm \ --cpu EPYC-Rome,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,xsaves=on,cmp-legacy=on,amd-ssbd=on,virt-ssbd=on,lbrv=on,tsc-scale=on,vmcb-clean=on,pause-filter=on,pfthreshold=on,v-vmsave-vmload=on,vgif=on,svme-addr-chk=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on \ +-cpu EPYC-Rome-v1,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,xsaves=on,cmp-legacy=on,amd-ssbd=on,virt-ssbd=on,lbrv=on,tsc-scale=on,vmcb-clean=on,pause-filter=on,pfthreshold=on,v-vmsave-vmload=on,vgif=on,svme-addr-chk=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on \ -m size=219136k \ -object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \ -overcommit mem-lock=off \ diff --git a/tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-8.1.0.args b/tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-8.1.0.args index 901f279a02..df2987a98c 100644 --- a/tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-8.1.0.args +++ b/tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-8.1.0.args @@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes"}' \ -machine pc-q35-8.1,usb=off,dump-guest-core=off,memory-backend=pc.ram,acpi=off \ -accel kvm \ --cpu EPYC-Rome,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,cmp-legacy=on,amd-ssbd=on,virt-ssbd=on,lbrv=on,tsc-scale=on,vmcb-clean=on,pause-filter=on,pfthreshold=on,v-vmsave-vmload=on,vgif=on,svme-addr-chk=on,lfence-always-serializing=on,null-sel-clr-base=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on,xsaves=off \ +-cpu EPYC-Rome-v1,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,cmp-legacy=on,amd-ssbd=on,virt-ssbd=on,lbrv=on,tsc-scale=on,vmcb-clean=on,pause-filter=on,pfthreshold=on,v-vmsave-vmload=on,vgif=on,svme-addr-chk=on,lfence-always-serializing=on,null-sel-clr-base=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on,xsaves=off \ -m size=219136k \ -object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \ -overcommit mem-lock=off \ diff --git a/tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-latest.args b/tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-latest.args index a9b8f5a7d4..3fc229d8ae 100644 --- a/tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-latest.args +++ b/tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-latest.args @@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes"}' \ -machine q35,usb=off,dump-guest-core=off,memory-backend=pc.ram,acpi=off \ -accel kvm \ --cpu EPYC-Rome,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,cmp-legacy=on,amd-ssbd=on,virt-ssbd=on,lbrv=on,tsc-scale=on,vmcb-clean=on,pause-filter=on,pfthreshold=on,v-vmsave-vmload=on,vgif=on,svme-addr-chk=on,lfence-always-serializing=on,null-sel-clr-base=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on,gds-no=on,xsaves=off \ +-cpu EPYC-Rome-v1,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,cmp-legacy=on,amd-ssbd=on,virt-ssbd=on,lbrv=on,tsc-scale=on,vmcb-clean=on,pause-filter=on,pfthreshold=on,v-vmsave-vmload=on,vgif=on,svme-addr-chk=on,lfence-always-serializing=on,null-sel-clr-base=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on,gds-no=on,xsaves=off \ -m size=219136k \ -object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \ -overcommit mem-lock=off \ diff --git a/tests/qemuxml2argvdata/cpu-host-model-nofallback-kvm.x86_64-4.2.0.args b/tests/qemuxml2argvdata/cpu-host-model-nofallback-kvm.x86_64-4.2.0.args index f5f0e818af..47d09265fa 100644 --- a/tests/qemuxml2argvdata/cpu-host-model-nofallback-kvm.x86_64-4.2.0.args +++ b/tests/qemuxml2argvdata/cpu-host-model-nofallback-kvm.x86_64-4.2.0.args @@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \ -object secret,id=masterKey0,format=raw,file=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes \ -machine pc-i440fx-4.2,usb=off,dump-guest-core=off \ -accel kvm \ --cpu Skylake-Client-IBRS,ss=on,vmx=on,hypervisor=on,tsc-adjust=on,clflushopt=on,umip=on,md-clear=on,stibp=on,arch-capabilities=on,ssbd=on,xsaves=on,pdpe1gb=on,skip-l1dfl-vmentry=on,pschange-mc-no=on,vmx-ins-outs=on,vmx-true-ctls=on,vmx-store-lma=on,vmx-activity-hlt=on,vmx-vmwrite-vmexit-fields=on,vmx-apicv-xapic=on,vmx-ept=on,vmx-desc-exit=on,vmx-rdtscp-exit=on,vmx-apicv-x2apic=on,vmx-vpid=on,vmx-wbinvd-exit=on,vmx-unrestricted-guest=on,vmx-rdrand-exit=on,vmx-invpcid-exit=on,vmx-vmfunc=on,vmx-shadow-vmcs=on,vmx-rdseed-exit=on,vmx-pml=on,vmx-xsaves=on,vmx-invvpid=on,vmx-invvpid-single-addr=on,vmx-invvpid-all-context=on,vmx-ept-execonly=on,vmx-page-walk-4=on,vmx-ept-2mb=on,vmx-ept-1gb=on,vmx-invept=on,vmx-eptad=on,vmx-invept-single-context=on,vmx-invept-all-context=on,vmx-intr-exit=on,vmx-nmi-exit=on,vmx-vnmi=on,vmx-preemption-timer=on,vmx-vintr-pending=on,vmx-tsc-offset=on,vmx-hlt-exit=on,vmx-invlpg-exit=on,vmx-mwait-exit=on,vmx-rdpmc-exit=on,vmx-rdtsc-exit=on,vmx-cr3-load-noexit=on,vmx-cr3-store-noexit=on,vmx-cr8-load-exit=on,vmx-cr8-store-exit=on,vmx-flexpriority=on,vmx-vnmi-pending=on,vmx-movdr-exit=on,vmx-io-exit=on,vmx-io-bitmap=on,vmx-mtf=on,vmx-msr-bitmap=on,vmx-monitor-exit=on,vmx-pause-exit=on,vmx-secondary-ctls=on,vmx-exit-nosave-debugctl=on,vmx-exit-ack-intr=on,vmx-exit-save-pat=on,vmx-exit-load-pat=on,vmx-exit-save-efer=on,vmx-exit-load-efer=on,vmx-exit-save-preemption-timer=on,vmx-entry-noload-debugctl=on,vmx-entry-ia32e-mode=on,vmx-entry-load-pat=on,vmx-entry-load-efer=on,vmx-eptp-switching=on \ +-cpu Skylake-Client-v2,ss=on,vmx=on,hypervisor=on,tsc-adjust=on,clflushopt=on,umip=on,md-clear=on,stibp=on,arch-capabilities=on,ssbd=on,xsaves=on,pdpe1gb=on,skip-l1dfl-vmentry=on,pschange-mc-no=on,vmx-ins-outs=on,vmx-true-ctls=on,vmx-store-lma=on,vmx-activity-hlt=on,vmx-vmwrite-vmexit-fields=on,vmx-apicv-xapic=on,vmx-ept=on,vmx-desc-exit=on,vmx-rdtscp-exit=on,vmx-apicv-x2apic=on,vmx-vpid=on,vmx-wbinvd-exit=on,vmx-unrestricted-guest=on,vmx-rdrand-exit=on,vmx-invpcid-exit=on,vmx-vmfunc=on,vmx-shadow-vmcs=on,vmx-rdseed-exit=on,vmx-pml=on,vmx-xsaves=on,vmx-invvpid=on,vmx-invvpid-single-addr=on,vmx-invvpid-all-context=on,vmx-ept-execonly=on,vmx-page-walk-4=on,vmx-ept-2mb=on,vmx-ept-1gb=on,vmx-invept=on,vmx-eptad=on,vmx-invept-single-context=on,vmx-invept-all-context=on,vmx-intr-exit=on,vmx-nmi-exit=on,vmx-vnmi=on,vmx-preemption-timer=on,vmx-vintr-pending=on,vmx-tsc-offset=on,vmx-hlt-exit=on,vmx-invlpg-exit=on,vmx-mwait-exit=on,vmx-rdpmc-exit=on,vmx-rdtsc-exit=on,vmx-cr3-load-noexit=on,vmx-cr3-store-noexit=on,vmx-cr8-load-exit=on,vmx-cr8-store-exit=on,vmx-flexpriority=on,vmx-vnmi-pending=on,vmx-movdr-exit=on,vmx-io-exit=on,vmx-io-bitmap=on,vmx-mtf=on,vmx-msr-bitmap=on,vmx-monitor-exit=on,vmx-pause-exit=on,vmx-secondary-ctls=on,vmx-exit-nosave-debugctl=on,vmx-exit-ack-intr=on,vmx-exit-save-pat=on,vmx-exit-load-pat=on,vmx-exit-save-efer=on,vmx-exit-load-efer=on,vmx-exit-save-preemption-timer=on,vmx-entry-noload-debugctl=on,vmx-entry-ia32e-mode=on,vmx-entry-load-pat=on,vmx-entry-load-efer=on,vmx-eptp-switching=on \ -m size=219136k \ -overcommit mem-lock=off \ -smp 6,sockets=6,cores=1,threads=1 \ diff --git a/tests/qemuxml2argvdata/cpu-host-model-nofallback-kvm.x86_64-5.0.0.args b/tests/qemuxml2argvdata/cpu-host-model-nofallback-kvm.x86_64-5.0.0.args index 699f48fbaa..5c32d6aedd 100644 --- a/tests/qemuxml2argvdata/cpu-host-model-nofallback-kvm.x86_64-5.0.0.args +++ b/tests/qemuxml2argvdata/cpu-host-model-nofallback-kvm.x86_64-5.0.0.args @@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \ -object secret,id=masterKey0,format=raw,file=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes \ -machine pc-i440fx-5.0,usb=off,dump-guest-core=off \ -accel kvm \ --cpu Skylake-Client-IBRS,ss=on,vmx=on,hypervisor=on,tsc-adjust=on,clflushopt=on,umip=on,md-clear=on,stibp=on,arch-capabilities=on,ssbd=on,xsaves=on,pdpe1gb=on,skip-l1dfl-vmentry=on,pschange-mc-no=on,vmx-ins-outs=on,vmx-true-ctls=on,vmx-store-lma=on,vmx-activity-hlt=on,vmx-vmwrite-vmexit-fields=on,vmx-apicv-xapic=on,vmx-ept=on,vmx-desc-exit=on,vmx-rdtscp-exit=on,vmx-apicv-x2apic=on,vmx-vpid=on,vmx-wbinvd-exit=on,vmx-unrestricted-guest=on,vmx-rdrand-exit=on,vmx-invpcid-exit=on,vmx-vmfunc=on,vmx-shadow-vmcs=on,vmx-rdseed-exit=on,vmx-pml=on,vmx-xsaves=on,vmx-invvpid=on,vmx-invvpid-single-addr=on,vmx-invvpid-all-context=on,vmx-ept-execonly=on,vmx-page-walk-4=on,vmx-ept-2mb=on,vmx-ept-1gb=on,vmx-invept=on,vmx-eptad=on,vmx-invept-single-context=on,vmx-invept-all-context=on,vmx-intr-exit=on,vmx-nmi-exit=on,vmx-vnmi=on,vmx-preemption-timer=on,vmx-vintr-pending=on,vmx-tsc-offset=on,vmx-hlt-exit=on,vmx-invlpg-exit=on,vmx-mwait-exit=on,vmx-rdpmc-exit=on,vmx-rdtsc-exit=on,vmx-cr3-load-noexit=on,vmx-cr3-store-noexit=on,vmx-cr8-load-exit=on,vmx-cr8-store-exit=on,vmx-flexpriority=on,vmx-vnmi-pending=on,vmx-movdr-exit=on,vmx-io-exit=on,vmx-io-bitmap=on,vmx-mtf=on,vmx-msr-bitmap=on,vmx-monitor-exit=on,vmx-pause-exit=on,vmx-secondary-ctls=on,vmx-exit-nosave-debugctl=on,vmx-exit-ack-intr=on,vmx-exit-save-pat=on,vmx-exit-load-pat=on,vmx-exit-save-efer=on,vmx-exit-load-efer=on,vmx-exit-save-preemption-timer=on,vmx-entry-noload-debugctl=on,vmx-entry-ia32e-mode=on,vmx-entry-load-pat=on,vmx-entry-load-efer=on,vmx-eptp-switching=on \ +-cpu Skylake-Client-v2,ss=on,vmx=on,hypervisor=on,tsc-adjust=on,clflushopt=on,umip=on,md-clear=on,stibp=on,arch-capabilities=on,ssbd=on,xsaves=on,pdpe1gb=on,skip-l1dfl-vmentry=on,pschange-mc-no=on,vmx-ins-outs=on,vmx-true-ctls=on,vmx-store-lma=on,vmx-activity-hlt=on,vmx-vmwrite-vmexit-fields=on,vmx-apicv-xapic=on,vmx-ept=on,vmx-desc-exit=on,vmx-rdtscp-exit=on,vmx-apicv-x2apic=on,vmx-vpid=on,vmx-wbinvd-exit=on,vmx-unrestricted-guest=on,vmx-rdrand-exit=on,vmx-invpcid-exit=on,vmx-vmfunc=on,vmx-shadow-vmcs=on,vmx-rdseed-exit=on,vmx-pml=on,vmx-xsaves=on,vmx-invvpid=on,vmx-invvpid-single-addr=on,vmx-invvpid-all-context=on,vmx-ept-execonly=on,vmx-page-walk-4=on,vmx-ept-2mb=on,vmx-ept-1gb=on,vmx-invept=on,vmx-eptad=on,vmx-invept-single-context=on,vmx-invept-all-context=on,vmx-intr-exit=on,vmx-nmi-exit=on,vmx-vnmi=on,vmx-preemption-timer=on,vmx-vintr-pending=on,vmx-tsc-offset=on,vmx-hlt-exit=on,vmx-invlpg-exit=on,vmx-mwait-exit=on,vmx-rdpmc-exit=on,vmx-rdtsc-exit=on,vmx-cr3-load-noexit=on,vmx-cr3-store-noexit=on,vmx-cr8-load-exit=on,vmx-cr8-store-exit=on,vmx-flexpriority=on,vmx-vnmi-pending=on,vmx-movdr-exit=on,vmx-io-exit=on,vmx-io-bitmap=on,vmx-mtf=on,vmx-msr-bitmap=on,vmx-monitor-exit=on,vmx-pause-exit=on,vmx-secondary-ctls=on,vmx-exit-nosave-debugctl=on,vmx-exit-ack-intr=on,vmx-exit-save-pat=on,vmx-exit-load-pat=on,vmx-exit-save-efer=on,vmx-exit-load-efer=on,vmx-exit-save-preemption-timer=on,vmx-entry-noload-debugctl=on,vmx-entry-ia32e-mode=on,vmx-entry-load-pat=on,vmx-entry-load-efer=on,vmx-eptp-switching=on \ -m size=219136k \ -overcommit mem-lock=off \ -smp 6,sockets=6,cores=1,threads=1 \ diff --git a/tests/qemuxml2argvdata/cpu-host-model-nofallback-kvm.x86_64-5.1.0.args b/tests/qemuxml2argvdata/cpu-host-model-nofallback-kvm.x86_64-5.1.0.args index aa87a909fc..f560987609 100644 --- a/tests/qemuxml2argvdata/cpu-host-model-nofallback-kvm.x86_64-5.1.0.args +++ b/tests/qemuxml2argvdata/cpu-host-model-nofallback-kvm.x86_64-5.1.0.args @@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \ -object secret,id=masterKey0,format=raw,file=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes \ -machine pc-i440fx-5.1,usb=off,dump-guest-core=off \ -accel kvm \ --cpu EPYC-Rome,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,xsaves=on,cmp-legacy=on,amd-ssbd=on,virt-ssbd=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on \ +-cpu EPYC-Rome-v1,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,xsaves=on,cmp-legacy=on,amd-ssbd=on,virt-ssbd=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on \ -m size=219136k \ -overcommit mem-lock=off \ -smp 6,sockets=6,cores=1,threads=1 \ diff --git a/tests/qemuxml2argvdata/cpu-host-model-nofallback-kvm.x86_64-5.2.0.args b/tests/qemuxml2argvdata/cpu-host-model-nofallback-kvm.x86_64-5.2.0.args index fb4b243e19..c7e817ec45 100644 --- a/tests/qemuxml2argvdata/cpu-host-model-nofallback-kvm.x86_64-5.2.0.args +++ b/tests/qemuxml2argvdata/cpu-host-model-nofallback-kvm.x86_64-5.2.0.args @@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \ -object secret,id=masterKey0,format=raw,file=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes \ -machine pc-i440fx-5.2,usb=off,dump-guest-core=off,memory-backend=pc.ram \ -accel kvm \ --cpu EPYC-Rome,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,xsaves=on,cmp-legacy=on,amd-ssbd=on,virt-ssbd=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on \ +-cpu EPYC-Rome-v1,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,xsaves=on,cmp-legacy=on,amd-ssbd=on,virt-ssbd=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on \ -m size=219136k \ -object memory-backend-ram,id=pc.ram,size=224395264 \ -overcommit mem-lock=off \ diff --git a/tests/qemuxml2argvdata/cpu-host-model-nofallback-kvm.x86_64-6.0.0.args b/tests/qemuxml2argvdata/cpu-host-model-nofallback-kvm.x86_64-6.0.0.args index 1f07704baa..c7ddb5b00d 100644 --- a/tests/qemuxml2argvdata/cpu-host-model-nofallback-kvm.x86_64-6.0.0.args +++ b/tests/qemuxml2argvdata/cpu-host-model-nofallback-kvm.x86_64-6.0.0.args @@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes"}' \ -machine pc-i440fx-6.0,usb=off,dump-guest-core=off,memory-backend=pc.ram \ -accel kvm \ --cpu EPYC-Rome,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,xsaves=on,cmp-legacy=on,amd-ssbd=on,virt-ssbd=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on \ +-cpu EPYC-Rome-v1,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,xsaves=on,cmp-legacy=on,amd-ssbd=on,virt-ssbd=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on \ -m size=219136k \ -object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \ -overcommit mem-lock=off \ diff --git a/tests/qemuxml2argvdata/cpu-host-model-nofallback-kvm.x86_64-6.1.0.args b/tests/qemuxml2argvdata/cpu-host-model-nofallback-kvm.x86_64-6.1.0.args index 3d8df92a19..ecb345fd9f 100644 --- a/tests/qemuxml2argvdata/cpu-host-model-nofallback-kvm.x86_64-6.1.0.args +++ b/tests/qemuxml2argvdata/cpu-host-model-nofallback-kvm.x86_64-6.1.0.args @@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes"}' \ -machine pc-i440fx-6.1,usb=off,dump-guest-core=off,memory-backend=pc.ram \ -accel kvm \ --cpu EPYC-Rome,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,xsaves=on,cmp-legacy=on,amd-ssbd=on,virt-ssbd=on,svme-addr-chk=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on \ +-cpu EPYC-Rome-v1,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,xsaves=on,cmp-legacy=on,amd-ssbd=on,virt-ssbd=on,svme-addr-chk=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on \ -m size=219136k \ -object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \ -overcommit mem-lock=off \ diff --git a/tests/qemuxml2argvdata/cpu-host-model-nofallback-kvm.x86_64-6.2.0.args b/tests/qemuxml2argvdata/cpu-host-model-nofallback-kvm.x86_64-6.2.0.args index 4aa9011fe8..16fe33c182 100644 --- a/tests/qemuxml2argvdata/cpu-host-model-nofallback-kvm.x86_64-6.2.0.args +++ b/tests/qemuxml2argvdata/cpu-host-model-nofallback-kvm.x86_64-6.2.0.args @@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes"}' \ -machine pc-i440fx-6.2,usb=off,dump-guest-core=off,memory-backend=pc.ram \ -accel kvm \ --cpu EPYC-Rome,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,xsaves=on,cmp-legacy=on,amd-ssbd=on,virt-ssbd=on,svme-addr-chk=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on \ +-cpu EPYC-Rome-v1,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,xsaves=on,cmp-legacy=on,amd-ssbd=on,virt-ssbd=on,svme-addr-chk=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on \ -m size=219136k \ -object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \ -overcommit mem-lock=off \ diff --git a/tests/qemuxml2argvdata/cpu-host-model-nofallback-kvm.x86_64-7.0.0.args b/tests/qemuxml2argvdata/cpu-host-model-nofallback-kvm.x86_64-7.0.0.args index e944e69cfd..d095ec6e19 100644 --- a/tests/qemuxml2argvdata/cpu-host-model-nofallback-kvm.x86_64-7.0.0.args +++ b/tests/qemuxml2argvdata/cpu-host-model-nofallback-kvm.x86_64-7.0.0.args @@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes"}' \ -machine pc-i440fx-7.0,usb=off,dump-guest-core=off,memory-backend=pc.ram \ -accel kvm \ --cpu EPYC-Rome,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,xsaves=on,cmp-legacy=on,amd-ssbd=on,virt-ssbd=on,tsc-scale=on,svme-addr-chk=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on \ +-cpu EPYC-Rome-v1,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,xsaves=on,cmp-legacy=on,amd-ssbd=on,virt-ssbd=on,tsc-scale=on,svme-addr-chk=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on \ -m size=219136k \ -object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \ -overcommit mem-lock=off \ diff --git a/tests/qemuxml2argvdata/cpu-host-model-nofallback-kvm.x86_64-7.1.0.args b/tests/qemuxml2argvdata/cpu-host-model-nofallback-kvm.x86_64-7.1.0.args index d9edda2733..3f1a231ebd 100644 --- a/tests/qemuxml2argvdata/cpu-host-model-nofallback-kvm.x86_64-7.1.0.args +++ b/tests/qemuxml2argvdata/cpu-host-model-nofallback-kvm.x86_64-7.1.0.args @@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes"}' \ -machine pc-i440fx-7.1,usb=off,dump-guest-core=off,memory-backend=pc.ram \ -accel kvm \ --cpu EPYC-Rome,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,xsaves=on,cmp-legacy=on,amd-ssbd=on,virt-ssbd=on,tsc-scale=on,vmcb-clean=on,svme-addr-chk=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on \ +-cpu EPYC-Rome-v1,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,xsaves=on,cmp-legacy=on,amd-ssbd=on,virt-ssbd=on,tsc-scale=on,vmcb-clean=on,svme-addr-chk=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on \ -m size=219136k \ -object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \ -overcommit mem-lock=off \ diff --git a/tests/qemuxml2argvdata/cpu-host-model-nofallback-kvm.x86_64-7.2.0.args b/tests/qemuxml2argvdata/cpu-host-model-nofallback-kvm.x86_64-7.2.0.args index 1d1839b7fa..6ebf79f103 100644 --- a/tests/qemuxml2argvdata/cpu-host-model-nofallback-kvm.x86_64-7.2.0.args +++ b/tests/qemuxml2argvdata/cpu-host-model-nofallback-kvm.x86_64-7.2.0.args @@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes"}' \ -machine pc-i440fx-7.2,usb=off,dump-guest-core=off,memory-backend=pc.ram \ -accel kvm \ --cpu EPYC-Rome,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,xsaves=on,cmp-legacy=on,amd-ssbd=on,virt-ssbd=on,lbrv=on,tsc-scale=on,vmcb-clean=on,pause-filter=on,pfthreshold=on,v-vmsave-vmload=on,vgif=on,svme-addr-chk=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on \ +-cpu EPYC-Rome-v1,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,xsaves=on,cmp-legacy=on,amd-ssbd=on,virt-ssbd=on,lbrv=on,tsc-scale=on,vmcb-clean=on,pause-filter=on,pfthreshold=on,v-vmsave-vmload=on,vgif=on,svme-addr-chk=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on \ -m size=219136k \ -object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \ -overcommit mem-lock=off \ diff --git a/tests/qemuxml2argvdata/cpu-host-model-nofallback-kvm.x86_64-8.0.0.args b/tests/qemuxml2argvdata/cpu-host-model-nofallback-kvm.x86_64-8.0.0.args index 8278629ee7..87dfa53e46 100644 --- a/tests/qemuxml2argvdata/cpu-host-model-nofallback-kvm.x86_64-8.0.0.args +++ b/tests/qemuxml2argvdata/cpu-host-model-nofallback-kvm.x86_64-8.0.0.args @@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes"}' \ -machine pc-i440fx-8.0,usb=off,dump-guest-core=off,memory-backend=pc.ram,acpi=off \ -accel kvm \ --cpu EPYC-Rome,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,xsaves=on,cmp-legacy=on,amd-ssbd=on,virt-ssbd=on,lbrv=on,tsc-scale=on,vmcb-clean=on,pause-filter=on,pfthreshold=on,v-vmsave-vmload=on,vgif=on,svme-addr-chk=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on \ +-cpu EPYC-Rome-v1,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,xsaves=on,cmp-legacy=on,amd-ssbd=on,virt-ssbd=on,lbrv=on,tsc-scale=on,vmcb-clean=on,pause-filter=on,pfthreshold=on,v-vmsave-vmload=on,vgif=on,svme-addr-chk=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on \ -m size=219136k \ -object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \ -overcommit mem-lock=off \ diff --git a/tests/qemuxml2argvdata/cpu-host-model-nofallback-kvm.x86_64-8.1.0.args b/tests/qemuxml2argvdata/cpu-host-model-nofallback-kvm.x86_64-8.1.0.args index 3b733a3c5d..45ff38ebef 100644 --- a/tests/qemuxml2argvdata/cpu-host-model-nofallback-kvm.x86_64-8.1.0.args +++ b/tests/qemuxml2argvdata/cpu-host-model-nofallback-kvm.x86_64-8.1.0.args @@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes"}' \ -machine pc-i440fx-8.1,usb=off,dump-guest-core=off,memory-backend=pc.ram,acpi=off \ -accel kvm \ --cpu EPYC-Rome,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,cmp-legacy=on,amd-ssbd=on,virt-ssbd=on,lbrv=on,tsc-scale=on,vmcb-clean=on,pause-filter=on,pfthreshold=on,v-vmsave-vmload=on,vgif=on,svme-addr-chk=on,lfence-always-serializing=on,null-sel-clr-base=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on,xsaves=off \ +-cpu EPYC-Rome-v1,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,cmp-legacy=on,amd-ssbd=on,virt-ssbd=on,lbrv=on,tsc-scale=on,vmcb-clean=on,pause-filter=on,pfthreshold=on,v-vmsave-vmload=on,vgif=on,svme-addr-chk=on,lfence-always-serializing=on,null-sel-clr-base=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on,xsaves=off \ -m size=219136k \ -object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \ -overcommit mem-lock=off \ diff --git a/tests/qemuxml2argvdata/cpu-host-model-nofallback-kvm.x86_64-latest.args b/tests/qemuxml2argvdata/cpu-host-model-nofallback-kvm.x86_64-latest.args index c11c2118bf..30cb821759 100644 --- a/tests/qemuxml2argvdata/cpu-host-model-nofallback-kvm.x86_64-latest.args +++ b/tests/qemuxml2argvdata/cpu-host-model-nofallback-kvm.x86_64-latest.args @@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes"}' \ -machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram,acpi=off \ -accel kvm \ --cpu EPYC-Rome,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,cmp-legacy=on,amd-ssbd=on,virt-ssbd=on,lbrv=on,tsc-scale=on,vmcb-clean=on,pause-filter=on,pfthreshold=on,v-vmsave-vmload=on,vgif=on,svme-addr-chk=on,lfence-always-serializing=on,null-sel-clr-base=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on,gds-no=on,xsaves=off \ +-cpu EPYC-Rome-v1,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,cmp-legacy=on,amd-ssbd=on,virt-ssbd=on,lbrv=on,tsc-scale=on,vmcb-clean=on,pause-filter=on,pfthreshold=on,v-vmsave-vmload=on,vgif=on,svme-addr-chk=on,lfence-always-serializing=on,null-sel-clr-base=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on,gds-no=on,xsaves=off \ -m size=219136k \ -object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \ -overcommit mem-lock=off \ diff --git a/tests/qemuxml2argvdata/cpu-host-model-nofallback-tcg.x86_64-7.2.0.args b/tests/qemuxml2argvdata/cpu-host-model-nofallback-tcg.x86_64-7.2.0.args index 1e7f444d73..8d3051cd1b 100644 --- a/tests/qemuxml2argvdata/cpu-host-model-nofallback-tcg.x86_64-7.2.0.args +++ b/tests/qemuxml2argvdata/cpu-host-model-nofallback-tcg.x86_64-7.2.0.args @@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes"}' \ -machine pc-i440fx-7.2,usb=off,dump-guest-core=off,memory-backend=pc.ram \ -accel tcg \ --cpu EPYC,acpi=on,ss=on,monitor=on,hypervisor=on,erms=on,mpx=on,pcommit=on,clwb=on,umip=on,pku=on,vaes=on,la57=on,pks=on,3dnowext=on,3dnow=on,npt=on,vgif=on,svme-addr-chk=on,vme=off,rdseed=off,sha-ni=off,xsavec=off,fxsr-opt=off,misalignsse=off,3dnowprefetch=off,osvw=off,topoext=off,nrip-save=off \ +-cpu EPYC-v1,acpi=on,ss=on,monitor=on,hypervisor=on,erms=on,mpx=on,pcommit=on,clwb=on,umip=on,pku=on,vaes=on,la57=on,pks=on,3dnowext=on,3dnow=on,npt=on,vgif=on,svme-addr-chk=on,vme=off,rdseed=off,sha-ni=off,xsavec=off,fxsr-opt=off,misalignsse=off,3dnowprefetch=off,osvw=off,topoext=off,nrip-save=off \ -m size=219136k \ -object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \ -overcommit mem-lock=off \ diff --git a/tests/qemuxml2argvdata/cpu-host-model-nofallback-tcg.x86_64-8.0.0.args b/tests/qemuxml2argvdata/cpu-host-model-nofallback-tcg.x86_64-8.0.0.args index 943b0d477b..3ec065c7bb 100644 --- a/tests/qemuxml2argvdata/cpu-host-model-nofallback-tcg.x86_64-8.0.0.args +++ b/tests/qemuxml2argvdata/cpu-host-model-nofallback-tcg.x86_64-8.0.0.args @@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes"}' \ -machine pc-i440fx-8.0,usb=off,dump-guest-core=off,memory-backend=pc.ram,acpi=off \ -accel tcg \ --cpu EPYC,acpi=on,ss=on,monitor=on,hypervisor=on,erms=on,mpx=on,pcommit=on,clwb=on,umip=on,pku=on,vaes=on,la57=on,pks=on,fsrm=on,fzrm=on,fsrs=on,fsrc=on,3dnowext=on,3dnow=on,npt=on,vgif=on,svme-addr-chk=on,vme=off,rdseed=off,sha-ni=off,xsavec=off,fxsr-opt=off,misalignsse=off,3dnowprefetch=off,osvw=off,topoext=off,nrip-save=off \ +-cpu EPYC-v1,acpi=on,ss=on,monitor=on,hypervisor=on,erms=on,mpx=on,pcommit=on,clwb=on,umip=on,pku=on,vaes=on,la57=on,pks=on,fsrm=on,fzrm=on,fsrs=on,fsrc=on,3dnowext=on,3dnow=on,npt=on,vgif=on,svme-addr-chk=on,vme=off,rdseed=off,sha-ni=off,xsavec=off,fxsr-opt=off,misalignsse=off,3dnowprefetch=off,osvw=off,topoext=off,nrip-save=off \ -m size=219136k \ -object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \ -overcommit mem-lock=off \ diff --git a/tests/qemuxml2argvdata/cpu-host-model-nofallback-tcg.x86_64-8.1.0.args b/tests/qemuxml2argvdata/cpu-host-model-nofallback-tcg.x86_64-8.1.0.args index 177f7da2b5..3eefbd991a 100644 --- a/tests/qemuxml2argvdata/cpu-host-model-nofallback-tcg.x86_64-8.1.0.args +++ b/tests/qemuxml2argvdata/cpu-host-model-nofallback-tcg.x86_64-8.1.0.args @@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes"}' \ -machine pc-i440fx-8.1,usb=off,dump-guest-core=off,memory-backend=pc.ram,acpi=off \ -accel tcg \ --cpu EPYC,acpi=on,ss=on,monitor=on,hypervisor=on,erms=on,mpx=on,pcommit=on,clwb=on,umip=on,pku=on,vaes=on,la57=on,rdpid=on,pks=on,fsrm=on,fzrm=on,fsrs=on,fsrc=on,3dnowext=on,3dnow=on,xsaveerptr=on,wbnoinvd=on,npt=on,vgif=on,svme-addr-chk=on,vme=off,sha-ni=off,xsavec=off,fxsr-opt=off,misalignsse=off,osvw=off,topoext=off,nrip-save=off \ +-cpu EPYC-v1,acpi=on,ss=on,monitor=on,hypervisor=on,erms=on,mpx=on,pcommit=on,clwb=on,umip=on,pku=on,vaes=on,la57=on,rdpid=on,pks=on,fsrm=on,fzrm=on,fsrs=on,fsrc=on,3dnowext=on,3dnow=on,xsaveerptr=on,wbnoinvd=on,npt=on,vgif=on,svme-addr-chk=on,vme=off,sha-ni=off,xsavec=off,fxsr-opt=off,misalignsse=off,osvw=off,topoext=off,nrip-save=off \ -m size=219136k \ -object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \ -overcommit mem-lock=off \ diff --git a/tests/qemuxml2argvdata/cpu-host-model-nofallback-tcg.x86_64-latest.args b/tests/qemuxml2argvdata/cpu-host-model-nofallback-tcg.x86_64-latest.args index 225aa5566c..9779dcd137 100644 --- a/tests/qemuxml2argvdata/cpu-host-model-nofallback-tcg.x86_64-latest.args +++ b/tests/qemuxml2argvdata/cpu-host-model-nofallback-tcg.x86_64-latest.args @@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes"}' \ -machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram,acpi=off \ -accel tcg \ --cpu EPYC,acpi=on,ss=on,monitor=on,hypervisor=on,erms=on,mpx=on,pcommit=on,clwb=on,umip=on,pku=on,vaes=on,la57=on,rdpid=on,pks=on,fsrm=on,fzrm=on,fsrs=on,fsrc=on,3dnowext=on,3dnow=on,xsaveerptr=on,wbnoinvd=on,npt=on,vgif=on,svme-addr-chk=on,vme=off,xsavec=off,fxsr-opt=off,misalignsse=off,osvw=off,topoext=off,nrip-save=off \ +-cpu EPYC-v1,acpi=on,ss=on,monitor=on,hypervisor=on,erms=on,mpx=on,pcommit=on,clwb=on,umip=on,pku=on,vaes=on,la57=on,rdpid=on,pks=on,fsrm=on,fzrm=on,fsrs=on,fsrc=on,3dnowext=on,3dnow=on,xsaveerptr=on,wbnoinvd=on,npt=on,vgif=on,svme-addr-chk=on,vme=off,xsavec=off,fxsr-opt=off,misalignsse=off,osvw=off,topoext=off,nrip-save=off \ -m size=219136k \ -object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \ -overcommit mem-lock=off \ diff --git a/tests/qemuxml2argvdata/cpu-host-model-tcg.x86_64-7.2.0.args b/tests/qemuxml2argvdata/cpu-host-model-tcg.x86_64-7.2.0.args index 4f411a718a..df8f3727e1 100644 --- a/tests/qemuxml2argvdata/cpu-host-model-tcg.x86_64-7.2.0.args +++ b/tests/qemuxml2argvdata/cpu-host-model-tcg.x86_64-7.2.0.args @@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes"}' \ -machine pc-q35-7.2,usb=off,dump-guest-core=off,memory-backend=pc.ram \ -accel tcg \ --cpu EPYC,acpi=on,ss=on,monitor=on,hypervisor=on,erms=on,mpx=on,pcommit=on,clwb=on,umip=on,pku=on,vaes=on,la57=on,pks=on,3dnowext=on,3dnow=on,npt=on,vgif=on,svme-addr-chk=on,vme=off,rdseed=off,sha-ni=off,xsavec=off,fxsr-opt=off,misalignsse=off,3dnowprefetch=off,osvw=off,topoext=off,nrip-save=off \ +-cpu EPYC-v1,acpi=on,ss=on,monitor=on,hypervisor=on,erms=on,mpx=on,pcommit=on,clwb=on,umip=on,pku=on,vaes=on,la57=on,pks=on,3dnowext=on,3dnow=on,npt=on,vgif=on,svme-addr-chk=on,vme=off,rdseed=off,sha-ni=off,xsavec=off,fxsr-opt=off,misalignsse=off,3dnowprefetch=off,osvw=off,topoext=off,nrip-save=off \ -m size=219136k \ -object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \ -overcommit mem-lock=off \ diff --git a/tests/qemuxml2argvdata/cpu-host-model-tcg.x86_64-8.0.0.args b/tests/qemuxml2argvdata/cpu-host-model-tcg.x86_64-8.0.0.args index ae10640e4d..b6ec2ee740 100644 --- a/tests/qemuxml2argvdata/cpu-host-model-tcg.x86_64-8.0.0.args +++ b/tests/qemuxml2argvdata/cpu-host-model-tcg.x86_64-8.0.0.args @@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes"}' \ -machine pc-q35-8.0,usb=off,dump-guest-core=off,memory-backend=pc.ram,acpi=off \ -accel tcg \ --cpu EPYC,acpi=on,ss=on,monitor=on,hypervisor=on,erms=on,mpx=on,pcommit=on,clwb=on,umip=on,pku=on,vaes=on,la57=on,pks=on,fsrm=on,fzrm=on,fsrs=on,fsrc=on,3dnowext=on,3dnow=on,npt=on,vgif=on,svme-addr-chk=on,vme=off,rdseed=off,sha-ni=off,xsavec=off,fxsr-opt=off,misalignsse=off,3dnowprefetch=off,osvw=off,topoext=off,nrip-save=off \ +-cpu EPYC-v1,acpi=on,ss=on,monitor=on,hypervisor=on,erms=on,mpx=on,pcommit=on,clwb=on,umip=on,pku=on,vaes=on,la57=on,pks=on,fsrm=on,fzrm=on,fsrs=on,fsrc=on,3dnowext=on,3dnow=on,npt=on,vgif=on,svme-addr-chk=on,vme=off,rdseed=off,sha-ni=off,xsavec=off,fxsr-opt=off,misalignsse=off,3dnowprefetch=off,osvw=off,topoext=off,nrip-save=off \ -m size=219136k \ -object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \ -overcommit mem-lock=off \ diff --git a/tests/qemuxml2argvdata/cpu-host-model-tcg.x86_64-8.1.0.args b/tests/qemuxml2argvdata/cpu-host-model-tcg.x86_64-8.1.0.args index 4d132a9da0..6c6aae0fd5 100644 --- a/tests/qemuxml2argvdata/cpu-host-model-tcg.x86_64-8.1.0.args +++ b/tests/qemuxml2argvdata/cpu-host-model-tcg.x86_64-8.1.0.args @@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes"}' \ -machine pc-q35-8.1,usb=off,dump-guest-core=off,memory-backend=pc.ram,acpi=off \ -accel tcg \ --cpu EPYC,acpi=on,ss=on,monitor=on,hypervisor=on,erms=on,mpx=on,pcommit=on,clwb=on,umip=on,pku=on,vaes=on,la57=on,rdpid=on,pks=on,fsrm=on,fzrm=on,fsrs=on,fsrc=on,3dnowext=on,3dnow=on,xsaveerptr=on,wbnoinvd=on,npt=on,vgif=on,svme-addr-chk=on,vme=off,sha-ni=off,xsavec=off,fxsr-opt=off,misalignsse=off,osvw=off,topoext=off,nrip-save=off \ +-cpu EPYC-v1,acpi=on,ss=on,monitor=on,hypervisor=on,erms=on,mpx=on,pcommit=on,clwb=on,umip=on,pku=on,vaes=on,la57=on,rdpid=on,pks=on,fsrm=on,fzrm=on,fsrs=on,fsrc=on,3dnowext=on,3dnow=on,xsaveerptr=on,wbnoinvd=on,npt=on,vgif=on,svme-addr-chk=on,vme=off,sha-ni=off,xsavec=off,fxsr-opt=off,misalignsse=off,osvw=off,topoext=off,nrip-save=off \ -m size=219136k \ -object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \ -overcommit mem-lock=off \ diff --git a/tests/qemuxml2argvdata/cpu-host-model-tcg.x86_64-latest.args b/tests/qemuxml2argvdata/cpu-host-model-tcg.x86_64-latest.args index 08cb71ebe3..b72a975069 100644 --- a/tests/qemuxml2argvdata/cpu-host-model-tcg.x86_64-latest.args +++ b/tests/qemuxml2argvdata/cpu-host-model-tcg.x86_64-latest.args @@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes"}' \ -machine q35,usb=off,dump-guest-core=off,memory-backend=pc.ram,acpi=off \ -accel tcg \ --cpu EPYC,acpi=on,ss=on,monitor=on,hypervisor=on,erms=on,mpx=on,pcommit=on,clwb=on,umip=on,pku=on,vaes=on,la57=on,rdpid=on,pks=on,fsrm=on,fzrm=on,fsrs=on,fsrc=on,3dnowext=on,3dnow=on,xsaveerptr=on,wbnoinvd=on,npt=on,vgif=on,svme-addr-chk=on,vme=off,xsavec=off,fxsr-opt=off,misalignsse=off,osvw=off,topoext=off,nrip-save=off \ +-cpu EPYC-v1,acpi=on,ss=on,monitor=on,hypervisor=on,erms=on,mpx=on,pcommit=on,clwb=on,umip=on,pku=on,vaes=on,la57=on,rdpid=on,pks=on,fsrm=on,fzrm=on,fsrs=on,fsrc=on,3dnowext=on,3dnow=on,xsaveerptr=on,wbnoinvd=on,npt=on,vgif=on,svme-addr-chk=on,vme=off,xsavec=off,fxsr-opt=off,misalignsse=off,osvw=off,topoext=off,nrip-save=off \ -m size=219136k \ -object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \ -overcommit mem-lock=off \ diff --git a/tests/qemuxml2argvdata/cpu-host-model-vendor.x86_64-latest.args b/tests/qemuxml2argvdata/cpu-host-model-vendor.x86_64-latest.args index c258a1ab36..30c03f15d5 100644 --- a/tests/qemuxml2argvdata/cpu-host-model-vendor.x86_64-latest.args +++ b/tests/qemuxml2argvdata/cpu-host-model-vendor.x86_64-latest.args @@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes"}' \ -machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram,acpi=off \ -accel tcg \ --cpu 'Haswell,vendor=Libvirt QEMU,vme=on,ds=on,acpi=on,ss=on,ht=on,tm=on,pbe=on,dtes64=on,monitor=on,ds-cpl=on,vmx=on,smx=on,est=on,tm2=on,xtpr=on,pdcm=on,f16c=on,rdrand=on,pdpe1gb=on,abm=on,lahf-lm=on' \ +-cpu 'Haswell-v1,vendor=Libvirt QEMU,vme=on,ds=on,acpi=on,ss=on,ht=on,tm=on,pbe=on,dtes64=on,monitor=on,ds-cpl=on,vmx=on,smx=on,est=on,tm2=on,xtpr=on,pdcm=on,f16c=on,rdrand=on,pdpe1gb=on,abm=on,lahf-lm=on' \ -m size=219136k \ -object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \ -overcommit mem-lock=off \ diff --git a/tests/qemuxml2argvdata/cpu-minimum1.x86_64-latest.args b/tests/qemuxml2argvdata/cpu-minimum1.x86_64-latest.args index a92da44bd8..1ca5cc9c92 100644 --- a/tests/qemuxml2argvdata/cpu-minimum1.x86_64-latest.args +++ b/tests/qemuxml2argvdata/cpu-minimum1.x86_64-latest.args @@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes"}' \ -machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram,acpi=off \ -accel kvm \ --cpu Haswell,vme=on,ds=on,acpi=on,ss=on,ht=on,tm=on,pbe=on,dtes64=on,monitor=on,ds-cpl=on,vmx=on,smx=on,est=on,tm2=on,xtpr=on,pdcm=on,f16c=on,rdrand=on,pdpe1gb=on,abm=on,lahf-lm=on \ +-cpu Haswell-v1,vme=on,ds=on,acpi=on,ss=on,ht=on,tm=on,pbe=on,dtes64=on,monitor=on,ds-cpl=on,vmx=on,smx=on,est=on,tm2=on,xtpr=on,pdcm=on,f16c=on,rdrand=on,pdpe1gb=on,abm=on,lahf-lm=on \ -m size=219136k \ -object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \ -overcommit mem-lock=off \ diff --git a/tests/qemuxml2argvdata/cpu-minimum2.x86_64-latest.args b/tests/qemuxml2argvdata/cpu-minimum2.x86_64-latest.args index 62e0101568..31d383b7f5 100644 --- a/tests/qemuxml2argvdata/cpu-minimum2.x86_64-latest.args +++ b/tests/qemuxml2argvdata/cpu-minimum2.x86_64-latest.args @@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes"}' \ -machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram,acpi=off \ -accel kvm \ --cpu Haswell,vme=on,ds=on,acpi=on,ss=on,ht=on,tm=on,pbe=on,dtes64=on,monitor=on,ds-cpl=on,vmx=on,smx=on,est=on,tm2=on,xtpr=on,pdcm=on,f16c=on,rdrand=on,pdpe1gb=on,abm=on,lahf-lm=on,syscall=off,nx=off,lm=off,svm=off \ +-cpu Haswell-v1,vme=on,ds=on,acpi=on,ss=on,ht=on,tm=on,pbe=on,dtes64=on,monitor=on,ds-cpl=on,vmx=on,smx=on,est=on,tm2=on,xtpr=on,pdcm=on,f16c=on,rdrand=on,pdpe1gb=on,abm=on,lahf-lm=on,syscall=off,nx=off,lm=off,svm=off \ -m size=219136k \ -object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \ -overcommit mem-lock=off \ diff --git a/tests/qemuxml2argvdata/cpu-nofallback.x86_64-8.0.0.args b/tests/qemuxml2argvdata/cpu-nofallback.x86_64-8.0.0.args index b0ce1dfcbd..371cbbfb62 100644 --- a/tests/qemuxml2argvdata/cpu-nofallback.x86_64-8.0.0.args +++ b/tests/qemuxml2argvdata/cpu-nofallback.x86_64-8.0.0.args @@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes"}' \ -machine pc-i440fx-8.0,usb=off,dump-guest-core=off,memory-backend=pc.ram,acpi=off \ -accel kvm \ --cpu EPYC-Milan,amd-ssbd=off,erms=off,fsrm=off,ibrs=off,invpcid=off,pcid=off,pku=off,svme-addr-chk=off,xsaves=off \ +-cpu EPYC-Milan-v1,amd-ssbd=off,erms=off,fsrm=off,ibrs=off,invpcid=off,pcid=off,pku=off,svme-addr-chk=off,xsaves=off \ -m size=219136k \ -object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \ -overcommit mem-lock=off \ diff --git a/tests/qemuxml2argvdata/cpu-phys-bits-emulate2.x86_64-latest.args b/tests/qemuxml2argvdata/cpu-phys-bits-emulate2.x86_64-latest.args index 92c719b553..6367f0d004 100644 --- a/tests/qemuxml2argvdata/cpu-phys-bits-emulate2.x86_64-latest.args +++ b/tests/qemuxml2argvdata/cpu-phys-bits-emulate2.x86_64-latest.args @@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-foo/.config \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-foo/master-key.aes"}' \ -machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram,acpi=off \ -accel kvm \ --cpu Haswell,vme=on,ds=on,acpi=on,ss=on,ht=on,tm=on,pbe=on,dtes64=on,monitor=on,ds-cpl=on,vmx=on,smx=on,est=on,tm2=on,xtpr=on,pdcm=on,f16c=on,rdrand=on,pdpe1gb=on,abm=on,lahf-lm=on,phys-bits=42 \ +-cpu Haswell-v1,vme=on,ds=on,acpi=on,ss=on,ht=on,tm=on,pbe=on,dtes64=on,monitor=on,ds-cpl=on,vmx=on,smx=on,est=on,tm2=on,xtpr=on,pdcm=on,f16c=on,rdrand=on,pdpe1gb=on,abm=on,lahf-lm=on,phys-bits=42 \ -m size=219136k \ -object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \ -overcommit mem-lock=off \ diff --git a/tests/qemuxml2argvdata/cpu-strict1.x86_64-latest.args b/tests/qemuxml2argvdata/cpu-strict1.x86_64-latest.args index 3f9c3516bb..a2c9d8335e 100644 --- a/tests/qemuxml2argvdata/cpu-strict1.x86_64-latest.args +++ b/tests/qemuxml2argvdata/cpu-strict1.x86_64-latest.args @@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes"}' \ -machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram,acpi=off \ -accel kvm \ --cpu Haswell,ds=on,acpi=on,ht=on,tm=on,ds-cpl=on,vmx=on,est=on,xtpr=on,3dnowext=on,lahf-lm=on,nx=off,cx16=off,tm2=off,pbe=off,ss=off,sse4a=off,wdt=off,vme=off,invtsc=off,abm=off,pdpe1gb=off,rdrand=off,f16c=off,pdcm=off,smx=off,monitor=off,dtes64=off \ +-cpu Haswell-v1,ds=on,acpi=on,ht=on,tm=on,ds-cpl=on,vmx=on,est=on,xtpr=on,3dnowext=on,lahf-lm=on,nx=off,cx16=off,tm2=off,pbe=off,ss=off,sse4a=off,wdt=off,vme=off,invtsc=off,abm=off,pdpe1gb=off,rdrand=off,f16c=off,pdcm=off,smx=off,monitor=off,dtes64=off \ -m size=219136k \ -object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \ -overcommit mem-lock=off \ diff --git a/tests/qemuxml2argvdata/cpu-translation.x86_64-latest.args b/tests/qemuxml2argvdata/cpu-translation.x86_64-latest.args index 49e1b590dd..7295c4f7f6 100644 --- a/tests/qemuxml2argvdata/cpu-translation.x86_64-latest.args +++ b/tests/qemuxml2argvdata/cpu-translation.x86_64-latest.args @@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes"}' \ -machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram,acpi=off \ -accel tcg \ --cpu Haswell,pclmulqdq=on,ds-cpl=on,tsc-adjust=on,fxsr-opt=on,lahf-lm=on,cmp-legacy=on,nodeid-msr=on,perfctr-core=on,perfctr-nb=on,kvm-pv-eoi=on,kvm-pv-unhalt=on \ +-cpu Haswell-v1,pclmulqdq=on,ds-cpl=on,tsc-adjust=on,fxsr-opt=on,lahf-lm=on,cmp-legacy=on,nodeid-msr=on,perfctr-core=on,perfctr-nb=on,kvm-pv-eoi=on,kvm-pv-unhalt=on \ -m size=219136k \ -object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \ -overcommit mem-lock=off \ diff --git a/tests/qemuxml2argvdata/cpu-tsc-frequency.x86_64-latest.args b/tests/qemuxml2argvdata/cpu-tsc-frequency.x86_64-latest.args index 4353d65ac2..04141b0542 100644 --- a/tests/qemuxml2argvdata/cpu-tsc-frequency.x86_64-latest.args +++ b/tests/qemuxml2argvdata/cpu-tsc-frequency.x86_64-latest.args @@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes"}' \ -machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram,acpi=off \ -accel kvm \ --cpu Haswell,vme=on,ds=on,acpi=on,ss=on,ht=on,tm=on,pbe=on,dtes64=on,monitor=on,ds-cpl=on,vmx=on,smx=on,est=on,tm2=on,xtpr=on,pdcm=on,f16c=on,rdrand=on,pdpe1gb=on,abm=on,lahf-lm=on,invtsc=on,tsc-frequency=4567890000 \ +-cpu Haswell-v1,vme=on,ds=on,acpi=on,ss=on,ht=on,tm=on,pbe=on,dtes64=on,monitor=on,ds-cpl=on,vmx=on,smx=on,est=on,tm2=on,xtpr=on,pdcm=on,f16c=on,rdrand=on,pdpe1gb=on,abm=on,lahf-lm=on,invtsc=on,tsc-frequency=4567890000 \ -m size=219136k \ -object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \ -overcommit mem-lock=off \ -- 2.41.0

On Fri, Dec 15, 2023 at 04:12:00PM -0600, Jonathon Jongsma wrote:
As described in detail in the commit "cpu_map: add canonical names to existing CPU models", the unversioned CPU model names are not migration-safe. If qemu makes the anticipated changes to CPU alias mapping, an unversioned CPU model may be represented by different underlying CPU models on different hosts. To avoid being susceptible to this issue, use the new 'canonical_name' property of the CPU definition to always specify a specific versioned CPU model version to qemu rather than using CPU model aliases.
The CPU models *are* migration safe because libvirt /always/ uses the versioned machine type name.
This canonical name is only used in the qemu backend and is not exposed to the user in anyway. The libvirt CPU configuration will continue to use existing unversioned model names in the domain xml for continuity. But internally we will translate these to a specific version.
Signed-off-by: Jonathon Jongsma <jjongsma@redhat.com> --- src/qemu/qemu_command.c | 5 ++++- tests/qemuxml2argvdata/cpu-Haswell-noTSX.x86_64-latest.args | 2 +- tests/qemuxml2argvdata/cpu-Haswell.x86_64-latest.args | 2 +- tests/qemuxml2argvdata/cpu-Haswell2.x86_64-latest.args | 2 +- tests/qemuxml2argvdata/cpu-Haswell3.x86_64-latest.args | 2 +- .../cpu-Icelake-Server-pconfig.x86_64-latest.args | 2 +- tests/qemuxml2argvdata/cpu-cache-disable3.x86_64-latest.args | 2 +- .../cpu-check-default-partial.x86_64-latest.args | 2 +- tests/qemuxml2argvdata/cpu-fallback.x86_64-5.2.0.args | 2 +- tests/qemuxml2argvdata/cpu-fallback.x86_64-8.0.0.args | 2 +- tests/qemuxml2argvdata/cpu-host-model-cmt.x86_64-latest.args | 2 +- .../cpu-host-model-fallback-kvm.x86_64-4.2.0.args | 2 +- .../cpu-host-model-fallback-kvm.x86_64-5.0.0.args | 2 +- .../cpu-host-model-fallback-kvm.x86_64-5.1.0.args | 2 +- .../cpu-host-model-fallback-kvm.x86_64-5.2.0.args | 2 +- .../cpu-host-model-fallback-kvm.x86_64-6.0.0.args | 2 +- .../cpu-host-model-fallback-kvm.x86_64-6.1.0.args | 2 +- .../cpu-host-model-fallback-kvm.x86_64-6.2.0.args | 2 +- .../cpu-host-model-fallback-kvm.x86_64-7.0.0.args | 2 +- .../cpu-host-model-fallback-kvm.x86_64-7.1.0.args | 2 +- .../cpu-host-model-fallback-kvm.x86_64-7.2.0.args | 2 +- .../cpu-host-model-fallback-kvm.x86_64-8.0.0.args | 2 +- .../cpu-host-model-fallback-kvm.x86_64-8.1.0.args | 2 +- .../cpu-host-model-fallback-kvm.x86_64-latest.args | 2 +- .../cpu-host-model-fallback-tcg.x86_64-7.2.0.args | 2 +- .../cpu-host-model-fallback-tcg.x86_64-8.0.0.args | 2 +- .../cpu-host-model-fallback-tcg.x86_64-8.1.0.args | 2 +- .../cpu-host-model-fallback-tcg.x86_64-latest.args | 2 +- tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-4.2.0.args | 2 +- tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-5.0.0.args | 2 +- tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-5.1.0.args | 2 +- tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-5.2.0.args | 2 +- tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-6.0.0.args | 2 +- tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-6.1.0.args | 2 +- tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-6.2.0.args | 2 +- tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-7.0.0.args | 2 +- tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-7.1.0.args | 2 +- tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-7.2.0.args | 2 +- tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-8.0.0.args | 2 +- tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-8.1.0.args | 2 +- tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-latest.args | 2 +- .../cpu-host-model-nofallback-kvm.x86_64-4.2.0.args | 2 +- .../cpu-host-model-nofallback-kvm.x86_64-5.0.0.args | 2 +- .../cpu-host-model-nofallback-kvm.x86_64-5.1.0.args | 2 +- .../cpu-host-model-nofallback-kvm.x86_64-5.2.0.args | 2 +- .../cpu-host-model-nofallback-kvm.x86_64-6.0.0.args | 2 +- .../cpu-host-model-nofallback-kvm.x86_64-6.1.0.args | 2 +- .../cpu-host-model-nofallback-kvm.x86_64-6.2.0.args | 2 +- .../cpu-host-model-nofallback-kvm.x86_64-7.0.0.args | 2 +- .../cpu-host-model-nofallback-kvm.x86_64-7.1.0.args | 2 +- .../cpu-host-model-nofallback-kvm.x86_64-7.2.0.args | 2 +- .../cpu-host-model-nofallback-kvm.x86_64-8.0.0.args | 2 +- .../cpu-host-model-nofallback-kvm.x86_64-8.1.0.args | 2 +- .../cpu-host-model-nofallback-kvm.x86_64-latest.args | 2 +- .../cpu-host-model-nofallback-tcg.x86_64-7.2.0.args | 2 +- .../cpu-host-model-nofallback-tcg.x86_64-8.0.0.args | 2 +- .../cpu-host-model-nofallback-tcg.x86_64-8.1.0.args | 2 +- .../cpu-host-model-nofallback-tcg.x86_64-latest.args | 2 +- tests/qemuxml2argvdata/cpu-host-model-tcg.x86_64-7.2.0.args | 2 +- tests/qemuxml2argvdata/cpu-host-model-tcg.x86_64-8.0.0.args | 2 +- tests/qemuxml2argvdata/cpu-host-model-tcg.x86_64-8.1.0.args | 2 +- tests/qemuxml2argvdata/cpu-host-model-tcg.x86_64-latest.args | 2 +- .../cpu-host-model-vendor.x86_64-latest.args | 2 +- tests/qemuxml2argvdata/cpu-minimum1.x86_64-latest.args | 2 +- tests/qemuxml2argvdata/cpu-minimum2.x86_64-latest.args | 2 +- tests/qemuxml2argvdata/cpu-nofallback.x86_64-8.0.0.args | 2 +- .../cpu-phys-bits-emulate2.x86_64-latest.args | 2 +- tests/qemuxml2argvdata/cpu-strict1.x86_64-latest.args | 2 +- tests/qemuxml2argvdata/cpu-translation.x86_64-latest.args | 2 +- tests/qemuxml2argvdata/cpu-tsc-frequency.x86_64-latest.args | 2 +- 70 files changed, 73 insertions(+), 70 deletions(-)
diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 54fb8220e8..be9cbe4915 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -6267,7 +6267,10 @@ qemuBuildCpuModelArgStr(virQEMUDriver *driver, break;
case VIR_CPU_MODE_CUSTOM: - virBufferAdd(buf, cpu->model, -1); + if (cpu->canonical_model) + virBufferAdd(buf, cpu->canonical_model, -1); + else + virBufferAdd(buf, cpu->model, -1); break;
This isn't checking whether QEMU supports the versioned CPU model or not. QEMU has had 'Haswell-noTSX' long before 'Haswell-v2' was added. Can you check what version QEMU introduced CPU versions, and whether that's /equal or older/ than our minimum QEMU version. Assuming it is, then record this in the commit message as justification for why this doesn't break compatibility with launching old QEMU. 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 :|

Signed-off-by: Jonathon Jongsma <jjongsma@redhat.com> --- src/cpu_map/index.xml | 6 + src/cpu_map/meson.build | 6 + src/cpu_map/x86_EPYC-Milan-v2.xml | 108 ++++++++++++++++++ src/cpu_map/x86_EPYC-Rome-v2.xml | 93 +++++++++++++++ src/cpu_map/x86_EPYC-Rome-v3.xml | 95 +++++++++++++++ src/cpu_map/x86_EPYC-Rome-v4.xml | 94 +++++++++++++++ src/cpu_map/x86_EPYC-v3.xml | 87 ++++++++++++++ src/cpu_map/x86_EPYC-v4.xml | 88 ++++++++++++++ .../x86_64-cpuid-EPYC-7502-32-Core-host.xml | 5 +- .../x86_64-cpuid-EPYC-7601-32-Core-guest.xml | 9 +- ...6_64-cpuid-EPYC-7601-32-Core-ibpb-host.xml | 8 +- ...4-cpuid-Ryzen-7-1800X-Eight-Core-guest.xml | 9 +- .../domaincapsdata/qemu_5.0.0-q35.x86_64.xml | 1 + .../domaincapsdata/qemu_5.0.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_5.0.0.x86_64.xml | 1 + .../domaincapsdata/qemu_5.1.0-q35.x86_64.xml | 1 + .../domaincapsdata/qemu_5.1.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_5.1.0.x86_64.xml | 1 + .../domaincapsdata/qemu_5.2.0-q35.x86_64.xml | 1 + .../domaincapsdata/qemu_5.2.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_5.2.0.x86_64.xml | 1 + .../domaincapsdata/qemu_6.0.0-q35.x86_64.xml | 2 + .../domaincapsdata/qemu_6.0.0-tcg.x86_64.xml | 2 + tests/domaincapsdata/qemu_6.0.0.x86_64.xml | 2 + .../domaincapsdata/qemu_6.1.0-q35.x86_64.xml | 2 + .../domaincapsdata/qemu_6.1.0-tcg.x86_64.xml | 2 + tests/domaincapsdata/qemu_6.1.0.x86_64.xml | 2 + .../domaincapsdata/qemu_6.2.0-q35.x86_64.xml | 2 + .../domaincapsdata/qemu_6.2.0-tcg.x86_64.xml | 2 + tests/domaincapsdata/qemu_6.2.0.x86_64.xml | 2 + .../domaincapsdata/qemu_7.0.0-q35.x86_64.xml | 2 + .../domaincapsdata/qemu_7.0.0-tcg.x86_64.xml | 2 + tests/domaincapsdata/qemu_7.0.0.x86_64.xml | 2 + .../domaincapsdata/qemu_7.1.0-q35.x86_64.xml | 2 + .../domaincapsdata/qemu_7.1.0-tcg.x86_64.xml | 2 + tests/domaincapsdata/qemu_7.1.0.x86_64.xml | 2 + .../domaincapsdata/qemu_7.2.0-q35.x86_64.xml | 2 + .../qemu_7.2.0-tcg.x86_64+hvf.xml | 2 + .../domaincapsdata/qemu_7.2.0-tcg.x86_64.xml | 2 + tests/domaincapsdata/qemu_7.2.0.x86_64.xml | 2 + .../domaincapsdata/qemu_8.0.0-q35.x86_64.xml | 2 + .../domaincapsdata/qemu_8.0.0-tcg.x86_64.xml | 2 + tests/domaincapsdata/qemu_8.0.0.x86_64.xml | 2 + .../domaincapsdata/qemu_8.1.0-q35.x86_64.xml | 11 +- .../domaincapsdata/qemu_8.1.0-tcg.x86_64.xml | 6 + tests/domaincapsdata/qemu_8.1.0.x86_64.xml | 11 +- .../domaincapsdata/qemu_8.2.0-q35.x86_64.xml | 11 +- .../domaincapsdata/qemu_8.2.0-tcg.x86_64.xml | 6 + tests/domaincapsdata/qemu_8.2.0.x86_64.xml | 11 +- ...-host-model-fallback-kvm.x86_64-8.1.0.args | 2 +- ...host-model-fallback-kvm.x86_64-latest.args | 2 +- .../cpu-host-model-kvm.x86_64-8.1.0.args | 2 +- .../cpu-host-model-kvm.x86_64-latest.args | 2 +- ...ost-model-nofallback-kvm.x86_64-8.1.0.args | 2 +- ...st-model-nofallback-kvm.x86_64-latest.args | 2 +- 55 files changed, 686 insertions(+), 43 deletions(-) create mode 100644 src/cpu_map/x86_EPYC-Milan-v2.xml create mode 100644 src/cpu_map/x86_EPYC-Rome-v2.xml create mode 100644 src/cpu_map/x86_EPYC-Rome-v3.xml create mode 100644 src/cpu_map/x86_EPYC-Rome-v4.xml create mode 100644 src/cpu_map/x86_EPYC-v3.xml create mode 100644 src/cpu_map/x86_EPYC-v4.xml diff --git a/src/cpu_map/index.xml b/src/cpu_map/index.xml index d2c5af5797..861edc3bb7 100644 --- a/src/cpu_map/index.xml +++ b/src/cpu_map/index.xml @@ -67,9 +67,15 @@ <include filename='x86_Opteron_G4.xml'/> <include filename='x86_Opteron_G5.xml'/> <include filename='x86_EPYC.xml'/> + <include filename='x86_EPYC-v3.xml'/> + <include filename='x86_EPYC-v4.xml'/> <include filename='x86_EPYC-IBPB.xml'/> <include filename='x86_EPYC-Rome.xml'/> + <include filename='x86_EPYC-Rome-v2.xml'/> + <include filename='x86_EPYC-Rome-v3.xml'/> + <include filename='x86_EPYC-Rome-v4.xml'/> <include filename='x86_EPYC-Milan.xml'/> + <include filename='x86_EPYC-Milan-v2.xml'/> <include filename='x86_EPYC-Genoa.xml'/> <!-- Hygon CPU models --> diff --git a/src/cpu_map/meson.build b/src/cpu_map/meson.build index ae5293e85f..68e093e041 100644 --- a/src/cpu_map/meson.build +++ b/src/cpu_map/meson.build @@ -39,8 +39,14 @@ cpumap_data = [ 'x86_Dhyana.xml', 'x86_EPYC-IBPB.xml', 'x86_EPYC.xml', + 'x86_EPYC-v3.xml', + 'x86_EPYC-v4.xml', 'x86_EPYC-Genoa.xml', + 'x86_EPYC-Milan-v2.xml', 'x86_EPYC-Milan.xml', + 'x86_EPYC-Rome-v2.xml', + 'x86_EPYC-Rome-v3.xml', + 'x86_EPYC-Rome-v4.xml', 'x86_EPYC-Rome.xml', 'x86_features.xml', 'x86_Haswell-IBRS.xml', diff --git a/src/cpu_map/x86_EPYC-Milan-v2.xml b/src/cpu_map/x86_EPYC-Milan-v2.xml new file mode 100644 index 0000000000..4cadba2325 --- /dev/null +++ b/src/cpu_map/x86_EPYC-Milan-v2.xml @@ -0,0 +1,108 @@ +<!-- extra info from qemu: + 'model.level': '0xd' + 'model.stepping': '1' + 'model.xlevel': '0x8000001E' + 'model.model_id': 'AMD EPYC-Milan Processor' + 'model.cache_info': '&epyc_milan_cache_info' + 'property.model-id': 'AMD EPYC-Milan-v2 Processor' + 'version.cache_info': '&epyc_milan_v2_cache_info' +--> +<cpus> + <model name='EPYC-Milan-v2'> + <decode host='on' guest='on'/> + <signature family='25' model='1'/> + <vendor name='AMD'/> + <feature name='3dnowprefetch'/> + <feature name='abm'/> + <feature name='adx'/> + <feature name='aes'/> + <feature name='amd-psfd'/> + <feature name='amd-ssbd'/> + <feature name='amd-stibp'/> + <feature name='apic'/> + <feature name='arat'/> + <feature name='avx'/> + <feature name='avx2'/> + <feature name='bmi1'/> + <feature name='bmi2'/> + <feature name='clflush'/> + <feature name='clflushopt'/> + <feature name='clwb'/> + <feature name='clzero'/> + <feature name='cmov'/> + <feature name='cr8legacy'/> + <feature name='cx16'/> + <feature name='cx8'/> + <feature name='de'/> + <feature name='erms'/> + <feature name='f16c'/> + <feature name='fma'/> + <feature name='fpu'/> + <feature name='fsgsbase'/> + <feature name='fsrm'/> + <feature name='fxsr'/> + <feature name='fxsr_opt'/> + <feature name='ibpb'/> + <feature name='ibrs'/> + <feature name='invpcid'/> + <feature name='lahf_lm'/> + <feature name='lfence-always-serializing'/> + <feature name='lm'/> + <feature name='mca'/> + <feature name='mce'/> + <feature name='misalignsse'/> + <feature name='mmx'/> + <feature name='mmxext'/> + <feature name='movbe'/> + <feature name='msr'/> + <feature name='mtrr'/> + <feature name='no-nested-data-bp'/> + <feature name='npt'/> + <feature name='nrip-save'/> + <feature name='null-sel-clr-base'/> + <feature name='nx'/> + <feature name='osvw'/> + <feature name='pae'/> + <feature name='pat'/> + <feature name='pcid'/> + <feature name='pclmuldq'/> + <feature name='pdpe1gb'/> + <feature name='perfctr_core'/> + <feature name='pge'/> + <feature name='pku'/> + <feature name='pni'/> + <feature name='popcnt'/> + <feature name='pse'/> + <feature name='pse36'/> + <feature name='rdpid'/> + <feature name='rdrand'/> + <feature name='rdseed'/> + <feature name='rdtscp'/> + <feature name='sep'/> + <feature name='sha-ni'/> + <feature name='smap'/> + <feature name='smep'/> + <feature name='sse'/> + <feature name='sse2'/> + <feature name='sse4.1'/> + <feature name='sse4.2'/> + <feature name='sse4a'/> + <feature name='ssse3'/> + <feature name='stibp-always-on'/> + <feature name='svm'/> + <feature name='svme-addr-chk'/> + <feature name='syscall'/> + <feature name='tsc'/> + <feature name='umip'/> + <feature name='vaes'/> + <feature name='vme'/> + <feature name='vpclmulqdq'/> + <feature name='wbnoinvd'/> + <feature name='xgetbv1'/> + <feature name='xsave'/> + <feature name='xsavec'/> + <feature name='xsaveerptr'/> + <feature name='xsaveopt'/> + <feature name='xsaves'/> + </model> +</cpus> diff --git a/src/cpu_map/x86_EPYC-Rome-v2.xml b/src/cpu_map/x86_EPYC-Rome-v2.xml new file mode 100644 index 0000000000..0cade90cdc --- /dev/null +++ b/src/cpu_map/x86_EPYC-Rome-v2.xml @@ -0,0 +1,93 @@ +<!-- extra info from qemu: + 'model.level': '0xd' + 'model.stepping': '0' + 'model.xlevel': '0x8000001E' + 'model.model_id': 'AMD EPYC-Rome Processor' + 'model.cache_info': '&epyc_rome_cache_info' +--> +<cpus> + <model name='EPYC-Rome-v2'> + <decode host='on' guest='on'/> + <signature family='23' model='49'/> + <vendor name='AMD'/> + <feature name='3dnowprefetch'/> + <feature name='abm'/> + <feature name='adx'/> + <feature name='aes'/> + <feature name='amd-ssbd'/> + <feature name='amd-stibp'/> + <feature name='apic'/> + <feature name='arat'/> + <feature name='avx'/> + <feature name='avx2'/> + <feature name='bmi1'/> + <feature name='bmi2'/> + <feature name='clflush'/> + <feature name='clflushopt'/> + <feature name='clwb'/> + <feature name='clzero'/> + <feature name='cmov'/> + <feature name='cr8legacy'/> + <feature name='cx16'/> + <feature name='cx8'/> + <feature name='de'/> + <feature name='f16c'/> + <feature name='fma'/> + <feature name='fpu'/> + <feature name='fsgsbase'/> + <feature name='fxsr'/> + <feature name='fxsr_opt'/> + <feature name='ibpb'/> + <feature name='ibrs'/> + <feature name='lahf_lm'/> + <feature name='lm'/> + <feature name='mca'/> + <feature name='mce'/> + <feature name='misalignsse'/> + <feature name='mmx'/> + <feature name='mmxext'/> + <feature name='movbe'/> + <feature name='msr'/> + <feature name='mtrr'/> + <feature name='npt'/> + <feature name='nrip-save'/> + <feature name='nx'/> + <feature name='osvw'/> + <feature name='pae'/> + <feature name='pat'/> + <feature name='pclmuldq'/> + <feature name='pdpe1gb'/> + <feature name='perfctr_core'/> + <feature name='pge'/> + <feature name='pni'/> + <feature name='popcnt'/> + <feature name='pse'/> + <feature name='pse36'/> + <feature name='rdpid'/> + <feature name='rdrand'/> + <feature name='rdseed'/> + <feature name='rdtscp'/> + <feature name='sep'/> + <feature name='sha-ni'/> + <feature name='smap'/> + <feature name='smep'/> + <feature name='sse'/> + <feature name='sse2'/> + <feature name='sse4.1'/> + <feature name='sse4.2'/> + <feature name='sse4a'/> + <feature name='ssse3'/> + <feature name='svm'/> + <feature name='syscall'/> + <feature name='tsc'/> + <feature name='umip'/> + <feature name='vme'/> + <feature name='wbnoinvd'/> + <feature name='xgetbv1'/> + <feature name='xsave'/> + <feature name='xsavec'/> + <feature name='xsaveerptr'/> + <feature name='xsaveopt'/> + <feature name='xsaves'/> + </model> +</cpus> diff --git a/src/cpu_map/x86_EPYC-Rome-v3.xml b/src/cpu_map/x86_EPYC-Rome-v3.xml new file mode 100644 index 0000000000..6b8f07c7f2 --- /dev/null +++ b/src/cpu_map/x86_EPYC-Rome-v3.xml @@ -0,0 +1,95 @@ +<!-- extra info from qemu: + 'model.level': '0xd' + 'model.stepping': '0' + 'model.xlevel': '0x8000001E' + 'model.model_id': 'AMD EPYC-Rome Processor' + 'model.cache_info': '&epyc_rome_cache_info' + 'property.model-id': 'AMD EPYC-Rome-v3 Processor' + 'version.cache_info': '&epyc_rome_v3_cache_info' +--> +<cpus> + <model name='EPYC-Rome-v3'> + <decode host='on' guest='on'/> + <signature family='23' model='49'/> + <vendor name='AMD'/> + <feature name='3dnowprefetch'/> + <feature name='abm'/> + <feature name='adx'/> + <feature name='aes'/> + <feature name='amd-ssbd'/> + <feature name='amd-stibp'/> + <feature name='apic'/> + <feature name='arat'/> + <feature name='avx'/> + <feature name='avx2'/> + <feature name='bmi1'/> + <feature name='bmi2'/> + <feature name='clflush'/> + <feature name='clflushopt'/> + <feature name='clwb'/> + <feature name='clzero'/> + <feature name='cmov'/> + <feature name='cr8legacy'/> + <feature name='cx16'/> + <feature name='cx8'/> + <feature name='de'/> + <feature name='f16c'/> + <feature name='fma'/> + <feature name='fpu'/> + <feature name='fsgsbase'/> + <feature name='fxsr'/> + <feature name='fxsr_opt'/> + <feature name='ibpb'/> + <feature name='ibrs'/> + <feature name='lahf_lm'/> + <feature name='lm'/> + <feature name='mca'/> + <feature name='mce'/> + <feature name='misalignsse'/> + <feature name='mmx'/> + <feature name='mmxext'/> + <feature name='movbe'/> + <feature name='msr'/> + <feature name='mtrr'/> + <feature name='npt'/> + <feature name='nrip-save'/> + <feature name='nx'/> + <feature name='osvw'/> + <feature name='pae'/> + <feature name='pat'/> + <feature name='pclmuldq'/> + <feature name='pdpe1gb'/> + <feature name='perfctr_core'/> + <feature name='pge'/> + <feature name='pni'/> + <feature name='popcnt'/> + <feature name='pse'/> + <feature name='pse36'/> + <feature name='rdpid'/> + <feature name='rdrand'/> + <feature name='rdseed'/> + <feature name='rdtscp'/> + <feature name='sep'/> + <feature name='sha-ni'/> + <feature name='smap'/> + <feature name='smep'/> + <feature name='sse'/> + <feature name='sse2'/> + <feature name='sse4.1'/> + <feature name='sse4.2'/> + <feature name='sse4a'/> + <feature name='ssse3'/> + <feature name='svm'/> + <feature name='syscall'/> + <feature name='tsc'/> + <feature name='umip'/> + <feature name='vme'/> + <feature name='wbnoinvd'/> + <feature name='xgetbv1'/> + <feature name='xsave'/> + <feature name='xsavec'/> + <feature name='xsaveerptr'/> + <feature name='xsaveopt'/> + <feature name='xsaves'/> + </model> +</cpus> diff --git a/src/cpu_map/x86_EPYC-Rome-v4.xml b/src/cpu_map/x86_EPYC-Rome-v4.xml new file mode 100644 index 0000000000..e69f910e56 --- /dev/null +++ b/src/cpu_map/x86_EPYC-Rome-v4.xml @@ -0,0 +1,94 @@ +<!-- extra info from qemu: + 'model.level': '0xd' + 'model.stepping': '0' + 'model.xlevel': '0x8000001E' + 'model.model_id': 'AMD EPYC-Rome Processor' + 'model.cache_info': '&epyc_rome_cache_info' + 'property.model-id': 'AMD EPYC-Rome-v4 Processor (no XSAVES)' + 'version.cache_info': '&epyc_rome_v3_cache_info' +--> +<cpus> + <model name='EPYC-Rome-v4'> + <decode host='on' guest='on'/> + <signature family='23' model='49'/> + <vendor name='AMD'/> + <feature name='3dnowprefetch'/> + <feature name='abm'/> + <feature name='adx'/> + <feature name='aes'/> + <feature name='amd-ssbd'/> + <feature name='amd-stibp'/> + <feature name='apic'/> + <feature name='arat'/> + <feature name='avx'/> + <feature name='avx2'/> + <feature name='bmi1'/> + <feature name='bmi2'/> + <feature name='clflush'/> + <feature name='clflushopt'/> + <feature name='clwb'/> + <feature name='clzero'/> + <feature name='cmov'/> + <feature name='cr8legacy'/> + <feature name='cx16'/> + <feature name='cx8'/> + <feature name='de'/> + <feature name='f16c'/> + <feature name='fma'/> + <feature name='fpu'/> + <feature name='fsgsbase'/> + <feature name='fxsr'/> + <feature name='fxsr_opt'/> + <feature name='ibpb'/> + <feature name='ibrs'/> + <feature name='lahf_lm'/> + <feature name='lm'/> + <feature name='mca'/> + <feature name='mce'/> + <feature name='misalignsse'/> + <feature name='mmx'/> + <feature name='mmxext'/> + <feature name='movbe'/> + <feature name='msr'/> + <feature name='mtrr'/> + <feature name='npt'/> + <feature name='nrip-save'/> + <feature name='nx'/> + <feature name='osvw'/> + <feature name='pae'/> + <feature name='pat'/> + <feature name='pclmuldq'/> + <feature name='pdpe1gb'/> + <feature name='perfctr_core'/> + <feature name='pge'/> + <feature name='pni'/> + <feature name='popcnt'/> + <feature name='pse'/> + <feature name='pse36'/> + <feature name='rdpid'/> + <feature name='rdrand'/> + <feature name='rdseed'/> + <feature name='rdtscp'/> + <feature name='sep'/> + <feature name='sha-ni'/> + <feature name='smap'/> + <feature name='smep'/> + <feature name='sse'/> + <feature name='sse2'/> + <feature name='sse4.1'/> + <feature name='sse4.2'/> + <feature name='sse4a'/> + <feature name='ssse3'/> + <feature name='svm'/> + <feature name='syscall'/> + <feature name='tsc'/> + <feature name='umip'/> + <feature name='vme'/> + <feature name='wbnoinvd'/> + <feature name='xgetbv1'/> + <feature name='xsave'/> + <feature name='xsavec'/> + <feature name='xsaveerptr'/> + <feature name='xsaveopt'/> + </model> +</cpus> diff --git a/src/cpu_map/x86_EPYC-v3.xml b/src/cpu_map/x86_EPYC-v3.xml new file mode 100644 index 0000000000..fb587218c7 --- /dev/null +++ b/src/cpu_map/x86_EPYC-v3.xml @@ -0,0 +1,87 @@ +<!-- extra info from qemu: + 'model.level': '0xd' + 'model.stepping': '2' + 'model.xlevel': '0x8000001E' + 'model.model_id': 'AMD EPYC Processor' + 'model.cache_info': '&epyc_cache_info' + 'property.model-id': 'AMD EPYC Processor' +--> +<cpus> + <model name='EPYC-v3'> + <decode host='on' guest='on'/> + <signature family='23' model='1'/> + <vendor name='AMD'/> + <feature name='3dnowprefetch'/> + <feature name='abm'/> + <feature name='adx'/> + <feature name='aes'/> + <feature name='apic'/> + <feature name='arat'/> + <feature name='avx'/> + <feature name='avx2'/> + <feature name='bmi1'/> + <feature name='bmi2'/> + <feature name='clflush'/> + <feature name='clflushopt'/> + <feature name='clzero'/> + <feature name='cmov'/> + <feature name='cr8legacy'/> + <feature name='cx16'/> + <feature name='cx8'/> + <feature name='de'/> + <feature name='f16c'/> + <feature name='fma'/> + <feature name='fpu'/> + <feature name='fsgsbase'/> + <feature name='fxsr'/> + <feature name='fxsr_opt'/> + <feature name='ibpb'/> + <feature name='lahf_lm'/> + <feature name='lm'/> + <feature name='mca'/> + <feature name='mce'/> + <feature name='misalignsse'/> + <feature name='mmx'/> + <feature name='mmxext'/> + <feature name='movbe'/> + <feature name='msr'/> + <feature name='mtrr'/> + <feature name='npt'/> + <feature name='nrip-save'/> + <feature name='nx'/> + <feature name='osvw'/> + <feature name='pae'/> + <feature name='pat'/> + <feature name='pclmuldq'/> + <feature name='pdpe1gb'/> + <feature name='perfctr_core'/> + <feature name='pge'/> + <feature name='pni'/> + <feature name='popcnt'/> + <feature name='pse'/> + <feature name='pse36'/> + <feature name='rdrand'/> + <feature name='rdseed'/> + <feature name='rdtscp'/> + <feature name='sep'/> + <feature name='sha-ni'/> + <feature name='smap'/> + <feature name='smep'/> + <feature name='sse'/> + <feature name='sse2'/> + <feature name='sse4.1'/> + <feature name='sse4.2'/> + <feature name='sse4a'/> + <feature name='ssse3'/> + <feature name='svm'/> + <feature name='syscall'/> + <feature name='tsc'/> + <feature name='vme'/> + <feature name='xgetbv1'/> + <feature name='xsave'/> + <feature name='xsavec'/> + <feature name='xsaveerptr'/> + <feature name='xsaveopt'/> + <feature name='xsaves'/> + </model> +</cpus> diff --git a/src/cpu_map/x86_EPYC-v4.xml b/src/cpu_map/x86_EPYC-v4.xml new file mode 100644 index 0000000000..e714d9e622 --- /dev/null +++ b/src/cpu_map/x86_EPYC-v4.xml @@ -0,0 +1,88 @@ +<!-- extra info from qemu: + 'model.level': '0xd' + 'model.stepping': '2' + 'model.xlevel': '0x8000001E' + 'model.model_id': 'AMD EPYC Processor' + 'model.cache_info': '&epyc_cache_info' + 'property.model-id': 'AMD EPYC-v4 Processor' + 'version.cache_info': '&epyc_v4_cache_info' +--> +<cpus> + <model name='EPYC-v4'> + <decode host='on' guest='on'/> + <signature family='23' model='1'/> + <vendor name='AMD'/> + <feature name='3dnowprefetch'/> + <feature name='abm'/> + <feature name='adx'/> + <feature name='aes'/> + <feature name='apic'/> + <feature name='arat'/> + <feature name='avx'/> + <feature name='avx2'/> + <feature name='bmi1'/> + <feature name='bmi2'/> + <feature name='clflush'/> + <feature name='clflushopt'/> + <feature name='clzero'/> + <feature name='cmov'/> + <feature name='cr8legacy'/> + <feature name='cx16'/> + <feature name='cx8'/> + <feature name='de'/> + <feature name='f16c'/> + <feature name='fma'/> + <feature name='fpu'/> + <feature name='fsgsbase'/> + <feature name='fxsr'/> + <feature name='fxsr_opt'/> + <feature name='ibpb'/> + <feature name='lahf_lm'/> + <feature name='lm'/> + <feature name='mca'/> + <feature name='mce'/> + <feature name='misalignsse'/> + <feature name='mmx'/> + <feature name='mmxext'/> + <feature name='movbe'/> + <feature name='msr'/> + <feature name='mtrr'/> + <feature name='npt'/> + <feature name='nrip-save'/> + <feature name='nx'/> + <feature name='osvw'/> + <feature name='pae'/> + <feature name='pat'/> + <feature name='pclmuldq'/> + <feature name='pdpe1gb'/> + <feature name='perfctr_core'/> + <feature name='pge'/> + <feature name='pni'/> + <feature name='popcnt'/> + <feature name='pse'/> + <feature name='pse36'/> + <feature name='rdrand'/> + <feature name='rdseed'/> + <feature name='rdtscp'/> + <feature name='sep'/> + <feature name='sha-ni'/> + <feature name='smap'/> + <feature name='smep'/> + <feature name='sse'/> + <feature name='sse2'/> + <feature name='sse4.1'/> + <feature name='sse4.2'/> + <feature name='sse4a'/> + <feature name='ssse3'/> + <feature name='svm'/> + <feature name='syscall'/> + <feature name='tsc'/> + <feature name='vme'/> + <feature name='xgetbv1'/> + <feature name='xsave'/> + <feature name='xsavec'/> + <feature name='xsaveerptr'/> + <feature name='xsaveopt'/> + <feature name='xsaves'/> + </model> +</cpus> diff --git a/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-host.xml b/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-host.xml index e348e0f6f6..c9ad653497 100644 --- a/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-host.xml +++ b/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-host.xml @@ -1,13 +1,12 @@ <cpu> <arch>x86_64</arch> - <model>EPYC-Rome</model> + <model>EPYC-Rome-v3</model> <vendor>AMD</vendor> <signature family='23' model='49' stepping='0'/> <feature name='ht'/> <feature name='monitor'/> <feature name='osxsave'/> <feature name='cmt'/> - <feature name='xsaves'/> <feature name='mbm_total'/> <feature name='mbm_local'/> <feature name='cmp_legacy'/> @@ -19,8 +18,6 @@ <feature name='topoext'/> <feature name='perfctr_nb'/> <feature name='invtsc'/> - <feature name='ibrs'/> - <feature name='amd-ssbd'/> <feature name='lbrv'/> <feature name='svm-lock'/> <feature name='tsc-scale'/> diff --git a/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-guest.xml b/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-guest.xml index 486b41815d..f3e5164efc 100644 --- a/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-guest.xml +++ b/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-guest.xml @@ -1,25 +1,19 @@ <cpu mode='custom' match='exact'> - <model fallback='forbid'>EPYC</model> + <model fallback='forbid'>EPYC-v4</model> <vendor>AMD</vendor> <feature policy='require' name='ht'/> <feature policy='require' name='monitor'/> <feature policy='require' name='osxsave'/> - <feature policy='require' name='xsaves'/> <feature policy='require' name='cmp_legacy'/> <feature policy='require' name='extapic'/> <feature policy='require' name='skinit'/> <feature policy='require' name='wdt'/> <feature policy='require' name='tce'/> <feature policy='require' name='topoext'/> - <feature policy='require' name='perfctr_core'/> <feature policy='require' name='perfctr_nb'/> <feature policy='require' name='invtsc'/> - <feature policy='require' name='clzero'/> - <feature policy='require' name='xsaveerptr'/> - <feature policy='require' name='npt'/> <feature policy='require' name='lbrv'/> <feature policy='require' name='svm-lock'/> - <feature policy='require' name='nrip-save'/> <feature policy='require' name='tsc-scale'/> <feature policy='require' name='vmcb-clean'/> <feature policy='require' name='flushbyasid'/> @@ -29,4 +23,5 @@ <feature policy='require' name='avic'/> <feature policy='require' name='v-vmsave-vmload'/> <feature policy='require' name='vgif'/> + <feature policy='disable' name='ibpb'/> </cpu> diff --git a/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-ibpb-host.xml b/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-ibpb-host.xml index 42b8b5f986..1a6ecf839e 100644 --- a/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-ibpb-host.xml +++ b/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-ibpb-host.xml @@ -1,27 +1,21 @@ <cpu> <arch>x86_64</arch> - <model>EPYC-IBPB</model> + <model>EPYC-v4</model> <vendor>AMD</vendor> <signature family='23' model='1' stepping='2'/> <feature name='ht'/> <feature name='monitor'/> <feature name='osxsave'/> - <feature name='xsaves'/> <feature name='cmp_legacy'/> <feature name='extapic'/> <feature name='skinit'/> <feature name='wdt'/> <feature name='tce'/> <feature name='topoext'/> - <feature name='perfctr_core'/> <feature name='perfctr_nb'/> <feature name='invtsc'/> - <feature name='clzero'/> - <feature name='xsaveerptr'/> - <feature name='npt'/> <feature name='lbrv'/> <feature name='svm-lock'/> - <feature name='nrip-save'/> <feature name='tsc-scale'/> <feature name='vmcb-clean'/> <feature name='flushbyasid'/> diff --git a/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core-guest.xml b/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core-guest.xml index 486b41815d..f3e5164efc 100644 --- a/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core-guest.xml +++ b/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core-guest.xml @@ -1,25 +1,19 @@ <cpu mode='custom' match='exact'> - <model fallback='forbid'>EPYC</model> + <model fallback='forbid'>EPYC-v4</model> <vendor>AMD</vendor> <feature policy='require' name='ht'/> <feature policy='require' name='monitor'/> <feature policy='require' name='osxsave'/> - <feature policy='require' name='xsaves'/> <feature policy='require' name='cmp_legacy'/> <feature policy='require' name='extapic'/> <feature policy='require' name='skinit'/> <feature policy='require' name='wdt'/> <feature policy='require' name='tce'/> <feature policy='require' name='topoext'/> - <feature policy='require' name='perfctr_core'/> <feature policy='require' name='perfctr_nb'/> <feature policy='require' name='invtsc'/> - <feature policy='require' name='clzero'/> - <feature policy='require' name='xsaveerptr'/> - <feature policy='require' name='npt'/> <feature policy='require' name='lbrv'/> <feature policy='require' name='svm-lock'/> - <feature policy='require' name='nrip-save'/> <feature policy='require' name='tsc-scale'/> <feature policy='require' name='vmcb-clean'/> <feature policy='require' name='flushbyasid'/> @@ -29,4 +23,5 @@ <feature policy='require' name='avic'/> <feature policy='require' name='v-vmsave-vmload'/> <feature policy='require' name='vgif'/> + <feature policy='disable' name='ibpb'/> </cpu> diff --git a/tests/domaincapsdata/qemu_5.0.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_5.0.0-q35.x86_64.xml index 1d29a40f74..60f65fdffe 100644 --- a/tests/domaincapsdata/qemu_5.0.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_5.0.0-q35.x86_64.xml @@ -170,6 +170,7 @@ <model usable='yes' vendor='Intel'>Haswell-noTSX</model> <model usable='yes' vendor='Intel'>Haswell-IBRS</model> <model usable='yes' vendor='Intel'>Haswell</model> + <model usable='no' vendor='AMD'>EPYC-v3</model> <model usable='no' vendor='AMD'>EPYC-Rome</model> <model usable='no' vendor='AMD'>EPYC-IBPB</model> <model usable='no' vendor='AMD'>EPYC</model> diff --git a/tests/domaincapsdata/qemu_5.0.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_5.0.0-tcg.x86_64.xml index 7b7420ff8e..01906a6277 100644 --- a/tests/domaincapsdata/qemu_5.0.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_5.0.0-tcg.x86_64.xml @@ -115,6 +115,7 @@ <model usable='no' vendor='Intel'>Haswell-noTSX</model> <model usable='no' vendor='Intel'>Haswell-IBRS</model> <model usable='no' vendor='Intel'>Haswell</model> + <model usable='no' vendor='AMD'>EPYC-v3</model> <model usable='no' vendor='AMD'>EPYC-Rome</model> <model usable='no' vendor='AMD'>EPYC-IBPB</model> <model usable='no' vendor='AMD'>EPYC</model> diff --git a/tests/domaincapsdata/qemu_5.0.0.x86_64.xml b/tests/domaincapsdata/qemu_5.0.0.x86_64.xml index f3b3adb19e..12a5d8f66e 100644 --- a/tests/domaincapsdata/qemu_5.0.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_5.0.0.x86_64.xml @@ -169,6 +169,7 @@ <model usable='yes' vendor='Intel'>Haswell-noTSX</model> <model usable='yes' vendor='Intel'>Haswell-IBRS</model> <model usable='yes' vendor='Intel'>Haswell</model> + <model usable='no' vendor='AMD'>EPYC-v3</model> <model usable='no' vendor='AMD'>EPYC-Rome</model> <model usable='no' vendor='AMD'>EPYC-IBPB</model> <model usable='no' vendor='AMD'>EPYC</model> diff --git a/tests/domaincapsdata/qemu_5.1.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_5.1.0-q35.x86_64.xml index 2a8a784813..88291c60de 100644 --- a/tests/domaincapsdata/qemu_5.1.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_5.1.0-q35.x86_64.xml @@ -103,6 +103,7 @@ <model usable='no' vendor='Intel'>Haswell-noTSX</model> <model usable='no' vendor='Intel'>Haswell-IBRS</model> <model usable='no' vendor='Intel'>Haswell</model> + <model usable='yes' vendor='AMD'>EPYC-v3</model> <model usable='yes' vendor='AMD'>EPYC-Rome</model> <model usable='yes' vendor='AMD'>EPYC-IBPB</model> <model usable='yes' vendor='AMD'>EPYC</model> diff --git a/tests/domaincapsdata/qemu_5.1.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_5.1.0-tcg.x86_64.xml index 272d9bed08..a2bce1003a 100644 --- a/tests/domaincapsdata/qemu_5.1.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_5.1.0-tcg.x86_64.xml @@ -115,6 +115,7 @@ <model usable='no' vendor='Intel'>Haswell-noTSX</model> <model usable='no' vendor='Intel'>Haswell-IBRS</model> <model usable='no' vendor='Intel'>Haswell</model> + <model usable='no' vendor='AMD'>EPYC-v3</model> <model usable='no' vendor='AMD'>EPYC-Rome</model> <model usable='no' vendor='AMD'>EPYC-IBPB</model> <model usable='no' vendor='AMD'>EPYC</model> diff --git a/tests/domaincapsdata/qemu_5.1.0.x86_64.xml b/tests/domaincapsdata/qemu_5.1.0.x86_64.xml index 735cd42466..954025cb33 100644 --- a/tests/domaincapsdata/qemu_5.1.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_5.1.0.x86_64.xml @@ -102,6 +102,7 @@ <model usable='no' vendor='Intel'>Haswell-noTSX</model> <model usable='no' vendor='Intel'>Haswell-IBRS</model> <model usable='no' vendor='Intel'>Haswell</model> + <model usable='yes' vendor='AMD'>EPYC-v3</model> <model usable='yes' vendor='AMD'>EPYC-Rome</model> <model usable='yes' vendor='AMD'>EPYC-IBPB</model> <model usable='yes' vendor='AMD'>EPYC</model> 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 968cfe68e8..66753cef10 100644 --- a/tests/domaincapsdata/qemu_5.2.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_5.2.0-q35.x86_64.xml @@ -103,6 +103,7 @@ <model usable='no' vendor='Intel'>Haswell-noTSX</model> <model usable='no' vendor='Intel'>Haswell-IBRS</model> <model usable='no' vendor='Intel'>Haswell</model> + <model usable='yes' vendor='AMD'>EPYC-v3</model> <model usable='yes' vendor='AMD'>EPYC-Rome</model> <model usable='yes' vendor='AMD'>EPYC-IBPB</model> <model usable='yes' vendor='AMD'>EPYC</model> 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 526f39254e..af223af1b8 100644 --- a/tests/domaincapsdata/qemu_5.2.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_5.2.0-tcg.x86_64.xml @@ -115,6 +115,7 @@ <model usable='no' vendor='Intel'>Haswell-noTSX</model> <model usable='no' vendor='Intel'>Haswell-IBRS</model> <model usable='no' vendor='Intel'>Haswell</model> + <model usable='no' vendor='AMD'>EPYC-v3</model> <model usable='no' vendor='AMD'>EPYC-Rome</model> <model usable='no' vendor='AMD'>EPYC-IBPB</model> <model usable='no' vendor='AMD'>EPYC</model> diff --git a/tests/domaincapsdata/qemu_5.2.0.x86_64.xml b/tests/domaincapsdata/qemu_5.2.0.x86_64.xml index 9bbb22b0d8..195d523fa7 100644 --- a/tests/domaincapsdata/qemu_5.2.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_5.2.0.x86_64.xml @@ -102,6 +102,7 @@ <model usable='no' vendor='Intel'>Haswell-noTSX</model> <model usable='no' vendor='Intel'>Haswell-IBRS</model> <model usable='no' vendor='Intel'>Haswell</model> + <model usable='yes' vendor='AMD'>EPYC-v3</model> <model usable='yes' vendor='AMD'>EPYC-Rome</model> <model usable='yes' vendor='AMD'>EPYC-IBPB</model> <model usable='yes' vendor='AMD'>EPYC</model> 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 66da296d8e..a96f1e23fd 100644 --- a/tests/domaincapsdata/qemu_6.0.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.0.0-q35.x86_64.xml @@ -103,6 +103,8 @@ <model usable='no' vendor='Intel'>Haswell-noTSX</model> <model usable='no' vendor='Intel'>Haswell-IBRS</model> <model usable='no' vendor='Intel'>Haswell</model> + <model usable='yes' vendor='AMD'>EPYC-v3</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v2</model> <model usable='yes' vendor='AMD'>EPYC-Rome</model> <model usable='no' vendor='AMD'>EPYC-Milan</model> <model usable='yes' vendor='AMD'>EPYC-IBPB</model> 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 0ffd95aee6..1a00383168 100644 --- a/tests/domaincapsdata/qemu_6.0.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.0.0-tcg.x86_64.xml @@ -116,6 +116,8 @@ <model usable='no' vendor='Intel'>Haswell-noTSX</model> <model usable='no' vendor='Intel'>Haswell-IBRS</model> <model usable='no' vendor='Intel'>Haswell</model> + <model usable='no' vendor='AMD'>EPYC-v3</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v2</model> <model usable='no' vendor='AMD'>EPYC-Rome</model> <model usable='no' vendor='AMD'>EPYC-Milan</model> <model usable='no' vendor='AMD'>EPYC-IBPB</model> diff --git a/tests/domaincapsdata/qemu_6.0.0.x86_64.xml b/tests/domaincapsdata/qemu_6.0.0.x86_64.xml index 0af8b9d064..e21b8dc2df 100644 --- a/tests/domaincapsdata/qemu_6.0.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.0.0.x86_64.xml @@ -102,6 +102,8 @@ <model usable='no' vendor='Intel'>Haswell-noTSX</model> <model usable='no' vendor='Intel'>Haswell-IBRS</model> <model usable='no' vendor='Intel'>Haswell</model> + <model usable='yes' vendor='AMD'>EPYC-v3</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v2</model> <model usable='yes' vendor='AMD'>EPYC-Rome</model> <model usable='no' vendor='AMD'>EPYC-Milan</model> <model usable='yes' vendor='AMD'>EPYC-IBPB</model> 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 cc2081955d..bfecc6ffe0 100644 --- a/tests/domaincapsdata/qemu_6.1.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.1.0-q35.x86_64.xml @@ -104,6 +104,8 @@ <model usable='no' vendor='Intel'>Haswell-noTSX</model> <model usable='no' vendor='Intel'>Haswell-IBRS</model> <model usable='no' vendor='Intel'>Haswell</model> + <model usable='yes' vendor='AMD'>EPYC-v3</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v2</model> <model usable='yes' vendor='AMD'>EPYC-Rome</model> <model usable='no' vendor='AMD'>EPYC-Milan</model> <model usable='yes' vendor='AMD'>EPYC-IBPB</model> 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 a80c86df4f..5762bc0b90 100644 --- a/tests/domaincapsdata/qemu_6.1.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.1.0-tcg.x86_64.xml @@ -116,6 +116,8 @@ <model usable='no' vendor='Intel'>Haswell-noTSX</model> <model usable='no' vendor='Intel'>Haswell-IBRS</model> <model usable='no' vendor='Intel'>Haswell</model> + <model usable='no' vendor='AMD'>EPYC-v3</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v2</model> <model usable='no' vendor='AMD'>EPYC-Rome</model> <model usable='no' vendor='AMD'>EPYC-Milan</model> <model usable='no' vendor='AMD'>EPYC-IBPB</model> diff --git a/tests/domaincapsdata/qemu_6.1.0.x86_64.xml b/tests/domaincapsdata/qemu_6.1.0.x86_64.xml index 22f8c8a397..ef3ab32795 100644 --- a/tests/domaincapsdata/qemu_6.1.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.1.0.x86_64.xml @@ -103,6 +103,8 @@ <model usable='no' vendor='Intel'>Haswell-noTSX</model> <model usable='no' vendor='Intel'>Haswell-IBRS</model> <model usable='no' vendor='Intel'>Haswell</model> + <model usable='yes' vendor='AMD'>EPYC-v3</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v2</model> <model usable='yes' vendor='AMD'>EPYC-Rome</model> <model usable='no' vendor='AMD'>EPYC-Milan</model> <model usable='yes' vendor='AMD'>EPYC-IBPB</model> 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 782aa792a9..850762a81b 100644 --- a/tests/domaincapsdata/qemu_6.2.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.2.0-q35.x86_64.xml @@ -104,6 +104,8 @@ <model usable='no' vendor='Intel'>Haswell-noTSX</model> <model usable='no' vendor='Intel'>Haswell-IBRS</model> <model usable='no' vendor='Intel'>Haswell</model> + <model usable='yes' vendor='AMD'>EPYC-v3</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v2</model> <model usable='yes' vendor='AMD'>EPYC-Rome</model> <model usable='no' vendor='AMD'>EPYC-Milan</model> <model usable='yes' vendor='AMD'>EPYC-IBPB</model> 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 7ed62fb522..f90c826e27 100644 --- a/tests/domaincapsdata/qemu_6.2.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.2.0-tcg.x86_64.xml @@ -118,6 +118,8 @@ <model usable='no' vendor='Intel'>Haswell-noTSX</model> <model usable='no' vendor='Intel'>Haswell-IBRS</model> <model usable='no' vendor='Intel'>Haswell</model> + <model usable='no' vendor='AMD'>EPYC-v3</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v2</model> <model usable='no' vendor='AMD'>EPYC-Rome</model> <model usable='no' vendor='AMD'>EPYC-Milan</model> <model usable='no' vendor='AMD'>EPYC-IBPB</model> diff --git a/tests/domaincapsdata/qemu_6.2.0.x86_64.xml b/tests/domaincapsdata/qemu_6.2.0.x86_64.xml index e6283ff153..77feb230c9 100644 --- a/tests/domaincapsdata/qemu_6.2.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.2.0.x86_64.xml @@ -103,6 +103,8 @@ <model usable='no' vendor='Intel'>Haswell-noTSX</model> <model usable='no' vendor='Intel'>Haswell-IBRS</model> <model usable='no' vendor='Intel'>Haswell</model> + <model usable='yes' vendor='AMD'>EPYC-v3</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v2</model> <model usable='yes' vendor='AMD'>EPYC-Rome</model> <model usable='no' vendor='AMD'>EPYC-Milan</model> <model usable='yes' vendor='AMD'>EPYC-IBPB</model> 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 50b2ee2ffe..587843dc95 100644 --- a/tests/domaincapsdata/qemu_7.0.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.0.0-q35.x86_64.xml @@ -105,6 +105,8 @@ <model usable='no' vendor='Intel'>Haswell-noTSX</model> <model usable='no' vendor='Intel'>Haswell-IBRS</model> <model usable='no' vendor='Intel'>Haswell</model> + <model usable='yes' vendor='AMD'>EPYC-v3</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v2</model> <model usable='yes' vendor='AMD'>EPYC-Rome</model> <model usable='no' vendor='AMD'>EPYC-Milan</model> <model usable='yes' vendor='AMD'>EPYC-IBPB</model> 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 3a71b54847..7ef5615473 100644 --- a/tests/domaincapsdata/qemu_7.0.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.0.0-tcg.x86_64.xml @@ -119,6 +119,8 @@ <model usable='no' vendor='Intel'>Haswell-noTSX</model> <model usable='no' vendor='Intel'>Haswell-IBRS</model> <model usable='no' vendor='Intel'>Haswell</model> + <model usable='no' vendor='AMD'>EPYC-v3</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v2</model> <model usable='no' vendor='AMD'>EPYC-Rome</model> <model usable='no' vendor='AMD'>EPYC-Milan</model> <model usable='no' vendor='AMD'>EPYC-IBPB</model> diff --git a/tests/domaincapsdata/qemu_7.0.0.x86_64.xml b/tests/domaincapsdata/qemu_7.0.0.x86_64.xml index fa4b912168..1fbfdc229d 100644 --- a/tests/domaincapsdata/qemu_7.0.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.0.0.x86_64.xml @@ -104,6 +104,8 @@ <model usable='no' vendor='Intel'>Haswell-noTSX</model> <model usable='no' vendor='Intel'>Haswell-IBRS</model> <model usable='no' vendor='Intel'>Haswell</model> + <model usable='yes' vendor='AMD'>EPYC-v3</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v2</model> <model usable='yes' vendor='AMD'>EPYC-Rome</model> <model usable='no' vendor='AMD'>EPYC-Milan</model> <model usable='yes' vendor='AMD'>EPYC-IBPB</model> 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 2eec2e3162..8247daf1da 100644 --- a/tests/domaincapsdata/qemu_7.1.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.1.0-q35.x86_64.xml @@ -104,6 +104,8 @@ <model usable='no' vendor='Intel'>Haswell-noTSX</model> <model usable='no' vendor='Intel'>Haswell-IBRS</model> <model usable='no' vendor='Intel'>Haswell</model> + <model usable='yes' vendor='AMD'>EPYC-v3</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v2</model> <model usable='yes' vendor='AMD'>EPYC-Rome</model> <model usable='no' vendor='AMD'>EPYC-Milan</model> <model usable='yes' vendor='AMD'>EPYC-IBPB</model> 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 1ae2a7c342..df0d5c1b86 100644 --- a/tests/domaincapsdata/qemu_7.1.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.1.0-tcg.x86_64.xml @@ -117,6 +117,8 @@ <model usable='no' vendor='Intel'>Haswell-noTSX</model> <model usable='no' vendor='Intel'>Haswell-IBRS</model> <model usable='no' vendor='Intel'>Haswell</model> + <model usable='no' vendor='AMD'>EPYC-v3</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v2</model> <model usable='no' vendor='AMD'>EPYC-Rome</model> <model usable='no' vendor='AMD'>EPYC-Milan</model> <model usable='no' vendor='AMD'>EPYC-IBPB</model> diff --git a/tests/domaincapsdata/qemu_7.1.0.x86_64.xml b/tests/domaincapsdata/qemu_7.1.0.x86_64.xml index 449e1b51d1..197e088d32 100644 --- a/tests/domaincapsdata/qemu_7.1.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.1.0.x86_64.xml @@ -103,6 +103,8 @@ <model usable='no' vendor='Intel'>Haswell-noTSX</model> <model usable='no' vendor='Intel'>Haswell-IBRS</model> <model usable='no' vendor='Intel'>Haswell</model> + <model usable='yes' vendor='AMD'>EPYC-v3</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v2</model> <model usable='yes' vendor='AMD'>EPYC-Rome</model> <model usable='no' vendor='AMD'>EPYC-Milan</model> <model usable='yes' vendor='AMD'>EPYC-IBPB</model> 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 e48a07da28..0e06734522 100644 --- a/tests/domaincapsdata/qemu_7.2.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.2.0-q35.x86_64.xml @@ -109,6 +109,8 @@ <model usable='no' vendor='Intel'>Haswell-noTSX</model> <model usable='no' vendor='Intel'>Haswell-IBRS</model> <model usable='no' vendor='Intel'>Haswell</model> + <model usable='yes' vendor='AMD'>EPYC-v3</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v2</model> <model usable='yes' vendor='AMD'>EPYC-Rome</model> <model usable='no' vendor='AMD'>EPYC-Milan</model> <model usable='yes' vendor='AMD'>EPYC-IBPB</model> 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 69b6be7616..841b640c15 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 @@ -106,6 +106,8 @@ <model usable='no' vendor='Intel'>Haswell-noTSX</model> <model usable='no' vendor='Intel'>Haswell-IBRS</model> <model usable='no' vendor='Intel'>Haswell</model> + <model usable='no' vendor='AMD'>EPYC-v3</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v2</model> <model usable='no' vendor='AMD'>EPYC-Rome</model> <model usable='no' vendor='AMD'>EPYC-Milan</model> <model usable='no' vendor='AMD'>EPYC-IBPB</model> 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 69b6be7616..841b640c15 100644 --- a/tests/domaincapsdata/qemu_7.2.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.2.0-tcg.x86_64.xml @@ -106,6 +106,8 @@ <model usable='no' vendor='Intel'>Haswell-noTSX</model> <model usable='no' vendor='Intel'>Haswell-IBRS</model> <model usable='no' vendor='Intel'>Haswell</model> + <model usable='no' vendor='AMD'>EPYC-v3</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v2</model> <model usable='no' vendor='AMD'>EPYC-Rome</model> <model usable='no' vendor='AMD'>EPYC-Milan</model> <model usable='no' vendor='AMD'>EPYC-IBPB</model> diff --git a/tests/domaincapsdata/qemu_7.2.0.x86_64.xml b/tests/domaincapsdata/qemu_7.2.0.x86_64.xml index d116cf2e48..9cafaf2f0f 100644 --- a/tests/domaincapsdata/qemu_7.2.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.2.0.x86_64.xml @@ -108,6 +108,8 @@ <model usable='no' vendor='Intel'>Haswell-noTSX</model> <model usable='no' vendor='Intel'>Haswell-IBRS</model> <model usable='no' vendor='Intel'>Haswell</model> + <model usable='yes' vendor='AMD'>EPYC-v3</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v2</model> <model usable='yes' vendor='AMD'>EPYC-Rome</model> <model usable='no' vendor='AMD'>EPYC-Milan</model> <model usable='yes' vendor='AMD'>EPYC-IBPB</model> 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 2815064abc..564546cf41 100644 --- a/tests/domaincapsdata/qemu_8.0.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.0.0-q35.x86_64.xml @@ -110,6 +110,8 @@ <model usable='no' vendor='Intel'>Haswell-noTSX</model> <model usable='no' vendor='Intel'>Haswell-IBRS</model> <model usable='no' vendor='Intel'>Haswell</model> + <model usable='yes' vendor='AMD'>EPYC-v3</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v2</model> <model usable='yes' vendor='AMD'>EPYC-Rome</model> <model usable='no' vendor='AMD'>EPYC-Milan</model> <model usable='yes' vendor='AMD'>EPYC-IBPB</model> 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 efb5fcb99d..58ce3d8d69 100644 --- a/tests/domaincapsdata/qemu_8.0.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.0.0-tcg.x86_64.xml @@ -111,6 +111,8 @@ <model usable='no' vendor='Intel'>Haswell-noTSX</model> <model usable='no' vendor='Intel'>Haswell-IBRS</model> <model usable='no' vendor='Intel'>Haswell</model> + <model usable='no' vendor='AMD'>EPYC-v3</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v2</model> <model usable='no' vendor='AMD'>EPYC-Rome</model> <model usable='no' vendor='AMD'>EPYC-Milan</model> <model usable='no' vendor='AMD'>EPYC-IBPB</model> diff --git a/tests/domaincapsdata/qemu_8.0.0.x86_64.xml b/tests/domaincapsdata/qemu_8.0.0.x86_64.xml index 07d1d06115..eb5897671c 100644 --- a/tests/domaincapsdata/qemu_8.0.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.0.0.x86_64.xml @@ -109,6 +109,8 @@ <model usable='no' vendor='Intel'>Haswell-noTSX</model> <model usable='no' vendor='Intel'>Haswell-IBRS</model> <model usable='no' vendor='Intel'>Haswell</model> + <model usable='yes' vendor='AMD'>EPYC-v3</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v2</model> <model usable='yes' vendor='AMD'>EPYC-Rome</model> <model usable='no' vendor='AMD'>EPYC-Milan</model> <model usable='yes' vendor='AMD'>EPYC-IBPB</model> 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 4d438efdf7..d865028850 100644 --- a/tests/domaincapsdata/qemu_8.1.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.1.0-q35.x86_64.xml @@ -41,7 +41,7 @@ </enum> </mode> <mode name='host-model' supported='yes'> - <model fallback='forbid'>EPYC-Rome</model> + <model fallback='forbid'>EPYC-Rome-v4</model> <vendor>AMD</vendor> <maxphysaddr mode='passthrough' limit='64'/> <feature policy='require' name='x2apic'/> @@ -53,7 +53,6 @@ <feature policy='require' name='ssbd'/> <feature policy='require' name='cmp_legacy'/> <feature policy='require' name='invtsc'/> - <feature policy='require' name='amd-ssbd'/> <feature policy='require' name='virt-ssbd'/> <feature policy='require' name='lbrv'/> <feature policy='require' name='tsc-scale'/> @@ -69,7 +68,7 @@ <feature policy='require' name='skip-l1dfl-vmentry'/> <feature policy='require' name='mds-no'/> <feature policy='require' name='pschange-mc-no'/> - <feature policy='disable' name='xsaves'/> + <feature policy='disable' name='ibrs'/> </mode> <mode name='custom' supported='yes'> <model usable='yes' vendor='unknown'>qemu64</model> @@ -112,7 +111,13 @@ <model usable='no' vendor='Intel'>Haswell-noTSX</model> <model usable='no' vendor='Intel'>Haswell-IBRS</model> <model usable='no' vendor='Intel'>Haswell</model> + <model usable='no' vendor='AMD'>EPYC-v4</model> + <model usable='no' vendor='AMD'>EPYC-v3</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v4</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v3</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v2</model> <model usable='no' vendor='AMD'>EPYC-Rome</model> + <model usable='no' vendor='AMD'>EPYC-Milan-v2</model> <model usable='no' vendor='AMD'>EPYC-Milan</model> <model usable='yes' vendor='AMD'>EPYC-IBPB</model> <model usable='no' vendor='AMD'>EPYC-Genoa</model> 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 e32cd80c17..192fa20c72 100644 --- a/tests/domaincapsdata/qemu_8.1.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.1.0-tcg.x86_64.xml @@ -112,7 +112,13 @@ <model usable='no' vendor='Intel'>Haswell-noTSX</model> <model usable='no' vendor='Intel'>Haswell-IBRS</model> <model usable='no' vendor='Intel'>Haswell</model> + <model usable='no' vendor='AMD'>EPYC-v4</model> + <model usable='no' vendor='AMD'>EPYC-v3</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v4</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v3</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v2</model> <model usable='no' vendor='AMD'>EPYC-Rome</model> + <model usable='no' vendor='AMD'>EPYC-Milan-v2</model> <model usable='no' vendor='AMD'>EPYC-Milan</model> <model usable='no' vendor='AMD'>EPYC-IBPB</model> <model usable='no' vendor='AMD'>EPYC-Genoa</model> diff --git a/tests/domaincapsdata/qemu_8.1.0.x86_64.xml b/tests/domaincapsdata/qemu_8.1.0.x86_64.xml index 919357e577..51cba16a35 100644 --- a/tests/domaincapsdata/qemu_8.1.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.1.0.x86_64.xml @@ -40,7 +40,7 @@ </enum> </mode> <mode name='host-model' supported='yes'> - <model fallback='forbid'>EPYC-Rome</model> + <model fallback='forbid'>EPYC-Rome-v4</model> <vendor>AMD</vendor> <maxphysaddr mode='passthrough' limit='64'/> <feature policy='require' name='x2apic'/> @@ -52,7 +52,6 @@ <feature policy='require' name='ssbd'/> <feature policy='require' name='cmp_legacy'/> <feature policy='require' name='invtsc'/> - <feature policy='require' name='amd-ssbd'/> <feature policy='require' name='virt-ssbd'/> <feature policy='require' name='lbrv'/> <feature policy='require' name='tsc-scale'/> @@ -68,7 +67,7 @@ <feature policy='require' name='skip-l1dfl-vmentry'/> <feature policy='require' name='mds-no'/> <feature policy='require' name='pschange-mc-no'/> - <feature policy='disable' name='xsaves'/> + <feature policy='disable' name='ibrs'/> </mode> <mode name='custom' supported='yes'> <model usable='yes' vendor='unknown'>qemu64</model> @@ -111,7 +110,13 @@ <model usable='no' vendor='Intel'>Haswell-noTSX</model> <model usable='no' vendor='Intel'>Haswell-IBRS</model> <model usable='no' vendor='Intel'>Haswell</model> + <model usable='no' vendor='AMD'>EPYC-v4</model> + <model usable='no' vendor='AMD'>EPYC-v3</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v4</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v3</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v2</model> <model usable='no' vendor='AMD'>EPYC-Rome</model> + <model usable='no' vendor='AMD'>EPYC-Milan-v2</model> <model usable='no' vendor='AMD'>EPYC-Milan</model> <model usable='yes' vendor='AMD'>EPYC-IBPB</model> <model usable='no' vendor='AMD'>EPYC-Genoa</model> 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 f711a51044..f24fe4789e 100644 --- a/tests/domaincapsdata/qemu_8.2.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.2.0-q35.x86_64.xml @@ -41,7 +41,7 @@ </enum> </mode> <mode name='host-model' supported='yes'> - <model fallback='forbid'>EPYC-Rome</model> + <model fallback='forbid'>EPYC-Rome-v4</model> <vendor>AMD</vendor> <maxphysaddr mode='passthrough' limit='64'/> <feature policy='require' name='x2apic'/> @@ -53,7 +53,6 @@ <feature policy='require' name='ssbd'/> <feature policy='require' name='cmp_legacy'/> <feature policy='require' name='invtsc'/> - <feature policy='require' name='amd-ssbd'/> <feature policy='require' name='virt-ssbd'/> <feature policy='require' name='lbrv'/> <feature policy='require' name='tsc-scale'/> @@ -70,7 +69,7 @@ <feature policy='require' name='mds-no'/> <feature policy='require' name='pschange-mc-no'/> <feature policy='require' name='gds-no'/> - <feature policy='disable' name='xsaves'/> + <feature policy='disable' name='ibrs'/> </mode> <mode name='custom' supported='yes'> <model usable='yes' vendor='unknown'>qemu64</model> @@ -113,7 +112,13 @@ <model usable='no' vendor='Intel'>Haswell-noTSX</model> <model usable='no' vendor='Intel'>Haswell-IBRS</model> <model usable='no' vendor='Intel'>Haswell</model> + <model usable='no' vendor='AMD'>EPYC-v4</model> + <model usable='no' vendor='AMD'>EPYC-v3</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v4</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v3</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v2</model> <model usable='no' vendor='AMD'>EPYC-Rome</model> + <model usable='no' vendor='AMD'>EPYC-Milan-v2</model> <model usable='no' vendor='AMD'>EPYC-Milan</model> <model usable='yes' vendor='AMD'>EPYC-IBPB</model> <model usable='no' vendor='AMD'>EPYC-Genoa</model> 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 784a29acd9..1945ec6561 100644 --- a/tests/domaincapsdata/qemu_8.2.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.2.0-tcg.x86_64.xml @@ -111,7 +111,13 @@ <model usable='no' vendor='Intel'>Haswell-noTSX</model> <model usable='no' vendor='Intel'>Haswell-IBRS</model> <model usable='no' vendor='Intel'>Haswell</model> + <model usable='no' vendor='AMD'>EPYC-v4</model> + <model usable='no' vendor='AMD'>EPYC-v3</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v4</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v3</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v2</model> <model usable='no' vendor='AMD'>EPYC-Rome</model> + <model usable='no' vendor='AMD'>EPYC-Milan-v2</model> <model usable='no' vendor='AMD'>EPYC-Milan</model> <model usable='no' vendor='AMD'>EPYC-IBPB</model> <model usable='no' vendor='AMD'>EPYC-Genoa</model> diff --git a/tests/domaincapsdata/qemu_8.2.0.x86_64.xml b/tests/domaincapsdata/qemu_8.2.0.x86_64.xml index bc060e21b6..2252f8f05e 100644 --- a/tests/domaincapsdata/qemu_8.2.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.2.0.x86_64.xml @@ -40,7 +40,7 @@ </enum> </mode> <mode name='host-model' supported='yes'> - <model fallback='forbid'>EPYC-Rome</model> + <model fallback='forbid'>EPYC-Rome-v4</model> <vendor>AMD</vendor> <maxphysaddr mode='passthrough' limit='64'/> <feature policy='require' name='x2apic'/> @@ -52,7 +52,6 @@ <feature policy='require' name='ssbd'/> <feature policy='require' name='cmp_legacy'/> <feature policy='require' name='invtsc'/> - <feature policy='require' name='amd-ssbd'/> <feature policy='require' name='virt-ssbd'/> <feature policy='require' name='lbrv'/> <feature policy='require' name='tsc-scale'/> @@ -69,7 +68,7 @@ <feature policy='require' name='mds-no'/> <feature policy='require' name='pschange-mc-no'/> <feature policy='require' name='gds-no'/> - <feature policy='disable' name='xsaves'/> + <feature policy='disable' name='ibrs'/> </mode> <mode name='custom' supported='yes'> <model usable='yes' vendor='unknown'>qemu64</model> @@ -112,7 +111,13 @@ <model usable='no' vendor='Intel'>Haswell-noTSX</model> <model usable='no' vendor='Intel'>Haswell-IBRS</model> <model usable='no' vendor='Intel'>Haswell</model> + <model usable='no' vendor='AMD'>EPYC-v4</model> + <model usable='no' vendor='AMD'>EPYC-v3</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v4</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v3</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v2</model> <model usable='no' vendor='AMD'>EPYC-Rome</model> + <model usable='no' vendor='AMD'>EPYC-Milan-v2</model> <model usable='no' vendor='AMD'>EPYC-Milan</model> <model usable='yes' vendor='AMD'>EPYC-IBPB</model> <model usable='no' vendor='AMD'>EPYC-Genoa</model> diff --git a/tests/qemuxml2argvdata/cpu-host-model-fallback-kvm.x86_64-8.1.0.args b/tests/qemuxml2argvdata/cpu-host-model-fallback-kvm.x86_64-8.1.0.args index 45ff38ebef..ebc6ca5403 100644 --- a/tests/qemuxml2argvdata/cpu-host-model-fallback-kvm.x86_64-8.1.0.args +++ b/tests/qemuxml2argvdata/cpu-host-model-fallback-kvm.x86_64-8.1.0.args @@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes"}' \ -machine pc-i440fx-8.1,usb=off,dump-guest-core=off,memory-backend=pc.ram,acpi=off \ -accel kvm \ --cpu EPYC-Rome-v1,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,cmp-legacy=on,amd-ssbd=on,virt-ssbd=on,lbrv=on,tsc-scale=on,vmcb-clean=on,pause-filter=on,pfthreshold=on,v-vmsave-vmload=on,vgif=on,svme-addr-chk=on,lfence-always-serializing=on,null-sel-clr-base=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on,xsaves=off \ +-cpu EPYC-Rome-v4,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,cmp-legacy=on,virt-ssbd=on,lbrv=on,tsc-scale=on,vmcb-clean=on,pause-filter=on,pfthreshold=on,v-vmsave-vmload=on,vgif=on,svme-addr-chk=on,lfence-always-serializing=on,null-sel-clr-base=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on,ibrs=off \ -m size=219136k \ -object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \ -overcommit mem-lock=off \ diff --git a/tests/qemuxml2argvdata/cpu-host-model-fallback-kvm.x86_64-latest.args b/tests/qemuxml2argvdata/cpu-host-model-fallback-kvm.x86_64-latest.args index 30cb821759..38badeabe8 100644 --- a/tests/qemuxml2argvdata/cpu-host-model-fallback-kvm.x86_64-latest.args +++ b/tests/qemuxml2argvdata/cpu-host-model-fallback-kvm.x86_64-latest.args @@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes"}' \ -machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram,acpi=off \ -accel kvm \ --cpu EPYC-Rome-v1,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,cmp-legacy=on,amd-ssbd=on,virt-ssbd=on,lbrv=on,tsc-scale=on,vmcb-clean=on,pause-filter=on,pfthreshold=on,v-vmsave-vmload=on,vgif=on,svme-addr-chk=on,lfence-always-serializing=on,null-sel-clr-base=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on,gds-no=on,xsaves=off \ +-cpu EPYC-Rome-v4,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,cmp-legacy=on,virt-ssbd=on,lbrv=on,tsc-scale=on,vmcb-clean=on,pause-filter=on,pfthreshold=on,v-vmsave-vmload=on,vgif=on,svme-addr-chk=on,lfence-always-serializing=on,null-sel-clr-base=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on,gds-no=on,ibrs=off \ -m size=219136k \ -object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \ -overcommit mem-lock=off \ diff --git a/tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-8.1.0.args b/tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-8.1.0.args index df2987a98c..24d88b98de 100644 --- a/tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-8.1.0.args +++ b/tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-8.1.0.args @@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes"}' \ -machine pc-q35-8.1,usb=off,dump-guest-core=off,memory-backend=pc.ram,acpi=off \ -accel kvm \ --cpu EPYC-Rome-v1,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,cmp-legacy=on,amd-ssbd=on,virt-ssbd=on,lbrv=on,tsc-scale=on,vmcb-clean=on,pause-filter=on,pfthreshold=on,v-vmsave-vmload=on,vgif=on,svme-addr-chk=on,lfence-always-serializing=on,null-sel-clr-base=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on,xsaves=off \ +-cpu EPYC-Rome-v4,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,cmp-legacy=on,virt-ssbd=on,lbrv=on,tsc-scale=on,vmcb-clean=on,pause-filter=on,pfthreshold=on,v-vmsave-vmload=on,vgif=on,svme-addr-chk=on,lfence-always-serializing=on,null-sel-clr-base=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on,ibrs=off \ -m size=219136k \ -object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \ -overcommit mem-lock=off \ diff --git a/tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-latest.args b/tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-latest.args index 3fc229d8ae..2a114a28d5 100644 --- a/tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-latest.args +++ b/tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-latest.args @@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes"}' \ -machine q35,usb=off,dump-guest-core=off,memory-backend=pc.ram,acpi=off \ -accel kvm \ --cpu EPYC-Rome-v1,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,cmp-legacy=on,amd-ssbd=on,virt-ssbd=on,lbrv=on,tsc-scale=on,vmcb-clean=on,pause-filter=on,pfthreshold=on,v-vmsave-vmload=on,vgif=on,svme-addr-chk=on,lfence-always-serializing=on,null-sel-clr-base=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on,gds-no=on,xsaves=off \ +-cpu EPYC-Rome-v4,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,cmp-legacy=on,virt-ssbd=on,lbrv=on,tsc-scale=on,vmcb-clean=on,pause-filter=on,pfthreshold=on,v-vmsave-vmload=on,vgif=on,svme-addr-chk=on,lfence-always-serializing=on,null-sel-clr-base=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on,gds-no=on,ibrs=off \ -m size=219136k \ -object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \ -overcommit mem-lock=off \ diff --git a/tests/qemuxml2argvdata/cpu-host-model-nofallback-kvm.x86_64-8.1.0.args b/tests/qemuxml2argvdata/cpu-host-model-nofallback-kvm.x86_64-8.1.0.args index 45ff38ebef..ebc6ca5403 100644 --- a/tests/qemuxml2argvdata/cpu-host-model-nofallback-kvm.x86_64-8.1.0.args +++ b/tests/qemuxml2argvdata/cpu-host-model-nofallback-kvm.x86_64-8.1.0.args @@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes"}' \ -machine pc-i440fx-8.1,usb=off,dump-guest-core=off,memory-backend=pc.ram,acpi=off \ -accel kvm \ --cpu EPYC-Rome-v1,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,cmp-legacy=on,amd-ssbd=on,virt-ssbd=on,lbrv=on,tsc-scale=on,vmcb-clean=on,pause-filter=on,pfthreshold=on,v-vmsave-vmload=on,vgif=on,svme-addr-chk=on,lfence-always-serializing=on,null-sel-clr-base=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on,xsaves=off \ +-cpu EPYC-Rome-v4,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,cmp-legacy=on,virt-ssbd=on,lbrv=on,tsc-scale=on,vmcb-clean=on,pause-filter=on,pfthreshold=on,v-vmsave-vmload=on,vgif=on,svme-addr-chk=on,lfence-always-serializing=on,null-sel-clr-base=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on,ibrs=off \ -m size=219136k \ -object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \ -overcommit mem-lock=off \ diff --git a/tests/qemuxml2argvdata/cpu-host-model-nofallback-kvm.x86_64-latest.args b/tests/qemuxml2argvdata/cpu-host-model-nofallback-kvm.x86_64-latest.args index 30cb821759..38badeabe8 100644 --- a/tests/qemuxml2argvdata/cpu-host-model-nofallback-kvm.x86_64-latest.args +++ b/tests/qemuxml2argvdata/cpu-host-model-nofallback-kvm.x86_64-latest.args @@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes"}' \ -machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram,acpi=off \ -accel kvm \ --cpu EPYC-Rome-v1,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,cmp-legacy=on,amd-ssbd=on,virt-ssbd=on,lbrv=on,tsc-scale=on,vmcb-clean=on,pause-filter=on,pfthreshold=on,v-vmsave-vmload=on,vgif=on,svme-addr-chk=on,lfence-always-serializing=on,null-sel-clr-base=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on,gds-no=on,xsaves=off \ +-cpu EPYC-Rome-v4,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,cmp-legacy=on,virt-ssbd=on,lbrv=on,tsc-scale=on,vmcb-clean=on,pause-filter=on,pfthreshold=on,v-vmsave-vmload=on,vgif=on,svme-addr-chk=on,lfence-always-serializing=on,null-sel-clr-base=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on,gds-no=on,ibrs=off \ -m size=219136k \ -object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \ -overcommit mem-lock=off \ -- 2.41.0

On 12/15/23 15:12, Jonathon Jongsma wrote:
Signed-off-by: Jonathon Jongsma <jjongsma@redhat.com> --- src/cpu_map/index.xml | 6 + src/cpu_map/meson.build | 6 + src/cpu_map/x86_EPYC-Milan-v2.xml | 108 ++++++++++++++++++ src/cpu_map/x86_EPYC-Rome-v2.xml | 93 +++++++++++++++ src/cpu_map/x86_EPYC-Rome-v3.xml | 95 +++++++++++++++ src/cpu_map/x86_EPYC-Rome-v4.xml | 94 +++++++++++++++ src/cpu_map/x86_EPYC-v3.xml | 87 ++++++++++++++ src/cpu_map/x86_EPYC-v4.xml | 88 ++++++++++++++ .../x86_64-cpuid-EPYC-7502-32-Core-host.xml | 5 +- .../x86_64-cpuid-EPYC-7601-32-Core-guest.xml | 9 +- ...6_64-cpuid-EPYC-7601-32-Core-ibpb-host.xml | 8 +- ...4-cpuid-Ryzen-7-1800X-Eight-Core-guest.xml | 9 +- .../domaincapsdata/qemu_5.0.0-q35.x86_64.xml | 1 + .../domaincapsdata/qemu_5.0.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_5.0.0.x86_64.xml | 1 + .../domaincapsdata/qemu_5.1.0-q35.x86_64.xml | 1 + .../domaincapsdata/qemu_5.1.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_5.1.0.x86_64.xml | 1 + .../domaincapsdata/qemu_5.2.0-q35.x86_64.xml | 1 + .../domaincapsdata/qemu_5.2.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_5.2.0.x86_64.xml | 1 + .../domaincapsdata/qemu_6.0.0-q35.x86_64.xml | 2 + .../domaincapsdata/qemu_6.0.0-tcg.x86_64.xml | 2 + tests/domaincapsdata/qemu_6.0.0.x86_64.xml | 2 + .../domaincapsdata/qemu_6.1.0-q35.x86_64.xml | 2 + .../domaincapsdata/qemu_6.1.0-tcg.x86_64.xml | 2 + tests/domaincapsdata/qemu_6.1.0.x86_64.xml | 2 + .../domaincapsdata/qemu_6.2.0-q35.x86_64.xml | 2 + .../domaincapsdata/qemu_6.2.0-tcg.x86_64.xml | 2 + tests/domaincapsdata/qemu_6.2.0.x86_64.xml | 2 + .../domaincapsdata/qemu_7.0.0-q35.x86_64.xml | 2 + .../domaincapsdata/qemu_7.0.0-tcg.x86_64.xml | 2 + tests/domaincapsdata/qemu_7.0.0.x86_64.xml | 2 + .../domaincapsdata/qemu_7.1.0-q35.x86_64.xml | 2 + .../domaincapsdata/qemu_7.1.0-tcg.x86_64.xml | 2 + tests/domaincapsdata/qemu_7.1.0.x86_64.xml | 2 + .../domaincapsdata/qemu_7.2.0-q35.x86_64.xml | 2 + .../qemu_7.2.0-tcg.x86_64+hvf.xml | 2 + .../domaincapsdata/qemu_7.2.0-tcg.x86_64.xml | 2 + tests/domaincapsdata/qemu_7.2.0.x86_64.xml | 2 + .../domaincapsdata/qemu_8.0.0-q35.x86_64.xml | 2 + .../domaincapsdata/qemu_8.0.0-tcg.x86_64.xml | 2 + tests/domaincapsdata/qemu_8.0.0.x86_64.xml | 2 + .../domaincapsdata/qemu_8.1.0-q35.x86_64.xml | 11 +- .../domaincapsdata/qemu_8.1.0-tcg.x86_64.xml | 6 + tests/domaincapsdata/qemu_8.1.0.x86_64.xml | 11 +- .../domaincapsdata/qemu_8.2.0-q35.x86_64.xml | 11 +- .../domaincapsdata/qemu_8.2.0-tcg.x86_64.xml | 6 + tests/domaincapsdata/qemu_8.2.0.x86_64.xml | 11 +- ...-host-model-fallback-kvm.x86_64-8.1.0.args | 2 +- ...host-model-fallback-kvm.x86_64-latest.args | 2 +- .../cpu-host-model-kvm.x86_64-8.1.0.args | 2 +- .../cpu-host-model-kvm.x86_64-latest.args | 2 +- ...ost-model-nofallback-kvm.x86_64-8.1.0.args | 2 +- ...st-model-nofallback-kvm.x86_64-latest.args | 2 +- 55 files changed, 686 insertions(+), 43 deletions(-) create mode 100644 src/cpu_map/x86_EPYC-Milan-v2.xml create mode 100644 src/cpu_map/x86_EPYC-Rome-v2.xml create mode 100644 src/cpu_map/x86_EPYC-Rome-v3.xml create mode 100644 src/cpu_map/x86_EPYC-Rome-v4.xml create mode 100644 src/cpu_map/x86_EPYC-v3.xml create mode 100644 src/cpu_map/x86_EPYC-v4.xml
diff --git a/src/cpu_map/index.xml b/src/cpu_map/index.xml index d2c5af5797..861edc3bb7 100644 --- a/src/cpu_map/index.xml +++ b/src/cpu_map/index.xml @@ -67,9 +67,15 @@ <include filename='x86_Opteron_G4.xml'/> <include filename='x86_Opteron_G5.xml'/> <include filename='x86_EPYC.xml'/> + <include filename='x86_EPYC-v3.xml'/> + <include filename='x86_EPYC-v4.xml'/> <include filename='x86_EPYC-IBPB.xml'/> <include filename='x86_EPYC-Rome.xml'/> + <include filename='x86_EPYC-Rome-v2.xml'/> + <include filename='x86_EPYC-Rome-v3.xml'/> + <include filename='x86_EPYC-Rome-v4.xml'/> <include filename='x86_EPYC-Milan.xml'/> + <include filename='x86_EPYC-Milan-v2.xml'/> <include filename='x86_EPYC-Genoa.xml'/>
<!-- Hygon CPU models --> diff --git a/src/cpu_map/meson.build b/src/cpu_map/meson.build index ae5293e85f..68e093e041 100644 --- a/src/cpu_map/meson.build +++ b/src/cpu_map/meson.build @@ -39,8 +39,14 @@ cpumap_data = [ 'x86_Dhyana.xml', 'x86_EPYC-IBPB.xml', 'x86_EPYC.xml', + 'x86_EPYC-v3.xml', + 'x86_EPYC-v4.xml', 'x86_EPYC-Genoa.xml', + 'x86_EPYC-Milan-v2.xml', 'x86_EPYC-Milan.xml', + 'x86_EPYC-Rome-v2.xml', + 'x86_EPYC-Rome-v3.xml', + 'x86_EPYC-Rome-v4.xml', 'x86_EPYC-Rome.xml', 'x86_features.xml', 'x86_Haswell-IBRS.xml', diff --git a/src/cpu_map/x86_EPYC-Milan-v2.xml b/src/cpu_map/x86_EPYC-Milan-v2.xml new file mode 100644 index 0000000000..4cadba2325 --- /dev/null +++ b/src/cpu_map/x86_EPYC-Milan-v2.xml @@ -0,0 +1,108 @@ +<!-- extra info from qemu: + 'model.level': '0xd' + 'model.stepping': '1' + 'model.xlevel': '0x8000001E' + 'model.model_id': 'AMD EPYC-Milan Processor' + 'model.cache_info': '&epyc_milan_cache_info' + 'property.model-id': 'AMD EPYC-Milan-v2 Processor' + 'version.cache_info': '&epyc_milan_v2_cache_info' +-->
None of the existing files include this comment.
+<cpus> + <model name='EPYC-Milan-v2'> + <decode host='on' guest='on'/> + <signature family='25' model='1'/> + <vendor name='AMD'/> + <feature name='3dnowprefetch'/> + <feature name='abm'/> + <feature name='adx'/> + <feature name='aes'/> + <feature name='amd-psfd'/> + <feature name='amd-ssbd'/> + <feature name='amd-stibp'/> + <feature name='apic'/> + <feature name='arat'/> + <feature name='avx'/> + <feature name='avx2'/> + <feature name='bmi1'/> + <feature name='bmi2'/> + <feature name='clflush'/> + <feature name='clflushopt'/> + <feature name='clwb'/> + <feature name='clzero'/> + <feature name='cmov'/> + <feature name='cr8legacy'/> + <feature name='cx16'/> + <feature name='cx8'/> + <feature name='de'/> + <feature name='erms'/> + <feature name='f16c'/> + <feature name='fma'/> + <feature name='fpu'/> + <feature name='fsgsbase'/> + <feature name='fsrm'/> + <feature name='fxsr'/> + <feature name='fxsr_opt'/> + <feature name='ibpb'/> + <feature name='ibrs'/> + <feature name='invpcid'/> + <feature name='lahf_lm'/> + <feature name='lfence-always-serializing'/> + <feature name='lm'/> + <feature name='mca'/> + <feature name='mce'/> + <feature name='misalignsse'/> + <feature name='mmx'/> + <feature name='mmxext'/> + <feature name='movbe'/> + <feature name='msr'/> + <feature name='mtrr'/> + <feature name='no-nested-data-bp'/> + <feature name='npt'/> + <feature name='nrip-save'/> + <feature name='null-sel-clr-base'/> + <feature name='nx'/> + <feature name='osvw'/> + <feature name='pae'/> + <feature name='pat'/> + <feature name='pcid'/> + <feature name='pclmuldq'/> + <feature name='pdpe1gb'/> + <feature name='perfctr_core'/> + <feature name='pge'/> + <feature name='pku'/> + <feature name='pni'/> + <feature name='popcnt'/> + <feature name='pse'/> + <feature name='pse36'/> + <feature name='rdpid'/> + <feature name='rdrand'/> + <feature name='rdseed'/> + <feature name='rdtscp'/> + <feature name='sep'/> + <feature name='sha-ni'/> + <feature name='smap'/> + <feature name='smep'/> + <feature name='sse'/> + <feature name='sse2'/> + <feature name='sse4.1'/> + <feature name='sse4.2'/> + <feature name='sse4a'/> + <feature name='ssse3'/> + <feature name='stibp-always-on'/> + <feature name='svm'/> + <feature name='svme-addr-chk'/> + <feature name='syscall'/> + <feature name='tsc'/> + <feature name='umip'/> + <feature name='vaes'/> + <feature name='vme'/> + <feature name='vpclmulqdq'/> + <feature name='wbnoinvd'/> + <feature name='xgetbv1'/> + <feature name='xsave'/> + <feature name='xsavec'/> + <feature name='xsaveerptr'/> + <feature name='xsaveopt'/> + <feature name='xsaves'/>
+ </model> +</cpus> diff --git a/src/cpu_map/x86_EPYC-Rome-v2.xml b/src/cpu_map/x86_EPYC-Rome-v2.xml new file mode 100644 index 0000000000..0cade90cdc --- /dev/null +++ b/src/cpu_map/x86_EPYC-Rome-v2.xml @@ -0,0 +1,93 @@ +<!-- extra info from qemu: + 'model.level': '0xd' + 'model.stepping': '0' + 'model.xlevel': '0x8000001E' + 'model.model_id': 'AMD EPYC-Rome Processor' + 'model.cache_info': '&epyc_rome_cache_info' +--> +<cpus> + <model name='EPYC-Rome-v2'> + <decode host='on' guest='on'/> + <signature family='23' model='49'/> + <vendor name='AMD'/> + <feature name='3dnowprefetch'/> + <feature name='abm'/> + <feature name='adx'/> + <feature name='aes'/> + <feature name='amd-ssbd'/> + <feature name='amd-stibp'/> + <feature name='apic'/> + <feature name='arat'/> + <feature name='avx'/> + <feature name='avx2'/> + <feature name='bmi1'/> + <feature name='bmi2'/> + <feature name='clflush'/> + <feature name='clflushopt'/> + <feature name='clwb'/> + <feature name='clzero'/> + <feature name='cmov'/> + <feature name='cr8legacy'/> + <feature name='cx16'/> + <feature name='cx8'/> + <feature name='de'/> + <feature name='f16c'/> + <feature name='fma'/> + <feature name='fpu'/> + <feature name='fsgsbase'/> + <feature name='fxsr'/> + <feature name='fxsr_opt'/> + <feature name='ibpb'/> + <feature name='ibrs'/> + <feature name='lahf_lm'/> + <feature name='lm'/> + <feature name='mca'/> + <feature name='mce'/> + <feature name='misalignsse'/> + <feature name='mmx'/> + <feature name='mmxext'/> + <feature name='movbe'/> + <feature name='msr'/> + <feature name='mtrr'/> + <feature name='npt'/> + <feature name='nrip-save'/> + <feature name='nx'/> + <feature name='osvw'/> + <feature name='pae'/> + <feature name='pat'/> + <feature name='pclmuldq'/> + <feature name='pdpe1gb'/> + <feature name='perfctr_core'/> + <feature name='pge'/> + <feature name='pni'/> + <feature name='popcnt'/> + <feature name='pse'/> + <feature name='pse36'/> + <feature name='rdpid'/> + <feature name='rdrand'/> + <feature name='rdseed'/> + <feature name='rdtscp'/> + <feature name='sep'/> + <feature name='sha-ni'/> + <feature name='smap'/> + <feature name='smep'/> + <feature name='sse'/> + <feature name='sse2'/> + <feature name='sse4.1'/> + <feature name='sse4.2'/> + <feature name='sse4a'/> + <feature name='ssse3'/> + <feature name='svm'/> + <feature name='syscall'/> + <feature name='tsc'/> + <feature name='umip'/> + <feature name='vme'/> + <feature name='wbnoinvd'/> + <feature name='xgetbv1'/> + <feature name='xsave'/> + <feature name='xsavec'/> + <feature name='xsaveerptr'/> + <feature name='xsaveopt'/> + <feature name='xsaves'/>
sync_qemu_models_i386.py also includes the xsaves feature in the x86_EPYC-Rome.xml file it produces, yet we don't include xsaves in the file commited to git. How do we determine which features to filter from the script-produced file? E.g. should xsaves be dropped from this file? Regards, Jim
+ </model> +</cpus> diff --git a/src/cpu_map/x86_EPYC-Rome-v3.xml b/src/cpu_map/x86_EPYC-Rome-v3.xml new file mode 100644 index 0000000000..6b8f07c7f2 --- /dev/null +++ b/src/cpu_map/x86_EPYC-Rome-v3.xml @@ -0,0 +1,95 @@ +<!-- extra info from qemu: + 'model.level': '0xd' + 'model.stepping': '0' + 'model.xlevel': '0x8000001E' + 'model.model_id': 'AMD EPYC-Rome Processor' + 'model.cache_info': '&epyc_rome_cache_info' + 'property.model-id': 'AMD EPYC-Rome-v3 Processor' + 'version.cache_info': '&epyc_rome_v3_cache_info' +--> +<cpus> + <model name='EPYC-Rome-v3'> + <decode host='on' guest='on'/> + <signature family='23' model='49'/> + <vendor name='AMD'/> + <feature name='3dnowprefetch'/> + <feature name='abm'/> + <feature name='adx'/> + <feature name='aes'/> + <feature name='amd-ssbd'/> + <feature name='amd-stibp'/> + <feature name='apic'/> + <feature name='arat'/> + <feature name='avx'/> + <feature name='avx2'/> + <feature name='bmi1'/> + <feature name='bmi2'/> + <feature name='clflush'/> + <feature name='clflushopt'/> + <feature name='clwb'/> + <feature name='clzero'/> + <feature name='cmov'/> + <feature name='cr8legacy'/> + <feature name='cx16'/> + <feature name='cx8'/> + <feature name='de'/> + <feature name='f16c'/> + <feature name='fma'/> + <feature name='fpu'/> + <feature name='fsgsbase'/> + <feature name='fxsr'/> + <feature name='fxsr_opt'/> + <feature name='ibpb'/> + <feature name='ibrs'/> + <feature name='lahf_lm'/> + <feature name='lm'/> + <feature name='mca'/> + <feature name='mce'/> + <feature name='misalignsse'/> + <feature name='mmx'/> + <feature name='mmxext'/> + <feature name='movbe'/> + <feature name='msr'/> + <feature name='mtrr'/> + <feature name='npt'/> + <feature name='nrip-save'/> + <feature name='nx'/> + <feature name='osvw'/> + <feature name='pae'/> + <feature name='pat'/> + <feature name='pclmuldq'/> + <feature name='pdpe1gb'/> + <feature name='perfctr_core'/> + <feature name='pge'/> + <feature name='pni'/> + <feature name='popcnt'/> + <feature name='pse'/> + <feature name='pse36'/> + <feature name='rdpid'/> + <feature name='rdrand'/> + <feature name='rdseed'/> + <feature name='rdtscp'/> + <feature name='sep'/> + <feature name='sha-ni'/> + <feature name='smap'/> + <feature name='smep'/> + <feature name='sse'/> + <feature name='sse2'/> + <feature name='sse4.1'/> + <feature name='sse4.2'/> + <feature name='sse4a'/> + <feature name='ssse3'/> + <feature name='svm'/> + <feature name='syscall'/> + <feature name='tsc'/> + <feature name='umip'/> + <feature name='vme'/> + <feature name='wbnoinvd'/> + <feature name='xgetbv1'/> + <feature name='xsave'/> + <feature name='xsavec'/> + <feature name='xsaveerptr'/> + <feature name='xsaveopt'/> + <feature name='xsaves'/> + </model> +</cpus> diff --git a/src/cpu_map/x86_EPYC-Rome-v4.xml b/src/cpu_map/x86_EPYC-Rome-v4.xml new file mode 100644 index 0000000000..e69f910e56 --- /dev/null +++ b/src/cpu_map/x86_EPYC-Rome-v4.xml @@ -0,0 +1,94 @@ +<!-- extra info from qemu: + 'model.level': '0xd' + 'model.stepping': '0' + 'model.xlevel': '0x8000001E' + 'model.model_id': 'AMD EPYC-Rome Processor' + 'model.cache_info': '&epyc_rome_cache_info' + 'property.model-id': 'AMD EPYC-Rome-v4 Processor (no XSAVES)' + 'version.cache_info': '&epyc_rome_v3_cache_info' +--> +<cpus> + <model name='EPYC-Rome-v4'> + <decode host='on' guest='on'/> + <signature family='23' model='49'/> + <vendor name='AMD'/> + <feature name='3dnowprefetch'/> + <feature name='abm'/> + <feature name='adx'/> + <feature name='aes'/> + <feature name='amd-ssbd'/> + <feature name='amd-stibp'/> + <feature name='apic'/> + <feature name='arat'/> + <feature name='avx'/> + <feature name='avx2'/> + <feature name='bmi1'/> + <feature name='bmi2'/> + <feature name='clflush'/> + <feature name='clflushopt'/> + <feature name='clwb'/> + <feature name='clzero'/> + <feature name='cmov'/> + <feature name='cr8legacy'/> + <feature name='cx16'/> + <feature name='cx8'/> + <feature name='de'/> + <feature name='f16c'/> + <feature name='fma'/> + <feature name='fpu'/> + <feature name='fsgsbase'/> + <feature name='fxsr'/> + <feature name='fxsr_opt'/> + <feature name='ibpb'/> + <feature name='ibrs'/> + <feature name='lahf_lm'/> + <feature name='lm'/> + <feature name='mca'/> + <feature name='mce'/> + <feature name='misalignsse'/> + <feature name='mmx'/> + <feature name='mmxext'/> + <feature name='movbe'/> + <feature name='msr'/> + <feature name='mtrr'/> + <feature name='npt'/> + <feature name='nrip-save'/> + <feature name='nx'/> + <feature name='osvw'/> + <feature name='pae'/> + <feature name='pat'/> + <feature name='pclmuldq'/> + <feature name='pdpe1gb'/> + <feature name='perfctr_core'/> + <feature name='pge'/> + <feature name='pni'/> + <feature name='popcnt'/> + <feature name='pse'/> + <feature name='pse36'/> + <feature name='rdpid'/> + <feature name='rdrand'/> + <feature name='rdseed'/> + <feature name='rdtscp'/> + <feature name='sep'/> + <feature name='sha-ni'/> + <feature name='smap'/> + <feature name='smep'/> + <feature name='sse'/> + <feature name='sse2'/> + <feature name='sse4.1'/> + <feature name='sse4.2'/> + <feature name='sse4a'/> + <feature name='ssse3'/> + <feature name='svm'/> + <feature name='syscall'/> + <feature name='tsc'/> + <feature name='umip'/> + <feature name='vme'/> + <feature name='wbnoinvd'/> + <feature name='xgetbv1'/> + <feature name='xsave'/> + <feature name='xsavec'/> + <feature name='xsaveerptr'/> + <feature name='xsaveopt'/> + </model> +</cpus> diff --git a/src/cpu_map/x86_EPYC-v3.xml b/src/cpu_map/x86_EPYC-v3.xml new file mode 100644 index 0000000000..fb587218c7 --- /dev/null +++ b/src/cpu_map/x86_EPYC-v3.xml @@ -0,0 +1,87 @@ +<!-- extra info from qemu: + 'model.level': '0xd' + 'model.stepping': '2' + 'model.xlevel': '0x8000001E' + 'model.model_id': 'AMD EPYC Processor' + 'model.cache_info': '&epyc_cache_info' + 'property.model-id': 'AMD EPYC Processor' +--> +<cpus> + <model name='EPYC-v3'> + <decode host='on' guest='on'/> + <signature family='23' model='1'/> + <vendor name='AMD'/> + <feature name='3dnowprefetch'/> + <feature name='abm'/> + <feature name='adx'/> + <feature name='aes'/> + <feature name='apic'/> + <feature name='arat'/> + <feature name='avx'/> + <feature name='avx2'/> + <feature name='bmi1'/> + <feature name='bmi2'/> + <feature name='clflush'/> + <feature name='clflushopt'/> + <feature name='clzero'/> + <feature name='cmov'/> + <feature name='cr8legacy'/> + <feature name='cx16'/> + <feature name='cx8'/> + <feature name='de'/> + <feature name='f16c'/> + <feature name='fma'/> + <feature name='fpu'/> + <feature name='fsgsbase'/> + <feature name='fxsr'/> + <feature name='fxsr_opt'/> + <feature name='ibpb'/> + <feature name='lahf_lm'/> + <feature name='lm'/> + <feature name='mca'/> + <feature name='mce'/> + <feature name='misalignsse'/> + <feature name='mmx'/> + <feature name='mmxext'/> + <feature name='movbe'/> + <feature name='msr'/> + <feature name='mtrr'/> + <feature name='npt'/> + <feature name='nrip-save'/> + <feature name='nx'/> + <feature name='osvw'/> + <feature name='pae'/> + <feature name='pat'/> + <feature name='pclmuldq'/> + <feature name='pdpe1gb'/> + <feature name='perfctr_core'/> + <feature name='pge'/> + <feature name='pni'/> + <feature name='popcnt'/> + <feature name='pse'/> + <feature name='pse36'/> + <feature name='rdrand'/> + <feature name='rdseed'/> + <feature name='rdtscp'/> + <feature name='sep'/> + <feature name='sha-ni'/> + <feature name='smap'/> + <feature name='smep'/> + <feature name='sse'/> + <feature name='sse2'/> + <feature name='sse4.1'/> + <feature name='sse4.2'/> + <feature name='sse4a'/> + <feature name='ssse3'/> + <feature name='svm'/> + <feature name='syscall'/> + <feature name='tsc'/> + <feature name='vme'/> + <feature name='xgetbv1'/> + <feature name='xsave'/> + <feature name='xsavec'/> + <feature name='xsaveerptr'/> + <feature name='xsaveopt'/> + <feature name='xsaves'/> + </model> +</cpus> diff --git a/src/cpu_map/x86_EPYC-v4.xml b/src/cpu_map/x86_EPYC-v4.xml new file mode 100644 index 0000000000..e714d9e622 --- /dev/null +++ b/src/cpu_map/x86_EPYC-v4.xml @@ -0,0 +1,88 @@ +<!-- extra info from qemu: + 'model.level': '0xd' + 'model.stepping': '2' + 'model.xlevel': '0x8000001E' + 'model.model_id': 'AMD EPYC Processor' + 'model.cache_info': '&epyc_cache_info' + 'property.model-id': 'AMD EPYC-v4 Processor' + 'version.cache_info': '&epyc_v4_cache_info' +--> +<cpus> + <model name='EPYC-v4'> + <decode host='on' guest='on'/> + <signature family='23' model='1'/> + <vendor name='AMD'/> + <feature name='3dnowprefetch'/> + <feature name='abm'/> + <feature name='adx'/> + <feature name='aes'/> + <feature name='apic'/> + <feature name='arat'/> + <feature name='avx'/> + <feature name='avx2'/> + <feature name='bmi1'/> + <feature name='bmi2'/> + <feature name='clflush'/> + <feature name='clflushopt'/> + <feature name='clzero'/> + <feature name='cmov'/> + <feature name='cr8legacy'/> + <feature name='cx16'/> + <feature name='cx8'/> + <feature name='de'/> + <feature name='f16c'/> + <feature name='fma'/> + <feature name='fpu'/> + <feature name='fsgsbase'/> + <feature name='fxsr'/> + <feature name='fxsr_opt'/> + <feature name='ibpb'/> + <feature name='lahf_lm'/> + <feature name='lm'/> + <feature name='mca'/> + <feature name='mce'/> + <feature name='misalignsse'/> + <feature name='mmx'/> + <feature name='mmxext'/> + <feature name='movbe'/> + <feature name='msr'/> + <feature name='mtrr'/> + <feature name='npt'/> + <feature name='nrip-save'/> + <feature name='nx'/> + <feature name='osvw'/> + <feature name='pae'/> + <feature name='pat'/> + <feature name='pclmuldq'/> + <feature name='pdpe1gb'/> + <feature name='perfctr_core'/> + <feature name='pge'/> + <feature name='pni'/> + <feature name='popcnt'/> + <feature name='pse'/> + <feature name='pse36'/> + <feature name='rdrand'/> + <feature name='rdseed'/> + <feature name='rdtscp'/> + <feature name='sep'/> + <feature name='sha-ni'/> + <feature name='smap'/> + <feature name='smep'/> + <feature name='sse'/> + <feature name='sse2'/> + <feature name='sse4.1'/> + <feature name='sse4.2'/> + <feature name='sse4a'/> + <feature name='ssse3'/> + <feature name='svm'/> + <feature name='syscall'/> + <feature name='tsc'/> + <feature name='vme'/> + <feature name='xgetbv1'/> + <feature name='xsave'/> + <feature name='xsavec'/> + <feature name='xsaveerptr'/> + <feature name='xsaveopt'/> + <feature name='xsaves'/> + </model> +</cpus> diff --git a/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-host.xml b/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-host.xml index e348e0f6f6..c9ad653497 100644 --- a/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-host.xml +++ b/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-host.xml @@ -1,13 +1,12 @@ <cpu> <arch>x86_64</arch> - <model>EPYC-Rome</model> + <model>EPYC-Rome-v3</model> <vendor>AMD</vendor> <signature family='23' model='49' stepping='0'/> <feature name='ht'/> <feature name='monitor'/> <feature name='osxsave'/> <feature name='cmt'/> - <feature name='xsaves'/> <feature name='mbm_total'/> <feature name='mbm_local'/> <feature name='cmp_legacy'/> @@ -19,8 +18,6 @@ <feature name='topoext'/> <feature name='perfctr_nb'/> <feature name='invtsc'/> - <feature name='ibrs'/> - <feature name='amd-ssbd'/> <feature name='lbrv'/> <feature name='svm-lock'/> <feature name='tsc-scale'/> diff --git a/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-guest.xml b/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-guest.xml index 486b41815d..f3e5164efc 100644 --- a/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-guest.xml +++ b/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-guest.xml @@ -1,25 +1,19 @@ <cpu mode='custom' match='exact'> - <model fallback='forbid'>EPYC</model> + <model fallback='forbid'>EPYC-v4</model> <vendor>AMD</vendor> <feature policy='require' name='ht'/> <feature policy='require' name='monitor'/> <feature policy='require' name='osxsave'/> - <feature policy='require' name='xsaves'/> <feature policy='require' name='cmp_legacy'/> <feature policy='require' name='extapic'/> <feature policy='require' name='skinit'/> <feature policy='require' name='wdt'/> <feature policy='require' name='tce'/> <feature policy='require' name='topoext'/> - <feature policy='require' name='perfctr_core'/> <feature policy='require' name='perfctr_nb'/> <feature policy='require' name='invtsc'/> - <feature policy='require' name='clzero'/> - <feature policy='require' name='xsaveerptr'/> - <feature policy='require' name='npt'/> <feature policy='require' name='lbrv'/> <feature policy='require' name='svm-lock'/> - <feature policy='require' name='nrip-save'/> <feature policy='require' name='tsc-scale'/> <feature policy='require' name='vmcb-clean'/> <feature policy='require' name='flushbyasid'/> @@ -29,4 +23,5 @@ <feature policy='require' name='avic'/> <feature policy='require' name='v-vmsave-vmload'/> <feature policy='require' name='vgif'/> + <feature policy='disable' name='ibpb'/> </cpu> diff --git a/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-ibpb-host.xml b/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-ibpb-host.xml index 42b8b5f986..1a6ecf839e 100644 --- a/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-ibpb-host.xml +++ b/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-ibpb-host.xml @@ -1,27 +1,21 @@ <cpu> <arch>x86_64</arch> - <model>EPYC-IBPB</model> + <model>EPYC-v4</model> <vendor>AMD</vendor> <signature family='23' model='1' stepping='2'/> <feature name='ht'/> <feature name='monitor'/> <feature name='osxsave'/> - <feature name='xsaves'/> <feature name='cmp_legacy'/> <feature name='extapic'/> <feature name='skinit'/> <feature name='wdt'/> <feature name='tce'/> <feature name='topoext'/> - <feature name='perfctr_core'/> <feature name='perfctr_nb'/> <feature name='invtsc'/> - <feature name='clzero'/> - <feature name='xsaveerptr'/> - <feature name='npt'/> <feature name='lbrv'/> <feature name='svm-lock'/> - <feature name='nrip-save'/> <feature name='tsc-scale'/> <feature name='vmcb-clean'/> <feature name='flushbyasid'/> diff --git a/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core-guest.xml b/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core-guest.xml index 486b41815d..f3e5164efc 100644 --- a/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core-guest.xml +++ b/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core-guest.xml @@ -1,25 +1,19 @@ <cpu mode='custom' match='exact'> - <model fallback='forbid'>EPYC</model> + <model fallback='forbid'>EPYC-v4</model> <vendor>AMD</vendor> <feature policy='require' name='ht'/> <feature policy='require' name='monitor'/> <feature policy='require' name='osxsave'/> - <feature policy='require' name='xsaves'/> <feature policy='require' name='cmp_legacy'/> <feature policy='require' name='extapic'/> <feature policy='require' name='skinit'/> <feature policy='require' name='wdt'/> <feature policy='require' name='tce'/> <feature policy='require' name='topoext'/> - <feature policy='require' name='perfctr_core'/> <feature policy='require' name='perfctr_nb'/> <feature policy='require' name='invtsc'/> - <feature policy='require' name='clzero'/> - <feature policy='require' name='xsaveerptr'/> - <feature policy='require' name='npt'/> <feature policy='require' name='lbrv'/> <feature policy='require' name='svm-lock'/> - <feature policy='require' name='nrip-save'/> <feature policy='require' name='tsc-scale'/> <feature policy='require' name='vmcb-clean'/> <feature policy='require' name='flushbyasid'/> @@ -29,4 +23,5 @@ <feature policy='require' name='avic'/> <feature policy='require' name='v-vmsave-vmload'/> <feature policy='require' name='vgif'/> + <feature policy='disable' name='ibpb'/> </cpu> diff --git a/tests/domaincapsdata/qemu_5.0.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_5.0.0-q35.x86_64.xml index 1d29a40f74..60f65fdffe 100644 --- a/tests/domaincapsdata/qemu_5.0.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_5.0.0-q35.x86_64.xml @@ -170,6 +170,7 @@ <model usable='yes' vendor='Intel'>Haswell-noTSX</model> <model usable='yes' vendor='Intel'>Haswell-IBRS</model> <model usable='yes' vendor='Intel'>Haswell</model> + <model usable='no' vendor='AMD'>EPYC-v3</model> <model usable='no' vendor='AMD'>EPYC-Rome</model> <model usable='no' vendor='AMD'>EPYC-IBPB</model> <model usable='no' vendor='AMD'>EPYC</model> diff --git a/tests/domaincapsdata/qemu_5.0.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_5.0.0-tcg.x86_64.xml index 7b7420ff8e..01906a6277 100644 --- a/tests/domaincapsdata/qemu_5.0.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_5.0.0-tcg.x86_64.xml @@ -115,6 +115,7 @@ <model usable='no' vendor='Intel'>Haswell-noTSX</model> <model usable='no' vendor='Intel'>Haswell-IBRS</model> <model usable='no' vendor='Intel'>Haswell</model> + <model usable='no' vendor='AMD'>EPYC-v3</model> <model usable='no' vendor='AMD'>EPYC-Rome</model> <model usable='no' vendor='AMD'>EPYC-IBPB</model> <model usable='no' vendor='AMD'>EPYC</model> diff --git a/tests/domaincapsdata/qemu_5.0.0.x86_64.xml b/tests/domaincapsdata/qemu_5.0.0.x86_64.xml index f3b3adb19e..12a5d8f66e 100644 --- a/tests/domaincapsdata/qemu_5.0.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_5.0.0.x86_64.xml @@ -169,6 +169,7 @@ <model usable='yes' vendor='Intel'>Haswell-noTSX</model> <model usable='yes' vendor='Intel'>Haswell-IBRS</model> <model usable='yes' vendor='Intel'>Haswell</model> + <model usable='no' vendor='AMD'>EPYC-v3</model> <model usable='no' vendor='AMD'>EPYC-Rome</model> <model usable='no' vendor='AMD'>EPYC-IBPB</model> <model usable='no' vendor='AMD'>EPYC</model> diff --git a/tests/domaincapsdata/qemu_5.1.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_5.1.0-q35.x86_64.xml index 2a8a784813..88291c60de 100644 --- a/tests/domaincapsdata/qemu_5.1.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_5.1.0-q35.x86_64.xml @@ -103,6 +103,7 @@ <model usable='no' vendor='Intel'>Haswell-noTSX</model> <model usable='no' vendor='Intel'>Haswell-IBRS</model> <model usable='no' vendor='Intel'>Haswell</model> + <model usable='yes' vendor='AMD'>EPYC-v3</model> <model usable='yes' vendor='AMD'>EPYC-Rome</model> <model usable='yes' vendor='AMD'>EPYC-IBPB</model> <model usable='yes' vendor='AMD'>EPYC</model> diff --git a/tests/domaincapsdata/qemu_5.1.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_5.1.0-tcg.x86_64.xml index 272d9bed08..a2bce1003a 100644 --- a/tests/domaincapsdata/qemu_5.1.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_5.1.0-tcg.x86_64.xml @@ -115,6 +115,7 @@ <model usable='no' vendor='Intel'>Haswell-noTSX</model> <model usable='no' vendor='Intel'>Haswell-IBRS</model> <model usable='no' vendor='Intel'>Haswell</model> + <model usable='no' vendor='AMD'>EPYC-v3</model> <model usable='no' vendor='AMD'>EPYC-Rome</model> <model usable='no' vendor='AMD'>EPYC-IBPB</model> <model usable='no' vendor='AMD'>EPYC</model> diff --git a/tests/domaincapsdata/qemu_5.1.0.x86_64.xml b/tests/domaincapsdata/qemu_5.1.0.x86_64.xml index 735cd42466..954025cb33 100644 --- a/tests/domaincapsdata/qemu_5.1.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_5.1.0.x86_64.xml @@ -102,6 +102,7 @@ <model usable='no' vendor='Intel'>Haswell-noTSX</model> <model usable='no' vendor='Intel'>Haswell-IBRS</model> <model usable='no' vendor='Intel'>Haswell</model> + <model usable='yes' vendor='AMD'>EPYC-v3</model> <model usable='yes' vendor='AMD'>EPYC-Rome</model> <model usable='yes' vendor='AMD'>EPYC-IBPB</model> <model usable='yes' vendor='AMD'>EPYC</model> 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 968cfe68e8..66753cef10 100644 --- a/tests/domaincapsdata/qemu_5.2.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_5.2.0-q35.x86_64.xml @@ -103,6 +103,7 @@ <model usable='no' vendor='Intel'>Haswell-noTSX</model> <model usable='no' vendor='Intel'>Haswell-IBRS</model> <model usable='no' vendor='Intel'>Haswell</model> + <model usable='yes' vendor='AMD'>EPYC-v3</model> <model usable='yes' vendor='AMD'>EPYC-Rome</model> <model usable='yes' vendor='AMD'>EPYC-IBPB</model> <model usable='yes' vendor='AMD'>EPYC</model> 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 526f39254e..af223af1b8 100644 --- a/tests/domaincapsdata/qemu_5.2.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_5.2.0-tcg.x86_64.xml @@ -115,6 +115,7 @@ <model usable='no' vendor='Intel'>Haswell-noTSX</model> <model usable='no' vendor='Intel'>Haswell-IBRS</model> <model usable='no' vendor='Intel'>Haswell</model> + <model usable='no' vendor='AMD'>EPYC-v3</model> <model usable='no' vendor='AMD'>EPYC-Rome</model> <model usable='no' vendor='AMD'>EPYC-IBPB</model> <model usable='no' vendor='AMD'>EPYC</model> diff --git a/tests/domaincapsdata/qemu_5.2.0.x86_64.xml b/tests/domaincapsdata/qemu_5.2.0.x86_64.xml index 9bbb22b0d8..195d523fa7 100644 --- a/tests/domaincapsdata/qemu_5.2.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_5.2.0.x86_64.xml @@ -102,6 +102,7 @@ <model usable='no' vendor='Intel'>Haswell-noTSX</model> <model usable='no' vendor='Intel'>Haswell-IBRS</model> <model usable='no' vendor='Intel'>Haswell</model> + <model usable='yes' vendor='AMD'>EPYC-v3</model> <model usable='yes' vendor='AMD'>EPYC-Rome</model> <model usable='yes' vendor='AMD'>EPYC-IBPB</model> <model usable='yes' vendor='AMD'>EPYC</model> 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 66da296d8e..a96f1e23fd 100644 --- a/tests/domaincapsdata/qemu_6.0.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.0.0-q35.x86_64.xml @@ -103,6 +103,8 @@ <model usable='no' vendor='Intel'>Haswell-noTSX</model> <model usable='no' vendor='Intel'>Haswell-IBRS</model> <model usable='no' vendor='Intel'>Haswell</model> + <model usable='yes' vendor='AMD'>EPYC-v3</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v2</model> <model usable='yes' vendor='AMD'>EPYC-Rome</model> <model usable='no' vendor='AMD'>EPYC-Milan</model> <model usable='yes' vendor='AMD'>EPYC-IBPB</model> 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 0ffd95aee6..1a00383168 100644 --- a/tests/domaincapsdata/qemu_6.0.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.0.0-tcg.x86_64.xml @@ -116,6 +116,8 @@ <model usable='no' vendor='Intel'>Haswell-noTSX</model> <model usable='no' vendor='Intel'>Haswell-IBRS</model> <model usable='no' vendor='Intel'>Haswell</model> + <model usable='no' vendor='AMD'>EPYC-v3</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v2</model> <model usable='no' vendor='AMD'>EPYC-Rome</model> <model usable='no' vendor='AMD'>EPYC-Milan</model> <model usable='no' vendor='AMD'>EPYC-IBPB</model> diff --git a/tests/domaincapsdata/qemu_6.0.0.x86_64.xml b/tests/domaincapsdata/qemu_6.0.0.x86_64.xml index 0af8b9d064..e21b8dc2df 100644 --- a/tests/domaincapsdata/qemu_6.0.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.0.0.x86_64.xml @@ -102,6 +102,8 @@ <model usable='no' vendor='Intel'>Haswell-noTSX</model> <model usable='no' vendor='Intel'>Haswell-IBRS</model> <model usable='no' vendor='Intel'>Haswell</model> + <model usable='yes' vendor='AMD'>EPYC-v3</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v2</model> <model usable='yes' vendor='AMD'>EPYC-Rome</model> <model usable='no' vendor='AMD'>EPYC-Milan</model> <model usable='yes' vendor='AMD'>EPYC-IBPB</model> 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 cc2081955d..bfecc6ffe0 100644 --- a/tests/domaincapsdata/qemu_6.1.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.1.0-q35.x86_64.xml @@ -104,6 +104,8 @@ <model usable='no' vendor='Intel'>Haswell-noTSX</model> <model usable='no' vendor='Intel'>Haswell-IBRS</model> <model usable='no' vendor='Intel'>Haswell</model> + <model usable='yes' vendor='AMD'>EPYC-v3</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v2</model> <model usable='yes' vendor='AMD'>EPYC-Rome</model> <model usable='no' vendor='AMD'>EPYC-Milan</model> <model usable='yes' vendor='AMD'>EPYC-IBPB</model> 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 a80c86df4f..5762bc0b90 100644 --- a/tests/domaincapsdata/qemu_6.1.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.1.0-tcg.x86_64.xml @@ -116,6 +116,8 @@ <model usable='no' vendor='Intel'>Haswell-noTSX</model> <model usable='no' vendor='Intel'>Haswell-IBRS</model> <model usable='no' vendor='Intel'>Haswell</model> + <model usable='no' vendor='AMD'>EPYC-v3</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v2</model> <model usable='no' vendor='AMD'>EPYC-Rome</model> <model usable='no' vendor='AMD'>EPYC-Milan</model> <model usable='no' vendor='AMD'>EPYC-IBPB</model> diff --git a/tests/domaincapsdata/qemu_6.1.0.x86_64.xml b/tests/domaincapsdata/qemu_6.1.0.x86_64.xml index 22f8c8a397..ef3ab32795 100644 --- a/tests/domaincapsdata/qemu_6.1.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.1.0.x86_64.xml @@ -103,6 +103,8 @@ <model usable='no' vendor='Intel'>Haswell-noTSX</model> <model usable='no' vendor='Intel'>Haswell-IBRS</model> <model usable='no' vendor='Intel'>Haswell</model> + <model usable='yes' vendor='AMD'>EPYC-v3</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v2</model> <model usable='yes' vendor='AMD'>EPYC-Rome</model> <model usable='no' vendor='AMD'>EPYC-Milan</model> <model usable='yes' vendor='AMD'>EPYC-IBPB</model> 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 782aa792a9..850762a81b 100644 --- a/tests/domaincapsdata/qemu_6.2.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.2.0-q35.x86_64.xml @@ -104,6 +104,8 @@ <model usable='no' vendor='Intel'>Haswell-noTSX</model> <model usable='no' vendor='Intel'>Haswell-IBRS</model> <model usable='no' vendor='Intel'>Haswell</model> + <model usable='yes' vendor='AMD'>EPYC-v3</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v2</model> <model usable='yes' vendor='AMD'>EPYC-Rome</model> <model usable='no' vendor='AMD'>EPYC-Milan</model> <model usable='yes' vendor='AMD'>EPYC-IBPB</model> 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 7ed62fb522..f90c826e27 100644 --- a/tests/domaincapsdata/qemu_6.2.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.2.0-tcg.x86_64.xml @@ -118,6 +118,8 @@ <model usable='no' vendor='Intel'>Haswell-noTSX</model> <model usable='no' vendor='Intel'>Haswell-IBRS</model> <model usable='no' vendor='Intel'>Haswell</model> + <model usable='no' vendor='AMD'>EPYC-v3</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v2</model> <model usable='no' vendor='AMD'>EPYC-Rome</model> <model usable='no' vendor='AMD'>EPYC-Milan</model> <model usable='no' vendor='AMD'>EPYC-IBPB</model> diff --git a/tests/domaincapsdata/qemu_6.2.0.x86_64.xml b/tests/domaincapsdata/qemu_6.2.0.x86_64.xml index e6283ff153..77feb230c9 100644 --- a/tests/domaincapsdata/qemu_6.2.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.2.0.x86_64.xml @@ -103,6 +103,8 @@ <model usable='no' vendor='Intel'>Haswell-noTSX</model> <model usable='no' vendor='Intel'>Haswell-IBRS</model> <model usable='no' vendor='Intel'>Haswell</model> + <model usable='yes' vendor='AMD'>EPYC-v3</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v2</model> <model usable='yes' vendor='AMD'>EPYC-Rome</model> <model usable='no' vendor='AMD'>EPYC-Milan</model> <model usable='yes' vendor='AMD'>EPYC-IBPB</model> 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 50b2ee2ffe..587843dc95 100644 --- a/tests/domaincapsdata/qemu_7.0.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.0.0-q35.x86_64.xml @@ -105,6 +105,8 @@ <model usable='no' vendor='Intel'>Haswell-noTSX</model> <model usable='no' vendor='Intel'>Haswell-IBRS</model> <model usable='no' vendor='Intel'>Haswell</model> + <model usable='yes' vendor='AMD'>EPYC-v3</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v2</model> <model usable='yes' vendor='AMD'>EPYC-Rome</model> <model usable='no' vendor='AMD'>EPYC-Milan</model> <model usable='yes' vendor='AMD'>EPYC-IBPB</model> 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 3a71b54847..7ef5615473 100644 --- a/tests/domaincapsdata/qemu_7.0.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.0.0-tcg.x86_64.xml @@ -119,6 +119,8 @@ <model usable='no' vendor='Intel'>Haswell-noTSX</model> <model usable='no' vendor='Intel'>Haswell-IBRS</model> <model usable='no' vendor='Intel'>Haswell</model> + <model usable='no' vendor='AMD'>EPYC-v3</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v2</model> <model usable='no' vendor='AMD'>EPYC-Rome</model> <model usable='no' vendor='AMD'>EPYC-Milan</model> <model usable='no' vendor='AMD'>EPYC-IBPB</model> diff --git a/tests/domaincapsdata/qemu_7.0.0.x86_64.xml b/tests/domaincapsdata/qemu_7.0.0.x86_64.xml index fa4b912168..1fbfdc229d 100644 --- a/tests/domaincapsdata/qemu_7.0.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.0.0.x86_64.xml @@ -104,6 +104,8 @@ <model usable='no' vendor='Intel'>Haswell-noTSX</model> <model usable='no' vendor='Intel'>Haswell-IBRS</model> <model usable='no' vendor='Intel'>Haswell</model> + <model usable='yes' vendor='AMD'>EPYC-v3</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v2</model> <model usable='yes' vendor='AMD'>EPYC-Rome</model> <model usable='no' vendor='AMD'>EPYC-Milan</model> <model usable='yes' vendor='AMD'>EPYC-IBPB</model> 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 2eec2e3162..8247daf1da 100644 --- a/tests/domaincapsdata/qemu_7.1.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.1.0-q35.x86_64.xml @@ -104,6 +104,8 @@ <model usable='no' vendor='Intel'>Haswell-noTSX</model> <model usable='no' vendor='Intel'>Haswell-IBRS</model> <model usable='no' vendor='Intel'>Haswell</model> + <model usable='yes' vendor='AMD'>EPYC-v3</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v2</model> <model usable='yes' vendor='AMD'>EPYC-Rome</model> <model usable='no' vendor='AMD'>EPYC-Milan</model> <model usable='yes' vendor='AMD'>EPYC-IBPB</model> 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 1ae2a7c342..df0d5c1b86 100644 --- a/tests/domaincapsdata/qemu_7.1.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.1.0-tcg.x86_64.xml @@ -117,6 +117,8 @@ <model usable='no' vendor='Intel'>Haswell-noTSX</model> <model usable='no' vendor='Intel'>Haswell-IBRS</model> <model usable='no' vendor='Intel'>Haswell</model> + <model usable='no' vendor='AMD'>EPYC-v3</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v2</model> <model usable='no' vendor='AMD'>EPYC-Rome</model> <model usable='no' vendor='AMD'>EPYC-Milan</model> <model usable='no' vendor='AMD'>EPYC-IBPB</model> diff --git a/tests/domaincapsdata/qemu_7.1.0.x86_64.xml b/tests/domaincapsdata/qemu_7.1.0.x86_64.xml index 449e1b51d1..197e088d32 100644 --- a/tests/domaincapsdata/qemu_7.1.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.1.0.x86_64.xml @@ -103,6 +103,8 @@ <model usable='no' vendor='Intel'>Haswell-noTSX</model> <model usable='no' vendor='Intel'>Haswell-IBRS</model> <model usable='no' vendor='Intel'>Haswell</model> + <model usable='yes' vendor='AMD'>EPYC-v3</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v2</model> <model usable='yes' vendor='AMD'>EPYC-Rome</model> <model usable='no' vendor='AMD'>EPYC-Milan</model> <model usable='yes' vendor='AMD'>EPYC-IBPB</model> 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 e48a07da28..0e06734522 100644 --- a/tests/domaincapsdata/qemu_7.2.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.2.0-q35.x86_64.xml @@ -109,6 +109,8 @@ <model usable='no' vendor='Intel'>Haswell-noTSX</model> <model usable='no' vendor='Intel'>Haswell-IBRS</model> <model usable='no' vendor='Intel'>Haswell</model> + <model usable='yes' vendor='AMD'>EPYC-v3</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v2</model> <model usable='yes' vendor='AMD'>EPYC-Rome</model> <model usable='no' vendor='AMD'>EPYC-Milan</model> <model usable='yes' vendor='AMD'>EPYC-IBPB</model> 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 69b6be7616..841b640c15 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 @@ -106,6 +106,8 @@ <model usable='no' vendor='Intel'>Haswell-noTSX</model> <model usable='no' vendor='Intel'>Haswell-IBRS</model> <model usable='no' vendor='Intel'>Haswell</model> + <model usable='no' vendor='AMD'>EPYC-v3</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v2</model> <model usable='no' vendor='AMD'>EPYC-Rome</model> <model usable='no' vendor='AMD'>EPYC-Milan</model> <model usable='no' vendor='AMD'>EPYC-IBPB</model> 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 69b6be7616..841b640c15 100644 --- a/tests/domaincapsdata/qemu_7.2.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.2.0-tcg.x86_64.xml @@ -106,6 +106,8 @@ <model usable='no' vendor='Intel'>Haswell-noTSX</model> <model usable='no' vendor='Intel'>Haswell-IBRS</model> <model usable='no' vendor='Intel'>Haswell</model> + <model usable='no' vendor='AMD'>EPYC-v3</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v2</model> <model usable='no' vendor='AMD'>EPYC-Rome</model> <model usable='no' vendor='AMD'>EPYC-Milan</model> <model usable='no' vendor='AMD'>EPYC-IBPB</model> diff --git a/tests/domaincapsdata/qemu_7.2.0.x86_64.xml b/tests/domaincapsdata/qemu_7.2.0.x86_64.xml index d116cf2e48..9cafaf2f0f 100644 --- a/tests/domaincapsdata/qemu_7.2.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.2.0.x86_64.xml @@ -108,6 +108,8 @@ <model usable='no' vendor='Intel'>Haswell-noTSX</model> <model usable='no' vendor='Intel'>Haswell-IBRS</model> <model usable='no' vendor='Intel'>Haswell</model> + <model usable='yes' vendor='AMD'>EPYC-v3</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v2</model> <model usable='yes' vendor='AMD'>EPYC-Rome</model> <model usable='no' vendor='AMD'>EPYC-Milan</model> <model usable='yes' vendor='AMD'>EPYC-IBPB</model> 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 2815064abc..564546cf41 100644 --- a/tests/domaincapsdata/qemu_8.0.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.0.0-q35.x86_64.xml @@ -110,6 +110,8 @@ <model usable='no' vendor='Intel'>Haswell-noTSX</model> <model usable='no' vendor='Intel'>Haswell-IBRS</model> <model usable='no' vendor='Intel'>Haswell</model> + <model usable='yes' vendor='AMD'>EPYC-v3</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v2</model> <model usable='yes' vendor='AMD'>EPYC-Rome</model> <model usable='no' vendor='AMD'>EPYC-Milan</model> <model usable='yes' vendor='AMD'>EPYC-IBPB</model> 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 efb5fcb99d..58ce3d8d69 100644 --- a/tests/domaincapsdata/qemu_8.0.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.0.0-tcg.x86_64.xml @@ -111,6 +111,8 @@ <model usable='no' vendor='Intel'>Haswell-noTSX</model> <model usable='no' vendor='Intel'>Haswell-IBRS</model> <model usable='no' vendor='Intel'>Haswell</model> + <model usable='no' vendor='AMD'>EPYC-v3</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v2</model> <model usable='no' vendor='AMD'>EPYC-Rome</model> <model usable='no' vendor='AMD'>EPYC-Milan</model> <model usable='no' vendor='AMD'>EPYC-IBPB</model> diff --git a/tests/domaincapsdata/qemu_8.0.0.x86_64.xml b/tests/domaincapsdata/qemu_8.0.0.x86_64.xml index 07d1d06115..eb5897671c 100644 --- a/tests/domaincapsdata/qemu_8.0.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.0.0.x86_64.xml @@ -109,6 +109,8 @@ <model usable='no' vendor='Intel'>Haswell-noTSX</model> <model usable='no' vendor='Intel'>Haswell-IBRS</model> <model usable='no' vendor='Intel'>Haswell</model> + <model usable='yes' vendor='AMD'>EPYC-v3</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v2</model> <model usable='yes' vendor='AMD'>EPYC-Rome</model> <model usable='no' vendor='AMD'>EPYC-Milan</model> <model usable='yes' vendor='AMD'>EPYC-IBPB</model> 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 4d438efdf7..d865028850 100644 --- a/tests/domaincapsdata/qemu_8.1.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.1.0-q35.x86_64.xml @@ -41,7 +41,7 @@ </enum> </mode> <mode name='host-model' supported='yes'> - <model fallback='forbid'>EPYC-Rome</model> + <model fallback='forbid'>EPYC-Rome-v4</model> <vendor>AMD</vendor> <maxphysaddr mode='passthrough' limit='64'/> <feature policy='require' name='x2apic'/> @@ -53,7 +53,6 @@ <feature policy='require' name='ssbd'/> <feature policy='require' name='cmp_legacy'/> <feature policy='require' name='invtsc'/> - <feature policy='require' name='amd-ssbd'/> <feature policy='require' name='virt-ssbd'/> <feature policy='require' name='lbrv'/> <feature policy='require' name='tsc-scale'/> @@ -69,7 +68,7 @@ <feature policy='require' name='skip-l1dfl-vmentry'/> <feature policy='require' name='mds-no'/> <feature policy='require' name='pschange-mc-no'/> - <feature policy='disable' name='xsaves'/> + <feature policy='disable' name='ibrs'/> </mode> <mode name='custom' supported='yes'> <model usable='yes' vendor='unknown'>qemu64</model> @@ -112,7 +111,13 @@ <model usable='no' vendor='Intel'>Haswell-noTSX</model> <model usable='no' vendor='Intel'>Haswell-IBRS</model> <model usable='no' vendor='Intel'>Haswell</model> + <model usable='no' vendor='AMD'>EPYC-v4</model> + <model usable='no' vendor='AMD'>EPYC-v3</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v4</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v3</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v2</model> <model usable='no' vendor='AMD'>EPYC-Rome</model> + <model usable='no' vendor='AMD'>EPYC-Milan-v2</model> <model usable='no' vendor='AMD'>EPYC-Milan</model> <model usable='yes' vendor='AMD'>EPYC-IBPB</model> <model usable='no' vendor='AMD'>EPYC-Genoa</model> 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 e32cd80c17..192fa20c72 100644 --- a/tests/domaincapsdata/qemu_8.1.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.1.0-tcg.x86_64.xml @@ -112,7 +112,13 @@ <model usable='no' vendor='Intel'>Haswell-noTSX</model> <model usable='no' vendor='Intel'>Haswell-IBRS</model> <model usable='no' vendor='Intel'>Haswell</model> + <model usable='no' vendor='AMD'>EPYC-v4</model> + <model usable='no' vendor='AMD'>EPYC-v3</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v4</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v3</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v2</model> <model usable='no' vendor='AMD'>EPYC-Rome</model> + <model usable='no' vendor='AMD'>EPYC-Milan-v2</model> <model usable='no' vendor='AMD'>EPYC-Milan</model> <model usable='no' vendor='AMD'>EPYC-IBPB</model> <model usable='no' vendor='AMD'>EPYC-Genoa</model> diff --git a/tests/domaincapsdata/qemu_8.1.0.x86_64.xml b/tests/domaincapsdata/qemu_8.1.0.x86_64.xml index 919357e577..51cba16a35 100644 --- a/tests/domaincapsdata/qemu_8.1.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.1.0.x86_64.xml @@ -40,7 +40,7 @@ </enum> </mode> <mode name='host-model' supported='yes'> - <model fallback='forbid'>EPYC-Rome</model> + <model fallback='forbid'>EPYC-Rome-v4</model> <vendor>AMD</vendor> <maxphysaddr mode='passthrough' limit='64'/> <feature policy='require' name='x2apic'/> @@ -52,7 +52,6 @@ <feature policy='require' name='ssbd'/> <feature policy='require' name='cmp_legacy'/> <feature policy='require' name='invtsc'/> - <feature policy='require' name='amd-ssbd'/> <feature policy='require' name='virt-ssbd'/> <feature policy='require' name='lbrv'/> <feature policy='require' name='tsc-scale'/> @@ -68,7 +67,7 @@ <feature policy='require' name='skip-l1dfl-vmentry'/> <feature policy='require' name='mds-no'/> <feature policy='require' name='pschange-mc-no'/> - <feature policy='disable' name='xsaves'/> + <feature policy='disable' name='ibrs'/> </mode> <mode name='custom' supported='yes'> <model usable='yes' vendor='unknown'>qemu64</model> @@ -111,7 +110,13 @@ <model usable='no' vendor='Intel'>Haswell-noTSX</model> <model usable='no' vendor='Intel'>Haswell-IBRS</model> <model usable='no' vendor='Intel'>Haswell</model> + <model usable='no' vendor='AMD'>EPYC-v4</model> + <model usable='no' vendor='AMD'>EPYC-v3</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v4</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v3</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v2</model> <model usable='no' vendor='AMD'>EPYC-Rome</model> + <model usable='no' vendor='AMD'>EPYC-Milan-v2</model> <model usable='no' vendor='AMD'>EPYC-Milan</model> <model usable='yes' vendor='AMD'>EPYC-IBPB</model> <model usable='no' vendor='AMD'>EPYC-Genoa</model> 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 f711a51044..f24fe4789e 100644 --- a/tests/domaincapsdata/qemu_8.2.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.2.0-q35.x86_64.xml @@ -41,7 +41,7 @@ </enum> </mode> <mode name='host-model' supported='yes'> - <model fallback='forbid'>EPYC-Rome</model> + <model fallback='forbid'>EPYC-Rome-v4</model> <vendor>AMD</vendor> <maxphysaddr mode='passthrough' limit='64'/> <feature policy='require' name='x2apic'/> @@ -53,7 +53,6 @@ <feature policy='require' name='ssbd'/> <feature policy='require' name='cmp_legacy'/> <feature policy='require' name='invtsc'/> - <feature policy='require' name='amd-ssbd'/> <feature policy='require' name='virt-ssbd'/> <feature policy='require' name='lbrv'/> <feature policy='require' name='tsc-scale'/> @@ -70,7 +69,7 @@ <feature policy='require' name='mds-no'/> <feature policy='require' name='pschange-mc-no'/> <feature policy='require' name='gds-no'/> - <feature policy='disable' name='xsaves'/> + <feature policy='disable' name='ibrs'/> </mode> <mode name='custom' supported='yes'> <model usable='yes' vendor='unknown'>qemu64</model> @@ -113,7 +112,13 @@ <model usable='no' vendor='Intel'>Haswell-noTSX</model> <model usable='no' vendor='Intel'>Haswell-IBRS</model> <model usable='no' vendor='Intel'>Haswell</model> + <model usable='no' vendor='AMD'>EPYC-v4</model> + <model usable='no' vendor='AMD'>EPYC-v3</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v4</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v3</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v2</model> <model usable='no' vendor='AMD'>EPYC-Rome</model> + <model usable='no' vendor='AMD'>EPYC-Milan-v2</model> <model usable='no' vendor='AMD'>EPYC-Milan</model> <model usable='yes' vendor='AMD'>EPYC-IBPB</model> <model usable='no' vendor='AMD'>EPYC-Genoa</model> 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 784a29acd9..1945ec6561 100644 --- a/tests/domaincapsdata/qemu_8.2.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.2.0-tcg.x86_64.xml @@ -111,7 +111,13 @@ <model usable='no' vendor='Intel'>Haswell-noTSX</model> <model usable='no' vendor='Intel'>Haswell-IBRS</model> <model usable='no' vendor='Intel'>Haswell</model> + <model usable='no' vendor='AMD'>EPYC-v4</model> + <model usable='no' vendor='AMD'>EPYC-v3</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v4</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v3</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v2</model> <model usable='no' vendor='AMD'>EPYC-Rome</model> + <model usable='no' vendor='AMD'>EPYC-Milan-v2</model> <model usable='no' vendor='AMD'>EPYC-Milan</model> <model usable='no' vendor='AMD'>EPYC-IBPB</model> <model usable='no' vendor='AMD'>EPYC-Genoa</model> diff --git a/tests/domaincapsdata/qemu_8.2.0.x86_64.xml b/tests/domaincapsdata/qemu_8.2.0.x86_64.xml index bc060e21b6..2252f8f05e 100644 --- a/tests/domaincapsdata/qemu_8.2.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.2.0.x86_64.xml @@ -40,7 +40,7 @@ </enum> </mode> <mode name='host-model' supported='yes'> - <model fallback='forbid'>EPYC-Rome</model> + <model fallback='forbid'>EPYC-Rome-v4</model> <vendor>AMD</vendor> <maxphysaddr mode='passthrough' limit='64'/> <feature policy='require' name='x2apic'/> @@ -52,7 +52,6 @@ <feature policy='require' name='ssbd'/> <feature policy='require' name='cmp_legacy'/> <feature policy='require' name='invtsc'/> - <feature policy='require' name='amd-ssbd'/> <feature policy='require' name='virt-ssbd'/> <feature policy='require' name='lbrv'/> <feature policy='require' name='tsc-scale'/> @@ -69,7 +68,7 @@ <feature policy='require' name='mds-no'/> <feature policy='require' name='pschange-mc-no'/> <feature policy='require' name='gds-no'/> - <feature policy='disable' name='xsaves'/> + <feature policy='disable' name='ibrs'/> </mode> <mode name='custom' supported='yes'> <model usable='yes' vendor='unknown'>qemu64</model> @@ -112,7 +111,13 @@ <model usable='no' vendor='Intel'>Haswell-noTSX</model> <model usable='no' vendor='Intel'>Haswell-IBRS</model> <model usable='no' vendor='Intel'>Haswell</model> + <model usable='no' vendor='AMD'>EPYC-v4</model> + <model usable='no' vendor='AMD'>EPYC-v3</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v4</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v3</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v2</model> <model usable='no' vendor='AMD'>EPYC-Rome</model> + <model usable='no' vendor='AMD'>EPYC-Milan-v2</model> <model usable='no' vendor='AMD'>EPYC-Milan</model> <model usable='yes' vendor='AMD'>EPYC-IBPB</model> <model usable='no' vendor='AMD'>EPYC-Genoa</model> diff --git a/tests/qemuxml2argvdata/cpu-host-model-fallback-kvm.x86_64-8.1.0.args b/tests/qemuxml2argvdata/cpu-host-model-fallback-kvm.x86_64-8.1.0.args index 45ff38ebef..ebc6ca5403 100644 --- a/tests/qemuxml2argvdata/cpu-host-model-fallback-kvm.x86_64-8.1.0.args +++ b/tests/qemuxml2argvdata/cpu-host-model-fallback-kvm.x86_64-8.1.0.args @@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes"}' \ -machine pc-i440fx-8.1,usb=off,dump-guest-core=off,memory-backend=pc.ram,acpi=off \ -accel kvm \ --cpu EPYC-Rome-v1,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,cmp-legacy=on,amd-ssbd=on,virt-ssbd=on,lbrv=on,tsc-scale=on,vmcb-clean=on,pause-filter=on,pfthreshold=on,v-vmsave-vmload=on,vgif=on,svme-addr-chk=on,lfence-always-serializing=on,null-sel-clr-base=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on,xsaves=off \ +-cpu EPYC-Rome-v4,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,cmp-legacy=on,virt-ssbd=on,lbrv=on,tsc-scale=on,vmcb-clean=on,pause-filter=on,pfthreshold=on,v-vmsave-vmload=on,vgif=on,svme-addr-chk=on,lfence-always-serializing=on,null-sel-clr-base=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on,ibrs=off \ -m size=219136k \ -object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \ -overcommit mem-lock=off \ diff --git a/tests/qemuxml2argvdata/cpu-host-model-fallback-kvm.x86_64-latest.args b/tests/qemuxml2argvdata/cpu-host-model-fallback-kvm.x86_64-latest.args index 30cb821759..38badeabe8 100644 --- a/tests/qemuxml2argvdata/cpu-host-model-fallback-kvm.x86_64-latest.args +++ b/tests/qemuxml2argvdata/cpu-host-model-fallback-kvm.x86_64-latest.args @@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes"}' \ -machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram,acpi=off \ -accel kvm \ --cpu EPYC-Rome-v1,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,cmp-legacy=on,amd-ssbd=on,virt-ssbd=on,lbrv=on,tsc-scale=on,vmcb-clean=on,pause-filter=on,pfthreshold=on,v-vmsave-vmload=on,vgif=on,svme-addr-chk=on,lfence-always-serializing=on,null-sel-clr-base=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on,gds-no=on,xsaves=off \ +-cpu EPYC-Rome-v4,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,cmp-legacy=on,virt-ssbd=on,lbrv=on,tsc-scale=on,vmcb-clean=on,pause-filter=on,pfthreshold=on,v-vmsave-vmload=on,vgif=on,svme-addr-chk=on,lfence-always-serializing=on,null-sel-clr-base=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on,gds-no=on,ibrs=off \ -m size=219136k \ -object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \ -overcommit mem-lock=off \ diff --git a/tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-8.1.0.args b/tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-8.1.0.args index df2987a98c..24d88b98de 100644 --- a/tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-8.1.0.args +++ b/tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-8.1.0.args @@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes"}' \ -machine pc-q35-8.1,usb=off,dump-guest-core=off,memory-backend=pc.ram,acpi=off \ -accel kvm \ --cpu EPYC-Rome-v1,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,cmp-legacy=on,amd-ssbd=on,virt-ssbd=on,lbrv=on,tsc-scale=on,vmcb-clean=on,pause-filter=on,pfthreshold=on,v-vmsave-vmload=on,vgif=on,svme-addr-chk=on,lfence-always-serializing=on,null-sel-clr-base=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on,xsaves=off \ +-cpu EPYC-Rome-v4,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,cmp-legacy=on,virt-ssbd=on,lbrv=on,tsc-scale=on,vmcb-clean=on,pause-filter=on,pfthreshold=on,v-vmsave-vmload=on,vgif=on,svme-addr-chk=on,lfence-always-serializing=on,null-sel-clr-base=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on,ibrs=off \ -m size=219136k \ -object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \ -overcommit mem-lock=off \ diff --git a/tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-latest.args b/tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-latest.args index 3fc229d8ae..2a114a28d5 100644 --- a/tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-latest.args +++ b/tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-latest.args @@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes"}' \ -machine q35,usb=off,dump-guest-core=off,memory-backend=pc.ram,acpi=off \ -accel kvm \ --cpu EPYC-Rome-v1,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,cmp-legacy=on,amd-ssbd=on,virt-ssbd=on,lbrv=on,tsc-scale=on,vmcb-clean=on,pause-filter=on,pfthreshold=on,v-vmsave-vmload=on,vgif=on,svme-addr-chk=on,lfence-always-serializing=on,null-sel-clr-base=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on,gds-no=on,xsaves=off \ +-cpu EPYC-Rome-v4,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,cmp-legacy=on,virt-ssbd=on,lbrv=on,tsc-scale=on,vmcb-clean=on,pause-filter=on,pfthreshold=on,v-vmsave-vmload=on,vgif=on,svme-addr-chk=on,lfence-always-serializing=on,null-sel-clr-base=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on,gds-no=on,ibrs=off \ -m size=219136k \ -object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \ -overcommit mem-lock=off \ diff --git a/tests/qemuxml2argvdata/cpu-host-model-nofallback-kvm.x86_64-8.1.0.args b/tests/qemuxml2argvdata/cpu-host-model-nofallback-kvm.x86_64-8.1.0.args index 45ff38ebef..ebc6ca5403 100644 --- a/tests/qemuxml2argvdata/cpu-host-model-nofallback-kvm.x86_64-8.1.0.args +++ b/tests/qemuxml2argvdata/cpu-host-model-nofallback-kvm.x86_64-8.1.0.args @@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes"}' \ -machine pc-i440fx-8.1,usb=off,dump-guest-core=off,memory-backend=pc.ram,acpi=off \ -accel kvm \ --cpu EPYC-Rome-v1,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,cmp-legacy=on,amd-ssbd=on,virt-ssbd=on,lbrv=on,tsc-scale=on,vmcb-clean=on,pause-filter=on,pfthreshold=on,v-vmsave-vmload=on,vgif=on,svme-addr-chk=on,lfence-always-serializing=on,null-sel-clr-base=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on,xsaves=off \ +-cpu EPYC-Rome-v4,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,cmp-legacy=on,virt-ssbd=on,lbrv=on,tsc-scale=on,vmcb-clean=on,pause-filter=on,pfthreshold=on,v-vmsave-vmload=on,vgif=on,svme-addr-chk=on,lfence-always-serializing=on,null-sel-clr-base=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on,ibrs=off \ -m size=219136k \ -object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \ -overcommit mem-lock=off \ diff --git a/tests/qemuxml2argvdata/cpu-host-model-nofallback-kvm.x86_64-latest.args b/tests/qemuxml2argvdata/cpu-host-model-nofallback-kvm.x86_64-latest.args index 30cb821759..38badeabe8 100644 --- a/tests/qemuxml2argvdata/cpu-host-model-nofallback-kvm.x86_64-latest.args +++ b/tests/qemuxml2argvdata/cpu-host-model-nofallback-kvm.x86_64-latest.args @@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes"}' \ -machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram,acpi=off \ -accel kvm \ --cpu EPYC-Rome-v1,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,cmp-legacy=on,amd-ssbd=on,virt-ssbd=on,lbrv=on,tsc-scale=on,vmcb-clean=on,pause-filter=on,pfthreshold=on,v-vmsave-vmload=on,vgif=on,svme-addr-chk=on,lfence-always-serializing=on,null-sel-clr-base=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on,gds-no=on,xsaves=off \ +-cpu EPYC-Rome-v4,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,cmp-legacy=on,virt-ssbd=on,lbrv=on,tsc-scale=on,vmcb-clean=on,pause-filter=on,pfthreshold=on,v-vmsave-vmload=on,vgif=on,svme-addr-chk=on,lfence-always-serializing=on,null-sel-clr-base=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on,gds-no=on,ibrs=off \ -m size=219136k \ -object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \ -overcommit mem-lock=off \

On 2/20/24 6:28 PM, Jim Fehlig wrote:
On 12/15/23 15:12, Jonathon Jongsma wrote:
Signed-off-by: Jonathon Jongsma <jjongsma@redhat.com> --- src/cpu_map/index.xml | 6 + src/cpu_map/meson.build | 6 + src/cpu_map/x86_EPYC-Milan-v2.xml | 108 ++++++++++++++++++ src/cpu_map/x86_EPYC-Rome-v2.xml | 93 +++++++++++++++ src/cpu_map/x86_EPYC-Rome-v3.xml | 95 +++++++++++++++ src/cpu_map/x86_EPYC-Rome-v4.xml | 94 +++++++++++++++ src/cpu_map/x86_EPYC-v3.xml | 87 ++++++++++++++ src/cpu_map/x86_EPYC-v4.xml | 88 ++++++++++++++ .../x86_64-cpuid-EPYC-7502-32-Core-host.xml | 5 +- .../x86_64-cpuid-EPYC-7601-32-Core-guest.xml | 9 +- ...6_64-cpuid-EPYC-7601-32-Core-ibpb-host.xml | 8 +- ...4-cpuid-Ryzen-7-1800X-Eight-Core-guest.xml | 9 +- .../domaincapsdata/qemu_5.0.0-q35.x86_64.xml | 1 + .../domaincapsdata/qemu_5.0.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_5.0.0.x86_64.xml | 1 + .../domaincapsdata/qemu_5.1.0-q35.x86_64.xml | 1 + .../domaincapsdata/qemu_5.1.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_5.1.0.x86_64.xml | 1 + .../domaincapsdata/qemu_5.2.0-q35.x86_64.xml | 1 + .../domaincapsdata/qemu_5.2.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_5.2.0.x86_64.xml | 1 + .../domaincapsdata/qemu_6.0.0-q35.x86_64.xml | 2 + .../domaincapsdata/qemu_6.0.0-tcg.x86_64.xml | 2 + tests/domaincapsdata/qemu_6.0.0.x86_64.xml | 2 + .../domaincapsdata/qemu_6.1.0-q35.x86_64.xml | 2 + .../domaincapsdata/qemu_6.1.0-tcg.x86_64.xml | 2 + tests/domaincapsdata/qemu_6.1.0.x86_64.xml | 2 + .../domaincapsdata/qemu_6.2.0-q35.x86_64.xml | 2 + .../domaincapsdata/qemu_6.2.0-tcg.x86_64.xml | 2 + tests/domaincapsdata/qemu_6.2.0.x86_64.xml | 2 + .../domaincapsdata/qemu_7.0.0-q35.x86_64.xml | 2 + .../domaincapsdata/qemu_7.0.0-tcg.x86_64.xml | 2 + tests/domaincapsdata/qemu_7.0.0.x86_64.xml | 2 + .../domaincapsdata/qemu_7.1.0-q35.x86_64.xml | 2 + .../domaincapsdata/qemu_7.1.0-tcg.x86_64.xml | 2 + tests/domaincapsdata/qemu_7.1.0.x86_64.xml | 2 + .../domaincapsdata/qemu_7.2.0-q35.x86_64.xml | 2 + .../qemu_7.2.0-tcg.x86_64+hvf.xml | 2 + .../domaincapsdata/qemu_7.2.0-tcg.x86_64.xml | 2 + tests/domaincapsdata/qemu_7.2.0.x86_64.xml | 2 + .../domaincapsdata/qemu_8.0.0-q35.x86_64.xml | 2 + .../domaincapsdata/qemu_8.0.0-tcg.x86_64.xml | 2 + tests/domaincapsdata/qemu_8.0.0.x86_64.xml | 2 + .../domaincapsdata/qemu_8.1.0-q35.x86_64.xml | 11 +- .../domaincapsdata/qemu_8.1.0-tcg.x86_64.xml | 6 + tests/domaincapsdata/qemu_8.1.0.x86_64.xml | 11 +- .../domaincapsdata/qemu_8.2.0-q35.x86_64.xml | 11 +- .../domaincapsdata/qemu_8.2.0-tcg.x86_64.xml | 6 + tests/domaincapsdata/qemu_8.2.0.x86_64.xml | 11 +- ...-host-model-fallback-kvm.x86_64-8.1.0.args | 2 +- ...host-model-fallback-kvm.x86_64-latest.args | 2 +- .../cpu-host-model-kvm.x86_64-8.1.0.args | 2 +- .../cpu-host-model-kvm.x86_64-latest.args | 2 +- ...ost-model-nofallback-kvm.x86_64-8.1.0.args | 2 +- ...st-model-nofallback-kvm.x86_64-latest.args | 2 +- 55 files changed, 686 insertions(+), 43 deletions(-) create mode 100644 src/cpu_map/x86_EPYC-Milan-v2.xml create mode 100644 src/cpu_map/x86_EPYC-Rome-v2.xml create mode 100644 src/cpu_map/x86_EPYC-Rome-v3.xml create mode 100644 src/cpu_map/x86_EPYC-Rome-v4.xml create mode 100644 src/cpu_map/x86_EPYC-v3.xml create mode 100644 src/cpu_map/x86_EPYC-v4.xml
diff --git a/src/cpu_map/index.xml b/src/cpu_map/index.xml index d2c5af5797..861edc3bb7 100644 --- a/src/cpu_map/index.xml +++ b/src/cpu_map/index.xml @@ -67,9 +67,15 @@ <include filename='x86_Opteron_G4.xml'/> <include filename='x86_Opteron_G5.xml'/> <include filename='x86_EPYC.xml'/> + <include filename='x86_EPYC-v3.xml'/> + <include filename='x86_EPYC-v4.xml'/> <include filename='x86_EPYC-IBPB.xml'/> <include filename='x86_EPYC-Rome.xml'/> + <include filename='x86_EPYC-Rome-v2.xml'/> + <include filename='x86_EPYC-Rome-v3.xml'/> + <include filename='x86_EPYC-Rome-v4.xml'/> <include filename='x86_EPYC-Milan.xml'/> + <include filename='x86_EPYC-Milan-v2.xml'/> <include filename='x86_EPYC-Genoa.xml'/> <!-- Hygon CPU models --> diff --git a/src/cpu_map/meson.build b/src/cpu_map/meson.build index ae5293e85f..68e093e041 100644 --- a/src/cpu_map/meson.build +++ b/src/cpu_map/meson.build @@ -39,8 +39,14 @@ cpumap_data = [ 'x86_Dhyana.xml', 'x86_EPYC-IBPB.xml', 'x86_EPYC.xml', + 'x86_EPYC-v3.xml', + 'x86_EPYC-v4.xml', 'x86_EPYC-Genoa.xml', + 'x86_EPYC-Milan-v2.xml', 'x86_EPYC-Milan.xml', + 'x86_EPYC-Rome-v2.xml', + 'x86_EPYC-Rome-v3.xml', + 'x86_EPYC-Rome-v4.xml', 'x86_EPYC-Rome.xml', 'x86_features.xml', 'x86_Haswell-IBRS.xml', diff --git a/src/cpu_map/x86_EPYC-Milan-v2.xml b/src/cpu_map/x86_EPYC-Milan-v2.xml new file mode 100644 index 0000000000..4cadba2325 --- /dev/null +++ b/src/cpu_map/x86_EPYC-Milan-v2.xml @@ -0,0 +1,108 @@ +<!-- extra info from qemu: + 'model.level': '0xd' + 'model.stepping': '1' + 'model.xlevel': '0x8000001E' + 'model.model_id': 'AMD EPYC-Milan Processor' + 'model.cache_info': '&epyc_milan_cache_info' + 'property.model-id': 'AMD EPYC-Milan-v2 Processor' + 'version.cache_info': '&epyc_milan_v2_cache_info' +-->
None of the existing files include this comment.
Yeah, I debated whether to leave them in or not. But I decided to include them and see what other people think. In general I find it nicer to not manually modify generated files if possible.
+<cpus> + <model name='EPYC-Milan-v2'> + <decode host='on' guest='on'/> + <signature family='25' model='1'/> + <vendor name='AMD'/> + <feature name='3dnowprefetch'/> + <feature name='abm'/> + <feature name='adx'/> + <feature name='aes'/> + <feature name='amd-psfd'/> + <feature name='amd-ssbd'/> + <feature name='amd-stibp'/> + <feature name='apic'/> + <feature name='arat'/> + <feature name='avx'/> + <feature name='avx2'/> + <feature name='bmi1'/> + <feature name='bmi2'/> + <feature name='clflush'/> + <feature name='clflushopt'/> + <feature name='clwb'/> + <feature name='clzero'/> + <feature name='cmov'/> + <feature name='cr8legacy'/> + <feature name='cx16'/> + <feature name='cx8'/> + <feature name='de'/> + <feature name='erms'/> + <feature name='f16c'/> + <feature name='fma'/> + <feature name='fpu'/> + <feature name='fsgsbase'/> + <feature name='fsrm'/> + <feature name='fxsr'/> + <feature name='fxsr_opt'/> + <feature name='ibpb'/> + <feature name='ibrs'/> + <feature name='invpcid'/> + <feature name='lahf_lm'/> + <feature name='lfence-always-serializing'/> + <feature name='lm'/> + <feature name='mca'/> + <feature name='mce'/> + <feature name='misalignsse'/> + <feature name='mmx'/> + <feature name='mmxext'/> + <feature name='movbe'/> + <feature name='msr'/> + <feature name='mtrr'/> + <feature name='no-nested-data-bp'/> + <feature name='npt'/> + <feature name='nrip-save'/> + <feature name='null-sel-clr-base'/> + <feature name='nx'/> + <feature name='osvw'/> + <feature name='pae'/> + <feature name='pat'/> + <feature name='pcid'/> + <feature name='pclmuldq'/> + <feature name='pdpe1gb'/> + <feature name='perfctr_core'/> + <feature name='pge'/> + <feature name='pku'/> + <feature name='pni'/> + <feature name='popcnt'/> + <feature name='pse'/> + <feature name='pse36'/> + <feature name='rdpid'/> + <feature name='rdrand'/> + <feature name='rdseed'/> + <feature name='rdtscp'/> + <feature name='sep'/> + <feature name='sha-ni'/> + <feature name='smap'/> + <feature name='smep'/> + <feature name='sse'/> + <feature name='sse2'/> + <feature name='sse4.1'/> + <feature name='sse4.2'/> + <feature name='sse4a'/> + <feature name='ssse3'/> + <feature name='stibp-always-on'/> + <feature name='svm'/> + <feature name='svme-addr-chk'/> + <feature name='syscall'/> + <feature name='tsc'/> + <feature name='umip'/> + <feature name='vaes'/> + <feature name='vme'/> + <feature name='vpclmulqdq'/> + <feature name='wbnoinvd'/> + <feature name='xgetbv1'/> + <feature name='xsave'/> + <feature name='xsavec'/> + <feature name='xsaveerptr'/> + <feature name='xsaveopt'/> + <feature name='xsaves'/>
+ </model> +</cpus> diff --git a/src/cpu_map/x86_EPYC-Rome-v2.xml b/src/cpu_map/x86_EPYC-Rome-v2.xml new file mode 100644 index 0000000000..0cade90cdc --- /dev/null +++ b/src/cpu_map/x86_EPYC-Rome-v2.xml @@ -0,0 +1,93 @@ +<!-- extra info from qemu: + 'model.level': '0xd' + 'model.stepping': '0' + 'model.xlevel': '0x8000001E' + 'model.model_id': 'AMD EPYC-Rome Processor' + 'model.cache_info': '&epyc_rome_cache_info' +--> +<cpus> + <model name='EPYC-Rome-v2'> + <decode host='on' guest='on'/> + <signature family='23' model='49'/> + <vendor name='AMD'/> + <feature name='3dnowprefetch'/> + <feature name='abm'/> + <feature name='adx'/> + <feature name='aes'/> + <feature name='amd-ssbd'/> + <feature name='amd-stibp'/> + <feature name='apic'/> + <feature name='arat'/> + <feature name='avx'/> + <feature name='avx2'/> + <feature name='bmi1'/> + <feature name='bmi2'/> + <feature name='clflush'/> + <feature name='clflushopt'/> + <feature name='clwb'/> + <feature name='clzero'/> + <feature name='cmov'/> + <feature name='cr8legacy'/> + <feature name='cx16'/> + <feature name='cx8'/> + <feature name='de'/> + <feature name='f16c'/> + <feature name='fma'/> + <feature name='fpu'/> + <feature name='fsgsbase'/> + <feature name='fxsr'/> + <feature name='fxsr_opt'/> + <feature name='ibpb'/> + <feature name='ibrs'/> + <feature name='lahf_lm'/> + <feature name='lm'/> + <feature name='mca'/> + <feature name='mce'/> + <feature name='misalignsse'/> + <feature name='mmx'/> + <feature name='mmxext'/> + <feature name='movbe'/> + <feature name='msr'/> + <feature name='mtrr'/> + <feature name='npt'/> + <feature name='nrip-save'/> + <feature name='nx'/> + <feature name='osvw'/> + <feature name='pae'/> + <feature name='pat'/> + <feature name='pclmuldq'/> + <feature name='pdpe1gb'/> + <feature name='perfctr_core'/> + <feature name='pge'/> + <feature name='pni'/> + <feature name='popcnt'/> + <feature name='pse'/> + <feature name='pse36'/> + <feature name='rdpid'/> + <feature name='rdrand'/> + <feature name='rdseed'/> + <feature name='rdtscp'/> + <feature name='sep'/> + <feature name='sha-ni'/> + <feature name='smap'/> + <feature name='smep'/> + <feature name='sse'/> + <feature name='sse2'/> + <feature name='sse4.1'/> + <feature name='sse4.2'/> + <feature name='sse4a'/> + <feature name='ssse3'/> + <feature name='svm'/> + <feature name='syscall'/> + <feature name='tsc'/> + <feature name='umip'/> + <feature name='vme'/> + <feature name='wbnoinvd'/> + <feature name='xgetbv1'/> + <feature name='xsave'/> + <feature name='xsavec'/> + <feature name='xsaveerptr'/> + <feature name='xsaveopt'/> + <feature name='xsaves'/>
sync_qemu_models_i386.py also includes the xsaves feature in the x86_EPYC-Rome.xml file it produces, yet we don't include xsaves in the file commited to git. How do we determine which features to filter from the script-produced file? E.g. should xsaves be dropped from this file?
I have to admit that I don't know why it does not exist in the base EPYC-Rome definition. The sync_qemu_models_i386.py script was not around when these CPU models were originally added to libvirt, perhaps it just got missed? But I obviously did not want to change any existing cpu model definitions. I chose to include it in the newly-added models since that seemed to be a more accurate reflection of the qemu CPU model definition. If somebody has insight into why it doesn't exist in the base EPYC-Rome definition, I'd also like to know. Thanks, Jonathon
Regards, Jim
+ </model> +</cpus> diff --git a/src/cpu_map/x86_EPYC-Rome-v3.xml b/src/cpu_map/x86_EPYC-Rome-v3.xml new file mode 100644 index 0000000000..6b8f07c7f2 --- /dev/null +++ b/src/cpu_map/x86_EPYC-Rome-v3.xml @@ -0,0 +1,95 @@ +<!-- extra info from qemu: + 'model.level': '0xd' + 'model.stepping': '0' + 'model.xlevel': '0x8000001E' + 'model.model_id': 'AMD EPYC-Rome Processor' + 'model.cache_info': '&epyc_rome_cache_info' + 'property.model-id': 'AMD EPYC-Rome-v3 Processor' + 'version.cache_info': '&epyc_rome_v3_cache_info' +--> +<cpus> + <model name='EPYC-Rome-v3'> + <decode host='on' guest='on'/> + <signature family='23' model='49'/> + <vendor name='AMD'/> + <feature name='3dnowprefetch'/> + <feature name='abm'/> + <feature name='adx'/> + <feature name='aes'/> + <feature name='amd-ssbd'/> + <feature name='amd-stibp'/> + <feature name='apic'/> + <feature name='arat'/> + <feature name='avx'/> + <feature name='avx2'/> + <feature name='bmi1'/> + <feature name='bmi2'/> + <feature name='clflush'/> + <feature name='clflushopt'/> + <feature name='clwb'/> + <feature name='clzero'/> + <feature name='cmov'/> + <feature name='cr8legacy'/> + <feature name='cx16'/> + <feature name='cx8'/> + <feature name='de'/> + <feature name='f16c'/> + <feature name='fma'/> + <feature name='fpu'/> + <feature name='fsgsbase'/> + <feature name='fxsr'/> + <feature name='fxsr_opt'/> + <feature name='ibpb'/> + <feature name='ibrs'/> + <feature name='lahf_lm'/> + <feature name='lm'/> + <feature name='mca'/> + <feature name='mce'/> + <feature name='misalignsse'/> + <feature name='mmx'/> + <feature name='mmxext'/> + <feature name='movbe'/> + <feature name='msr'/> + <feature name='mtrr'/> + <feature name='npt'/> + <feature name='nrip-save'/> + <feature name='nx'/> + <feature name='osvw'/> + <feature name='pae'/> + <feature name='pat'/> + <feature name='pclmuldq'/> + <feature name='pdpe1gb'/> + <feature name='perfctr_core'/> + <feature name='pge'/> + <feature name='pni'/> + <feature name='popcnt'/> + <feature name='pse'/> + <feature name='pse36'/> + <feature name='rdpid'/> + <feature name='rdrand'/> + <feature name='rdseed'/> + <feature name='rdtscp'/> + <feature name='sep'/> + <feature name='sha-ni'/> + <feature name='smap'/> + <feature name='smep'/> + <feature name='sse'/> + <feature name='sse2'/> + <feature name='sse4.1'/> + <feature name='sse4.2'/> + <feature name='sse4a'/> + <feature name='ssse3'/> + <feature name='svm'/> + <feature name='syscall'/> + <feature name='tsc'/> + <feature name='umip'/> + <feature name='vme'/> + <feature name='wbnoinvd'/> + <feature name='xgetbv1'/> + <feature name='xsave'/> + <feature name='xsavec'/> + <feature name='xsaveerptr'/> + <feature name='xsaveopt'/> + <feature name='xsaves'/> + </model> +</cpus> diff --git a/src/cpu_map/x86_EPYC-Rome-v4.xml b/src/cpu_map/x86_EPYC-Rome-v4.xml new file mode 100644 index 0000000000..e69f910e56 --- /dev/null +++ b/src/cpu_map/x86_EPYC-Rome-v4.xml @@ -0,0 +1,94 @@ +<!-- extra info from qemu: + 'model.level': '0xd' + 'model.stepping': '0' + 'model.xlevel': '0x8000001E' + 'model.model_id': 'AMD EPYC-Rome Processor' + 'model.cache_info': '&epyc_rome_cache_info' + 'property.model-id': 'AMD EPYC-Rome-v4 Processor (no XSAVES)' + 'version.cache_info': '&epyc_rome_v3_cache_info' +--> +<cpus> + <model name='EPYC-Rome-v4'> + <decode host='on' guest='on'/> + <signature family='23' model='49'/> + <vendor name='AMD'/> + <feature name='3dnowprefetch'/> + <feature name='abm'/> + <feature name='adx'/> + <feature name='aes'/> + <feature name='amd-ssbd'/> + <feature name='amd-stibp'/> + <feature name='apic'/> + <feature name='arat'/> + <feature name='avx'/> + <feature name='avx2'/> + <feature name='bmi1'/> + <feature name='bmi2'/> + <feature name='clflush'/> + <feature name='clflushopt'/> + <feature name='clwb'/> + <feature name='clzero'/> + <feature name='cmov'/> + <feature name='cr8legacy'/> + <feature name='cx16'/> + <feature name='cx8'/> + <feature name='de'/> + <feature name='f16c'/> + <feature name='fma'/> + <feature name='fpu'/> + <feature name='fsgsbase'/> + <feature name='fxsr'/> + <feature name='fxsr_opt'/> + <feature name='ibpb'/> + <feature name='ibrs'/> + <feature name='lahf_lm'/> + <feature name='lm'/> + <feature name='mca'/> + <feature name='mce'/> + <feature name='misalignsse'/> + <feature name='mmx'/> + <feature name='mmxext'/> + <feature name='movbe'/> + <feature name='msr'/> + <feature name='mtrr'/> + <feature name='npt'/> + <feature name='nrip-save'/> + <feature name='nx'/> + <feature name='osvw'/> + <feature name='pae'/> + <feature name='pat'/> + <feature name='pclmuldq'/> + <feature name='pdpe1gb'/> + <feature name='perfctr_core'/> + <feature name='pge'/> + <feature name='pni'/> + <feature name='popcnt'/> + <feature name='pse'/> + <feature name='pse36'/> + <feature name='rdpid'/> + <feature name='rdrand'/> + <feature name='rdseed'/> + <feature name='rdtscp'/> + <feature name='sep'/> + <feature name='sha-ni'/> + <feature name='smap'/> + <feature name='smep'/> + <feature name='sse'/> + <feature name='sse2'/> + <feature name='sse4.1'/> + <feature name='sse4.2'/> + <feature name='sse4a'/> + <feature name='ssse3'/> + <feature name='svm'/> + <feature name='syscall'/> + <feature name='tsc'/> + <feature name='umip'/> + <feature name='vme'/> + <feature name='wbnoinvd'/> + <feature name='xgetbv1'/> + <feature name='xsave'/> + <feature name='xsavec'/> + <feature name='xsaveerptr'/> + <feature name='xsaveopt'/> + </model> +</cpus> diff --git a/src/cpu_map/x86_EPYC-v3.xml b/src/cpu_map/x86_EPYC-v3.xml new file mode 100644 index 0000000000..fb587218c7 --- /dev/null +++ b/src/cpu_map/x86_EPYC-v3.xml @@ -0,0 +1,87 @@ +<!-- extra info from qemu: + 'model.level': '0xd' + 'model.stepping': '2' + 'model.xlevel': '0x8000001E' + 'model.model_id': 'AMD EPYC Processor' + 'model.cache_info': '&epyc_cache_info' + 'property.model-id': 'AMD EPYC Processor' +--> +<cpus> + <model name='EPYC-v3'> + <decode host='on' guest='on'/> + <signature family='23' model='1'/> + <vendor name='AMD'/> + <feature name='3dnowprefetch'/> + <feature name='abm'/> + <feature name='adx'/> + <feature name='aes'/> + <feature name='apic'/> + <feature name='arat'/> + <feature name='avx'/> + <feature name='avx2'/> + <feature name='bmi1'/> + <feature name='bmi2'/> + <feature name='clflush'/> + <feature name='clflushopt'/> + <feature name='clzero'/> + <feature name='cmov'/> + <feature name='cr8legacy'/> + <feature name='cx16'/> + <feature name='cx8'/> + <feature name='de'/> + <feature name='f16c'/> + <feature name='fma'/> + <feature name='fpu'/> + <feature name='fsgsbase'/> + <feature name='fxsr'/> + <feature name='fxsr_opt'/> + <feature name='ibpb'/> + <feature name='lahf_lm'/> + <feature name='lm'/> + <feature name='mca'/> + <feature name='mce'/> + <feature name='misalignsse'/> + <feature name='mmx'/> + <feature name='mmxext'/> + <feature name='movbe'/> + <feature name='msr'/> + <feature name='mtrr'/> + <feature name='npt'/> + <feature name='nrip-save'/> + <feature name='nx'/> + <feature name='osvw'/> + <feature name='pae'/> + <feature name='pat'/> + <feature name='pclmuldq'/> + <feature name='pdpe1gb'/> + <feature name='perfctr_core'/> + <feature name='pge'/> + <feature name='pni'/> + <feature name='popcnt'/> + <feature name='pse'/> + <feature name='pse36'/> + <feature name='rdrand'/> + <feature name='rdseed'/> + <feature name='rdtscp'/> + <feature name='sep'/> + <feature name='sha-ni'/> + <feature name='smap'/> + <feature name='smep'/> + <feature name='sse'/> + <feature name='sse2'/> + <feature name='sse4.1'/> + <feature name='sse4.2'/> + <feature name='sse4a'/> + <feature name='ssse3'/> + <feature name='svm'/> + <feature name='syscall'/> + <feature name='tsc'/> + <feature name='vme'/> + <feature name='xgetbv1'/> + <feature name='xsave'/> + <feature name='xsavec'/> + <feature name='xsaveerptr'/> + <feature name='xsaveopt'/> + <feature name='xsaves'/> + </model> +</cpus> diff --git a/src/cpu_map/x86_EPYC-v4.xml b/src/cpu_map/x86_EPYC-v4.xml new file mode 100644 index 0000000000..e714d9e622 --- /dev/null +++ b/src/cpu_map/x86_EPYC-v4.xml @@ -0,0 +1,88 @@ +<!-- extra info from qemu: + 'model.level': '0xd' + 'model.stepping': '2' + 'model.xlevel': '0x8000001E' + 'model.model_id': 'AMD EPYC Processor' + 'model.cache_info': '&epyc_cache_info' + 'property.model-id': 'AMD EPYC-v4 Processor' + 'version.cache_info': '&epyc_v4_cache_info' +--> +<cpus> + <model name='EPYC-v4'> + <decode host='on' guest='on'/> + <signature family='23' model='1'/> + <vendor name='AMD'/> + <feature name='3dnowprefetch'/> + <feature name='abm'/> + <feature name='adx'/> + <feature name='aes'/> + <feature name='apic'/> + <feature name='arat'/> + <feature name='avx'/> + <feature name='avx2'/> + <feature name='bmi1'/> + <feature name='bmi2'/> + <feature name='clflush'/> + <feature name='clflushopt'/> + <feature name='clzero'/> + <feature name='cmov'/> + <feature name='cr8legacy'/> + <feature name='cx16'/> + <feature name='cx8'/> + <feature name='de'/> + <feature name='f16c'/> + <feature name='fma'/> + <feature name='fpu'/> + <feature name='fsgsbase'/> + <feature name='fxsr'/> + <feature name='fxsr_opt'/> + <feature name='ibpb'/> + <feature name='lahf_lm'/> + <feature name='lm'/> + <feature name='mca'/> + <feature name='mce'/> + <feature name='misalignsse'/> + <feature name='mmx'/> + <feature name='mmxext'/> + <feature name='movbe'/> + <feature name='msr'/> + <feature name='mtrr'/> + <feature name='npt'/> + <feature name='nrip-save'/> + <feature name='nx'/> + <feature name='osvw'/> + <feature name='pae'/> + <feature name='pat'/> + <feature name='pclmuldq'/> + <feature name='pdpe1gb'/> + <feature name='perfctr_core'/> + <feature name='pge'/> + <feature name='pni'/> + <feature name='popcnt'/> + <feature name='pse'/> + <feature name='pse36'/> + <feature name='rdrand'/> + <feature name='rdseed'/> + <feature name='rdtscp'/> + <feature name='sep'/> + <feature name='sha-ni'/> + <feature name='smap'/> + <feature name='smep'/> + <feature name='sse'/> + <feature name='sse2'/> + <feature name='sse4.1'/> + <feature name='sse4.2'/> + <feature name='sse4a'/> + <feature name='ssse3'/> + <feature name='svm'/> + <feature name='syscall'/> + <feature name='tsc'/> + <feature name='vme'/> + <feature name='xgetbv1'/> + <feature name='xsave'/> + <feature name='xsavec'/> + <feature name='xsaveerptr'/> + <feature name='xsaveopt'/> + <feature name='xsaves'/> + </model> +</cpus> diff --git a/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-host.xml b/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-host.xml index e348e0f6f6..c9ad653497 100644 --- a/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-host.xml +++ b/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-host.xml @@ -1,13 +1,12 @@ <cpu> <arch>x86_64</arch> - <model>EPYC-Rome</model> + <model>EPYC-Rome-v3</model> <vendor>AMD</vendor> <signature family='23' model='49' stepping='0'/> <feature name='ht'/> <feature name='monitor'/> <feature name='osxsave'/> <feature name='cmt'/> - <feature name='xsaves'/> <feature name='mbm_total'/> <feature name='mbm_local'/> <feature name='cmp_legacy'/> @@ -19,8 +18,6 @@ <feature name='topoext'/> <feature name='perfctr_nb'/> <feature name='invtsc'/> - <feature name='ibrs'/> - <feature name='amd-ssbd'/> <feature name='lbrv'/> <feature name='svm-lock'/> <feature name='tsc-scale'/> diff --git a/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-guest.xml b/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-guest.xml index 486b41815d..f3e5164efc 100644 --- a/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-guest.xml +++ b/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-guest.xml @@ -1,25 +1,19 @@ <cpu mode='custom' match='exact'> - <model fallback='forbid'>EPYC</model> + <model fallback='forbid'>EPYC-v4</model> <vendor>AMD</vendor> <feature policy='require' name='ht'/> <feature policy='require' name='monitor'/> <feature policy='require' name='osxsave'/> - <feature policy='require' name='xsaves'/> <feature policy='require' name='cmp_legacy'/> <feature policy='require' name='extapic'/> <feature policy='require' name='skinit'/> <feature policy='require' name='wdt'/> <feature policy='require' name='tce'/> <feature policy='require' name='topoext'/> - <feature policy='require' name='perfctr_core'/> <feature policy='require' name='perfctr_nb'/> <feature policy='require' name='invtsc'/> - <feature policy='require' name='clzero'/> - <feature policy='require' name='xsaveerptr'/> - <feature policy='require' name='npt'/> <feature policy='require' name='lbrv'/> <feature policy='require' name='svm-lock'/> - <feature policy='require' name='nrip-save'/> <feature policy='require' name='tsc-scale'/> <feature policy='require' name='vmcb-clean'/> <feature policy='require' name='flushbyasid'/> @@ -29,4 +23,5 @@ <feature policy='require' name='avic'/> <feature policy='require' name='v-vmsave-vmload'/> <feature policy='require' name='vgif'/> + <feature policy='disable' name='ibpb'/> </cpu> diff --git a/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-ibpb-host.xml b/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-ibpb-host.xml index 42b8b5f986..1a6ecf839e 100644 --- a/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-ibpb-host.xml +++ b/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-ibpb-host.xml @@ -1,27 +1,21 @@ <cpu> <arch>x86_64</arch> - <model>EPYC-IBPB</model> + <model>EPYC-v4</model> <vendor>AMD</vendor> <signature family='23' model='1' stepping='2'/> <feature name='ht'/> <feature name='monitor'/> <feature name='osxsave'/> - <feature name='xsaves'/> <feature name='cmp_legacy'/> <feature name='extapic'/> <feature name='skinit'/> <feature name='wdt'/> <feature name='tce'/> <feature name='topoext'/> - <feature name='perfctr_core'/> <feature name='perfctr_nb'/> <feature name='invtsc'/> - <feature name='clzero'/> - <feature name='xsaveerptr'/> - <feature name='npt'/> <feature name='lbrv'/> <feature name='svm-lock'/> - <feature name='nrip-save'/> <feature name='tsc-scale'/> <feature name='vmcb-clean'/> <feature name='flushbyasid'/> diff --git a/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core-guest.xml b/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core-guest.xml index 486b41815d..f3e5164efc 100644 --- a/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core-guest.xml +++ b/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core-guest.xml @@ -1,25 +1,19 @@ <cpu mode='custom' match='exact'> - <model fallback='forbid'>EPYC</model> + <model fallback='forbid'>EPYC-v4</model> <vendor>AMD</vendor> <feature policy='require' name='ht'/> <feature policy='require' name='monitor'/> <feature policy='require' name='osxsave'/> - <feature policy='require' name='xsaves'/> <feature policy='require' name='cmp_legacy'/> <feature policy='require' name='extapic'/> <feature policy='require' name='skinit'/> <feature policy='require' name='wdt'/> <feature policy='require' name='tce'/> <feature policy='require' name='topoext'/> - <feature policy='require' name='perfctr_core'/> <feature policy='require' name='perfctr_nb'/> <feature policy='require' name='invtsc'/> - <feature policy='require' name='clzero'/> - <feature policy='require' name='xsaveerptr'/> - <feature policy='require' name='npt'/> <feature policy='require' name='lbrv'/> <feature policy='require' name='svm-lock'/> - <feature policy='require' name='nrip-save'/> <feature policy='require' name='tsc-scale'/> <feature policy='require' name='vmcb-clean'/> <feature policy='require' name='flushbyasid'/> @@ -29,4 +23,5 @@ <feature policy='require' name='avic'/> <feature policy='require' name='v-vmsave-vmload'/> <feature policy='require' name='vgif'/> + <feature policy='disable' name='ibpb'/> </cpu> diff --git a/tests/domaincapsdata/qemu_5.0.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_5.0.0-q35.x86_64.xml index 1d29a40f74..60f65fdffe 100644 --- a/tests/domaincapsdata/qemu_5.0.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_5.0.0-q35.x86_64.xml @@ -170,6 +170,7 @@ <model usable='yes' vendor='Intel'>Haswell-noTSX</model> <model usable='yes' vendor='Intel'>Haswell-IBRS</model> <model usable='yes' vendor='Intel'>Haswell</model> + <model usable='no' vendor='AMD'>EPYC-v3</model> <model usable='no' vendor='AMD'>EPYC-Rome</model> <model usable='no' vendor='AMD'>EPYC-IBPB</model> <model usable='no' vendor='AMD'>EPYC</model> diff --git a/tests/domaincapsdata/qemu_5.0.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_5.0.0-tcg.x86_64.xml index 7b7420ff8e..01906a6277 100644 --- a/tests/domaincapsdata/qemu_5.0.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_5.0.0-tcg.x86_64.xml @@ -115,6 +115,7 @@ <model usable='no' vendor='Intel'>Haswell-noTSX</model> <model usable='no' vendor='Intel'>Haswell-IBRS</model> <model usable='no' vendor='Intel'>Haswell</model> + <model usable='no' vendor='AMD'>EPYC-v3</model> <model usable='no' vendor='AMD'>EPYC-Rome</model> <model usable='no' vendor='AMD'>EPYC-IBPB</model> <model usable='no' vendor='AMD'>EPYC</model> diff --git a/tests/domaincapsdata/qemu_5.0.0.x86_64.xml b/tests/domaincapsdata/qemu_5.0.0.x86_64.xml index f3b3adb19e..12a5d8f66e 100644 --- a/tests/domaincapsdata/qemu_5.0.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_5.0.0.x86_64.xml @@ -169,6 +169,7 @@ <model usable='yes' vendor='Intel'>Haswell-noTSX</model> <model usable='yes' vendor='Intel'>Haswell-IBRS</model> <model usable='yes' vendor='Intel'>Haswell</model> + <model usable='no' vendor='AMD'>EPYC-v3</model> <model usable='no' vendor='AMD'>EPYC-Rome</model> <model usable='no' vendor='AMD'>EPYC-IBPB</model> <model usable='no' vendor='AMD'>EPYC</model> diff --git a/tests/domaincapsdata/qemu_5.1.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_5.1.0-q35.x86_64.xml index 2a8a784813..88291c60de 100644 --- a/tests/domaincapsdata/qemu_5.1.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_5.1.0-q35.x86_64.xml @@ -103,6 +103,7 @@ <model usable='no' vendor='Intel'>Haswell-noTSX</model> <model usable='no' vendor='Intel'>Haswell-IBRS</model> <model usable='no' vendor='Intel'>Haswell</model> + <model usable='yes' vendor='AMD'>EPYC-v3</model> <model usable='yes' vendor='AMD'>EPYC-Rome</model> <model usable='yes' vendor='AMD'>EPYC-IBPB</model> <model usable='yes' vendor='AMD'>EPYC</model> diff --git a/tests/domaincapsdata/qemu_5.1.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_5.1.0-tcg.x86_64.xml index 272d9bed08..a2bce1003a 100644 --- a/tests/domaincapsdata/qemu_5.1.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_5.1.0-tcg.x86_64.xml @@ -115,6 +115,7 @@ <model usable='no' vendor='Intel'>Haswell-noTSX</model> <model usable='no' vendor='Intel'>Haswell-IBRS</model> <model usable='no' vendor='Intel'>Haswell</model> + <model usable='no' vendor='AMD'>EPYC-v3</model> <model usable='no' vendor='AMD'>EPYC-Rome</model> <model usable='no' vendor='AMD'>EPYC-IBPB</model> <model usable='no' vendor='AMD'>EPYC</model> diff --git a/tests/domaincapsdata/qemu_5.1.0.x86_64.xml b/tests/domaincapsdata/qemu_5.1.0.x86_64.xml index 735cd42466..954025cb33 100644 --- a/tests/domaincapsdata/qemu_5.1.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_5.1.0.x86_64.xml @@ -102,6 +102,7 @@ <model usable='no' vendor='Intel'>Haswell-noTSX</model> <model usable='no' vendor='Intel'>Haswell-IBRS</model> <model usable='no' vendor='Intel'>Haswell</model> + <model usable='yes' vendor='AMD'>EPYC-v3</model> <model usable='yes' vendor='AMD'>EPYC-Rome</model> <model usable='yes' vendor='AMD'>EPYC-IBPB</model> <model usable='yes' vendor='AMD'>EPYC</model> 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 968cfe68e8..66753cef10 100644 --- a/tests/domaincapsdata/qemu_5.2.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_5.2.0-q35.x86_64.xml @@ -103,6 +103,7 @@ <model usable='no' vendor='Intel'>Haswell-noTSX</model> <model usable='no' vendor='Intel'>Haswell-IBRS</model> <model usable='no' vendor='Intel'>Haswell</model> + <model usable='yes' vendor='AMD'>EPYC-v3</model> <model usable='yes' vendor='AMD'>EPYC-Rome</model> <model usable='yes' vendor='AMD'>EPYC-IBPB</model> <model usable='yes' vendor='AMD'>EPYC</model> 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 526f39254e..af223af1b8 100644 --- a/tests/domaincapsdata/qemu_5.2.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_5.2.0-tcg.x86_64.xml @@ -115,6 +115,7 @@ <model usable='no' vendor='Intel'>Haswell-noTSX</model> <model usable='no' vendor='Intel'>Haswell-IBRS</model> <model usable='no' vendor='Intel'>Haswell</model> + <model usable='no' vendor='AMD'>EPYC-v3</model> <model usable='no' vendor='AMD'>EPYC-Rome</model> <model usable='no' vendor='AMD'>EPYC-IBPB</model> <model usable='no' vendor='AMD'>EPYC</model> diff --git a/tests/domaincapsdata/qemu_5.2.0.x86_64.xml b/tests/domaincapsdata/qemu_5.2.0.x86_64.xml index 9bbb22b0d8..195d523fa7 100644 --- a/tests/domaincapsdata/qemu_5.2.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_5.2.0.x86_64.xml @@ -102,6 +102,7 @@ <model usable='no' vendor='Intel'>Haswell-noTSX</model> <model usable='no' vendor='Intel'>Haswell-IBRS</model> <model usable='no' vendor='Intel'>Haswell</model> + <model usable='yes' vendor='AMD'>EPYC-v3</model> <model usable='yes' vendor='AMD'>EPYC-Rome</model> <model usable='yes' vendor='AMD'>EPYC-IBPB</model> <model usable='yes' vendor='AMD'>EPYC</model> 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 66da296d8e..a96f1e23fd 100644 --- a/tests/domaincapsdata/qemu_6.0.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.0.0-q35.x86_64.xml @@ -103,6 +103,8 @@ <model usable='no' vendor='Intel'>Haswell-noTSX</model> <model usable='no' vendor='Intel'>Haswell-IBRS</model> <model usable='no' vendor='Intel'>Haswell</model> + <model usable='yes' vendor='AMD'>EPYC-v3</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v2</model> <model usable='yes' vendor='AMD'>EPYC-Rome</model> <model usable='no' vendor='AMD'>EPYC-Milan</model> <model usable='yes' vendor='AMD'>EPYC-IBPB</model> 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 0ffd95aee6..1a00383168 100644 --- a/tests/domaincapsdata/qemu_6.0.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.0.0-tcg.x86_64.xml @@ -116,6 +116,8 @@ <model usable='no' vendor='Intel'>Haswell-noTSX</model> <model usable='no' vendor='Intel'>Haswell-IBRS</model> <model usable='no' vendor='Intel'>Haswell</model> + <model usable='no' vendor='AMD'>EPYC-v3</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v2</model> <model usable='no' vendor='AMD'>EPYC-Rome</model> <model usable='no' vendor='AMD'>EPYC-Milan</model> <model usable='no' vendor='AMD'>EPYC-IBPB</model> diff --git a/tests/domaincapsdata/qemu_6.0.0.x86_64.xml b/tests/domaincapsdata/qemu_6.0.0.x86_64.xml index 0af8b9d064..e21b8dc2df 100644 --- a/tests/domaincapsdata/qemu_6.0.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.0.0.x86_64.xml @@ -102,6 +102,8 @@ <model usable='no' vendor='Intel'>Haswell-noTSX</model> <model usable='no' vendor='Intel'>Haswell-IBRS</model> <model usable='no' vendor='Intel'>Haswell</model> + <model usable='yes' vendor='AMD'>EPYC-v3</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v2</model> <model usable='yes' vendor='AMD'>EPYC-Rome</model> <model usable='no' vendor='AMD'>EPYC-Milan</model> <model usable='yes' vendor='AMD'>EPYC-IBPB</model> 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 cc2081955d..bfecc6ffe0 100644 --- a/tests/domaincapsdata/qemu_6.1.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.1.0-q35.x86_64.xml @@ -104,6 +104,8 @@ <model usable='no' vendor='Intel'>Haswell-noTSX</model> <model usable='no' vendor='Intel'>Haswell-IBRS</model> <model usable='no' vendor='Intel'>Haswell</model> + <model usable='yes' vendor='AMD'>EPYC-v3</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v2</model> <model usable='yes' vendor='AMD'>EPYC-Rome</model> <model usable='no' vendor='AMD'>EPYC-Milan</model> <model usable='yes' vendor='AMD'>EPYC-IBPB</model> 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 a80c86df4f..5762bc0b90 100644 --- a/tests/domaincapsdata/qemu_6.1.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.1.0-tcg.x86_64.xml @@ -116,6 +116,8 @@ <model usable='no' vendor='Intel'>Haswell-noTSX</model> <model usable='no' vendor='Intel'>Haswell-IBRS</model> <model usable='no' vendor='Intel'>Haswell</model> + <model usable='no' vendor='AMD'>EPYC-v3</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v2</model> <model usable='no' vendor='AMD'>EPYC-Rome</model> <model usable='no' vendor='AMD'>EPYC-Milan</model> <model usable='no' vendor='AMD'>EPYC-IBPB</model> diff --git a/tests/domaincapsdata/qemu_6.1.0.x86_64.xml b/tests/domaincapsdata/qemu_6.1.0.x86_64.xml index 22f8c8a397..ef3ab32795 100644 --- a/tests/domaincapsdata/qemu_6.1.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.1.0.x86_64.xml @@ -103,6 +103,8 @@ <model usable='no' vendor='Intel'>Haswell-noTSX</model> <model usable='no' vendor='Intel'>Haswell-IBRS</model> <model usable='no' vendor='Intel'>Haswell</model> + <model usable='yes' vendor='AMD'>EPYC-v3</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v2</model> <model usable='yes' vendor='AMD'>EPYC-Rome</model> <model usable='no' vendor='AMD'>EPYC-Milan</model> <model usable='yes' vendor='AMD'>EPYC-IBPB</model> 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 782aa792a9..850762a81b 100644 --- a/tests/domaincapsdata/qemu_6.2.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.2.0-q35.x86_64.xml @@ -104,6 +104,8 @@ <model usable='no' vendor='Intel'>Haswell-noTSX</model> <model usable='no' vendor='Intel'>Haswell-IBRS</model> <model usable='no' vendor='Intel'>Haswell</model> + <model usable='yes' vendor='AMD'>EPYC-v3</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v2</model> <model usable='yes' vendor='AMD'>EPYC-Rome</model> <model usable='no' vendor='AMD'>EPYC-Milan</model> <model usable='yes' vendor='AMD'>EPYC-IBPB</model> 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 7ed62fb522..f90c826e27 100644 --- a/tests/domaincapsdata/qemu_6.2.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.2.0-tcg.x86_64.xml @@ -118,6 +118,8 @@ <model usable='no' vendor='Intel'>Haswell-noTSX</model> <model usable='no' vendor='Intel'>Haswell-IBRS</model> <model usable='no' vendor='Intel'>Haswell</model> + <model usable='no' vendor='AMD'>EPYC-v3</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v2</model> <model usable='no' vendor='AMD'>EPYC-Rome</model> <model usable='no' vendor='AMD'>EPYC-Milan</model> <model usable='no' vendor='AMD'>EPYC-IBPB</model> diff --git a/tests/domaincapsdata/qemu_6.2.0.x86_64.xml b/tests/domaincapsdata/qemu_6.2.0.x86_64.xml index e6283ff153..77feb230c9 100644 --- a/tests/domaincapsdata/qemu_6.2.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.2.0.x86_64.xml @@ -103,6 +103,8 @@ <model usable='no' vendor='Intel'>Haswell-noTSX</model> <model usable='no' vendor='Intel'>Haswell-IBRS</model> <model usable='no' vendor='Intel'>Haswell</model> + <model usable='yes' vendor='AMD'>EPYC-v3</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v2</model> <model usable='yes' vendor='AMD'>EPYC-Rome</model> <model usable='no' vendor='AMD'>EPYC-Milan</model> <model usable='yes' vendor='AMD'>EPYC-IBPB</model> 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 50b2ee2ffe..587843dc95 100644 --- a/tests/domaincapsdata/qemu_7.0.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.0.0-q35.x86_64.xml @@ -105,6 +105,8 @@ <model usable='no' vendor='Intel'>Haswell-noTSX</model> <model usable='no' vendor='Intel'>Haswell-IBRS</model> <model usable='no' vendor='Intel'>Haswell</model> + <model usable='yes' vendor='AMD'>EPYC-v3</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v2</model> <model usable='yes' vendor='AMD'>EPYC-Rome</model> <model usable='no' vendor='AMD'>EPYC-Milan</model> <model usable='yes' vendor='AMD'>EPYC-IBPB</model> 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 3a71b54847..7ef5615473 100644 --- a/tests/domaincapsdata/qemu_7.0.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.0.0-tcg.x86_64.xml @@ -119,6 +119,8 @@ <model usable='no' vendor='Intel'>Haswell-noTSX</model> <model usable='no' vendor='Intel'>Haswell-IBRS</model> <model usable='no' vendor='Intel'>Haswell</model> + <model usable='no' vendor='AMD'>EPYC-v3</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v2</model> <model usable='no' vendor='AMD'>EPYC-Rome</model> <model usable='no' vendor='AMD'>EPYC-Milan</model> <model usable='no' vendor='AMD'>EPYC-IBPB</model> diff --git a/tests/domaincapsdata/qemu_7.0.0.x86_64.xml b/tests/domaincapsdata/qemu_7.0.0.x86_64.xml index fa4b912168..1fbfdc229d 100644 --- a/tests/domaincapsdata/qemu_7.0.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.0.0.x86_64.xml @@ -104,6 +104,8 @@ <model usable='no' vendor='Intel'>Haswell-noTSX</model> <model usable='no' vendor='Intel'>Haswell-IBRS</model> <model usable='no' vendor='Intel'>Haswell</model> + <model usable='yes' vendor='AMD'>EPYC-v3</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v2</model> <model usable='yes' vendor='AMD'>EPYC-Rome</model> <model usable='no' vendor='AMD'>EPYC-Milan</model> <model usable='yes' vendor='AMD'>EPYC-IBPB</model> 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 2eec2e3162..8247daf1da 100644 --- a/tests/domaincapsdata/qemu_7.1.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.1.0-q35.x86_64.xml @@ -104,6 +104,8 @@ <model usable='no' vendor='Intel'>Haswell-noTSX</model> <model usable='no' vendor='Intel'>Haswell-IBRS</model> <model usable='no' vendor='Intel'>Haswell</model> + <model usable='yes' vendor='AMD'>EPYC-v3</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v2</model> <model usable='yes' vendor='AMD'>EPYC-Rome</model> <model usable='no' vendor='AMD'>EPYC-Milan</model> <model usable='yes' vendor='AMD'>EPYC-IBPB</model> 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 1ae2a7c342..df0d5c1b86 100644 --- a/tests/domaincapsdata/qemu_7.1.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.1.0-tcg.x86_64.xml @@ -117,6 +117,8 @@ <model usable='no' vendor='Intel'>Haswell-noTSX</model> <model usable='no' vendor='Intel'>Haswell-IBRS</model> <model usable='no' vendor='Intel'>Haswell</model> + <model usable='no' vendor='AMD'>EPYC-v3</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v2</model> <model usable='no' vendor='AMD'>EPYC-Rome</model> <model usable='no' vendor='AMD'>EPYC-Milan</model> <model usable='no' vendor='AMD'>EPYC-IBPB</model> diff --git a/tests/domaincapsdata/qemu_7.1.0.x86_64.xml b/tests/domaincapsdata/qemu_7.1.0.x86_64.xml index 449e1b51d1..197e088d32 100644 --- a/tests/domaincapsdata/qemu_7.1.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.1.0.x86_64.xml @@ -103,6 +103,8 @@ <model usable='no' vendor='Intel'>Haswell-noTSX</model> <model usable='no' vendor='Intel'>Haswell-IBRS</model> <model usable='no' vendor='Intel'>Haswell</model> + <model usable='yes' vendor='AMD'>EPYC-v3</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v2</model> <model usable='yes' vendor='AMD'>EPYC-Rome</model> <model usable='no' vendor='AMD'>EPYC-Milan</model> <model usable='yes' vendor='AMD'>EPYC-IBPB</model> 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 e48a07da28..0e06734522 100644 --- a/tests/domaincapsdata/qemu_7.2.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.2.0-q35.x86_64.xml @@ -109,6 +109,8 @@ <model usable='no' vendor='Intel'>Haswell-noTSX</model> <model usable='no' vendor='Intel'>Haswell-IBRS</model> <model usable='no' vendor='Intel'>Haswell</model> + <model usable='yes' vendor='AMD'>EPYC-v3</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v2</model> <model usable='yes' vendor='AMD'>EPYC-Rome</model> <model usable='no' vendor='AMD'>EPYC-Milan</model> <model usable='yes' vendor='AMD'>EPYC-IBPB</model> 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 69b6be7616..841b640c15 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 @@ -106,6 +106,8 @@ <model usable='no' vendor='Intel'>Haswell-noTSX</model> <model usable='no' vendor='Intel'>Haswell-IBRS</model> <model usable='no' vendor='Intel'>Haswell</model> + <model usable='no' vendor='AMD'>EPYC-v3</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v2</model> <model usable='no' vendor='AMD'>EPYC-Rome</model> <model usable='no' vendor='AMD'>EPYC-Milan</model> <model usable='no' vendor='AMD'>EPYC-IBPB</model> 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 69b6be7616..841b640c15 100644 --- a/tests/domaincapsdata/qemu_7.2.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.2.0-tcg.x86_64.xml @@ -106,6 +106,8 @@ <model usable='no' vendor='Intel'>Haswell-noTSX</model> <model usable='no' vendor='Intel'>Haswell-IBRS</model> <model usable='no' vendor='Intel'>Haswell</model> + <model usable='no' vendor='AMD'>EPYC-v3</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v2</model> <model usable='no' vendor='AMD'>EPYC-Rome</model> <model usable='no' vendor='AMD'>EPYC-Milan</model> <model usable='no' vendor='AMD'>EPYC-IBPB</model> diff --git a/tests/domaincapsdata/qemu_7.2.0.x86_64.xml b/tests/domaincapsdata/qemu_7.2.0.x86_64.xml index d116cf2e48..9cafaf2f0f 100644 --- a/tests/domaincapsdata/qemu_7.2.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.2.0.x86_64.xml @@ -108,6 +108,8 @@ <model usable='no' vendor='Intel'>Haswell-noTSX</model> <model usable='no' vendor='Intel'>Haswell-IBRS</model> <model usable='no' vendor='Intel'>Haswell</model> + <model usable='yes' vendor='AMD'>EPYC-v3</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v2</model> <model usable='yes' vendor='AMD'>EPYC-Rome</model> <model usable='no' vendor='AMD'>EPYC-Milan</model> <model usable='yes' vendor='AMD'>EPYC-IBPB</model> 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 2815064abc..564546cf41 100644 --- a/tests/domaincapsdata/qemu_8.0.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.0.0-q35.x86_64.xml @@ -110,6 +110,8 @@ <model usable='no' vendor='Intel'>Haswell-noTSX</model> <model usable='no' vendor='Intel'>Haswell-IBRS</model> <model usable='no' vendor='Intel'>Haswell</model> + <model usable='yes' vendor='AMD'>EPYC-v3</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v2</model> <model usable='yes' vendor='AMD'>EPYC-Rome</model> <model usable='no' vendor='AMD'>EPYC-Milan</model> <model usable='yes' vendor='AMD'>EPYC-IBPB</model> 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 efb5fcb99d..58ce3d8d69 100644 --- a/tests/domaincapsdata/qemu_8.0.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.0.0-tcg.x86_64.xml @@ -111,6 +111,8 @@ <model usable='no' vendor='Intel'>Haswell-noTSX</model> <model usable='no' vendor='Intel'>Haswell-IBRS</model> <model usable='no' vendor='Intel'>Haswell</model> + <model usable='no' vendor='AMD'>EPYC-v3</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v2</model> <model usable='no' vendor='AMD'>EPYC-Rome</model> <model usable='no' vendor='AMD'>EPYC-Milan</model> <model usable='no' vendor='AMD'>EPYC-IBPB</model> diff --git a/tests/domaincapsdata/qemu_8.0.0.x86_64.xml b/tests/domaincapsdata/qemu_8.0.0.x86_64.xml index 07d1d06115..eb5897671c 100644 --- a/tests/domaincapsdata/qemu_8.0.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.0.0.x86_64.xml @@ -109,6 +109,8 @@ <model usable='no' vendor='Intel'>Haswell-noTSX</model> <model usable='no' vendor='Intel'>Haswell-IBRS</model> <model usable='no' vendor='Intel'>Haswell</model> + <model usable='yes' vendor='AMD'>EPYC-v3</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v2</model> <model usable='yes' vendor='AMD'>EPYC-Rome</model> <model usable='no' vendor='AMD'>EPYC-Milan</model> <model usable='yes' vendor='AMD'>EPYC-IBPB</model> 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 4d438efdf7..d865028850 100644 --- a/tests/domaincapsdata/qemu_8.1.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.1.0-q35.x86_64.xml @@ -41,7 +41,7 @@ </enum> </mode> <mode name='host-model' supported='yes'> - <model fallback='forbid'>EPYC-Rome</model> + <model fallback='forbid'>EPYC-Rome-v4</model> <vendor>AMD</vendor> <maxphysaddr mode='passthrough' limit='64'/> <feature policy='require' name='x2apic'/> @@ -53,7 +53,6 @@ <feature policy='require' name='ssbd'/> <feature policy='require' name='cmp_legacy'/> <feature policy='require' name='invtsc'/> - <feature policy='require' name='amd-ssbd'/> <feature policy='require' name='virt-ssbd'/> <feature policy='require' name='lbrv'/> <feature policy='require' name='tsc-scale'/> @@ -69,7 +68,7 @@ <feature policy='require' name='skip-l1dfl-vmentry'/> <feature policy='require' name='mds-no'/> <feature policy='require' name='pschange-mc-no'/> - <feature policy='disable' name='xsaves'/> + <feature policy='disable' name='ibrs'/> </mode> <mode name='custom' supported='yes'> <model usable='yes' vendor='unknown'>qemu64</model> @@ -112,7 +111,13 @@ <model usable='no' vendor='Intel'>Haswell-noTSX</model> <model usable='no' vendor='Intel'>Haswell-IBRS</model> <model usable='no' vendor='Intel'>Haswell</model> + <model usable='no' vendor='AMD'>EPYC-v4</model> + <model usable='no' vendor='AMD'>EPYC-v3</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v4</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v3</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v2</model> <model usable='no' vendor='AMD'>EPYC-Rome</model> + <model usable='no' vendor='AMD'>EPYC-Milan-v2</model> <model usable='no' vendor='AMD'>EPYC-Milan</model> <model usable='yes' vendor='AMD'>EPYC-IBPB</model> <model usable='no' vendor='AMD'>EPYC-Genoa</model> 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 e32cd80c17..192fa20c72 100644 --- a/tests/domaincapsdata/qemu_8.1.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.1.0-tcg.x86_64.xml @@ -112,7 +112,13 @@ <model usable='no' vendor='Intel'>Haswell-noTSX</model> <model usable='no' vendor='Intel'>Haswell-IBRS</model> <model usable='no' vendor='Intel'>Haswell</model> + <model usable='no' vendor='AMD'>EPYC-v4</model> + <model usable='no' vendor='AMD'>EPYC-v3</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v4</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v3</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v2</model> <model usable='no' vendor='AMD'>EPYC-Rome</model> + <model usable='no' vendor='AMD'>EPYC-Milan-v2</model> <model usable='no' vendor='AMD'>EPYC-Milan</model> <model usable='no' vendor='AMD'>EPYC-IBPB</model> <model usable='no' vendor='AMD'>EPYC-Genoa</model> diff --git a/tests/domaincapsdata/qemu_8.1.0.x86_64.xml b/tests/domaincapsdata/qemu_8.1.0.x86_64.xml index 919357e577..51cba16a35 100644 --- a/tests/domaincapsdata/qemu_8.1.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.1.0.x86_64.xml @@ -40,7 +40,7 @@ </enum> </mode> <mode name='host-model' supported='yes'> - <model fallback='forbid'>EPYC-Rome</model> + <model fallback='forbid'>EPYC-Rome-v4</model> <vendor>AMD</vendor> <maxphysaddr mode='passthrough' limit='64'/> <feature policy='require' name='x2apic'/> @@ -52,7 +52,6 @@ <feature policy='require' name='ssbd'/> <feature policy='require' name='cmp_legacy'/> <feature policy='require' name='invtsc'/> - <feature policy='require' name='amd-ssbd'/> <feature policy='require' name='virt-ssbd'/> <feature policy='require' name='lbrv'/> <feature policy='require' name='tsc-scale'/> @@ -68,7 +67,7 @@ <feature policy='require' name='skip-l1dfl-vmentry'/> <feature policy='require' name='mds-no'/> <feature policy='require' name='pschange-mc-no'/> - <feature policy='disable' name='xsaves'/> + <feature policy='disable' name='ibrs'/> </mode> <mode name='custom' supported='yes'> <model usable='yes' vendor='unknown'>qemu64</model> @@ -111,7 +110,13 @@ <model usable='no' vendor='Intel'>Haswell-noTSX</model> <model usable='no' vendor='Intel'>Haswell-IBRS</model> <model usable='no' vendor='Intel'>Haswell</model> + <model usable='no' vendor='AMD'>EPYC-v4</model> + <model usable='no' vendor='AMD'>EPYC-v3</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v4</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v3</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v2</model> <model usable='no' vendor='AMD'>EPYC-Rome</model> + <model usable='no' vendor='AMD'>EPYC-Milan-v2</model> <model usable='no' vendor='AMD'>EPYC-Milan</model> <model usable='yes' vendor='AMD'>EPYC-IBPB</model> <model usable='no' vendor='AMD'>EPYC-Genoa</model> 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 f711a51044..f24fe4789e 100644 --- a/tests/domaincapsdata/qemu_8.2.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.2.0-q35.x86_64.xml @@ -41,7 +41,7 @@ </enum> </mode> <mode name='host-model' supported='yes'> - <model fallback='forbid'>EPYC-Rome</model> + <model fallback='forbid'>EPYC-Rome-v4</model> <vendor>AMD</vendor> <maxphysaddr mode='passthrough' limit='64'/> <feature policy='require' name='x2apic'/> @@ -53,7 +53,6 @@ <feature policy='require' name='ssbd'/> <feature policy='require' name='cmp_legacy'/> <feature policy='require' name='invtsc'/> - <feature policy='require' name='amd-ssbd'/> <feature policy='require' name='virt-ssbd'/> <feature policy='require' name='lbrv'/> <feature policy='require' name='tsc-scale'/> @@ -70,7 +69,7 @@ <feature policy='require' name='mds-no'/> <feature policy='require' name='pschange-mc-no'/> <feature policy='require' name='gds-no'/> - <feature policy='disable' name='xsaves'/> + <feature policy='disable' name='ibrs'/> </mode> <mode name='custom' supported='yes'> <model usable='yes' vendor='unknown'>qemu64</model> @@ -113,7 +112,13 @@ <model usable='no' vendor='Intel'>Haswell-noTSX</model> <model usable='no' vendor='Intel'>Haswell-IBRS</model> <model usable='no' vendor='Intel'>Haswell</model> + <model usable='no' vendor='AMD'>EPYC-v4</model> + <model usable='no' vendor='AMD'>EPYC-v3</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v4</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v3</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v2</model> <model usable='no' vendor='AMD'>EPYC-Rome</model> + <model usable='no' vendor='AMD'>EPYC-Milan-v2</model> <model usable='no' vendor='AMD'>EPYC-Milan</model> <model usable='yes' vendor='AMD'>EPYC-IBPB</model> <model usable='no' vendor='AMD'>EPYC-Genoa</model> 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 784a29acd9..1945ec6561 100644 --- a/tests/domaincapsdata/qemu_8.2.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.2.0-tcg.x86_64.xml @@ -111,7 +111,13 @@ <model usable='no' vendor='Intel'>Haswell-noTSX</model> <model usable='no' vendor='Intel'>Haswell-IBRS</model> <model usable='no' vendor='Intel'>Haswell</model> + <model usable='no' vendor='AMD'>EPYC-v4</model> + <model usable='no' vendor='AMD'>EPYC-v3</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v4</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v3</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v2</model> <model usable='no' vendor='AMD'>EPYC-Rome</model> + <model usable='no' vendor='AMD'>EPYC-Milan-v2</model> <model usable='no' vendor='AMD'>EPYC-Milan</model> <model usable='no' vendor='AMD'>EPYC-IBPB</model> <model usable='no' vendor='AMD'>EPYC-Genoa</model> diff --git a/tests/domaincapsdata/qemu_8.2.0.x86_64.xml b/tests/domaincapsdata/qemu_8.2.0.x86_64.xml index bc060e21b6..2252f8f05e 100644 --- a/tests/domaincapsdata/qemu_8.2.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.2.0.x86_64.xml @@ -40,7 +40,7 @@ </enum> </mode> <mode name='host-model' supported='yes'> - <model fallback='forbid'>EPYC-Rome</model> + <model fallback='forbid'>EPYC-Rome-v4</model> <vendor>AMD</vendor> <maxphysaddr mode='passthrough' limit='64'/> <feature policy='require' name='x2apic'/> @@ -52,7 +52,6 @@ <feature policy='require' name='ssbd'/> <feature policy='require' name='cmp_legacy'/> <feature policy='require' name='invtsc'/> - <feature policy='require' name='amd-ssbd'/> <feature policy='require' name='virt-ssbd'/> <feature policy='require' name='lbrv'/> <feature policy='require' name='tsc-scale'/> @@ -69,7 +68,7 @@ <feature policy='require' name='mds-no'/> <feature policy='require' name='pschange-mc-no'/> <feature policy='require' name='gds-no'/> - <feature policy='disable' name='xsaves'/> + <feature policy='disable' name='ibrs'/> </mode> <mode name='custom' supported='yes'> <model usable='yes' vendor='unknown'>qemu64</model> @@ -112,7 +111,13 @@ <model usable='no' vendor='Intel'>Haswell-noTSX</model> <model usable='no' vendor='Intel'>Haswell-IBRS</model> <model usable='no' vendor='Intel'>Haswell</model> + <model usable='no' vendor='AMD'>EPYC-v4</model> + <model usable='no' vendor='AMD'>EPYC-v3</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v4</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v3</model> + <model usable='no' vendor='AMD'>EPYC-Rome-v2</model> <model usable='no' vendor='AMD'>EPYC-Rome</model> + <model usable='no' vendor='AMD'>EPYC-Milan-v2</model> <model usable='no' vendor='AMD'>EPYC-Milan</model> <model usable='yes' vendor='AMD'>EPYC-IBPB</model> <model usable='no' vendor='AMD'>EPYC-Genoa</model> diff --git a/tests/qemuxml2argvdata/cpu-host-model-fallback-kvm.x86_64-8.1.0.args b/tests/qemuxml2argvdata/cpu-host-model-fallback-kvm.x86_64-8.1.0.args index 45ff38ebef..ebc6ca5403 100644 --- a/tests/qemuxml2argvdata/cpu-host-model-fallback-kvm.x86_64-8.1.0.args +++ b/tests/qemuxml2argvdata/cpu-host-model-fallback-kvm.x86_64-8.1.0.args @@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes"}' \ -machine pc-i440fx-8.1,usb=off,dump-guest-core=off,memory-backend=pc.ram,acpi=off \ -accel kvm \ --cpu EPYC-Rome-v1,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,cmp-legacy=on,amd-ssbd=on,virt-ssbd=on,lbrv=on,tsc-scale=on,vmcb-clean=on,pause-filter=on,pfthreshold=on,v-vmsave-vmload=on,vgif=on,svme-addr-chk=on,lfence-always-serializing=on,null-sel-clr-base=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on,xsaves=off \ +-cpu EPYC-Rome-v4,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,cmp-legacy=on,virt-ssbd=on,lbrv=on,tsc-scale=on,vmcb-clean=on,pause-filter=on,pfthreshold=on,v-vmsave-vmload=on,vgif=on,svme-addr-chk=on,lfence-always-serializing=on,null-sel-clr-base=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on,ibrs=off \ -m size=219136k \ -object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \ -overcommit mem-lock=off \ diff --git a/tests/qemuxml2argvdata/cpu-host-model-fallback-kvm.x86_64-latest.args b/tests/qemuxml2argvdata/cpu-host-model-fallback-kvm.x86_64-latest.args index 30cb821759..38badeabe8 100644 --- a/tests/qemuxml2argvdata/cpu-host-model-fallback-kvm.x86_64-latest.args +++ b/tests/qemuxml2argvdata/cpu-host-model-fallback-kvm.x86_64-latest.args @@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes"}' \ -machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram,acpi=off \ -accel kvm \ --cpu EPYC-Rome-v1,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,cmp-legacy=on,amd-ssbd=on,virt-ssbd=on,lbrv=on,tsc-scale=on,vmcb-clean=on,pause-filter=on,pfthreshold=on,v-vmsave-vmload=on,vgif=on,svme-addr-chk=on,lfence-always-serializing=on,null-sel-clr-base=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on,gds-no=on,xsaves=off \ +-cpu EPYC-Rome-v4,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,cmp-legacy=on,virt-ssbd=on,lbrv=on,tsc-scale=on,vmcb-clean=on,pause-filter=on,pfthreshold=on,v-vmsave-vmload=on,vgif=on,svme-addr-chk=on,lfence-always-serializing=on,null-sel-clr-base=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on,gds-no=on,ibrs=off \ -m size=219136k \ -object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \ -overcommit mem-lock=off \ diff --git a/tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-8.1.0.args b/tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-8.1.0.args index df2987a98c..24d88b98de 100644 --- a/tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-8.1.0.args +++ b/tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-8.1.0.args @@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes"}' \ -machine pc-q35-8.1,usb=off,dump-guest-core=off,memory-backend=pc.ram,acpi=off \ -accel kvm \ --cpu EPYC-Rome-v1,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,cmp-legacy=on,amd-ssbd=on,virt-ssbd=on,lbrv=on,tsc-scale=on,vmcb-clean=on,pause-filter=on,pfthreshold=on,v-vmsave-vmload=on,vgif=on,svme-addr-chk=on,lfence-always-serializing=on,null-sel-clr-base=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on,xsaves=off \ +-cpu EPYC-Rome-v4,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,cmp-legacy=on,virt-ssbd=on,lbrv=on,tsc-scale=on,vmcb-clean=on,pause-filter=on,pfthreshold=on,v-vmsave-vmload=on,vgif=on,svme-addr-chk=on,lfence-always-serializing=on,null-sel-clr-base=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on,ibrs=off \ -m size=219136k \ -object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \ -overcommit mem-lock=off \ diff --git a/tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-latest.args b/tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-latest.args index 3fc229d8ae..2a114a28d5 100644 --- a/tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-latest.args +++ b/tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-latest.args @@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes"}' \ -machine q35,usb=off,dump-guest-core=off,memory-backend=pc.ram,acpi=off \ -accel kvm \ --cpu EPYC-Rome-v1,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,cmp-legacy=on,amd-ssbd=on,virt-ssbd=on,lbrv=on,tsc-scale=on,vmcb-clean=on,pause-filter=on,pfthreshold=on,v-vmsave-vmload=on,vgif=on,svme-addr-chk=on,lfence-always-serializing=on,null-sel-clr-base=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on,gds-no=on,xsaves=off \ +-cpu EPYC-Rome-v4,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,cmp-legacy=on,virt-ssbd=on,lbrv=on,tsc-scale=on,vmcb-clean=on,pause-filter=on,pfthreshold=on,v-vmsave-vmload=on,vgif=on,svme-addr-chk=on,lfence-always-serializing=on,null-sel-clr-base=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on,gds-no=on,ibrs=off \ -m size=219136k \ -object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \ -overcommit mem-lock=off \ diff --git a/tests/qemuxml2argvdata/cpu-host-model-nofallback-kvm.x86_64-8.1.0.args b/tests/qemuxml2argvdata/cpu-host-model-nofallback-kvm.x86_64-8.1.0.args index 45ff38ebef..ebc6ca5403 100644 --- a/tests/qemuxml2argvdata/cpu-host-model-nofallback-kvm.x86_64-8.1.0.args +++ b/tests/qemuxml2argvdata/cpu-host-model-nofallback-kvm.x86_64-8.1.0.args @@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes"}' \ -machine pc-i440fx-8.1,usb=off,dump-guest-core=off,memory-backend=pc.ram,acpi=off \ -accel kvm \ --cpu EPYC-Rome-v1,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,cmp-legacy=on,amd-ssbd=on,virt-ssbd=on,lbrv=on,tsc-scale=on,vmcb-clean=on,pause-filter=on,pfthreshold=on,v-vmsave-vmload=on,vgif=on,svme-addr-chk=on,lfence-always-serializing=on,null-sel-clr-base=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on,xsaves=off \ +-cpu EPYC-Rome-v4,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,cmp-legacy=on,virt-ssbd=on,lbrv=on,tsc-scale=on,vmcb-clean=on,pause-filter=on,pfthreshold=on,v-vmsave-vmload=on,vgif=on,svme-addr-chk=on,lfence-always-serializing=on,null-sel-clr-base=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on,ibrs=off \ -m size=219136k \ -object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \ -overcommit mem-lock=off \ diff --git a/tests/qemuxml2argvdata/cpu-host-model-nofallback-kvm.x86_64-latest.args b/tests/qemuxml2argvdata/cpu-host-model-nofallback-kvm.x86_64-latest.args index 30cb821759..38badeabe8 100644 --- a/tests/qemuxml2argvdata/cpu-host-model-nofallback-kvm.x86_64-latest.args +++ b/tests/qemuxml2argvdata/cpu-host-model-nofallback-kvm.x86_64-latest.args @@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes"}' \ -machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram,acpi=off \ -accel kvm \ --cpu EPYC-Rome-v1,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,cmp-legacy=on,amd-ssbd=on,virt-ssbd=on,lbrv=on,tsc-scale=on,vmcb-clean=on,pause-filter=on,pfthreshold=on,v-vmsave-vmload=on,vgif=on,svme-addr-chk=on,lfence-always-serializing=on,null-sel-clr-base=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on,gds-no=on,xsaves=off \ +-cpu EPYC-Rome-v4,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,cmp-legacy=on,virt-ssbd=on,lbrv=on,tsc-scale=on,vmcb-clean=on,pause-filter=on,pfthreshold=on,v-vmsave-vmload=on,vgif=on,svme-addr-chk=on,lfence-always-serializing=on,null-sel-clr-base=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on,gds-no=on,ibrs=off \ -m size=219136k \ -object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \ -overcommit mem-lock=off \

Signed-off-by: Jonathon Jongsma <jjongsma@redhat.com> --- src/cpu_map/index.xml | 3 + src/cpu_map/meson.build | 3 + src/cpu_map/x86_Skylake-Client-v4.xml | 77 +++++++++++++++++ src/cpu_map/x86_Skylake-Server-v4.xml | 83 ++++++++++++++++++ src/cpu_map/x86_Skylake-Server-v5.xml | 85 +++++++++++++++++++ .../domaincapsdata/qemu_5.1.0-q35.x86_64.xml | 1 + .../domaincapsdata/qemu_5.1.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_5.1.0.x86_64.xml | 1 + .../domaincapsdata/qemu_5.2.0-q35.x86_64.xml | 1 + .../domaincapsdata/qemu_5.2.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_5.2.0.x86_64.xml | 1 + .../domaincapsdata/qemu_6.0.0-q35.x86_64.xml | 1 + .../domaincapsdata/qemu_6.0.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_6.0.0.x86_64.xml | 1 + .../domaincapsdata/qemu_6.1.0-q35.x86_64.xml | 3 + .../domaincapsdata/qemu_6.1.0-tcg.x86_64.xml | 3 + tests/domaincapsdata/qemu_6.1.0.x86_64.xml | 3 + .../domaincapsdata/qemu_6.2.0-q35.x86_64.xml | 3 + .../domaincapsdata/qemu_6.2.0-tcg.x86_64.xml | 3 + tests/domaincapsdata/qemu_6.2.0.x86_64.xml | 3 + .../domaincapsdata/qemu_7.0.0-q35.x86_64.xml | 3 + .../domaincapsdata/qemu_7.0.0-tcg.x86_64.xml | 3 + tests/domaincapsdata/qemu_7.0.0.x86_64.xml | 3 + .../domaincapsdata/qemu_7.1.0-q35.x86_64.xml | 3 + .../domaincapsdata/qemu_7.1.0-tcg.x86_64.xml | 3 + tests/domaincapsdata/qemu_7.1.0.x86_64.xml | 3 + .../domaincapsdata/qemu_7.2.0-q35.x86_64.xml | 3 + .../qemu_7.2.0-tcg.x86_64+hvf.xml | 3 + .../domaincapsdata/qemu_7.2.0-tcg.x86_64.xml | 3 + tests/domaincapsdata/qemu_7.2.0.x86_64.xml | 3 + .../domaincapsdata/qemu_8.0.0-q35.x86_64.xml | 3 + .../domaincapsdata/qemu_8.0.0-tcg.x86_64.xml | 3 + tests/domaincapsdata/qemu_8.0.0.x86_64.xml | 3 + .../domaincapsdata/qemu_8.1.0-q35.x86_64.xml | 3 + .../domaincapsdata/qemu_8.1.0-tcg.x86_64.xml | 3 + tests/domaincapsdata/qemu_8.1.0.x86_64.xml | 3 + .../domaincapsdata/qemu_8.2.0-q35.x86_64.xml | 3 + .../domaincapsdata/qemu_8.2.0-tcg.x86_64.xml | 3 + tests/domaincapsdata/qemu_8.2.0.x86_64.xml | 3 + 39 files changed, 335 insertions(+) create mode 100644 src/cpu_map/x86_Skylake-Client-v4.xml create mode 100644 src/cpu_map/x86_Skylake-Server-v4.xml create mode 100644 src/cpu_map/x86_Skylake-Server-v5.xml diff --git a/src/cpu_map/index.xml b/src/cpu_map/index.xml index 861edc3bb7..a4fe2ec781 100644 --- a/src/cpu_map/index.xml +++ b/src/cpu_map/index.xml @@ -45,9 +45,12 @@ <include filename='x86_Skylake-Client.xml'/> <include filename='x86_Skylake-Client-IBRS.xml'/> <include filename='x86_Skylake-Client-noTSX-IBRS.xml'/> + <include filename='x86_Skylake-Client-v4.xml'/> <include filename='x86_Skylake-Server.xml'/> <include filename='x86_Skylake-Server-IBRS.xml'/> <include filename='x86_Skylake-Server-noTSX-IBRS.xml'/> + <include filename='x86_Skylake-Server-v4.xml'/> + <include filename='x86_Skylake-Server-v5.xml'/> <include filename='x86_Cascadelake-Server.xml'/> <include filename='x86_Cascadelake-Server-noTSX.xml'/> <include filename='x86_Icelake-Client.xml'/> diff --git a/src/cpu_map/meson.build b/src/cpu_map/meson.build index 68e093e041..f6b95863b3 100644 --- a/src/cpu_map/meson.build +++ b/src/cpu_map/meson.build @@ -82,9 +82,12 @@ cpumap_data = [ 'x86_SapphireRapids.xml', 'x86_Skylake-Client-IBRS.xml', 'x86_Skylake-Client-noTSX-IBRS.xml', + 'x86_Skylake-Client-v4.xml', 'x86_Skylake-Client.xml', 'x86_Skylake-Server-IBRS.xml', 'x86_Skylake-Server-noTSX-IBRS.xml', + 'x86_Skylake-Server-v4.xml', + 'x86_Skylake-Server-v5.xml', 'x86_Skylake-Server.xml', 'x86_Snowridge.xml', 'x86_vendors.xml', diff --git a/src/cpu_map/x86_Skylake-Client-v4.xml b/src/cpu_map/x86_Skylake-Client-v4.xml new file mode 100644 index 0000000000..038ac376b6 --- /dev/null +++ b/src/cpu_map/x86_Skylake-Client-v4.xml @@ -0,0 +1,77 @@ +<!-- extra info from qemu: + 'model.level': '0xd' + 'model.stepping': '3' + 'model.xlevel': '0x80000008' + 'model.model_id': 'Intel Core Processor (Skylake)' + 'property.model-id': 'Intel Core Processor (Skylake, IBRS, no TSX)' + 'version.note': 'IBRS, XSAVES, no TSX' +--> +<cpus> + <model name='Skylake-Client-v4'> + <decode host='on' guest='on'/> + <signature family='6' model='94'/> + <vendor name='Intel'/> + <feature name='3dnowprefetch'/> + <feature name='abm'/> + <feature name='adx'/> + <feature name='aes'/> + <feature name='apic'/> + <feature name='arat'/> + <feature name='avx'/> + <feature name='avx2'/> + <feature name='bmi1'/> + <feature name='bmi2'/> + <feature name='clflush'/> + <feature name='cmov'/> + <feature name='cx16'/> + <feature name='cx8'/> + <feature name='de'/> + <feature name='erms'/> + <feature name='f16c'/> + <feature name='fma'/> + <feature name='fpu'/> + <feature name='fsgsbase'/> + <feature name='fxsr'/> + <feature name='invpcid'/> + <feature name='lahf_lm'/> + <feature name='lm'/> + <feature name='mca'/> + <feature name='mce'/> + <feature name='mmx'/> + <feature name='movbe'/> + <feature name='msr'/> + <feature name='mtrr'/> + <feature name='nx'/> + <feature name='pae'/> + <feature name='pat'/> + <feature name='pcid'/> + <feature name='pclmuldq'/> + <feature name='pge'/> + <feature name='pni'/> + <feature name='popcnt'/> + <feature name='pse'/> + <feature name='pse36'/> + <feature name='rdrand'/> + <feature name='rdseed'/> + <feature name='rdtscp'/> + <feature name='sep'/> + <feature name='smap'/> + <feature name='smep'/> + <feature name='spec-ctrl'/> + <feature name='sse'/> + <feature name='sse2'/> + <feature name='sse4.1'/> + <feature name='sse4.2'/> + <feature name='ssse3'/> + <feature name='syscall'/> + <feature name='tsc'/> + <feature name='tsc-deadline'/> + <feature name='vme'/> + <feature name='x2apic'/> + <feature name='xgetbv1'/> + <feature name='xsave'/> + <feature name='xsavec'/> + <feature name='xsaveopt'/> + <feature name='xsaves'/> + </model> +</cpus> diff --git a/src/cpu_map/x86_Skylake-Server-v4.xml b/src/cpu_map/x86_Skylake-Server-v4.xml new file mode 100644 index 0000000000..6c864f6b9c --- /dev/null +++ b/src/cpu_map/x86_Skylake-Server-v4.xml @@ -0,0 +1,83 @@ +<!-- extra info from qemu: + 'model.level': '0xd' + 'model.stepping': '4' + 'model.xlevel': '0x80000008' + 'model.model_id': 'Intel Xeon Processor (Skylake)' + 'property.model-id': 'Intel Xeon Processor (Skylake, IBRS, no TSX)' +--> +<cpus> + <model name='Skylake-Server-v4'> + <decode host='on' guest='on'/> + <signature family='6' model='85'/> + <vendor name='Intel'/> + <feature name='3dnowprefetch'/> + <feature name='abm'/> + <feature name='adx'/> + <feature name='aes'/> + <feature name='apic'/> + <feature name='arat'/> + <feature name='avx'/> + <feature name='avx2'/> + <feature name='avx512bw'/> + <feature name='avx512cd'/> + <feature name='avx512dq'/> + <feature name='avx512f'/> + <feature name='avx512vl'/> + <feature name='bmi1'/> + <feature name='bmi2'/> + <feature name='clflush'/> + <feature name='clwb'/> + <feature name='cmov'/> + <feature name='cx16'/> + <feature name='cx8'/> + <feature name='de'/> + <feature name='erms'/> + <feature name='f16c'/> + <feature name='fma'/> + <feature name='fpu'/> + <feature name='fsgsbase'/> + <feature name='fxsr'/> + <feature name='invpcid'/> + <feature name='lahf_lm'/> + <feature name='lm'/> + <feature name='mca'/> + <feature name='mce'/> + <feature name='mmx'/> + <feature name='movbe'/> + <feature name='msr'/> + <feature name='mtrr'/> + <feature name='nx'/> + <feature name='pae'/> + <feature name='pat'/> + <feature name='pcid'/> + <feature name='pclmuldq'/> + <feature name='pdpe1gb'/> + <feature name='pge'/> + <feature name='pku'/> + <feature name='pni'/> + <feature name='popcnt'/> + <feature name='pse'/> + <feature name='pse36'/> + <feature name='rdrand'/> + <feature name='rdseed'/> + <feature name='rdtscp'/> + <feature name='sep'/> + <feature name='smap'/> + <feature name='smep'/> + <feature name='spec-ctrl'/> + <feature name='sse'/> + <feature name='sse2'/> + <feature name='sse4.1'/> + <feature name='sse4.2'/> + <feature name='ssse3'/> + <feature name='syscall'/> + <feature name='tsc'/> + <feature name='tsc-deadline'/> + <feature name='vme'/> + <feature name='x2apic'/> + <feature name='xgetbv1'/> + <feature name='xsave'/> + <feature name='xsavec'/> + <feature name='xsaveopt'/> + </model> +</cpus> diff --git a/src/cpu_map/x86_Skylake-Server-v5.xml b/src/cpu_map/x86_Skylake-Server-v5.xml new file mode 100644 index 0000000000..f3d49fb5d2 --- /dev/null +++ b/src/cpu_map/x86_Skylake-Server-v5.xml @@ -0,0 +1,85 @@ +<!-- extra info from qemu: + 'model.level': '0xd' + 'model.stepping': '4' + 'model.xlevel': '0x80000008' + 'model.model_id': 'Intel Xeon Processor (Skylake)' + 'property.model-id': 'Intel Xeon Processor (Skylake, IBRS, no TSX)' + 'version.note': 'IBRS, XSAVES, EPT switching, no TSX' +--> +<cpus> + <model name='Skylake-Server-v5'> + <decode host='on' guest='on'/> + <signature family='6' model='85'/> + <vendor name='Intel'/> + <feature name='3dnowprefetch'/> + <feature name='abm'/> + <feature name='adx'/> + <feature name='aes'/> + <feature name='apic'/> + <feature name='arat'/> + <feature name='avx'/> + <feature name='avx2'/> + <feature name='avx512bw'/> + <feature name='avx512cd'/> + <feature name='avx512dq'/> + <feature name='avx512f'/> + <feature name='avx512vl'/> + <feature name='bmi1'/> + <feature name='bmi2'/> + <feature name='clflush'/> + <feature name='clwb'/> + <feature name='cmov'/> + <feature name='cx16'/> + <feature name='cx8'/> + <feature name='de'/> + <feature name='erms'/> + <feature name='f16c'/> + <feature name='fma'/> + <feature name='fpu'/> + <feature name='fsgsbase'/> + <feature name='fxsr'/> + <feature name='invpcid'/> + <feature name='lahf_lm'/> + <feature name='lm'/> + <feature name='mca'/> + <feature name='mce'/> + <feature name='mmx'/> + <feature name='movbe'/> + <feature name='msr'/> + <feature name='mtrr'/> + <feature name='nx'/> + <feature name='pae'/> + <feature name='pat'/> + <feature name='pcid'/> + <feature name='pclmuldq'/> + <feature name='pdpe1gb'/> + <feature name='pge'/> + <feature name='pku'/> + <feature name='pni'/> + <feature name='popcnt'/> + <feature name='pse'/> + <feature name='pse36'/> + <feature name='rdrand'/> + <feature name='rdseed'/> + <feature name='rdtscp'/> + <feature name='sep'/> + <feature name='smap'/> + <feature name='smep'/> + <feature name='spec-ctrl'/> + <feature name='sse'/> + <feature name='sse2'/> + <feature name='sse4.1'/> + <feature name='sse4.2'/> + <feature name='ssse3'/> + <feature name='syscall'/> + <feature name='tsc'/> + <feature name='tsc-deadline'/> + <feature name='vme'/> + <feature name='x2apic'/> + <feature name='xgetbv1'/> + <feature name='xsave'/> + <feature name='xsavec'/> + <feature name='xsaveopt'/> + <feature name='xsaves'/> + </model> +</cpus> diff --git a/tests/domaincapsdata/qemu_5.1.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_5.1.0-q35.x86_64.xml index 88291c60de..b12748fdd0 100644 --- a/tests/domaincapsdata/qemu_5.1.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_5.1.0-q35.x86_64.xml @@ -77,6 +77,7 @@ <model usable='no' vendor='Intel'>Westmere-IBRS</model> <model usable='yes' vendor='Intel'>Westmere</model> <model usable='no' vendor='Intel'>Snowridge</model> + <model usable='no' vendor='Intel'>Skylake-Server-v4</model> <model usable='no' vendor='Intel'>Skylake-Server-noTSX-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Server-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Server</model> diff --git a/tests/domaincapsdata/qemu_5.1.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_5.1.0-tcg.x86_64.xml index a2bce1003a..484c5e96d5 100644 --- a/tests/domaincapsdata/qemu_5.1.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_5.1.0-tcg.x86_64.xml @@ -89,6 +89,7 @@ <model usable='no' vendor='Intel'>Westmere-IBRS</model> <model usable='yes' vendor='Intel'>Westmere</model> <model usable='no' vendor='Intel'>Snowridge</model> + <model usable='no' vendor='Intel'>Skylake-Server-v4</model> <model usable='no' vendor='Intel'>Skylake-Server-noTSX-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Server-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Server</model> diff --git a/tests/domaincapsdata/qemu_5.1.0.x86_64.xml b/tests/domaincapsdata/qemu_5.1.0.x86_64.xml index 954025cb33..bf636b4b7f 100644 --- a/tests/domaincapsdata/qemu_5.1.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_5.1.0.x86_64.xml @@ -76,6 +76,7 @@ <model usable='no' vendor='Intel'>Westmere-IBRS</model> <model usable='yes' vendor='Intel'>Westmere</model> <model usable='no' vendor='Intel'>Snowridge</model> + <model usable='no' vendor='Intel'>Skylake-Server-v4</model> <model usable='no' vendor='Intel'>Skylake-Server-noTSX-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Server-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Server</model> 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 66753cef10..3a21985040 100644 --- a/tests/domaincapsdata/qemu_5.2.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_5.2.0-q35.x86_64.xml @@ -77,6 +77,7 @@ <model usable='no' vendor='Intel'>Westmere-IBRS</model> <model usable='yes' vendor='Intel'>Westmere</model> <model usable='no' vendor='Intel'>Snowridge</model> + <model usable='no' vendor='Intel'>Skylake-Server-v4</model> <model usable='no' vendor='Intel'>Skylake-Server-noTSX-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Server-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Server</model> 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 af223af1b8..fcff1c2748 100644 --- a/tests/domaincapsdata/qemu_5.2.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_5.2.0-tcg.x86_64.xml @@ -89,6 +89,7 @@ <model usable='no' vendor='Intel'>Westmere-IBRS</model> <model usable='yes' vendor='Intel'>Westmere</model> <model usable='no' vendor='Intel'>Snowridge</model> + <model usable='no' vendor='Intel'>Skylake-Server-v4</model> <model usable='no' vendor='Intel'>Skylake-Server-noTSX-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Server-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Server</model> diff --git a/tests/domaincapsdata/qemu_5.2.0.x86_64.xml b/tests/domaincapsdata/qemu_5.2.0.x86_64.xml index 195d523fa7..fb3d0d9509 100644 --- a/tests/domaincapsdata/qemu_5.2.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_5.2.0.x86_64.xml @@ -76,6 +76,7 @@ <model usable='no' vendor='Intel'>Westmere-IBRS</model> <model usable='yes' vendor='Intel'>Westmere</model> <model usable='no' vendor='Intel'>Snowridge</model> + <model usable='no' vendor='Intel'>Skylake-Server-v4</model> <model usable='no' vendor='Intel'>Skylake-Server-noTSX-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Server-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Server</model> 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 a96f1e23fd..d5ce19b1ab 100644 --- a/tests/domaincapsdata/qemu_6.0.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.0.0-q35.x86_64.xml @@ -77,6 +77,7 @@ <model usable='no' vendor='Intel'>Westmere-IBRS</model> <model usable='yes' vendor='Intel'>Westmere</model> <model usable='no' vendor='Intel'>Snowridge</model> + <model usable='no' vendor='Intel'>Skylake-Server-v4</model> <model usable='no' vendor='Intel'>Skylake-Server-noTSX-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Server-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Server</model> 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 1a00383168..b50ea993ae 100644 --- a/tests/domaincapsdata/qemu_6.0.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.0.0-tcg.x86_64.xml @@ -90,6 +90,7 @@ <model usable='no' vendor='Intel'>Westmere-IBRS</model> <model usable='yes' vendor='Intel'>Westmere</model> <model usable='no' vendor='Intel'>Snowridge</model> + <model usable='no' vendor='Intel'>Skylake-Server-v4</model> <model usable='no' vendor='Intel'>Skylake-Server-noTSX-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Server-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Server</model> diff --git a/tests/domaincapsdata/qemu_6.0.0.x86_64.xml b/tests/domaincapsdata/qemu_6.0.0.x86_64.xml index e21b8dc2df..927ac1a36a 100644 --- a/tests/domaincapsdata/qemu_6.0.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.0.0.x86_64.xml @@ -76,6 +76,7 @@ <model usable='no' vendor='Intel'>Westmere-IBRS</model> <model usable='yes' vendor='Intel'>Westmere</model> <model usable='no' vendor='Intel'>Snowridge</model> + <model usable='no' vendor='Intel'>Skylake-Server-v4</model> <model usable='no' vendor='Intel'>Skylake-Server-noTSX-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Server-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Server</model> 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 bfecc6ffe0..7244db6d2a 100644 --- a/tests/domaincapsdata/qemu_6.1.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.1.0-q35.x86_64.xml @@ -78,9 +78,12 @@ <model usable='no' vendor='Intel'>Westmere-IBRS</model> <model usable='yes' vendor='Intel'>Westmere</model> <model usable='no' vendor='Intel'>Snowridge</model> + <model usable='no' vendor='Intel'>Skylake-Server-v5</model> + <model usable='no' vendor='Intel'>Skylake-Server-v4</model> <model usable='no' vendor='Intel'>Skylake-Server-noTSX-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Server-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Server</model> + <model usable='no' vendor='Intel'>Skylake-Client-v4</model> <model usable='no' vendor='Intel'>Skylake-Client-noTSX-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Client-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Client</model> 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 5762bc0b90..4628fba179 100644 --- a/tests/domaincapsdata/qemu_6.1.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.1.0-tcg.x86_64.xml @@ -90,9 +90,12 @@ <model usable='no' vendor='Intel'>Westmere-IBRS</model> <model usable='yes' vendor='Intel'>Westmere</model> <model usable='no' vendor='Intel'>Snowridge</model> + <model usable='no' vendor='Intel'>Skylake-Server-v5</model> + <model usable='no' vendor='Intel'>Skylake-Server-v4</model> <model usable='no' vendor='Intel'>Skylake-Server-noTSX-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Server-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Server</model> + <model usable='no' vendor='Intel'>Skylake-Client-v4</model> <model usable='no' vendor='Intel'>Skylake-Client-noTSX-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Client-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Client</model> diff --git a/tests/domaincapsdata/qemu_6.1.0.x86_64.xml b/tests/domaincapsdata/qemu_6.1.0.x86_64.xml index ef3ab32795..9e3c5cd9f1 100644 --- a/tests/domaincapsdata/qemu_6.1.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.1.0.x86_64.xml @@ -77,9 +77,12 @@ <model usable='no' vendor='Intel'>Westmere-IBRS</model> <model usable='yes' vendor='Intel'>Westmere</model> <model usable='no' vendor='Intel'>Snowridge</model> + <model usable='no' vendor='Intel'>Skylake-Server-v5</model> + <model usable='no' vendor='Intel'>Skylake-Server-v4</model> <model usable='no' vendor='Intel'>Skylake-Server-noTSX-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Server-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Server</model> + <model usable='no' vendor='Intel'>Skylake-Client-v4</model> <model usable='no' vendor='Intel'>Skylake-Client-noTSX-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Client-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Client</model> 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 850762a81b..647c455cff 100644 --- a/tests/domaincapsdata/qemu_6.2.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.2.0-q35.x86_64.xml @@ -78,9 +78,12 @@ <model usable='no' vendor='Intel'>Westmere-IBRS</model> <model usable='yes' vendor='Intel'>Westmere</model> <model usable='no' vendor='Intel'>Snowridge</model> + <model usable='no' vendor='Intel'>Skylake-Server-v5</model> + <model usable='no' vendor='Intel'>Skylake-Server-v4</model> <model usable='no' vendor='Intel'>Skylake-Server-noTSX-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Server-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Server</model> + <model usable='no' vendor='Intel'>Skylake-Client-v4</model> <model usable='no' vendor='Intel'>Skylake-Client-noTSX-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Client-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Client</model> 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 f90c826e27..39d4b24087 100644 --- a/tests/domaincapsdata/qemu_6.2.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.2.0-tcg.x86_64.xml @@ -92,9 +92,12 @@ <model usable='no' vendor='Intel'>Westmere-IBRS</model> <model usable='yes' vendor='Intel'>Westmere</model> <model usable='no' vendor='Intel'>Snowridge</model> + <model usable='no' vendor='Intel'>Skylake-Server-v5</model> + <model usable='no' vendor='Intel'>Skylake-Server-v4</model> <model usable='no' vendor='Intel'>Skylake-Server-noTSX-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Server-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Server</model> + <model usable='no' vendor='Intel'>Skylake-Client-v4</model> <model usable='no' vendor='Intel'>Skylake-Client-noTSX-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Client-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Client</model> diff --git a/tests/domaincapsdata/qemu_6.2.0.x86_64.xml b/tests/domaincapsdata/qemu_6.2.0.x86_64.xml index 77feb230c9..9b58adbf79 100644 --- a/tests/domaincapsdata/qemu_6.2.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.2.0.x86_64.xml @@ -77,9 +77,12 @@ <model usable='no' vendor='Intel'>Westmere-IBRS</model> <model usable='yes' vendor='Intel'>Westmere</model> <model usable='no' vendor='Intel'>Snowridge</model> + <model usable='no' vendor='Intel'>Skylake-Server-v5</model> + <model usable='no' vendor='Intel'>Skylake-Server-v4</model> <model usable='no' vendor='Intel'>Skylake-Server-noTSX-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Server-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Server</model> + <model usable='no' vendor='Intel'>Skylake-Client-v4</model> <model usable='no' vendor='Intel'>Skylake-Client-noTSX-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Client-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Client</model> 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 587843dc95..4f11b288ec 100644 --- a/tests/domaincapsdata/qemu_7.0.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.0.0-q35.x86_64.xml @@ -79,9 +79,12 @@ <model usable='no' vendor='Intel'>Westmere-IBRS</model> <model usable='yes' vendor='Intel'>Westmere</model> <model usable='no' vendor='Intel'>Snowridge</model> + <model usable='no' vendor='Intel'>Skylake-Server-v5</model> + <model usable='no' vendor='Intel'>Skylake-Server-v4</model> <model usable='no' vendor='Intel'>Skylake-Server-noTSX-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Server-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Server</model> + <model usable='no' vendor='Intel'>Skylake-Client-v4</model> <model usable='no' vendor='Intel'>Skylake-Client-noTSX-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Client-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Client</model> 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 7ef5615473..b235b3ab7d 100644 --- a/tests/domaincapsdata/qemu_7.0.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.0.0-tcg.x86_64.xml @@ -93,9 +93,12 @@ <model usable='no' vendor='Intel'>Westmere-IBRS</model> <model usable='yes' vendor='Intel'>Westmere</model> <model usable='no' vendor='Intel'>Snowridge</model> + <model usable='no' vendor='Intel'>Skylake-Server-v5</model> + <model usable='no' vendor='Intel'>Skylake-Server-v4</model> <model usable='no' vendor='Intel'>Skylake-Server-noTSX-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Server-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Server</model> + <model usable='no' vendor='Intel'>Skylake-Client-v4</model> <model usable='no' vendor='Intel'>Skylake-Client-noTSX-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Client-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Client</model> diff --git a/tests/domaincapsdata/qemu_7.0.0.x86_64.xml b/tests/domaincapsdata/qemu_7.0.0.x86_64.xml index 1fbfdc229d..16b0bc952f 100644 --- a/tests/domaincapsdata/qemu_7.0.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.0.0.x86_64.xml @@ -78,9 +78,12 @@ <model usable='no' vendor='Intel'>Westmere-IBRS</model> <model usable='yes' vendor='Intel'>Westmere</model> <model usable='no' vendor='Intel'>Snowridge</model> + <model usable='no' vendor='Intel'>Skylake-Server-v5</model> + <model usable='no' vendor='Intel'>Skylake-Server-v4</model> <model usable='no' vendor='Intel'>Skylake-Server-noTSX-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Server-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Server</model> + <model usable='no' vendor='Intel'>Skylake-Client-v4</model> <model usable='no' vendor='Intel'>Skylake-Client-noTSX-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Client-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Client</model> 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 8247daf1da..4f697b85fb 100644 --- a/tests/domaincapsdata/qemu_7.1.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.1.0-q35.x86_64.xml @@ -80,9 +80,12 @@ <model usable='no' vendor='Intel'>Westmere-IBRS</model> <model usable='yes' vendor='Intel'>Westmere</model> <model usable='no' vendor='Intel'>Snowridge</model> + <model usable='no' vendor='Intel'>Skylake-Server-v5</model> + <model usable='no' vendor='Intel'>Skylake-Server-v4</model> <model usable='no' vendor='Intel'>Skylake-Server-noTSX-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Server-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Server</model> + <model usable='no' vendor='Intel'>Skylake-Client-v4</model> <model usable='no' vendor='Intel'>Skylake-Client-noTSX-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Client-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Client</model> 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 df0d5c1b86..7ef47f9618 100644 --- a/tests/domaincapsdata/qemu_7.1.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.1.0-tcg.x86_64.xml @@ -93,9 +93,12 @@ <model usable='no' vendor='Intel'>Westmere-IBRS</model> <model usable='yes' vendor='Intel'>Westmere</model> <model usable='no' vendor='Intel'>Snowridge</model> + <model usable='no' vendor='Intel'>Skylake-Server-v5</model> + <model usable='no' vendor='Intel'>Skylake-Server-v4</model> <model usable='no' vendor='Intel'>Skylake-Server-noTSX-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Server-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Server</model> + <model usable='no' vendor='Intel'>Skylake-Client-v4</model> <model usable='no' vendor='Intel'>Skylake-Client-noTSX-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Client-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Client</model> diff --git a/tests/domaincapsdata/qemu_7.1.0.x86_64.xml b/tests/domaincapsdata/qemu_7.1.0.x86_64.xml index 197e088d32..035335fa43 100644 --- a/tests/domaincapsdata/qemu_7.1.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.1.0.x86_64.xml @@ -79,9 +79,12 @@ <model usable='no' vendor='Intel'>Westmere-IBRS</model> <model usable='yes' vendor='Intel'>Westmere</model> <model usable='no' vendor='Intel'>Snowridge</model> + <model usable='no' vendor='Intel'>Skylake-Server-v5</model> + <model usable='no' vendor='Intel'>Skylake-Server-v4</model> <model usable='no' vendor='Intel'>Skylake-Server-noTSX-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Server-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Server</model> + <model usable='no' vendor='Intel'>Skylake-Client-v4</model> <model usable='no' vendor='Intel'>Skylake-Client-noTSX-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Client-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Client</model> 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 0e06734522..1a28924082 100644 --- a/tests/domaincapsdata/qemu_7.2.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.2.0-q35.x86_64.xml @@ -85,9 +85,12 @@ <model usable='no' vendor='Intel'>Westmere-IBRS</model> <model usable='yes' vendor='Intel'>Westmere</model> <model usable='no' vendor='Intel'>Snowridge</model> + <model usable='no' vendor='Intel'>Skylake-Server-v5</model> + <model usable='no' vendor='Intel'>Skylake-Server-v4</model> <model usable='no' vendor='Intel'>Skylake-Server-noTSX-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Server-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Server</model> + <model usable='no' vendor='Intel'>Skylake-Client-v4</model> <model usable='no' vendor='Intel'>Skylake-Client-noTSX-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Client-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Client</model> 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 841b640c15..defb547029 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 @@ -82,9 +82,12 @@ <model usable='no' vendor='Intel'>Westmere-IBRS</model> <model usable='yes' vendor='Intel'>Westmere</model> <model usable='no' vendor='Intel'>Snowridge</model> + <model usable='no' vendor='Intel'>Skylake-Server-v5</model> + <model usable='no' vendor='Intel'>Skylake-Server-v4</model> <model usable='no' vendor='Intel'>Skylake-Server-noTSX-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Server-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Server</model> + <model usable='no' vendor='Intel'>Skylake-Client-v4</model> <model usable='no' vendor='Intel'>Skylake-Client-noTSX-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Client-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Client</model> 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 841b640c15..defb547029 100644 --- a/tests/domaincapsdata/qemu_7.2.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.2.0-tcg.x86_64.xml @@ -82,9 +82,12 @@ <model usable='no' vendor='Intel'>Westmere-IBRS</model> <model usable='yes' vendor='Intel'>Westmere</model> <model usable='no' vendor='Intel'>Snowridge</model> + <model usable='no' vendor='Intel'>Skylake-Server-v5</model> + <model usable='no' vendor='Intel'>Skylake-Server-v4</model> <model usable='no' vendor='Intel'>Skylake-Server-noTSX-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Server-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Server</model> + <model usable='no' vendor='Intel'>Skylake-Client-v4</model> <model usable='no' vendor='Intel'>Skylake-Client-noTSX-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Client-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Client</model> diff --git a/tests/domaincapsdata/qemu_7.2.0.x86_64.xml b/tests/domaincapsdata/qemu_7.2.0.x86_64.xml index 9cafaf2f0f..cbb99f747e 100644 --- a/tests/domaincapsdata/qemu_7.2.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.2.0.x86_64.xml @@ -84,9 +84,12 @@ <model usable='no' vendor='Intel'>Westmere-IBRS</model> <model usable='yes' vendor='Intel'>Westmere</model> <model usable='no' vendor='Intel'>Snowridge</model> + <model usable='no' vendor='Intel'>Skylake-Server-v5</model> + <model usable='no' vendor='Intel'>Skylake-Server-v4</model> <model usable='no' vendor='Intel'>Skylake-Server-noTSX-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Server-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Server</model> + <model usable='no' vendor='Intel'>Skylake-Client-v4</model> <model usable='no' vendor='Intel'>Skylake-Client-noTSX-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Client-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Client</model> 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 564546cf41..52b1f41b8e 100644 --- a/tests/domaincapsdata/qemu_8.0.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.0.0-q35.x86_64.xml @@ -85,9 +85,12 @@ <model usable='no' vendor='Intel'>Westmere-IBRS</model> <model usable='yes' vendor='Intel'>Westmere</model> <model usable='no' vendor='Intel'>Snowridge</model> + <model usable='no' vendor='Intel'>Skylake-Server-v5</model> + <model usable='no' vendor='Intel'>Skylake-Server-v4</model> <model usable='no' vendor='Intel'>Skylake-Server-noTSX-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Server-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Server</model> + <model usable='no' vendor='Intel'>Skylake-Client-v4</model> <model usable='no' vendor='Intel'>Skylake-Client-noTSX-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Client-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Client</model> 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 58ce3d8d69..6b778d16be 100644 --- a/tests/domaincapsdata/qemu_8.0.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.0.0-tcg.x86_64.xml @@ -86,9 +86,12 @@ <model usable='no' vendor='Intel'>Westmere-IBRS</model> <model usable='yes' vendor='Intel'>Westmere</model> <model usable='no' vendor='Intel'>Snowridge</model> + <model usable='no' vendor='Intel'>Skylake-Server-v5</model> + <model usable='no' vendor='Intel'>Skylake-Server-v4</model> <model usable='no' vendor='Intel'>Skylake-Server-noTSX-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Server-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Server</model> + <model usable='no' vendor='Intel'>Skylake-Client-v4</model> <model usable='no' vendor='Intel'>Skylake-Client-noTSX-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Client-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Client</model> diff --git a/tests/domaincapsdata/qemu_8.0.0.x86_64.xml b/tests/domaincapsdata/qemu_8.0.0.x86_64.xml index eb5897671c..cbd557b0f1 100644 --- a/tests/domaincapsdata/qemu_8.0.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.0.0.x86_64.xml @@ -84,9 +84,12 @@ <model usable='no' vendor='Intel'>Westmere-IBRS</model> <model usable='yes' vendor='Intel'>Westmere</model> <model usable='no' vendor='Intel'>Snowridge</model> + <model usable='no' vendor='Intel'>Skylake-Server-v5</model> + <model usable='no' vendor='Intel'>Skylake-Server-v4</model> <model usable='no' vendor='Intel'>Skylake-Server-noTSX-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Server-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Server</model> + <model usable='no' vendor='Intel'>Skylake-Client-v4</model> <model usable='no' vendor='Intel'>Skylake-Client-noTSX-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Client-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Client</model> 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 d865028850..af8cf93f0a 100644 --- a/tests/domaincapsdata/qemu_8.1.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.1.0-q35.x86_64.xml @@ -86,9 +86,12 @@ <model usable='no' vendor='Intel'>Westmere-IBRS</model> <model usable='yes' vendor='Intel'>Westmere</model> <model usable='no' vendor='Intel'>Snowridge</model> + <model usable='no' vendor='Intel'>Skylake-Server-v5</model> + <model usable='no' vendor='Intel'>Skylake-Server-v4</model> <model usable='no' vendor='Intel'>Skylake-Server-noTSX-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Server-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Server</model> + <model usable='no' vendor='Intel'>Skylake-Client-v4</model> <model usable='no' vendor='Intel'>Skylake-Client-noTSX-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Client-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Client</model> 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 192fa20c72..8edbcf5e97 100644 --- a/tests/domaincapsdata/qemu_8.1.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.1.0-tcg.x86_64.xml @@ -87,9 +87,12 @@ <model usable='no' vendor='Intel'>Westmere-IBRS</model> <model usable='yes' vendor='Intel'>Westmere</model> <model usable='no' vendor='Intel'>Snowridge</model> + <model usable='no' vendor='Intel'>Skylake-Server-v5</model> + <model usable='no' vendor='Intel'>Skylake-Server-v4</model> <model usable='no' vendor='Intel'>Skylake-Server-noTSX-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Server-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Server</model> + <model usable='no' vendor='Intel'>Skylake-Client-v4</model> <model usable='no' vendor='Intel'>Skylake-Client-noTSX-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Client-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Client</model> diff --git a/tests/domaincapsdata/qemu_8.1.0.x86_64.xml b/tests/domaincapsdata/qemu_8.1.0.x86_64.xml index 51cba16a35..c048ca0a7c 100644 --- a/tests/domaincapsdata/qemu_8.1.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.1.0.x86_64.xml @@ -85,9 +85,12 @@ <model usable='no' vendor='Intel'>Westmere-IBRS</model> <model usable='yes' vendor='Intel'>Westmere</model> <model usable='no' vendor='Intel'>Snowridge</model> + <model usable='no' vendor='Intel'>Skylake-Server-v5</model> + <model usable='no' vendor='Intel'>Skylake-Server-v4</model> <model usable='no' vendor='Intel'>Skylake-Server-noTSX-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Server-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Server</model> + <model usable='no' vendor='Intel'>Skylake-Client-v4</model> <model usable='no' vendor='Intel'>Skylake-Client-noTSX-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Client-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Client</model> 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 f24fe4789e..d9552ecf2b 100644 --- a/tests/domaincapsdata/qemu_8.2.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.2.0-q35.x86_64.xml @@ -87,9 +87,12 @@ <model usable='no' vendor='Intel'>Westmere-IBRS</model> <model usable='yes' vendor='Intel'>Westmere</model> <model usable='no' vendor='Intel'>Snowridge</model> + <model usable='no' vendor='Intel'>Skylake-Server-v5</model> + <model usable='no' vendor='Intel'>Skylake-Server-v4</model> <model usable='no' vendor='Intel'>Skylake-Server-noTSX-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Server-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Server</model> + <model usable='no' vendor='Intel'>Skylake-Client-v4</model> <model usable='no' vendor='Intel'>Skylake-Client-noTSX-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Client-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Client</model> 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 1945ec6561..fd65a4479a 100644 --- a/tests/domaincapsdata/qemu_8.2.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.2.0-tcg.x86_64.xml @@ -86,9 +86,12 @@ <model usable='no' vendor='Intel'>Westmere-IBRS</model> <model usable='yes' vendor='Intel'>Westmere</model> <model usable='no' vendor='Intel'>Snowridge</model> + <model usable='no' vendor='Intel'>Skylake-Server-v5</model> + <model usable='no' vendor='Intel'>Skylake-Server-v4</model> <model usable='no' vendor='Intel'>Skylake-Server-noTSX-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Server-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Server</model> + <model usable='no' vendor='Intel'>Skylake-Client-v4</model> <model usable='no' vendor='Intel'>Skylake-Client-noTSX-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Client-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Client</model> diff --git a/tests/domaincapsdata/qemu_8.2.0.x86_64.xml b/tests/domaincapsdata/qemu_8.2.0.x86_64.xml index 2252f8f05e..d211300033 100644 --- a/tests/domaincapsdata/qemu_8.2.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.2.0.x86_64.xml @@ -86,9 +86,12 @@ <model usable='no' vendor='Intel'>Westmere-IBRS</model> <model usable='yes' vendor='Intel'>Westmere</model> <model usable='no' vendor='Intel'>Snowridge</model> + <model usable='no' vendor='Intel'>Skylake-Server-v5</model> + <model usable='no' vendor='Intel'>Skylake-Server-v4</model> <model usable='no' vendor='Intel'>Skylake-Server-noTSX-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Server-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Server</model> + <model usable='no' vendor='Intel'>Skylake-Client-v4</model> <model usable='no' vendor='Intel'>Skylake-Client-noTSX-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Client-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Client</model> -- 2.41.0

Signed-off-by: Jonathon Jongsma <jjongsma@redhat.com> --- src/cpu_map/index.xml | 3 + src/cpu_map/meson.build | 3 + src/cpu_map/x86_Cascadelake-Server-v2.xml | 93 +++++++++++++++++++ src/cpu_map/x86_Cascadelake-Server-v4.xml | 91 ++++++++++++++++++ src/cpu_map/x86_Cascadelake-Server-v5.xml | 92 ++++++++++++++++++ .../x86_64-cpuid-Xeon-Platinum-8268-guest.xml | 9 +- .../x86_64-cpuid-Xeon-Platinum-8268-host.xml | 9 +- .../x86_64-cpuid-Xeon-Platinum-9242-guest.xml | 9 +- .../x86_64-cpuid-Xeon-Platinum-9242-host.xml | 9 +- .../x86_64-cpuid-Xeon-Platinum-9242-json.xml | 9 +- ..._64-cpuid-baseline-Cascadelake+Icelake.xml | 9 +- ...-cpuid-baseline-Cooperlake+Cascadelake.xml | 9 +- ...6_64-cpuid-baseline-Cooperlake+Icelake.xml | 9 +- .../domaincapsdata/qemu_4.2.0-q35.x86_64.xml | 1 + .../domaincapsdata/qemu_4.2.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_4.2.0.x86_64.xml | 1 + .../domaincapsdata/qemu_5.0.0-q35.x86_64.xml | 1 + .../domaincapsdata/qemu_5.0.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_5.0.0.x86_64.xml | 1 + .../domaincapsdata/qemu_5.1.0-q35.x86_64.xml | 2 + .../domaincapsdata/qemu_5.1.0-tcg.x86_64.xml | 2 + tests/domaincapsdata/qemu_5.1.0.x86_64.xml | 2 + .../domaincapsdata/qemu_5.2.0-q35.x86_64.xml | 2 + .../domaincapsdata/qemu_5.2.0-tcg.x86_64.xml | 2 + tests/domaincapsdata/qemu_5.2.0.x86_64.xml | 2 + .../domaincapsdata/qemu_6.0.0-q35.x86_64.xml | 2 + .../domaincapsdata/qemu_6.0.0-tcg.x86_64.xml | 2 + tests/domaincapsdata/qemu_6.0.0.x86_64.xml | 2 + .../domaincapsdata/qemu_6.1.0-q35.x86_64.xml | 3 + .../domaincapsdata/qemu_6.1.0-tcg.x86_64.xml | 3 + tests/domaincapsdata/qemu_6.1.0.x86_64.xml | 3 + .../domaincapsdata/qemu_6.2.0-q35.x86_64.xml | 3 + .../domaincapsdata/qemu_6.2.0-tcg.x86_64.xml | 3 + tests/domaincapsdata/qemu_6.2.0.x86_64.xml | 3 + .../domaincapsdata/qemu_7.0.0-q35.x86_64.xml | 3 + .../domaincapsdata/qemu_7.0.0-tcg.x86_64.xml | 3 + tests/domaincapsdata/qemu_7.0.0.x86_64.xml | 3 + .../domaincapsdata/qemu_7.1.0-q35.x86_64.xml | 3 + .../domaincapsdata/qemu_7.1.0-tcg.x86_64.xml | 3 + tests/domaincapsdata/qemu_7.1.0.x86_64.xml | 3 + .../domaincapsdata/qemu_7.2.0-q35.x86_64.xml | 3 + .../qemu_7.2.0-tcg.x86_64+hvf.xml | 3 + .../domaincapsdata/qemu_7.2.0-tcg.x86_64.xml | 3 + tests/domaincapsdata/qemu_7.2.0.x86_64.xml | 3 + .../domaincapsdata/qemu_8.0.0-q35.x86_64.xml | 3 + .../domaincapsdata/qemu_8.0.0-tcg.x86_64.xml | 3 + tests/domaincapsdata/qemu_8.0.0.x86_64.xml | 3 + .../domaincapsdata/qemu_8.1.0-q35.x86_64.xml | 3 + .../domaincapsdata/qemu_8.1.0-tcg.x86_64.xml | 3 + tests/domaincapsdata/qemu_8.1.0.x86_64.xml | 3 + .../domaincapsdata/qemu_8.2.0-q35.x86_64.xml | 3 + .../domaincapsdata/qemu_8.2.0-tcg.x86_64.xml | 3 + tests/domaincapsdata/qemu_8.2.0.x86_64.xml | 3 + 53 files changed, 399 insertions(+), 54 deletions(-) create mode 100644 src/cpu_map/x86_Cascadelake-Server-v2.xml create mode 100644 src/cpu_map/x86_Cascadelake-Server-v4.xml create mode 100644 src/cpu_map/x86_Cascadelake-Server-v5.xml diff --git a/src/cpu_map/index.xml b/src/cpu_map/index.xml index a4fe2ec781..ad6361ee51 100644 --- a/src/cpu_map/index.xml +++ b/src/cpu_map/index.xml @@ -53,6 +53,9 @@ <include filename='x86_Skylake-Server-v5.xml'/> <include filename='x86_Cascadelake-Server.xml'/> <include filename='x86_Cascadelake-Server-noTSX.xml'/> + <include filename='x86_Cascadelake-Server-v2.xml'/> + <include filename='x86_Cascadelake-Server-v4.xml'/> + <include filename='x86_Cascadelake-Server-v5.xml'/> <include filename='x86_Icelake-Client.xml'/> <include filename='x86_Icelake-Client-noTSX.xml'/> <include filename='x86_Icelake-Server.xml'/> diff --git a/src/cpu_map/meson.build b/src/cpu_map/meson.build index f6b95863b3..7a3712280a 100644 --- a/src/cpu_map/meson.build +++ b/src/cpu_map/meson.build @@ -29,6 +29,9 @@ cpumap_data = [ 'x86_Broadwell-noTSX.xml', 'x86_Broadwell.xml', 'x86_Cascadelake-Server-noTSX.xml', + 'x86_Cascadelake-Server-v2.xml', + 'x86_Cascadelake-Server-v4.xml', + 'x86_Cascadelake-Server-v5.xml', 'x86_Cascadelake-Server.xml', 'x86_Conroe.xml', 'x86_Cooperlake.xml', diff --git a/src/cpu_map/x86_Cascadelake-Server-v2.xml b/src/cpu_map/x86_Cascadelake-Server-v2.xml new file mode 100644 index 0000000000..5152f0390b --- /dev/null +++ b/src/cpu_map/x86_Cascadelake-Server-v2.xml @@ -0,0 +1,93 @@ +<!-- extra info from qemu: + 'model.level': '0xd' + 'model.stepping': '6' + 'model.xlevel': '0x80000008' + 'model.model_id': 'Intel Xeon Processor (Cascadelake)' + 'version.note': 'ARCH_CAPABILITIES' +--> +<cpus> + <model name='Cascadelake-Server-v2'> + <decode host='on' guest='on'/> + <signature family='6' model='85'/> + <vendor name='Intel'/> + <feature name='3dnowprefetch'/> + <feature name='abm'/> + <feature name='adx'/> + <feature name='aes'/> + <feature name='apic'/> + <feature name='arat'/> + <feature name='arch-capabilities'/> + <feature name='avx'/> + <feature name='avx2'/> + <feature name='avx512bw'/> + <feature name='avx512cd'/> + <feature name='avx512dq'/> + <feature name='avx512f'/> + <feature name='avx512vl'/> + <feature name='avx512vnni'/> + <feature name='bmi1'/> + <feature name='bmi2'/> + <feature name='clflush'/> + <feature name='clflushopt'/> + <feature name='clwb'/> + <feature name='cmov'/> + <feature name='cx16'/> + <feature name='cx8'/> + <feature name='de'/> + <feature name='erms'/> + <feature name='f16c'/> + <feature name='fma'/> + <feature name='fpu'/> + <feature name='fsgsbase'/> + <feature name='fxsr'/> + <feature name='hle'/> + <feature name='ibrs-all'/> + <feature name='invpcid'/> + <feature name='lahf_lm'/> + <feature name='lm'/> + <feature name='mca'/> + <feature name='mce'/> + <feature name='mds-no'/> + <feature name='mmx'/> + <feature name='movbe'/> + <feature name='msr'/> + <feature name='mtrr'/> + <feature name='nx'/> + <feature name='pae'/> + <feature name='pat'/> + <feature name='pcid'/> + <feature name='pclmuldq'/> + <feature name='pdpe1gb'/> + <feature name='pge'/> + <feature name='pku'/> + <feature name='pni'/> + <feature name='popcnt'/> + <feature name='pse'/> + <feature name='pse36'/> + <feature name='rdctl-no'/> + <feature name='rdrand'/> + <feature name='rdseed'/> + <feature name='rdtscp'/> + <feature name='rtm'/> + <feature name='sep'/> + <feature name='skip-l1dfl-vmentry'/> + <feature name='smap'/> + <feature name='smep'/> + <feature name='spec-ctrl'/> + <feature name='ssbd'/> + <feature name='sse'/> + <feature name='sse2'/> + <feature name='sse4.1'/> + <feature name='sse4.2'/> + <feature name='ssse3'/> + <feature name='syscall'/> + <feature name='tsc'/> + <feature name='tsc-deadline'/> + <feature name='vme'/> + <feature name='x2apic'/> + <feature name='xgetbv1'/> + <feature name='xsave'/> + <feature name='xsavec'/> + <feature name='xsaveopt'/> + </model> +</cpus> diff --git a/src/cpu_map/x86_Cascadelake-Server-v4.xml b/src/cpu_map/x86_Cascadelake-Server-v4.xml new file mode 100644 index 0000000000..b2173d1308 --- /dev/null +++ b/src/cpu_map/x86_Cascadelake-Server-v4.xml @@ -0,0 +1,91 @@ +<!-- extra info from qemu: + 'model.level': '0xd' + 'model.stepping': '6' + 'model.xlevel': '0x80000008' + 'model.model_id': 'Intel Xeon Processor (Cascadelake)' + 'version.note': 'ARCH_CAPABILITIES, no TSX' +--> +<cpus> + <model name='Cascadelake-Server-v4'> + <decode host='on' guest='on'/> + <signature family='6' model='85'/> + <vendor name='Intel'/> + <feature name='3dnowprefetch'/> + <feature name='abm'/> + <feature name='adx'/> + <feature name='aes'/> + <feature name='apic'/> + <feature name='arat'/> + <feature name='arch-capabilities'/> + <feature name='avx'/> + <feature name='avx2'/> + <feature name='avx512bw'/> + <feature name='avx512cd'/> + <feature name='avx512dq'/> + <feature name='avx512f'/> + <feature name='avx512vl'/> + <feature name='avx512vnni'/> + <feature name='bmi1'/> + <feature name='bmi2'/> + <feature name='clflush'/> + <feature name='clflushopt'/> + <feature name='clwb'/> + <feature name='cmov'/> + <feature name='cx16'/> + <feature name='cx8'/> + <feature name='de'/> + <feature name='erms'/> + <feature name='f16c'/> + <feature name='fma'/> + <feature name='fpu'/> + <feature name='fsgsbase'/> + <feature name='fxsr'/> + <feature name='ibrs-all'/> + <feature name='invpcid'/> + <feature name='lahf_lm'/> + <feature name='lm'/> + <feature name='mca'/> + <feature name='mce'/> + <feature name='mds-no'/> + <feature name='mmx'/> + <feature name='movbe'/> + <feature name='msr'/> + <feature name='mtrr'/> + <feature name='nx'/> + <feature name='pae'/> + <feature name='pat'/> + <feature name='pcid'/> + <feature name='pclmuldq'/> + <feature name='pdpe1gb'/> + <feature name='pge'/> + <feature name='pku'/> + <feature name='pni'/> + <feature name='popcnt'/> + <feature name='pse'/> + <feature name='pse36'/> + <feature name='rdctl-no'/> + <feature name='rdrand'/> + <feature name='rdseed'/> + <feature name='rdtscp'/> + <feature name='sep'/> + <feature name='skip-l1dfl-vmentry'/> + <feature name='smap'/> + <feature name='smep'/> + <feature name='spec-ctrl'/> + <feature name='ssbd'/> + <feature name='sse'/> + <feature name='sse2'/> + <feature name='sse4.1'/> + <feature name='sse4.2'/> + <feature name='ssse3'/> + <feature name='syscall'/> + <feature name='tsc'/> + <feature name='tsc-deadline'/> + <feature name='vme'/> + <feature name='x2apic'/> + <feature name='xgetbv1'/> + <feature name='xsave'/> + <feature name='xsavec'/> + <feature name='xsaveopt'/> + </model> +</cpus> diff --git a/src/cpu_map/x86_Cascadelake-Server-v5.xml b/src/cpu_map/x86_Cascadelake-Server-v5.xml new file mode 100644 index 0000000000..f5d15cadb6 --- /dev/null +++ b/src/cpu_map/x86_Cascadelake-Server-v5.xml @@ -0,0 +1,92 @@ +<!-- extra info from qemu: + 'model.level': '0xd' + 'model.stepping': '6' + 'model.xlevel': '0x80000008' + 'model.model_id': 'Intel Xeon Processor (Cascadelake)' + 'version.note': 'ARCH_CAPABILITIES, EPT switching, XSAVES, no TSX' +--> +<cpus> + <model name='Cascadelake-Server-v5'> + <decode host='on' guest='on'/> + <signature family='6' model='85'/> + <vendor name='Intel'/> + <feature name='3dnowprefetch'/> + <feature name='abm'/> + <feature name='adx'/> + <feature name='aes'/> + <feature name='apic'/> + <feature name='arat'/> + <feature name='arch-capabilities'/> + <feature name='avx'/> + <feature name='avx2'/> + <feature name='avx512bw'/> + <feature name='avx512cd'/> + <feature name='avx512dq'/> + <feature name='avx512f'/> + <feature name='avx512vl'/> + <feature name='avx512vnni'/> + <feature name='bmi1'/> + <feature name='bmi2'/> + <feature name='clflush'/> + <feature name='clflushopt'/> + <feature name='clwb'/> + <feature name='cmov'/> + <feature name='cx16'/> + <feature name='cx8'/> + <feature name='de'/> + <feature name='erms'/> + <feature name='f16c'/> + <feature name='fma'/> + <feature name='fpu'/> + <feature name='fsgsbase'/> + <feature name='fxsr'/> + <feature name='ibrs-all'/> + <feature name='invpcid'/> + <feature name='lahf_lm'/> + <feature name='lm'/> + <feature name='mca'/> + <feature name='mce'/> + <feature name='mds-no'/> + <feature name='mmx'/> + <feature name='movbe'/> + <feature name='msr'/> + <feature name='mtrr'/> + <feature name='nx'/> + <feature name='pae'/> + <feature name='pat'/> + <feature name='pcid'/> + <feature name='pclmuldq'/> + <feature name='pdpe1gb'/> + <feature name='pge'/> + <feature name='pku'/> + <feature name='pni'/> + <feature name='popcnt'/> + <feature name='pse'/> + <feature name='pse36'/> + <feature name='rdctl-no'/> + <feature name='rdrand'/> + <feature name='rdseed'/> + <feature name='rdtscp'/> + <feature name='sep'/> + <feature name='skip-l1dfl-vmentry'/> + <feature name='smap'/> + <feature name='smep'/> + <feature name='spec-ctrl'/> + <feature name='ssbd'/> + <feature name='sse'/> + <feature name='sse2'/> + <feature name='sse4.1'/> + <feature name='sse4.2'/> + <feature name='ssse3'/> + <feature name='syscall'/> + <feature name='tsc'/> + <feature name='tsc-deadline'/> + <feature name='vme'/> + <feature name='x2apic'/> + <feature name='xgetbv1'/> + <feature name='xsave'/> + <feature name='xsavec'/> + <feature name='xsaveopt'/> + <feature name='xsaves'/> + </model> +</cpus> diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-Platinum-8268-guest.xml b/tests/cputestdata/x86_64-cpuid-Xeon-Platinum-8268-guest.xml index 8fd1611842..9cd04b3f9a 100644 --- a/tests/cputestdata/x86_64-cpuid-Xeon-Platinum-8268-guest.xml +++ b/tests/cputestdata/x86_64-cpuid-Xeon-Platinum-8268-guest.xml @@ -1,5 +1,5 @@ <cpu mode='custom' match='exact'> - <model fallback='forbid'>Cascadelake-Server</model> + <model fallback='forbid'>Cascadelake-Server-v2</model> <vendor>Intel</vendor> <feature policy='require' name='ds'/> <feature policy='require' name='acpi'/> @@ -20,19 +20,14 @@ <feature policy='require' name='osxsave'/> <feature policy='require' name='tsc_adjust'/> <feature policy='require' name='cmt'/> + <feature policy='require' name='mpx'/> <feature policy='require' name='intel-pt'/> - <feature policy='require' name='pku'/> <feature policy='require' name='ospke'/> <feature policy='require' name='md-clear'/> <feature policy='require' name='stibp'/> <feature policy='require' name='flush-l1d'/> - <feature policy='require' name='arch-capabilities'/> <feature policy='require' name='xsaves'/> <feature policy='require' name='mbm_total'/> <feature policy='require' name='mbm_local'/> <feature policy='require' name='invtsc'/> - <feature policy='require' name='rdctl-no'/> - <feature policy='require' name='ibrs-all'/> - <feature policy='require' name='skip-l1dfl-vmentry'/> - <feature policy='require' name='mds-no'/> </cpu> diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-Platinum-8268-host.xml b/tests/cputestdata/x86_64-cpuid-Xeon-Platinum-8268-host.xml index 7055c72112..b143b792f6 100644 --- a/tests/cputestdata/x86_64-cpuid-Xeon-Platinum-8268-host.xml +++ b/tests/cputestdata/x86_64-cpuid-Xeon-Platinum-8268-host.xml @@ -1,6 +1,6 @@ <cpu> <arch>x86_64</arch> - <model>Cascadelake-Server</model> + <model>Cascadelake-Server-v2</model> <vendor>Intel</vendor> <signature family='6' model='85' stepping='6'/> <feature name='ds'/> @@ -22,19 +22,14 @@ <feature name='osxsave'/> <feature name='tsc_adjust'/> <feature name='cmt'/> + <feature name='mpx'/> <feature name='intel-pt'/> - <feature name='pku'/> <feature name='ospke'/> <feature name='md-clear'/> <feature name='stibp'/> <feature name='flush-l1d'/> - <feature name='arch-capabilities'/> <feature name='xsaves'/> <feature name='mbm_total'/> <feature name='mbm_local'/> <feature name='invtsc'/> - <feature name='rdctl-no'/> - <feature name='ibrs-all'/> - <feature name='skip-l1dfl-vmentry'/> - <feature name='mds-no'/> </cpu> diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-Platinum-9242-guest.xml b/tests/cputestdata/x86_64-cpuid-Xeon-Platinum-9242-guest.xml index 88c2d84d65..d14d8a325f 100644 --- a/tests/cputestdata/x86_64-cpuid-Xeon-Platinum-9242-guest.xml +++ b/tests/cputestdata/x86_64-cpuid-Xeon-Platinum-9242-guest.xml @@ -1,5 +1,5 @@ <cpu mode='custom' match='exact'> - <model fallback='forbid'>Cascadelake-Server</model> + <model fallback='forbid'>Cascadelake-Server-v2</model> <vendor>Intel</vendor> <feature policy='require' name='ds'/> <feature policy='require' name='acpi'/> @@ -20,20 +20,15 @@ <feature policy='require' name='osxsave'/> <feature policy='require' name='tsc_adjust'/> <feature policy='require' name='cmt'/> + <feature policy='require' name='mpx'/> <feature policy='require' name='intel-pt'/> - <feature policy='require' name='pku'/> <feature policy='require' name='ospke'/> <feature policy='require' name='md-clear'/> <feature policy='require' name='stibp'/> <feature policy='require' name='flush-l1d'/> - <feature policy='require' name='arch-capabilities'/> <feature policy='require' name='xsaves'/> <feature policy='require' name='mbm_total'/> <feature policy='require' name='mbm_local'/> <feature policy='require' name='invtsc'/> - <feature policy='require' name='rdctl-no'/> - <feature policy='require' name='ibrs-all'/> - <feature policy='require' name='skip-l1dfl-vmentry'/> - <feature policy='require' name='mds-no'/> <feature policy='require' name='tsx-ctrl'/> </cpu> diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-Platinum-9242-host.xml b/tests/cputestdata/x86_64-cpuid-Xeon-Platinum-9242-host.xml index 5e59520919..332507b4c6 100644 --- a/tests/cputestdata/x86_64-cpuid-Xeon-Platinum-9242-host.xml +++ b/tests/cputestdata/x86_64-cpuid-Xeon-Platinum-9242-host.xml @@ -1,6 +1,6 @@ <cpu> <arch>x86_64</arch> - <model>Cascadelake-Server</model> + <model>Cascadelake-Server-v2</model> <vendor>Intel</vendor> <signature family='6' model='85' stepping='7'/> <feature name='ds'/> @@ -22,20 +22,15 @@ <feature name='osxsave'/> <feature name='tsc_adjust'/> <feature name='cmt'/> + <feature name='mpx'/> <feature name='intel-pt'/> - <feature name='pku'/> <feature name='ospke'/> <feature name='md-clear'/> <feature name='stibp'/> <feature name='flush-l1d'/> - <feature name='arch-capabilities'/> <feature name='xsaves'/> <feature name='mbm_total'/> <feature name='mbm_local'/> <feature name='invtsc'/> - <feature name='rdctl-no'/> - <feature name='ibrs-all'/> - <feature name='skip-l1dfl-vmentry'/> - <feature name='mds-no'/> <feature name='tsx-ctrl'/> </cpu> diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-Platinum-9242-json.xml b/tests/cputestdata/x86_64-cpuid-Xeon-Platinum-9242-json.xml index ac0e520767..035959858e 100644 --- a/tests/cputestdata/x86_64-cpuid-Xeon-Platinum-9242-json.xml +++ b/tests/cputestdata/x86_64-cpuid-Xeon-Platinum-9242-json.xml @@ -1,22 +1,17 @@ <cpu mode='custom' match='exact'> - <model fallback='forbid'>Cascadelake-Server</model> + <model fallback='forbid'>Cascadelake-Server-v2</model> <vendor>Intel</vendor> <feature policy='require' name='ss'/> <feature policy='require' name='vmx'/> <feature policy='require' name='hypervisor'/> <feature policy='require' name='tsc_adjust'/> + <feature policy='require' name='mpx'/> <feature policy='require' name='umip'/> - <feature policy='require' name='pku'/> <feature policy='require' name='md-clear'/> <feature policy='require' name='stibp'/> - <feature policy='require' name='arch-capabilities'/> <feature policy='require' name='xsaves'/> <feature policy='require' name='ibpb'/> <feature policy='require' name='amd-ssbd'/> - <feature policy='require' name='rdctl-no'/> - <feature policy='require' name='ibrs-all'/> - <feature policy='require' name='skip-l1dfl-vmentry'/> - <feature policy='require' name='mds-no'/> <feature policy='require' name='pschange-mc-no'/> <feature policy='require' name='tsx-ctrl'/> <feature policy='require' name='vmx-ins-outs'/> diff --git a/tests/cputestdata/x86_64-cpuid-baseline-Cascadelake+Icelake.xml b/tests/cputestdata/x86_64-cpuid-baseline-Cascadelake+Icelake.xml index 071c799ba2..3e1f526c7b 100644 --- a/tests/cputestdata/x86_64-cpuid-baseline-Cascadelake+Icelake.xml +++ b/tests/cputestdata/x86_64-cpuid-baseline-Cascadelake+Icelake.xml @@ -1,15 +1,12 @@ <cpu mode='custom' match='exact'> - <model fallback='allow'>Cascadelake-Server</model> + <model fallback='allow'>Cascadelake-Server-v2</model> <vendor>Intel</vendor> <feature policy='require' name='ss'/> <feature policy='require' name='hypervisor'/> <feature policy='require' name='tsc_adjust'/> + <feature policy='require' name='mpx'/> <feature policy='require' name='umip'/> - <feature policy='require' name='pku'/> <feature policy='require' name='stibp'/> - <feature policy='require' name='arch-capabilities'/> <feature policy='require' name='xsaves'/> - <feature policy='require' name='rdctl-no'/> - <feature policy='require' name='ibrs-all'/> - <feature policy='require' name='skip-l1dfl-vmentry'/> + <feature policy='disable' name='mds-no'/> </cpu> diff --git a/tests/cputestdata/x86_64-cpuid-baseline-Cooperlake+Cascadelake.xml b/tests/cputestdata/x86_64-cpuid-baseline-Cooperlake+Cascadelake.xml index f9e9c476b5..010071e634 100644 --- a/tests/cputestdata/x86_64-cpuid-baseline-Cooperlake+Cascadelake.xml +++ b/tests/cputestdata/x86_64-cpuid-baseline-Cooperlake+Cascadelake.xml @@ -1,22 +1,17 @@ <cpu mode='custom' match='exact'> - <model fallback='allow'>Cascadelake-Server</model> + <model fallback='allow'>Cascadelake-Server-v2</model> <vendor>Intel</vendor> <feature policy='require' name='ss'/> <feature policy='require' name='vmx'/> <feature policy='require' name='hypervisor'/> <feature policy='require' name='tsc_adjust'/> + <feature policy='require' name='mpx'/> <feature policy='require' name='umip'/> - <feature policy='require' name='pku'/> <feature policy='require' name='md-clear'/> <feature policy='require' name='stibp'/> - <feature policy='require' name='arch-capabilities'/> <feature policy='require' name='xsaves'/> <feature policy='require' name='ibpb'/> <feature policy='require' name='amd-ssbd'/> - <feature policy='require' name='rdctl-no'/> - <feature policy='require' name='ibrs-all'/> - <feature policy='require' name='skip-l1dfl-vmentry'/> - <feature policy='require' name='mds-no'/> <feature policy='require' name='pschange-mc-no'/> <feature policy='require' name='tsx-ctrl'/> <feature policy='require' name='vmx-ins-outs'/> diff --git a/tests/cputestdata/x86_64-cpuid-baseline-Cooperlake+Icelake.xml b/tests/cputestdata/x86_64-cpuid-baseline-Cooperlake+Icelake.xml index 071c799ba2..3e1f526c7b 100644 --- a/tests/cputestdata/x86_64-cpuid-baseline-Cooperlake+Icelake.xml +++ b/tests/cputestdata/x86_64-cpuid-baseline-Cooperlake+Icelake.xml @@ -1,15 +1,12 @@ <cpu mode='custom' match='exact'> - <model fallback='allow'>Cascadelake-Server</model> + <model fallback='allow'>Cascadelake-Server-v2</model> <vendor>Intel</vendor> <feature policy='require' name='ss'/> <feature policy='require' name='hypervisor'/> <feature policy='require' name='tsc_adjust'/> + <feature policy='require' name='mpx'/> <feature policy='require' name='umip'/> - <feature policy='require' name='pku'/> <feature policy='require' name='stibp'/> - <feature policy='require' name='arch-capabilities'/> <feature policy='require' name='xsaves'/> - <feature policy='require' name='rdctl-no'/> - <feature policy='require' name='ibrs-all'/> - <feature policy='require' name='skip-l1dfl-vmentry'/> + <feature policy='disable' name='mds-no'/> </cpu> diff --git a/tests/domaincapsdata/qemu_4.2.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_4.2.0-q35.x86_64.xml index 152f201ff9..fa42d6eca4 100644 --- a/tests/domaincapsdata/qemu_4.2.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_4.2.0-q35.x86_64.xml @@ -174,6 +174,7 @@ <model usable='no' vendor='AMD'>EPYC</model> <model usable='no' vendor='Hygon'>Dhyana</model> <model usable='yes' vendor='Intel'>Conroe</model> + <model usable='no' vendor='Intel'>Cascadelake-Server-v2</model> <model usable='no' vendor='Intel'>Cascadelake-Server-noTSX</model> <model usable='no' vendor='Intel'>Cascadelake-Server</model> <model usable='yes' vendor='Intel'>Broadwell-noTSX-IBRS</model> diff --git a/tests/domaincapsdata/qemu_4.2.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_4.2.0-tcg.x86_64.xml index cea9377cfe..1efdd0aa97 100644 --- a/tests/domaincapsdata/qemu_4.2.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_4.2.0-tcg.x86_64.xml @@ -119,6 +119,7 @@ <model usable='no' vendor='AMD'>EPYC</model> <model usable='no' vendor='Hygon'>Dhyana</model> <model usable='yes' vendor='Intel'>Conroe</model> + <model usable='no' vendor='Intel'>Cascadelake-Server-v2</model> <model usable='no' vendor='Intel'>Cascadelake-Server-noTSX</model> <model usable='no' vendor='Intel'>Cascadelake-Server</model> <model usable='no' vendor='Intel'>Broadwell-noTSX-IBRS</model> diff --git a/tests/domaincapsdata/qemu_4.2.0.x86_64.xml b/tests/domaincapsdata/qemu_4.2.0.x86_64.xml index 8b7cf44d6d..d83a7f112d 100644 --- a/tests/domaincapsdata/qemu_4.2.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_4.2.0.x86_64.xml @@ -173,6 +173,7 @@ <model usable='no' vendor='AMD'>EPYC</model> <model usable='no' vendor='Hygon'>Dhyana</model> <model usable='yes' vendor='Intel'>Conroe</model> + <model usable='no' vendor='Intel'>Cascadelake-Server-v2</model> <model usable='no' vendor='Intel'>Cascadelake-Server-noTSX</model> <model usable='no' vendor='Intel'>Cascadelake-Server</model> <model usable='yes' vendor='Intel'>Broadwell-noTSX-IBRS</model> diff --git a/tests/domaincapsdata/qemu_5.0.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_5.0.0-q35.x86_64.xml index 60f65fdffe..5de4260314 100644 --- a/tests/domaincapsdata/qemu_5.0.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_5.0.0-q35.x86_64.xml @@ -177,6 +177,7 @@ <model usable='no' vendor='Hygon'>Dhyana</model> <model usable='no' vendor='Intel'>Cooperlake</model> <model usable='yes' vendor='Intel'>Conroe</model> + <model usable='no' vendor='Intel'>Cascadelake-Server-v2</model> <model usable='no' vendor='Intel'>Cascadelake-Server-noTSX</model> <model usable='no' vendor='Intel'>Cascadelake-Server</model> <model usable='yes' vendor='Intel'>Broadwell-noTSX-IBRS</model> diff --git a/tests/domaincapsdata/qemu_5.0.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_5.0.0-tcg.x86_64.xml index 01906a6277..4eb1986759 100644 --- a/tests/domaincapsdata/qemu_5.0.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_5.0.0-tcg.x86_64.xml @@ -122,6 +122,7 @@ <model usable='no' vendor='Hygon'>Dhyana</model> <model usable='no' vendor='Intel'>Cooperlake</model> <model usable='yes' vendor='Intel'>Conroe</model> + <model usable='no' vendor='Intel'>Cascadelake-Server-v2</model> <model usable='no' vendor='Intel'>Cascadelake-Server-noTSX</model> <model usable='no' vendor='Intel'>Cascadelake-Server</model> <model usable='no' vendor='Intel'>Broadwell-noTSX-IBRS</model> diff --git a/tests/domaincapsdata/qemu_5.0.0.x86_64.xml b/tests/domaincapsdata/qemu_5.0.0.x86_64.xml index 12a5d8f66e..f84b220e8e 100644 --- a/tests/domaincapsdata/qemu_5.0.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_5.0.0.x86_64.xml @@ -176,6 +176,7 @@ <model usable='no' vendor='Hygon'>Dhyana</model> <model usable='no' vendor='Intel'>Cooperlake</model> <model usable='yes' vendor='Intel'>Conroe</model> + <model usable='no' vendor='Intel'>Cascadelake-Server-v2</model> <model usable='no' vendor='Intel'>Cascadelake-Server-noTSX</model> <model usable='no' vendor='Intel'>Cascadelake-Server</model> <model usable='yes' vendor='Intel'>Broadwell-noTSX-IBRS</model> diff --git a/tests/domaincapsdata/qemu_5.1.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_5.1.0-q35.x86_64.xml index b12748fdd0..cb94e1e1c8 100644 --- a/tests/domaincapsdata/qemu_5.1.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_5.1.0-q35.x86_64.xml @@ -111,6 +111,8 @@ <model usable='yes' vendor='Hygon'>Dhyana</model> <model usable='no' vendor='Intel'>Cooperlake</model> <model usable='yes' vendor='Intel'>Conroe</model> + <model usable='no' vendor='Intel'>Cascadelake-Server-v4</model> + <model usable='no' vendor='Intel'>Cascadelake-Server-v2</model> <model usable='no' vendor='Intel'>Cascadelake-Server-noTSX</model> <model usable='no' vendor='Intel'>Cascadelake-Server</model> <model usable='no' vendor='Intel'>Broadwell-noTSX-IBRS</model> diff --git a/tests/domaincapsdata/qemu_5.1.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_5.1.0-tcg.x86_64.xml index 484c5e96d5..3f30474a73 100644 --- a/tests/domaincapsdata/qemu_5.1.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_5.1.0-tcg.x86_64.xml @@ -123,6 +123,8 @@ <model usable='no' vendor='Hygon'>Dhyana</model> <model usable='no' vendor='Intel'>Cooperlake</model> <model usable='yes' vendor='Intel'>Conroe</model> + <model usable='no' vendor='Intel'>Cascadelake-Server-v4</model> + <model usable='no' vendor='Intel'>Cascadelake-Server-v2</model> <model usable='no' vendor='Intel'>Cascadelake-Server-noTSX</model> <model usable='no' vendor='Intel'>Cascadelake-Server</model> <model usable='no' vendor='Intel'>Broadwell-noTSX-IBRS</model> diff --git a/tests/domaincapsdata/qemu_5.1.0.x86_64.xml b/tests/domaincapsdata/qemu_5.1.0.x86_64.xml index bf636b4b7f..eaad6e8cca 100644 --- a/tests/domaincapsdata/qemu_5.1.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_5.1.0.x86_64.xml @@ -110,6 +110,8 @@ <model usable='yes' vendor='Hygon'>Dhyana</model> <model usable='no' vendor='Intel'>Cooperlake</model> <model usable='yes' vendor='Intel'>Conroe</model> + <model usable='no' vendor='Intel'>Cascadelake-Server-v4</model> + <model usable='no' vendor='Intel'>Cascadelake-Server-v2</model> <model usable='no' vendor='Intel'>Cascadelake-Server-noTSX</model> <model usable='no' vendor='Intel'>Cascadelake-Server</model> <model usable='no' vendor='Intel'>Broadwell-noTSX-IBRS</model> 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 3a21985040..c2043d7f08 100644 --- a/tests/domaincapsdata/qemu_5.2.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_5.2.0-q35.x86_64.xml @@ -111,6 +111,8 @@ <model usable='yes' vendor='Hygon'>Dhyana</model> <model usable='no' vendor='Intel'>Cooperlake</model> <model usable='yes' vendor='Intel'>Conroe</model> + <model usable='no' vendor='Intel'>Cascadelake-Server-v4</model> + <model usable='no' vendor='Intel'>Cascadelake-Server-v2</model> <model usable='no' vendor='Intel'>Cascadelake-Server-noTSX</model> <model usable='no' vendor='Intel'>Cascadelake-Server</model> <model usable='no' vendor='Intel'>Broadwell-noTSX-IBRS</model> 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 fcff1c2748..7c9b66939a 100644 --- a/tests/domaincapsdata/qemu_5.2.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_5.2.0-tcg.x86_64.xml @@ -123,6 +123,8 @@ <model usable='no' vendor='Hygon'>Dhyana</model> <model usable='no' vendor='Intel'>Cooperlake</model> <model usable='yes' vendor='Intel'>Conroe</model> + <model usable='no' vendor='Intel'>Cascadelake-Server-v4</model> + <model usable='no' vendor='Intel'>Cascadelake-Server-v2</model> <model usable='no' vendor='Intel'>Cascadelake-Server-noTSX</model> <model usable='no' vendor='Intel'>Cascadelake-Server</model> <model usable='no' vendor='Intel'>Broadwell-noTSX-IBRS</model> diff --git a/tests/domaincapsdata/qemu_5.2.0.x86_64.xml b/tests/domaincapsdata/qemu_5.2.0.x86_64.xml index fb3d0d9509..d86f352621 100644 --- a/tests/domaincapsdata/qemu_5.2.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_5.2.0.x86_64.xml @@ -110,6 +110,8 @@ <model usable='yes' vendor='Hygon'>Dhyana</model> <model usable='no' vendor='Intel'>Cooperlake</model> <model usable='yes' vendor='Intel'>Conroe</model> + <model usable='no' vendor='Intel'>Cascadelake-Server-v4</model> + <model usable='no' vendor='Intel'>Cascadelake-Server-v2</model> <model usable='no' vendor='Intel'>Cascadelake-Server-noTSX</model> <model usable='no' vendor='Intel'>Cascadelake-Server</model> <model usable='no' vendor='Intel'>Broadwell-noTSX-IBRS</model> 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 d5ce19b1ab..0ff9c7eba2 100644 --- a/tests/domaincapsdata/qemu_6.0.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.0.0-q35.x86_64.xml @@ -113,6 +113,8 @@ <model usable='yes' vendor='Hygon'>Dhyana</model> <model usable='no' vendor='Intel'>Cooperlake</model> <model usable='yes' vendor='Intel'>Conroe</model> + <model usable='no' vendor='Intel'>Cascadelake-Server-v4</model> + <model usable='no' vendor='Intel'>Cascadelake-Server-v2</model> <model usable='no' vendor='Intel'>Cascadelake-Server-noTSX</model> <model usable='no' vendor='Intel'>Cascadelake-Server</model> <model usable='no' vendor='Intel'>Broadwell-noTSX-IBRS</model> 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 b50ea993ae..78eb7fcbc6 100644 --- a/tests/domaincapsdata/qemu_6.0.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.0.0-tcg.x86_64.xml @@ -126,6 +126,8 @@ <model usable='no' vendor='Hygon'>Dhyana</model> <model usable='no' vendor='Intel'>Cooperlake</model> <model usable='yes' vendor='Intel'>Conroe</model> + <model usable='no' vendor='Intel'>Cascadelake-Server-v4</model> + <model usable='no' vendor='Intel'>Cascadelake-Server-v2</model> <model usable='no' vendor='Intel'>Cascadelake-Server-noTSX</model> <model usable='no' vendor='Intel'>Cascadelake-Server</model> <model usable='no' vendor='Intel'>Broadwell-noTSX-IBRS</model> diff --git a/tests/domaincapsdata/qemu_6.0.0.x86_64.xml b/tests/domaincapsdata/qemu_6.0.0.x86_64.xml index 927ac1a36a..dce08a5a1c 100644 --- a/tests/domaincapsdata/qemu_6.0.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.0.0.x86_64.xml @@ -112,6 +112,8 @@ <model usable='yes' vendor='Hygon'>Dhyana</model> <model usable='no' vendor='Intel'>Cooperlake</model> <model usable='yes' vendor='Intel'>Conroe</model> + <model usable='no' vendor='Intel'>Cascadelake-Server-v4</model> + <model usable='no' vendor='Intel'>Cascadelake-Server-v2</model> <model usable='no' vendor='Intel'>Cascadelake-Server-noTSX</model> <model usable='no' vendor='Intel'>Cascadelake-Server</model> <model usable='no' vendor='Intel'>Broadwell-noTSX-IBRS</model> 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 7244db6d2a..5d19c3a90b 100644 --- a/tests/domaincapsdata/qemu_6.1.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.1.0-q35.x86_64.xml @@ -116,6 +116,9 @@ <model usable='yes' vendor='Hygon'>Dhyana</model> <model usable='no' vendor='Intel'>Cooperlake</model> <model usable='yes' vendor='Intel'>Conroe</model> + <model usable='no' vendor='Intel'>Cascadelake-Server-v5</model> + <model usable='no' vendor='Intel'>Cascadelake-Server-v4</model> + <model usable='no' vendor='Intel'>Cascadelake-Server-v2</model> <model usable='no' vendor='Intel'>Cascadelake-Server-noTSX</model> <model usable='no' vendor='Intel'>Cascadelake-Server</model> <model usable='no' vendor='Intel'>Broadwell-noTSX-IBRS</model> 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 4628fba179..1b4cc4864f 100644 --- a/tests/domaincapsdata/qemu_6.1.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.1.0-tcg.x86_64.xml @@ -128,6 +128,9 @@ <model usable='no' vendor='Hygon'>Dhyana</model> <model usable='no' vendor='Intel'>Cooperlake</model> <model usable='yes' vendor='Intel'>Conroe</model> + <model usable='no' vendor='Intel'>Cascadelake-Server-v5</model> + <model usable='no' vendor='Intel'>Cascadelake-Server-v4</model> + <model usable='no' vendor='Intel'>Cascadelake-Server-v2</model> <model usable='no' vendor='Intel'>Cascadelake-Server-noTSX</model> <model usable='no' vendor='Intel'>Cascadelake-Server</model> <model usable='no' vendor='Intel'>Broadwell-noTSX-IBRS</model> diff --git a/tests/domaincapsdata/qemu_6.1.0.x86_64.xml b/tests/domaincapsdata/qemu_6.1.0.x86_64.xml index 9e3c5cd9f1..31f3758a55 100644 --- a/tests/domaincapsdata/qemu_6.1.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.1.0.x86_64.xml @@ -115,6 +115,9 @@ <model usable='yes' vendor='Hygon'>Dhyana</model> <model usable='no' vendor='Intel'>Cooperlake</model> <model usable='yes' vendor='Intel'>Conroe</model> + <model usable='no' vendor='Intel'>Cascadelake-Server-v5</model> + <model usable='no' vendor='Intel'>Cascadelake-Server-v4</model> + <model usable='no' vendor='Intel'>Cascadelake-Server-v2</model> <model usable='no' vendor='Intel'>Cascadelake-Server-noTSX</model> <model usable='no' vendor='Intel'>Cascadelake-Server</model> <model usable='no' vendor='Intel'>Broadwell-noTSX-IBRS</model> 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 647c455cff..5576cdf6c8 100644 --- a/tests/domaincapsdata/qemu_6.2.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.2.0-q35.x86_64.xml @@ -116,6 +116,9 @@ <model usable='yes' vendor='Hygon'>Dhyana</model> <model usable='no' vendor='Intel'>Cooperlake</model> <model usable='yes' vendor='Intel'>Conroe</model> + <model usable='no' vendor='Intel'>Cascadelake-Server-v5</model> + <model usable='no' vendor='Intel'>Cascadelake-Server-v4</model> + <model usable='no' vendor='Intel'>Cascadelake-Server-v2</model> <model usable='no' vendor='Intel'>Cascadelake-Server-noTSX</model> <model usable='no' vendor='Intel'>Cascadelake-Server</model> <model usable='no' vendor='Intel'>Broadwell-noTSX-IBRS</model> 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 39d4b24087..fd9d5579b5 100644 --- a/tests/domaincapsdata/qemu_6.2.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.2.0-tcg.x86_64.xml @@ -130,6 +130,9 @@ <model usable='no' vendor='Hygon'>Dhyana</model> <model usable='no' vendor='Intel'>Cooperlake</model> <model usable='yes' vendor='Intel'>Conroe</model> + <model usable='no' vendor='Intel'>Cascadelake-Server-v5</model> + <model usable='no' vendor='Intel'>Cascadelake-Server-v4</model> + <model usable='no' vendor='Intel'>Cascadelake-Server-v2</model> <model usable='no' vendor='Intel'>Cascadelake-Server-noTSX</model> <model usable='no' vendor='Intel'>Cascadelake-Server</model> <model usable='no' vendor='Intel'>Broadwell-noTSX-IBRS</model> diff --git a/tests/domaincapsdata/qemu_6.2.0.x86_64.xml b/tests/domaincapsdata/qemu_6.2.0.x86_64.xml index 9b58adbf79..f0353dd8f6 100644 --- a/tests/domaincapsdata/qemu_6.2.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.2.0.x86_64.xml @@ -115,6 +115,9 @@ <model usable='yes' vendor='Hygon'>Dhyana</model> <model usable='no' vendor='Intel'>Cooperlake</model> <model usable='yes' vendor='Intel'>Conroe</model> + <model usable='no' vendor='Intel'>Cascadelake-Server-v5</model> + <model usable='no' vendor='Intel'>Cascadelake-Server-v4</model> + <model usable='no' vendor='Intel'>Cascadelake-Server-v2</model> <model usable='no' vendor='Intel'>Cascadelake-Server-noTSX</model> <model usable='no' vendor='Intel'>Cascadelake-Server</model> <model usable='no' vendor='Intel'>Broadwell-noTSX-IBRS</model> 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 4f11b288ec..620f0fb599 100644 --- a/tests/domaincapsdata/qemu_7.0.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.0.0-q35.x86_64.xml @@ -117,6 +117,9 @@ <model usable='yes' vendor='Hygon'>Dhyana</model> <model usable='no' vendor='Intel'>Cooperlake</model> <model usable='yes' vendor='Intel'>Conroe</model> + <model usable='no' vendor='Intel'>Cascadelake-Server-v5</model> + <model usable='no' vendor='Intel'>Cascadelake-Server-v4</model> + <model usable='no' vendor='Intel'>Cascadelake-Server-v2</model> <model usable='no' vendor='Intel'>Cascadelake-Server-noTSX</model> <model usable='no' vendor='Intel'>Cascadelake-Server</model> <model usable='no' vendor='Intel'>Broadwell-noTSX-IBRS</model> 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 b235b3ab7d..3f02ef2c6a 100644 --- a/tests/domaincapsdata/qemu_7.0.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.0.0-tcg.x86_64.xml @@ -131,6 +131,9 @@ <model usable='no' vendor='Hygon'>Dhyana</model> <model usable='no' vendor='Intel'>Cooperlake</model> <model usable='yes' vendor='Intel'>Conroe</model> + <model usable='no' vendor='Intel'>Cascadelake-Server-v5</model> + <model usable='no' vendor='Intel'>Cascadelake-Server-v4</model> + <model usable='no' vendor='Intel'>Cascadelake-Server-v2</model> <model usable='no' vendor='Intel'>Cascadelake-Server-noTSX</model> <model usable='no' vendor='Intel'>Cascadelake-Server</model> <model usable='no' vendor='Intel'>Broadwell-noTSX-IBRS</model> diff --git a/tests/domaincapsdata/qemu_7.0.0.x86_64.xml b/tests/domaincapsdata/qemu_7.0.0.x86_64.xml index 16b0bc952f..dac66dd7db 100644 --- a/tests/domaincapsdata/qemu_7.0.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.0.0.x86_64.xml @@ -116,6 +116,9 @@ <model usable='yes' vendor='Hygon'>Dhyana</model> <model usable='no' vendor='Intel'>Cooperlake</model> <model usable='yes' vendor='Intel'>Conroe</model> + <model usable='no' vendor='Intel'>Cascadelake-Server-v5</model> + <model usable='no' vendor='Intel'>Cascadelake-Server-v4</model> + <model usable='no' vendor='Intel'>Cascadelake-Server-v2</model> <model usable='no' vendor='Intel'>Cascadelake-Server-noTSX</model> <model usable='no' vendor='Intel'>Cascadelake-Server</model> <model usable='no' vendor='Intel'>Broadwell-noTSX-IBRS</model> 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 4f697b85fb..b4b77472a3 100644 --- a/tests/domaincapsdata/qemu_7.1.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.1.0-q35.x86_64.xml @@ -116,6 +116,9 @@ <model usable='yes' vendor='Hygon'>Dhyana</model> <model usable='no' vendor='Intel'>Cooperlake</model> <model usable='yes' vendor='Intel'>Conroe</model> + <model usable='no' vendor='Intel'>Cascadelake-Server-v5</model> + <model usable='no' vendor='Intel'>Cascadelake-Server-v4</model> + <model usable='no' vendor='Intel'>Cascadelake-Server-v2</model> <model usable='no' vendor='Intel'>Cascadelake-Server-noTSX</model> <model usable='no' vendor='Intel'>Cascadelake-Server</model> <model usable='no' vendor='Intel'>Broadwell-noTSX-IBRS</model> 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 7ef47f9618..4f6bd7150d 100644 --- a/tests/domaincapsdata/qemu_7.1.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.1.0-tcg.x86_64.xml @@ -129,6 +129,9 @@ <model usable='no' vendor='Hygon'>Dhyana</model> <model usable='no' vendor='Intel'>Cooperlake</model> <model usable='yes' vendor='Intel'>Conroe</model> + <model usable='no' vendor='Intel'>Cascadelake-Server-v5</model> + <model usable='no' vendor='Intel'>Cascadelake-Server-v4</model> + <model usable='no' vendor='Intel'>Cascadelake-Server-v2</model> <model usable='no' vendor='Intel'>Cascadelake-Server-noTSX</model> <model usable='no' vendor='Intel'>Cascadelake-Server</model> <model usable='no' vendor='Intel'>Broadwell-noTSX-IBRS</model> diff --git a/tests/domaincapsdata/qemu_7.1.0.x86_64.xml b/tests/domaincapsdata/qemu_7.1.0.x86_64.xml index 035335fa43..4fc18217b8 100644 --- a/tests/domaincapsdata/qemu_7.1.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.1.0.x86_64.xml @@ -115,6 +115,9 @@ <model usable='yes' vendor='Hygon'>Dhyana</model> <model usable='no' vendor='Intel'>Cooperlake</model> <model usable='yes' vendor='Intel'>Conroe</model> + <model usable='no' vendor='Intel'>Cascadelake-Server-v5</model> + <model usable='no' vendor='Intel'>Cascadelake-Server-v4</model> + <model usable='no' vendor='Intel'>Cascadelake-Server-v2</model> <model usable='no' vendor='Intel'>Cascadelake-Server-noTSX</model> <model usable='no' vendor='Intel'>Cascadelake-Server</model> <model usable='no' vendor='Intel'>Broadwell-noTSX-IBRS</model> 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 1a28924082..6980a3bb98 100644 --- a/tests/domaincapsdata/qemu_7.2.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.2.0-q35.x86_64.xml @@ -121,6 +121,9 @@ <model usable='yes' vendor='Hygon'>Dhyana</model> <model usable='no' vendor='Intel'>Cooperlake</model> <model usable='yes' vendor='Intel'>Conroe</model> + <model usable='no' vendor='Intel'>Cascadelake-Server-v5</model> + <model usable='no' vendor='Intel'>Cascadelake-Server-v4</model> + <model usable='no' vendor='Intel'>Cascadelake-Server-v2</model> <model usable='no' vendor='Intel'>Cascadelake-Server-noTSX</model> <model usable='no' vendor='Intel'>Cascadelake-Server</model> <model usable='no' vendor='Intel'>Broadwell-noTSX-IBRS</model> 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 defb547029..0b4eef2e3d 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 @@ -118,6 +118,9 @@ <model usable='no' vendor='Hygon'>Dhyana</model> <model usable='no' vendor='Intel'>Cooperlake</model> <model usable='yes' vendor='Intel'>Conroe</model> + <model usable='no' vendor='Intel'>Cascadelake-Server-v5</model> + <model usable='no' vendor='Intel'>Cascadelake-Server-v4</model> + <model usable='no' vendor='Intel'>Cascadelake-Server-v2</model> <model usable='no' vendor='Intel'>Cascadelake-Server-noTSX</model> <model usable='no' vendor='Intel'>Cascadelake-Server</model> <model usable='no' vendor='Intel'>Broadwell-noTSX-IBRS</model> 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 defb547029..0b4eef2e3d 100644 --- a/tests/domaincapsdata/qemu_7.2.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.2.0-tcg.x86_64.xml @@ -118,6 +118,9 @@ <model usable='no' vendor='Hygon'>Dhyana</model> <model usable='no' vendor='Intel'>Cooperlake</model> <model usable='yes' vendor='Intel'>Conroe</model> + <model usable='no' vendor='Intel'>Cascadelake-Server-v5</model> + <model usable='no' vendor='Intel'>Cascadelake-Server-v4</model> + <model usable='no' vendor='Intel'>Cascadelake-Server-v2</model> <model usable='no' vendor='Intel'>Cascadelake-Server-noTSX</model> <model usable='no' vendor='Intel'>Cascadelake-Server</model> <model usable='no' vendor='Intel'>Broadwell-noTSX-IBRS</model> diff --git a/tests/domaincapsdata/qemu_7.2.0.x86_64.xml b/tests/domaincapsdata/qemu_7.2.0.x86_64.xml index cbb99f747e..bbca4704a9 100644 --- a/tests/domaincapsdata/qemu_7.2.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.2.0.x86_64.xml @@ -120,6 +120,9 @@ <model usable='yes' vendor='Hygon'>Dhyana</model> <model usable='no' vendor='Intel'>Cooperlake</model> <model usable='yes' vendor='Intel'>Conroe</model> + <model usable='no' vendor='Intel'>Cascadelake-Server-v5</model> + <model usable='no' vendor='Intel'>Cascadelake-Server-v4</model> + <model usable='no' vendor='Intel'>Cascadelake-Server-v2</model> <model usable='no' vendor='Intel'>Cascadelake-Server-noTSX</model> <model usable='no' vendor='Intel'>Cascadelake-Server</model> <model usable='no' vendor='Intel'>Broadwell-noTSX-IBRS</model> 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 52b1f41b8e..2271fd3b9a 100644 --- a/tests/domaincapsdata/qemu_8.0.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.0.0-q35.x86_64.xml @@ -122,6 +122,9 @@ <model usable='yes' vendor='Hygon'>Dhyana</model> <model usable='no' vendor='Intel'>Cooperlake</model> <model usable='yes' vendor='Intel'>Conroe</model> + <model usable='no' vendor='Intel'>Cascadelake-Server-v5</model> + <model usable='no' vendor='Intel'>Cascadelake-Server-v4</model> + <model usable='no' vendor='Intel'>Cascadelake-Server-v2</model> <model usable='no' vendor='Intel'>Cascadelake-Server-noTSX</model> <model usable='no' vendor='Intel'>Cascadelake-Server</model> <model usable='no' vendor='Intel'>Broadwell-noTSX-IBRS</model> 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 6b778d16be..57265614a3 100644 --- a/tests/domaincapsdata/qemu_8.0.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.0.0-tcg.x86_64.xml @@ -123,6 +123,9 @@ <model usable='no' vendor='Hygon'>Dhyana</model> <model usable='no' vendor='Intel'>Cooperlake</model> <model usable='yes' vendor='Intel'>Conroe</model> + <model usable='no' vendor='Intel'>Cascadelake-Server-v5</model> + <model usable='no' vendor='Intel'>Cascadelake-Server-v4</model> + <model usable='no' vendor='Intel'>Cascadelake-Server-v2</model> <model usable='no' vendor='Intel'>Cascadelake-Server-noTSX</model> <model usable='no' vendor='Intel'>Cascadelake-Server</model> <model usable='no' vendor='Intel'>Broadwell-noTSX-IBRS</model> diff --git a/tests/domaincapsdata/qemu_8.0.0.x86_64.xml b/tests/domaincapsdata/qemu_8.0.0.x86_64.xml index cbd557b0f1..122a363d29 100644 --- a/tests/domaincapsdata/qemu_8.0.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.0.0.x86_64.xml @@ -121,6 +121,9 @@ <model usable='yes' vendor='Hygon'>Dhyana</model> <model usable='no' vendor='Intel'>Cooperlake</model> <model usable='yes' vendor='Intel'>Conroe</model> + <model usable='no' vendor='Intel'>Cascadelake-Server-v5</model> + <model usable='no' vendor='Intel'>Cascadelake-Server-v4</model> + <model usable='no' vendor='Intel'>Cascadelake-Server-v2</model> <model usable='no' vendor='Intel'>Cascadelake-Server-noTSX</model> <model usable='no' vendor='Intel'>Cascadelake-Server</model> <model usable='no' vendor='Intel'>Broadwell-noTSX-IBRS</model> 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 af8cf93f0a..c80f817963 100644 --- a/tests/domaincapsdata/qemu_8.1.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.1.0-q35.x86_64.xml @@ -128,6 +128,9 @@ <model usable='yes' vendor='Hygon'>Dhyana</model> <model usable='no' vendor='Intel'>Cooperlake</model> <model usable='yes' vendor='Intel'>Conroe</model> + <model usable='no' vendor='Intel'>Cascadelake-Server-v5</model> + <model usable='no' vendor='Intel'>Cascadelake-Server-v4</model> + <model usable='no' vendor='Intel'>Cascadelake-Server-v2</model> <model usable='no' vendor='Intel'>Cascadelake-Server-noTSX</model> <model usable='no' vendor='Intel'>Cascadelake-Server</model> <model usable='no' vendor='Intel'>Broadwell-noTSX-IBRS</model> 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 8edbcf5e97..4806b18901 100644 --- a/tests/domaincapsdata/qemu_8.1.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.1.0-tcg.x86_64.xml @@ -129,6 +129,9 @@ <model usable='no' vendor='Hygon'>Dhyana</model> <model usable='no' vendor='Intel'>Cooperlake</model> <model usable='yes' vendor='Intel'>Conroe</model> + <model usable='no' vendor='Intel'>Cascadelake-Server-v5</model> + <model usable='no' vendor='Intel'>Cascadelake-Server-v4</model> + <model usable='no' vendor='Intel'>Cascadelake-Server-v2</model> <model usable='no' vendor='Intel'>Cascadelake-Server-noTSX</model> <model usable='no' vendor='Intel'>Cascadelake-Server</model> <model usable='no' vendor='Intel'>Broadwell-noTSX-IBRS</model> diff --git a/tests/domaincapsdata/qemu_8.1.0.x86_64.xml b/tests/domaincapsdata/qemu_8.1.0.x86_64.xml index c048ca0a7c..7a61de39c3 100644 --- a/tests/domaincapsdata/qemu_8.1.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.1.0.x86_64.xml @@ -127,6 +127,9 @@ <model usable='yes' vendor='Hygon'>Dhyana</model> <model usable='no' vendor='Intel'>Cooperlake</model> <model usable='yes' vendor='Intel'>Conroe</model> + <model usable='no' vendor='Intel'>Cascadelake-Server-v5</model> + <model usable='no' vendor='Intel'>Cascadelake-Server-v4</model> + <model usable='no' vendor='Intel'>Cascadelake-Server-v2</model> <model usable='no' vendor='Intel'>Cascadelake-Server-noTSX</model> <model usable='no' vendor='Intel'>Cascadelake-Server</model> <model usable='no' vendor='Intel'>Broadwell-noTSX-IBRS</model> 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 d9552ecf2b..cd068f19e2 100644 --- a/tests/domaincapsdata/qemu_8.2.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.2.0-q35.x86_64.xml @@ -129,6 +129,9 @@ <model usable='yes' vendor='Hygon'>Dhyana</model> <model usable='no' vendor='Intel'>Cooperlake</model> <model usable='yes' vendor='Intel'>Conroe</model> + <model usable='no' vendor='Intel'>Cascadelake-Server-v5</model> + <model usable='no' vendor='Intel'>Cascadelake-Server-v4</model> + <model usable='no' vendor='Intel'>Cascadelake-Server-v2</model> <model usable='no' vendor='Intel'>Cascadelake-Server-noTSX</model> <model usable='no' vendor='Intel'>Cascadelake-Server</model> <model usable='no' vendor='Intel'>Broadwell-noTSX-IBRS</model> 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 fd65a4479a..5416f5e6b1 100644 --- a/tests/domaincapsdata/qemu_8.2.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.2.0-tcg.x86_64.xml @@ -128,6 +128,9 @@ <model usable='no' vendor='Hygon'>Dhyana</model> <model usable='no' vendor='Intel'>Cooperlake</model> <model usable='yes' vendor='Intel'>Conroe</model> + <model usable='no' vendor='Intel'>Cascadelake-Server-v5</model> + <model usable='no' vendor='Intel'>Cascadelake-Server-v4</model> + <model usable='no' vendor='Intel'>Cascadelake-Server-v2</model> <model usable='no' vendor='Intel'>Cascadelake-Server-noTSX</model> <model usable='no' vendor='Intel'>Cascadelake-Server</model> <model usable='no' vendor='Intel'>Broadwell-noTSX-IBRS</model> diff --git a/tests/domaincapsdata/qemu_8.2.0.x86_64.xml b/tests/domaincapsdata/qemu_8.2.0.x86_64.xml index d211300033..c11ffd3015 100644 --- a/tests/domaincapsdata/qemu_8.2.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.2.0.x86_64.xml @@ -128,6 +128,9 @@ <model usable='yes' vendor='Hygon'>Dhyana</model> <model usable='no' vendor='Intel'>Cooperlake</model> <model usable='yes' vendor='Intel'>Conroe</model> + <model usable='no' vendor='Intel'>Cascadelake-Server-v5</model> + <model usable='no' vendor='Intel'>Cascadelake-Server-v4</model> + <model usable='no' vendor='Intel'>Cascadelake-Server-v2</model> <model usable='no' vendor='Intel'>Cascadelake-Server-noTSX</model> <model usable='no' vendor='Intel'>Cascadelake-Server</model> <model usable='no' vendor='Intel'>Broadwell-noTSX-IBRS</model> -- 2.41.0

Signed-off-by: Jonathon Jongsma <jjongsma@redhat.com> --- src/cpu_map/index.xml | 4 + src/cpu_map/meson.build | 4 + src/cpu_map/x86_Icelake-Server-v3.xml | 103 +++++++++++++++++ src/cpu_map/x86_Icelake-Server-v4.xml | 108 +++++++++++++++++ src/cpu_map/x86_Icelake-Server-v5.xml | 109 ++++++++++++++++++ src/cpu_map/x86_Icelake-Server-v6.xml | 109 ++++++++++++++++++ .../domaincapsdata/qemu_5.0.0-q35.x86_64.xml | 1 + .../domaincapsdata/qemu_5.0.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_5.0.0.x86_64.xml | 1 + .../domaincapsdata/qemu_5.1.0-q35.x86_64.xml | 2 + .../domaincapsdata/qemu_5.1.0-tcg.x86_64.xml | 2 + tests/domaincapsdata/qemu_5.1.0.x86_64.xml | 2 + .../domaincapsdata/qemu_5.2.0-q35.x86_64.xml | 2 + .../domaincapsdata/qemu_5.2.0-tcg.x86_64.xml | 2 + tests/domaincapsdata/qemu_5.2.0.x86_64.xml | 2 + .../domaincapsdata/qemu_6.0.0-q35.x86_64.xml | 2 + .../domaincapsdata/qemu_6.0.0-tcg.x86_64.xml | 2 + tests/domaincapsdata/qemu_6.0.0.x86_64.xml | 2 + .../domaincapsdata/qemu_6.1.0-q35.x86_64.xml | 3 + .../domaincapsdata/qemu_6.1.0-tcg.x86_64.xml | 3 + tests/domaincapsdata/qemu_6.1.0.x86_64.xml | 3 + .../domaincapsdata/qemu_6.2.0-q35.x86_64.xml | 3 + .../domaincapsdata/qemu_6.2.0-tcg.x86_64.xml | 3 + tests/domaincapsdata/qemu_6.2.0.x86_64.xml | 3 + .../domaincapsdata/qemu_7.0.0-q35.x86_64.xml | 4 + .../domaincapsdata/qemu_7.0.0-tcg.x86_64.xml | 4 + tests/domaincapsdata/qemu_7.0.0.x86_64.xml | 4 + .../domaincapsdata/qemu_7.1.0-q35.x86_64.xml | 4 + .../domaincapsdata/qemu_7.1.0-tcg.x86_64.xml | 4 + tests/domaincapsdata/qemu_7.1.0.x86_64.xml | 4 + .../domaincapsdata/qemu_7.2.0-q35.x86_64.xml | 4 + .../qemu_7.2.0-tcg.x86_64+hvf.xml | 4 + .../domaincapsdata/qemu_7.2.0-tcg.x86_64.xml | 4 + tests/domaincapsdata/qemu_7.2.0.x86_64.xml | 4 + .../domaincapsdata/qemu_8.0.0-q35.x86_64.xml | 4 + .../domaincapsdata/qemu_8.0.0-tcg.x86_64.xml | 4 + tests/domaincapsdata/qemu_8.0.0.x86_64.xml | 4 + .../domaincapsdata/qemu_8.1.0-q35.x86_64.xml | 4 + .../domaincapsdata/qemu_8.1.0-tcg.x86_64.xml | 4 + tests/domaincapsdata/qemu_8.1.0.x86_64.xml | 4 + .../domaincapsdata/qemu_8.2.0-q35.x86_64.xml | 4 + .../domaincapsdata/qemu_8.2.0-tcg.x86_64.xml | 4 + tests/domaincapsdata/qemu_8.2.0.x86_64.xml | 4 + 43 files changed, 552 insertions(+) create mode 100644 src/cpu_map/x86_Icelake-Server-v3.xml create mode 100644 src/cpu_map/x86_Icelake-Server-v4.xml create mode 100644 src/cpu_map/x86_Icelake-Server-v5.xml create mode 100644 src/cpu_map/x86_Icelake-Server-v6.xml diff --git a/src/cpu_map/index.xml b/src/cpu_map/index.xml index ad6361ee51..c0971c9391 100644 --- a/src/cpu_map/index.xml +++ b/src/cpu_map/index.xml @@ -60,6 +60,10 @@ <include filename='x86_Icelake-Client-noTSX.xml'/> <include filename='x86_Icelake-Server.xml'/> <include filename='x86_Icelake-Server-noTSX.xml'/> + <include filename='x86_Icelake-Server-v3.xml'/> + <include filename='x86_Icelake-Server-v4.xml'/> + <include filename='x86_Icelake-Server-v5.xml'/> + <include filename='x86_Icelake-Server-v6.xml'/> <include filename='x86_Cooperlake.xml'/> <include filename='x86_Snowridge.xml'/> <include filename='x86_SapphireRapids.xml'/> diff --git a/src/cpu_map/meson.build b/src/cpu_map/meson.build index 7a3712280a..6e77f78b1c 100644 --- a/src/cpu_map/meson.build +++ b/src/cpu_map/meson.build @@ -59,6 +59,10 @@ cpumap_data = [ 'x86_Icelake-Client-noTSX.xml', 'x86_Icelake-Client.xml', 'x86_Icelake-Server-noTSX.xml', + 'x86_Icelake-Server-v3.xml', + 'x86_Icelake-Server-v4.xml', + 'x86_Icelake-Server-v5.xml', + 'x86_Icelake-Server-v6.xml', 'x86_Icelake-Server.xml', 'x86_IvyBridge-IBRS.xml', 'x86_IvyBridge.xml', diff --git a/src/cpu_map/x86_Icelake-Server-v3.xml b/src/cpu_map/x86_Icelake-Server-v3.xml new file mode 100644 index 0000000000..070951108a --- /dev/null +++ b/src/cpu_map/x86_Icelake-Server-v3.xml @@ -0,0 +1,103 @@ +<!-- extra info from qemu: + 'model.level': '0xd' + 'model.stepping': '0' + 'model.xlevel': '0x80000008' + 'model.model_id': 'Intel Xeon Processor (Icelake)' + 'version.note': 'no TSX' +--> +<cpus> + <model name='Icelake-Server-v3'> + <decode host='on' guest='on'/> + <signature family='6' model='134'/> + <vendor name='Intel'/> + <feature name='3dnowprefetch'/> + <feature name='abm'/> + <feature name='adx'/> + <feature name='aes'/> + <feature name='apic'/> + <feature name='arat'/> + <feature name='arch-capabilities'/> + <feature name='avx'/> + <feature name='avx2'/> + <feature name='avx512-vpopcntdq'/> + <feature name='avx512bitalg'/> + <feature name='avx512bw'/> + <feature name='avx512cd'/> + <feature name='avx512dq'/> + <feature name='avx512f'/> + <feature name='avx512vbmi'/> + <feature name='avx512vbmi2'/> + <feature name='avx512vl'/> + <feature name='avx512vnni'/> + <feature name='bmi1'/> + <feature name='bmi2'/> + <feature name='clflush'/> + <feature name='clflushopt'/> + <feature name='clwb'/> + <feature name='cmov'/> + <feature name='cx16'/> + <feature name='cx8'/> + <feature name='de'/> + <feature name='erms'/> + <feature name='f16c'/> + <feature name='fma'/> + <feature name='fpu'/> + <feature name='fsgsbase'/> + <feature name='fxsr'/> + <feature name='gfni'/> + <feature name='ibrs-all'/> + <feature name='invpcid'/> + <feature name='la57'/> + <feature name='lahf_lm'/> + <feature name='lm'/> + <feature name='mca'/> + <feature name='mce'/> + <feature name='mds-no'/> + <feature name='mmx'/> + <feature name='movbe'/> + <feature name='msr'/> + <feature name='mtrr'/> + <feature name='nx'/> + <feature name='pae'/> + <feature name='pat'/> + <feature name='pcid'/> + <feature name='pclmuldq'/> + <feature name='pdpe1gb'/> + <feature name='pge'/> + <feature name='pku'/> + <feature name='pni'/> + <feature name='popcnt'/> + <feature name='pschange-mc-no'/> + <feature name='pse'/> + <feature name='pse36'/> + <feature name='rdctl-no'/> + <feature name='rdrand'/> + <feature name='rdseed'/> + <feature name='rdtscp'/> + <feature name='sep'/> + <feature name='skip-l1dfl-vmentry'/> + <feature name='smap'/> + <feature name='smep'/> + <feature name='spec-ctrl'/> + <feature name='ssbd'/> + <feature name='sse'/> + <feature name='sse2'/> + <feature name='sse4.1'/> + <feature name='sse4.2'/> + <feature name='ssse3'/> + <feature name='syscall'/> + <feature name='taa-no'/> + <feature name='tsc'/> + <feature name='tsc-deadline'/> + <feature name='umip'/> + <feature name='vaes'/> + <feature name='vme'/> + <feature name='vpclmulqdq'/> + <feature name='wbnoinvd'/> + <feature name='x2apic'/> + <feature name='xgetbv1'/> + <feature name='xsave'/> + <feature name='xsavec'/> + <feature name='xsaveopt'/> + </model> +</cpus> diff --git a/src/cpu_map/x86_Icelake-Server-v4.xml b/src/cpu_map/x86_Icelake-Server-v4.xml new file mode 100644 index 0000000000..a65271e801 --- /dev/null +++ b/src/cpu_map/x86_Icelake-Server-v4.xml @@ -0,0 +1,108 @@ +<!-- extra info from qemu: + 'model.level': '0xd' + 'model.stepping': '0' + 'model.xlevel': '0x80000008' + 'model.model_id': 'Intel Xeon Processor (Icelake)' + 'version.note': 'no TSX' + 'property.model': '106' +--> +<cpus> + <model name='Icelake-Server-v4'> + <decode host='on' guest='on'/> + <signature family='6' model='134'/> + <vendor name='Intel'/> + <feature name='3dnowprefetch'/> + <feature name='abm'/> + <feature name='adx'/> + <feature name='aes'/> + <feature name='apic'/> + <feature name='arat'/> + <feature name='arch-capabilities'/> + <feature name='avx'/> + <feature name='avx2'/> + <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='bmi1'/> + <feature name='bmi2'/> + <feature name='clflush'/> + <feature name='clflushopt'/> + <feature name='clwb'/> + <feature name='cmov'/> + <feature name='cx16'/> + <feature name='cx8'/> + <feature name='de'/> + <feature name='erms'/> + <feature name='f16c'/> + <feature name='fma'/> + <feature name='fpu'/> + <feature name='fsgsbase'/> + <feature name='fsrm'/> + <feature name='fxsr'/> + <feature name='gfni'/> + <feature name='ibrs-all'/> + <feature name='invpcid'/> + <feature name='la57'/> + <feature name='lahf_lm'/> + <feature name='lm'/> + <feature name='mca'/> + <feature name='mce'/> + <feature name='mds-no'/> + <feature name='mmx'/> + <feature name='movbe'/> + <feature name='msr'/> + <feature name='mtrr'/> + <feature name='nx'/> + <feature name='pae'/> + <feature name='pat'/> + <feature name='pcid'/> + <feature name='pclmuldq'/> + <feature name='pdpe1gb'/> + <feature name='pge'/> + <feature name='pku'/> + <feature name='pni'/> + <feature name='popcnt'/> + <feature name='pschange-mc-no'/> + <feature name='pse'/> + <feature name='pse36'/> + <feature name='rdctl-no'/> + <feature name='rdpid'/> + <feature name='rdrand'/> + <feature name='rdseed'/> + <feature name='rdtscp'/> + <feature name='sep'/> + <feature name='sha-ni'/> + <feature name='skip-l1dfl-vmentry'/> + <feature name='smap'/> + <feature name='smep'/> + <feature name='spec-ctrl'/> + <feature name='ssbd'/> + <feature name='sse'/> + <feature name='sse2'/> + <feature name='sse4.1'/> + <feature name='sse4.2'/> + <feature name='ssse3'/> + <feature name='syscall'/> + <feature name='taa-no'/> + <feature name='tsc'/> + <feature name='tsc-deadline'/> + <feature name='umip'/> + <feature name='vaes'/> + <feature name='vme'/> + <feature name='vpclmulqdq'/> + <feature name='wbnoinvd'/> + <feature name='x2apic'/> + <feature name='xgetbv1'/> + <feature name='xsave'/> + <feature name='xsavec'/> + <feature name='xsaveopt'/> + </model> +</cpus> diff --git a/src/cpu_map/x86_Icelake-Server-v5.xml b/src/cpu_map/x86_Icelake-Server-v5.xml new file mode 100644 index 0000000000..f908d06b0d --- /dev/null +++ b/src/cpu_map/x86_Icelake-Server-v5.xml @@ -0,0 +1,109 @@ +<!-- extra info from qemu: + 'model.level': '0xd' + 'model.stepping': '0' + 'model.xlevel': '0x80000008' + 'model.model_id': 'Intel Xeon Processor (Icelake)' + 'version.note': 'XSAVES' + 'property.model': '106' +--> +<cpus> + <model name='Icelake-Server-v5'> + <decode host='on' guest='on'/> + <signature family='6' model='134'/> + <vendor name='Intel'/> + <feature name='3dnowprefetch'/> + <feature name='abm'/> + <feature name='adx'/> + <feature name='aes'/> + <feature name='apic'/> + <feature name='arat'/> + <feature name='arch-capabilities'/> + <feature name='avx'/> + <feature name='avx2'/> + <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='bmi1'/> + <feature name='bmi2'/> + <feature name='clflush'/> + <feature name='clflushopt'/> + <feature name='clwb'/> + <feature name='cmov'/> + <feature name='cx16'/> + <feature name='cx8'/> + <feature name='de'/> + <feature name='erms'/> + <feature name='f16c'/> + <feature name='fma'/> + <feature name='fpu'/> + <feature name='fsgsbase'/> + <feature name='fsrm'/> + <feature name='fxsr'/> + <feature name='gfni'/> + <feature name='ibrs-all'/> + <feature name='invpcid'/> + <feature name='la57'/> + <feature name='lahf_lm'/> + <feature name='lm'/> + <feature name='mca'/> + <feature name='mce'/> + <feature name='mds-no'/> + <feature name='mmx'/> + <feature name='movbe'/> + <feature name='msr'/> + <feature name='mtrr'/> + <feature name='nx'/> + <feature name='pae'/> + <feature name='pat'/> + <feature name='pcid'/> + <feature name='pclmuldq'/> + <feature name='pdpe1gb'/> + <feature name='pge'/> + <feature name='pku'/> + <feature name='pni'/> + <feature name='popcnt'/> + <feature name='pschange-mc-no'/> + <feature name='pse'/> + <feature name='pse36'/> + <feature name='rdctl-no'/> + <feature name='rdpid'/> + <feature name='rdrand'/> + <feature name='rdseed'/> + <feature name='rdtscp'/> + <feature name='sep'/> + <feature name='sha-ni'/> + <feature name='skip-l1dfl-vmentry'/> + <feature name='smap'/> + <feature name='smep'/> + <feature name='spec-ctrl'/> + <feature name='ssbd'/> + <feature name='sse'/> + <feature name='sse2'/> + <feature name='sse4.1'/> + <feature name='sse4.2'/> + <feature name='ssse3'/> + <feature name='syscall'/> + <feature name='taa-no'/> + <feature name='tsc'/> + <feature name='tsc-deadline'/> + <feature name='umip'/> + <feature name='vaes'/> + <feature name='vme'/> + <feature name='vpclmulqdq'/> + <feature name='wbnoinvd'/> + <feature name='x2apic'/> + <feature name='xgetbv1'/> + <feature name='xsave'/> + <feature name='xsavec'/> + <feature name='xsaveopt'/> + <feature name='xsaves'/> + </model> +</cpus> diff --git a/src/cpu_map/x86_Icelake-Server-v6.xml b/src/cpu_map/x86_Icelake-Server-v6.xml new file mode 100644 index 0000000000..c38d3b7763 --- /dev/null +++ b/src/cpu_map/x86_Icelake-Server-v6.xml @@ -0,0 +1,109 @@ +<!-- extra info from qemu: + 'model.level': '0xd' + 'model.stepping': '0' + 'model.xlevel': '0x80000008' + 'model.model_id': 'Intel Xeon Processor (Icelake)' + 'version.note': '5-level EPT' + 'property.model': '106' +--> +<cpus> + <model name='Icelake-Server-v6'> + <decode host='on' guest='on'/> + <signature family='6' model='134'/> + <vendor name='Intel'/> + <feature name='3dnowprefetch'/> + <feature name='abm'/> + <feature name='adx'/> + <feature name='aes'/> + <feature name='apic'/> + <feature name='arat'/> + <feature name='arch-capabilities'/> + <feature name='avx'/> + <feature name='avx2'/> + <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='bmi1'/> + <feature name='bmi2'/> + <feature name='clflush'/> + <feature name='clflushopt'/> + <feature name='clwb'/> + <feature name='cmov'/> + <feature name='cx16'/> + <feature name='cx8'/> + <feature name='de'/> + <feature name='erms'/> + <feature name='f16c'/> + <feature name='fma'/> + <feature name='fpu'/> + <feature name='fsgsbase'/> + <feature name='fsrm'/> + <feature name='fxsr'/> + <feature name='gfni'/> + <feature name='ibrs-all'/> + <feature name='invpcid'/> + <feature name='la57'/> + <feature name='lahf_lm'/> + <feature name='lm'/> + <feature name='mca'/> + <feature name='mce'/> + <feature name='mds-no'/> + <feature name='mmx'/> + <feature name='movbe'/> + <feature name='msr'/> + <feature name='mtrr'/> + <feature name='nx'/> + <feature name='pae'/> + <feature name='pat'/> + <feature name='pcid'/> + <feature name='pclmuldq'/> + <feature name='pdpe1gb'/> + <feature name='pge'/> + <feature name='pku'/> + <feature name='pni'/> + <feature name='popcnt'/> + <feature name='pschange-mc-no'/> + <feature name='pse'/> + <feature name='pse36'/> + <feature name='rdctl-no'/> + <feature name='rdpid'/> + <feature name='rdrand'/> + <feature name='rdseed'/> + <feature name='rdtscp'/> + <feature name='sep'/> + <feature name='sha-ni'/> + <feature name='skip-l1dfl-vmentry'/> + <feature name='smap'/> + <feature name='smep'/> + <feature name='spec-ctrl'/> + <feature name='ssbd'/> + <feature name='sse'/> + <feature name='sse2'/> + <feature name='sse4.1'/> + <feature name='sse4.2'/> + <feature name='ssse3'/> + <feature name='syscall'/> + <feature name='taa-no'/> + <feature name='tsc'/> + <feature name='tsc-deadline'/> + <feature name='umip'/> + <feature name='vaes'/> + <feature name='vme'/> + <feature name='vpclmulqdq'/> + <feature name='wbnoinvd'/> + <feature name='x2apic'/> + <feature name='xgetbv1'/> + <feature name='xsave'/> + <feature name='xsavec'/> + <feature name='xsaveopt'/> + <feature name='xsaves'/> + </model> +</cpus> diff --git a/tests/domaincapsdata/qemu_5.0.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_5.0.0-q35.x86_64.xml index 5de4260314..615758a10b 100644 --- a/tests/domaincapsdata/qemu_5.0.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_5.0.0-q35.x86_64.xml @@ -162,6 +162,7 @@ <model usable='yes' vendor='Intel'>Nehalem</model> <model usable='yes' vendor='Intel'>IvyBridge-IBRS</model> <model usable='yes' vendor='Intel'>IvyBridge</model> + <model usable='no' vendor='Intel'>Icelake-Server-v3</model> <model usable='no' vendor='Intel'>Icelake-Server-noTSX</model> <model usable='no' vendor='Intel'>Icelake-Server</model> <model usable='no' vendor='Intel'>Icelake-Client-noTSX</model> diff --git a/tests/domaincapsdata/qemu_5.0.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_5.0.0-tcg.x86_64.xml index 4eb1986759..cfa2ae336a 100644 --- a/tests/domaincapsdata/qemu_5.0.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_5.0.0-tcg.x86_64.xml @@ -107,6 +107,7 @@ <model usable='yes' vendor='Intel'>Nehalem</model> <model usable='no' vendor='Intel'>IvyBridge-IBRS</model> <model usable='no' vendor='Intel'>IvyBridge</model> + <model usable='no' vendor='Intel'>Icelake-Server-v3</model> <model usable='no' vendor='Intel'>Icelake-Server-noTSX</model> <model usable='no' vendor='Intel'>Icelake-Server</model> <model usable='no' vendor='Intel'>Icelake-Client-noTSX</model> diff --git a/tests/domaincapsdata/qemu_5.0.0.x86_64.xml b/tests/domaincapsdata/qemu_5.0.0.x86_64.xml index f84b220e8e..ba44e0b363 100644 --- a/tests/domaincapsdata/qemu_5.0.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_5.0.0.x86_64.xml @@ -161,6 +161,7 @@ <model usable='yes' vendor='Intel'>Nehalem</model> <model usable='yes' vendor='Intel'>IvyBridge-IBRS</model> <model usable='yes' vendor='Intel'>IvyBridge</model> + <model usable='no' vendor='Intel'>Icelake-Server-v3</model> <model usable='no' vendor='Intel'>Icelake-Server-noTSX</model> <model usable='no' vendor='Intel'>Icelake-Server</model> <model usable='no' vendor='Intel'>Icelake-Client-noTSX</model> diff --git a/tests/domaincapsdata/qemu_5.1.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_5.1.0-q35.x86_64.xml index cb94e1e1c8..08d088d133 100644 --- a/tests/domaincapsdata/qemu_5.1.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_5.1.0-q35.x86_64.xml @@ -96,6 +96,8 @@ <model usable='yes' vendor='Intel'>Nehalem</model> <model usable='no' vendor='Intel'>IvyBridge-IBRS</model> <model usable='no' vendor='Intel'>IvyBridge</model> + <model usable='no' vendor='Intel'>Icelake-Server-v4</model> + <model usable='no' vendor='Intel'>Icelake-Server-v3</model> <model usable='no' vendor='Intel'>Icelake-Server-noTSX</model> <model usable='no' vendor='Intel'>Icelake-Server</model> <model usable='no' vendor='Intel'>Icelake-Client-noTSX</model> diff --git a/tests/domaincapsdata/qemu_5.1.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_5.1.0-tcg.x86_64.xml index 3f30474a73..4cb34baa8e 100644 --- a/tests/domaincapsdata/qemu_5.1.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_5.1.0-tcg.x86_64.xml @@ -108,6 +108,8 @@ <model usable='yes' vendor='Intel'>Nehalem</model> <model usable='no' vendor='Intel'>IvyBridge-IBRS</model> <model usable='no' vendor='Intel'>IvyBridge</model> + <model usable='no' vendor='Intel'>Icelake-Server-v4</model> + <model usable='no' vendor='Intel'>Icelake-Server-v3</model> <model usable='no' vendor='Intel'>Icelake-Server-noTSX</model> <model usable='no' vendor='Intel'>Icelake-Server</model> <model usable='no' vendor='Intel'>Icelake-Client-noTSX</model> diff --git a/tests/domaincapsdata/qemu_5.1.0.x86_64.xml b/tests/domaincapsdata/qemu_5.1.0.x86_64.xml index eaad6e8cca..0fc5a5ae79 100644 --- a/tests/domaincapsdata/qemu_5.1.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_5.1.0.x86_64.xml @@ -95,6 +95,8 @@ <model usable='yes' vendor='Intel'>Nehalem</model> <model usable='no' vendor='Intel'>IvyBridge-IBRS</model> <model usable='no' vendor='Intel'>IvyBridge</model> + <model usable='no' vendor='Intel'>Icelake-Server-v4</model> + <model usable='no' vendor='Intel'>Icelake-Server-v3</model> <model usable='no' vendor='Intel'>Icelake-Server-noTSX</model> <model usable='no' vendor='Intel'>Icelake-Server</model> <model usable='no' vendor='Intel'>Icelake-Client-noTSX</model> 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 c2043d7f08..386e56d169 100644 --- a/tests/domaincapsdata/qemu_5.2.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_5.2.0-q35.x86_64.xml @@ -96,6 +96,8 @@ <model usable='yes' vendor='Intel'>Nehalem</model> <model usable='no' vendor='Intel'>IvyBridge-IBRS</model> <model usable='no' vendor='Intel'>IvyBridge</model> + <model usable='no' vendor='Intel'>Icelake-Server-v4</model> + <model usable='no' vendor='Intel'>Icelake-Server-v3</model> <model usable='no' vendor='Intel'>Icelake-Server-noTSX</model> <model usable='no' vendor='Intel'>Icelake-Server</model> <model usable='no' deprecated='yes' vendor='Intel'>Icelake-Client-noTSX</model> 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 7c9b66939a..cc975a0c62 100644 --- a/tests/domaincapsdata/qemu_5.2.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_5.2.0-tcg.x86_64.xml @@ -108,6 +108,8 @@ <model usable='yes' vendor='Intel'>Nehalem</model> <model usable='no' vendor='Intel'>IvyBridge-IBRS</model> <model usable='no' vendor='Intel'>IvyBridge</model> + <model usable='no' vendor='Intel'>Icelake-Server-v4</model> + <model usable='no' vendor='Intel'>Icelake-Server-v3</model> <model usable='no' vendor='Intel'>Icelake-Server-noTSX</model> <model usable='no' vendor='Intel'>Icelake-Server</model> <model usable='no' deprecated='yes' vendor='Intel'>Icelake-Client-noTSX</model> diff --git a/tests/domaincapsdata/qemu_5.2.0.x86_64.xml b/tests/domaincapsdata/qemu_5.2.0.x86_64.xml index d86f352621..ff8a9cd9d2 100644 --- a/tests/domaincapsdata/qemu_5.2.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_5.2.0.x86_64.xml @@ -95,6 +95,8 @@ <model usable='yes' vendor='Intel'>Nehalem</model> <model usable='no' vendor='Intel'>IvyBridge-IBRS</model> <model usable='no' vendor='Intel'>IvyBridge</model> + <model usable='no' vendor='Intel'>Icelake-Server-v4</model> + <model usable='no' vendor='Intel'>Icelake-Server-v3</model> <model usable='no' vendor='Intel'>Icelake-Server-noTSX</model> <model usable='no' vendor='Intel'>Icelake-Server</model> <model usable='no' deprecated='yes' vendor='Intel'>Icelake-Client-noTSX</model> 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 0ff9c7eba2..e8f11904fb 100644 --- a/tests/domaincapsdata/qemu_6.0.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.0.0-q35.x86_64.xml @@ -96,6 +96,8 @@ <model usable='yes' vendor='Intel'>Nehalem</model> <model usable='no' vendor='Intel'>IvyBridge-IBRS</model> <model usable='no' vendor='Intel'>IvyBridge</model> + <model usable='no' vendor='Intel'>Icelake-Server-v4</model> + <model usable='no' vendor='Intel'>Icelake-Server-v3</model> <model usable='no' vendor='Intel'>Icelake-Server-noTSX</model> <model usable='no' vendor='Intel'>Icelake-Server</model> <model usable='no' deprecated='yes' vendor='Intel'>Icelake-Client-noTSX</model> 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 78eb7fcbc6..c52dccff40 100644 --- a/tests/domaincapsdata/qemu_6.0.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.0.0-tcg.x86_64.xml @@ -109,6 +109,8 @@ <model usable='yes' vendor='Intel'>Nehalem</model> <model usable='no' vendor='Intel'>IvyBridge-IBRS</model> <model usable='no' vendor='Intel'>IvyBridge</model> + <model usable='no' vendor='Intel'>Icelake-Server-v4</model> + <model usable='no' vendor='Intel'>Icelake-Server-v3</model> <model usable='no' vendor='Intel'>Icelake-Server-noTSX</model> <model usable='no' vendor='Intel'>Icelake-Server</model> <model usable='no' deprecated='yes' vendor='Intel'>Icelake-Client-noTSX</model> diff --git a/tests/domaincapsdata/qemu_6.0.0.x86_64.xml b/tests/domaincapsdata/qemu_6.0.0.x86_64.xml index dce08a5a1c..64b7bb3e51 100644 --- a/tests/domaincapsdata/qemu_6.0.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.0.0.x86_64.xml @@ -95,6 +95,8 @@ <model usable='yes' vendor='Intel'>Nehalem</model> <model usable='no' vendor='Intel'>IvyBridge-IBRS</model> <model usable='no' vendor='Intel'>IvyBridge</model> + <model usable='no' vendor='Intel'>Icelake-Server-v4</model> + <model usable='no' vendor='Intel'>Icelake-Server-v3</model> <model usable='no' vendor='Intel'>Icelake-Server-noTSX</model> <model usable='no' vendor='Intel'>Icelake-Server</model> <model usable='no' deprecated='yes' vendor='Intel'>Icelake-Client-noTSX</model> 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 5d19c3a90b..3385f64440 100644 --- a/tests/domaincapsdata/qemu_6.1.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.1.0-q35.x86_64.xml @@ -99,6 +99,9 @@ <model usable='yes' vendor='Intel'>Nehalem</model> <model usable='no' vendor='Intel'>IvyBridge-IBRS</model> <model usable='no' vendor='Intel'>IvyBridge</model> + <model usable='no' vendor='Intel'>Icelake-Server-v5</model> + <model usable='no' vendor='Intel'>Icelake-Server-v4</model> + <model usable='no' vendor='Intel'>Icelake-Server-v3</model> <model usable='no' vendor='Intel'>Icelake-Server-noTSX</model> <model usable='no' vendor='Intel'>Icelake-Server</model> <model usable='no' deprecated='yes' vendor='Intel'>Icelake-Client-noTSX</model> 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 1b4cc4864f..b26fad77d0 100644 --- a/tests/domaincapsdata/qemu_6.1.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.1.0-tcg.x86_64.xml @@ -111,6 +111,9 @@ <model usable='yes' vendor='Intel'>Nehalem</model> <model usable='no' vendor='Intel'>IvyBridge-IBRS</model> <model usable='no' vendor='Intel'>IvyBridge</model> + <model usable='no' vendor='Intel'>Icelake-Server-v5</model> + <model usable='no' vendor='Intel'>Icelake-Server-v4</model> + <model usable='no' vendor='Intel'>Icelake-Server-v3</model> <model usable='no' vendor='Intel'>Icelake-Server-noTSX</model> <model usable='no' vendor='Intel'>Icelake-Server</model> <model usable='no' deprecated='yes' vendor='Intel'>Icelake-Client-noTSX</model> diff --git a/tests/domaincapsdata/qemu_6.1.0.x86_64.xml b/tests/domaincapsdata/qemu_6.1.0.x86_64.xml index 31f3758a55..0c02963502 100644 --- a/tests/domaincapsdata/qemu_6.1.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.1.0.x86_64.xml @@ -98,6 +98,9 @@ <model usable='yes' vendor='Intel'>Nehalem</model> <model usable='no' vendor='Intel'>IvyBridge-IBRS</model> <model usable='no' vendor='Intel'>IvyBridge</model> + <model usable='no' vendor='Intel'>Icelake-Server-v5</model> + <model usable='no' vendor='Intel'>Icelake-Server-v4</model> + <model usable='no' vendor='Intel'>Icelake-Server-v3</model> <model usable='no' vendor='Intel'>Icelake-Server-noTSX</model> <model usable='no' vendor='Intel'>Icelake-Server</model> <model usable='no' deprecated='yes' vendor='Intel'>Icelake-Client-noTSX</model> 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 5576cdf6c8..bc93fb8412 100644 --- a/tests/domaincapsdata/qemu_6.2.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.2.0-q35.x86_64.xml @@ -99,6 +99,9 @@ <model usable='yes' vendor='Intel'>Nehalem</model> <model usable='no' vendor='Intel'>IvyBridge-IBRS</model> <model usable='no' vendor='Intel'>IvyBridge</model> + <model usable='no' vendor='Intel'>Icelake-Server-v5</model> + <model usable='no' vendor='Intel'>Icelake-Server-v4</model> + <model usable='no' vendor='Intel'>Icelake-Server-v3</model> <model usable='no' vendor='Intel'>Icelake-Server-noTSX</model> <model usable='no' vendor='Intel'>Icelake-Server</model> <model usable='no' deprecated='yes' vendor='Intel'>Icelake-Client-noTSX</model> 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 fd9d5579b5..09c604c797 100644 --- a/tests/domaincapsdata/qemu_6.2.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.2.0-tcg.x86_64.xml @@ -113,6 +113,9 @@ <model usable='yes' vendor='Intel'>Nehalem</model> <model usable='no' vendor='Intel'>IvyBridge-IBRS</model> <model usable='no' vendor='Intel'>IvyBridge</model> + <model usable='no' vendor='Intel'>Icelake-Server-v5</model> + <model usable='no' vendor='Intel'>Icelake-Server-v4</model> + <model usable='no' vendor='Intel'>Icelake-Server-v3</model> <model usable='no' vendor='Intel'>Icelake-Server-noTSX</model> <model usable='no' vendor='Intel'>Icelake-Server</model> <model usable='no' deprecated='yes' vendor='Intel'>Icelake-Client-noTSX</model> diff --git a/tests/domaincapsdata/qemu_6.2.0.x86_64.xml b/tests/domaincapsdata/qemu_6.2.0.x86_64.xml index f0353dd8f6..3b0bbe823e 100644 --- a/tests/domaincapsdata/qemu_6.2.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.2.0.x86_64.xml @@ -98,6 +98,9 @@ <model usable='yes' vendor='Intel'>Nehalem</model> <model usable='no' vendor='Intel'>IvyBridge-IBRS</model> <model usable='no' vendor='Intel'>IvyBridge</model> + <model usable='no' vendor='Intel'>Icelake-Server-v5</model> + <model usable='no' vendor='Intel'>Icelake-Server-v4</model> + <model usable='no' vendor='Intel'>Icelake-Server-v3</model> <model usable='no' vendor='Intel'>Icelake-Server-noTSX</model> <model usable='no' vendor='Intel'>Icelake-Server</model> <model usable='no' deprecated='yes' vendor='Intel'>Icelake-Client-noTSX</model> 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 620f0fb599..ca315678ce 100644 --- a/tests/domaincapsdata/qemu_7.0.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.0.0-q35.x86_64.xml @@ -100,6 +100,10 @@ <model usable='yes' vendor='Intel'>Nehalem</model> <model usable='no' vendor='Intel'>IvyBridge-IBRS</model> <model usable='no' vendor='Intel'>IvyBridge</model> + <model usable='no' vendor='Intel'>Icelake-Server-v6</model> + <model usable='no' vendor='Intel'>Icelake-Server-v5</model> + <model usable='no' vendor='Intel'>Icelake-Server-v4</model> + <model usable='no' vendor='Intel'>Icelake-Server-v3</model> <model usable='no' vendor='Intel'>Icelake-Server-noTSX</model> <model usable='no' vendor='Intel'>Icelake-Server</model> <model usable='no' deprecated='yes' vendor='Intel'>Icelake-Client-noTSX</model> 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 3f02ef2c6a..02ee330a5b 100644 --- a/tests/domaincapsdata/qemu_7.0.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.0.0-tcg.x86_64.xml @@ -114,6 +114,10 @@ <model usable='yes' vendor='Intel'>Nehalem</model> <model usable='no' vendor='Intel'>IvyBridge-IBRS</model> <model usable='no' vendor='Intel'>IvyBridge</model> + <model usable='no' vendor='Intel'>Icelake-Server-v6</model> + <model usable='no' vendor='Intel'>Icelake-Server-v5</model> + <model usable='no' vendor='Intel'>Icelake-Server-v4</model> + <model usable='no' vendor='Intel'>Icelake-Server-v3</model> <model usable='no' vendor='Intel'>Icelake-Server-noTSX</model> <model usable='no' vendor='Intel'>Icelake-Server</model> <model usable='no' deprecated='yes' vendor='Intel'>Icelake-Client-noTSX</model> diff --git a/tests/domaincapsdata/qemu_7.0.0.x86_64.xml b/tests/domaincapsdata/qemu_7.0.0.x86_64.xml index dac66dd7db..de80d21084 100644 --- a/tests/domaincapsdata/qemu_7.0.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.0.0.x86_64.xml @@ -99,6 +99,10 @@ <model usable='yes' vendor='Intel'>Nehalem</model> <model usable='no' vendor='Intel'>IvyBridge-IBRS</model> <model usable='no' vendor='Intel'>IvyBridge</model> + <model usable='no' vendor='Intel'>Icelake-Server-v6</model> + <model usable='no' vendor='Intel'>Icelake-Server-v5</model> + <model usable='no' vendor='Intel'>Icelake-Server-v4</model> + <model usable='no' vendor='Intel'>Icelake-Server-v3</model> <model usable='no' vendor='Intel'>Icelake-Server-noTSX</model> <model usable='no' vendor='Intel'>Icelake-Server</model> <model usable='no' deprecated='yes' vendor='Intel'>Icelake-Client-noTSX</model> 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 b4b77472a3..4eb3253abf 100644 --- a/tests/domaincapsdata/qemu_7.1.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.1.0-q35.x86_64.xml @@ -101,6 +101,10 @@ <model usable='yes' vendor='Intel'>Nehalem</model> <model usable='no' vendor='Intel'>IvyBridge-IBRS</model> <model usable='no' vendor='Intel'>IvyBridge</model> + <model usable='no' vendor='Intel'>Icelake-Server-v6</model> + <model usable='no' vendor='Intel'>Icelake-Server-v5</model> + <model usable='no' vendor='Intel'>Icelake-Server-v4</model> + <model usable='no' vendor='Intel'>Icelake-Server-v3</model> <model usable='no' vendor='Intel'>Icelake-Server-noTSX</model> <model usable='no' vendor='Intel'>Icelake-Server</model> <model usable='no' vendor='Intel'>Haswell-noTSX-IBRS</model> 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 4f6bd7150d..7037c3be1c 100644 --- a/tests/domaincapsdata/qemu_7.1.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.1.0-tcg.x86_64.xml @@ -114,6 +114,10 @@ <model usable='yes' vendor='Intel'>Nehalem</model> <model usable='no' vendor='Intel'>IvyBridge-IBRS</model> <model usable='no' vendor='Intel'>IvyBridge</model> + <model usable='no' vendor='Intel'>Icelake-Server-v6</model> + <model usable='no' vendor='Intel'>Icelake-Server-v5</model> + <model usable='no' vendor='Intel'>Icelake-Server-v4</model> + <model usable='no' vendor='Intel'>Icelake-Server-v3</model> <model usable='no' vendor='Intel'>Icelake-Server-noTSX</model> <model usable='no' vendor='Intel'>Icelake-Server</model> <model usable='no' vendor='Intel'>Haswell-noTSX-IBRS</model> diff --git a/tests/domaincapsdata/qemu_7.1.0.x86_64.xml b/tests/domaincapsdata/qemu_7.1.0.x86_64.xml index 4fc18217b8..9654b0e063 100644 --- a/tests/domaincapsdata/qemu_7.1.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.1.0.x86_64.xml @@ -100,6 +100,10 @@ <model usable='yes' vendor='Intel'>Nehalem</model> <model usable='no' vendor='Intel'>IvyBridge-IBRS</model> <model usable='no' vendor='Intel'>IvyBridge</model> + <model usable='no' vendor='Intel'>Icelake-Server-v6</model> + <model usable='no' vendor='Intel'>Icelake-Server-v5</model> + <model usable='no' vendor='Intel'>Icelake-Server-v4</model> + <model usable='no' vendor='Intel'>Icelake-Server-v3</model> <model usable='no' vendor='Intel'>Icelake-Server-noTSX</model> <model usable='no' vendor='Intel'>Icelake-Server</model> <model usable='no' vendor='Intel'>Haswell-noTSX-IBRS</model> 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 6980a3bb98..f2944c26c9 100644 --- a/tests/domaincapsdata/qemu_7.2.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.2.0-q35.x86_64.xml @@ -106,6 +106,10 @@ <model usable='yes' vendor='Intel'>Nehalem</model> <model usable='no' vendor='Intel'>IvyBridge-IBRS</model> <model usable='no' vendor='Intel'>IvyBridge</model> + <model usable='no' vendor='Intel'>Icelake-Server-v6</model> + <model usable='no' vendor='Intel'>Icelake-Server-v5</model> + <model usable='no' vendor='Intel'>Icelake-Server-v4</model> + <model usable='no' vendor='Intel'>Icelake-Server-v3</model> <model usable='no' vendor='Intel'>Icelake-Server-noTSX</model> <model usable='no' vendor='Intel'>Icelake-Server</model> <model usable='no' vendor='Intel'>Haswell-noTSX-IBRS</model> 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 0b4eef2e3d..06ef8d7047 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 @@ -103,6 +103,10 @@ <model usable='yes' vendor='Intel'>Nehalem</model> <model usable='no' vendor='Intel'>IvyBridge-IBRS</model> <model usable='no' vendor='Intel'>IvyBridge</model> + <model usable='no' vendor='Intel'>Icelake-Server-v6</model> + <model usable='no' vendor='Intel'>Icelake-Server-v5</model> + <model usable='no' vendor='Intel'>Icelake-Server-v4</model> + <model usable='no' vendor='Intel'>Icelake-Server-v3</model> <model usable='no' vendor='Intel'>Icelake-Server-noTSX</model> <model usable='no' vendor='Intel'>Icelake-Server</model> <model usable='no' vendor='Intel'>Haswell-noTSX-IBRS</model> 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 0b4eef2e3d..06ef8d7047 100644 --- a/tests/domaincapsdata/qemu_7.2.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.2.0-tcg.x86_64.xml @@ -103,6 +103,10 @@ <model usable='yes' vendor='Intel'>Nehalem</model> <model usable='no' vendor='Intel'>IvyBridge-IBRS</model> <model usable='no' vendor='Intel'>IvyBridge</model> + <model usable='no' vendor='Intel'>Icelake-Server-v6</model> + <model usable='no' vendor='Intel'>Icelake-Server-v5</model> + <model usable='no' vendor='Intel'>Icelake-Server-v4</model> + <model usable='no' vendor='Intel'>Icelake-Server-v3</model> <model usable='no' vendor='Intel'>Icelake-Server-noTSX</model> <model usable='no' vendor='Intel'>Icelake-Server</model> <model usable='no' vendor='Intel'>Haswell-noTSX-IBRS</model> diff --git a/tests/domaincapsdata/qemu_7.2.0.x86_64.xml b/tests/domaincapsdata/qemu_7.2.0.x86_64.xml index bbca4704a9..2f856f0b22 100644 --- a/tests/domaincapsdata/qemu_7.2.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.2.0.x86_64.xml @@ -105,6 +105,10 @@ <model usable='yes' vendor='Intel'>Nehalem</model> <model usable='no' vendor='Intel'>IvyBridge-IBRS</model> <model usable='no' vendor='Intel'>IvyBridge</model> + <model usable='no' vendor='Intel'>Icelake-Server-v6</model> + <model usable='no' vendor='Intel'>Icelake-Server-v5</model> + <model usable='no' vendor='Intel'>Icelake-Server-v4</model> + <model usable='no' vendor='Intel'>Icelake-Server-v3</model> <model usable='no' vendor='Intel'>Icelake-Server-noTSX</model> <model usable='no' vendor='Intel'>Icelake-Server</model> <model usable='no' vendor='Intel'>Haswell-noTSX-IBRS</model> 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 2271fd3b9a..3d6c246946 100644 --- a/tests/domaincapsdata/qemu_8.0.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.0.0-q35.x86_64.xml @@ -107,6 +107,10 @@ <model usable='yes' vendor='Intel'>Nehalem</model> <model usable='no' vendor='Intel'>IvyBridge-IBRS</model> <model usable='no' vendor='Intel'>IvyBridge</model> + <model usable='no' vendor='Intel'>Icelake-Server-v6</model> + <model usable='no' vendor='Intel'>Icelake-Server-v5</model> + <model usable='no' vendor='Intel'>Icelake-Server-v4</model> + <model usable='no' vendor='Intel'>Icelake-Server-v3</model> <model usable='no' vendor='Intel'>Icelake-Server-noTSX</model> <model usable='no' vendor='Intel'>Icelake-Server</model> <model usable='no' vendor='Intel'>Haswell-noTSX-IBRS</model> 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 57265614a3..881686aed1 100644 --- a/tests/domaincapsdata/qemu_8.0.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.0.0-tcg.x86_64.xml @@ -108,6 +108,10 @@ <model usable='yes' vendor='Intel'>Nehalem</model> <model usable='no' vendor='Intel'>IvyBridge-IBRS</model> <model usable='no' vendor='Intel'>IvyBridge</model> + <model usable='no' vendor='Intel'>Icelake-Server-v6</model> + <model usable='no' vendor='Intel'>Icelake-Server-v5</model> + <model usable='no' vendor='Intel'>Icelake-Server-v4</model> + <model usable='no' vendor='Intel'>Icelake-Server-v3</model> <model usable='no' vendor='Intel'>Icelake-Server-noTSX</model> <model usable='no' vendor='Intel'>Icelake-Server</model> <model usable='no' vendor='Intel'>Haswell-noTSX-IBRS</model> diff --git a/tests/domaincapsdata/qemu_8.0.0.x86_64.xml b/tests/domaincapsdata/qemu_8.0.0.x86_64.xml index 122a363d29..d04d71eb88 100644 --- a/tests/domaincapsdata/qemu_8.0.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.0.0.x86_64.xml @@ -106,6 +106,10 @@ <model usable='yes' vendor='Intel'>Nehalem</model> <model usable='no' vendor='Intel'>IvyBridge-IBRS</model> <model usable='no' vendor='Intel'>IvyBridge</model> + <model usable='no' vendor='Intel'>Icelake-Server-v6</model> + <model usable='no' vendor='Intel'>Icelake-Server-v5</model> + <model usable='no' vendor='Intel'>Icelake-Server-v4</model> + <model usable='no' vendor='Intel'>Icelake-Server-v3</model> <model usable='no' vendor='Intel'>Icelake-Server-noTSX</model> <model usable='no' vendor='Intel'>Icelake-Server</model> <model usable='no' vendor='Intel'>Haswell-noTSX-IBRS</model> 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 c80f817963..e07ab65e1e 100644 --- a/tests/domaincapsdata/qemu_8.1.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.1.0-q35.x86_64.xml @@ -108,6 +108,10 @@ <model usable='yes' vendor='Intel'>Nehalem</model> <model usable='no' vendor='Intel'>IvyBridge-IBRS</model> <model usable='no' vendor='Intel'>IvyBridge</model> + <model usable='no' vendor='Intel'>Icelake-Server-v6</model> + <model usable='no' vendor='Intel'>Icelake-Server-v5</model> + <model usable='no' vendor='Intel'>Icelake-Server-v4</model> + <model usable='no' vendor='Intel'>Icelake-Server-v3</model> <model usable='no' vendor='Intel'>Icelake-Server-noTSX</model> <model usable='no' vendor='Intel'>Icelake-Server</model> <model usable='no' vendor='Intel'>Haswell-noTSX-IBRS</model> 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 4806b18901..07e77a5614 100644 --- a/tests/domaincapsdata/qemu_8.1.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.1.0-tcg.x86_64.xml @@ -109,6 +109,10 @@ <model usable='yes' vendor='Intel'>Nehalem</model> <model usable='no' vendor='Intel'>IvyBridge-IBRS</model> <model usable='no' vendor='Intel'>IvyBridge</model> + <model usable='no' vendor='Intel'>Icelake-Server-v6</model> + <model usable='no' vendor='Intel'>Icelake-Server-v5</model> + <model usable='no' vendor='Intel'>Icelake-Server-v4</model> + <model usable='no' vendor='Intel'>Icelake-Server-v3</model> <model usable='no' vendor='Intel'>Icelake-Server-noTSX</model> <model usable='no' vendor='Intel'>Icelake-Server</model> <model usable='no' vendor='Intel'>Haswell-noTSX-IBRS</model> diff --git a/tests/domaincapsdata/qemu_8.1.0.x86_64.xml b/tests/domaincapsdata/qemu_8.1.0.x86_64.xml index 7a61de39c3..9c5e92ece2 100644 --- a/tests/domaincapsdata/qemu_8.1.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.1.0.x86_64.xml @@ -107,6 +107,10 @@ <model usable='yes' vendor='Intel'>Nehalem</model> <model usable='no' vendor='Intel'>IvyBridge-IBRS</model> <model usable='no' vendor='Intel'>IvyBridge</model> + <model usable='no' vendor='Intel'>Icelake-Server-v6</model> + <model usable='no' vendor='Intel'>Icelake-Server-v5</model> + <model usable='no' vendor='Intel'>Icelake-Server-v4</model> + <model usable='no' vendor='Intel'>Icelake-Server-v3</model> <model usable='no' vendor='Intel'>Icelake-Server-noTSX</model> <model usable='no' vendor='Intel'>Icelake-Server</model> <model usable='no' vendor='Intel'>Haswell-noTSX-IBRS</model> 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 cd068f19e2..c884ab8562 100644 --- a/tests/domaincapsdata/qemu_8.2.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.2.0-q35.x86_64.xml @@ -109,6 +109,10 @@ <model usable='yes' vendor='Intel'>Nehalem</model> <model usable='no' vendor='Intel'>IvyBridge-IBRS</model> <model usable='no' vendor='Intel'>IvyBridge</model> + <model usable='no' vendor='Intel'>Icelake-Server-v6</model> + <model usable='no' vendor='Intel'>Icelake-Server-v5</model> + <model usable='no' vendor='Intel'>Icelake-Server-v4</model> + <model usable='no' vendor='Intel'>Icelake-Server-v3</model> <model usable='no' vendor='Intel'>Icelake-Server-noTSX</model> <model usable='no' vendor='Intel'>Icelake-Server</model> <model usable='no' vendor='Intel'>Haswell-noTSX-IBRS</model> 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 5416f5e6b1..cd7d5ec1d7 100644 --- a/tests/domaincapsdata/qemu_8.2.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.2.0-tcg.x86_64.xml @@ -108,6 +108,10 @@ <model usable='yes' vendor='Intel'>Nehalem</model> <model usable='no' vendor='Intel'>IvyBridge-IBRS</model> <model usable='no' vendor='Intel'>IvyBridge</model> + <model usable='no' vendor='Intel'>Icelake-Server-v6</model> + <model usable='no' vendor='Intel'>Icelake-Server-v5</model> + <model usable='no' vendor='Intel'>Icelake-Server-v4</model> + <model usable='no' vendor='Intel'>Icelake-Server-v3</model> <model usable='no' vendor='Intel'>Icelake-Server-noTSX</model> <model usable='no' vendor='Intel'>Icelake-Server</model> <model usable='no' vendor='Intel'>Haswell-noTSX-IBRS</model> diff --git a/tests/domaincapsdata/qemu_8.2.0.x86_64.xml b/tests/domaincapsdata/qemu_8.2.0.x86_64.xml index c11ffd3015..3afe6a0320 100644 --- a/tests/domaincapsdata/qemu_8.2.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.2.0.x86_64.xml @@ -108,6 +108,10 @@ <model usable='yes' vendor='Intel'>Nehalem</model> <model usable='no' vendor='Intel'>IvyBridge-IBRS</model> <model usable='no' vendor='Intel'>IvyBridge</model> + <model usable='no' vendor='Intel'>Icelake-Server-v6</model> + <model usable='no' vendor='Intel'>Icelake-Server-v5</model> + <model usable='no' vendor='Intel'>Icelake-Server-v4</model> + <model usable='no' vendor='Intel'>Icelake-Server-v3</model> <model usable='no' vendor='Intel'>Icelake-Server-noTSX</model> <model usable='no' vendor='Intel'>Icelake-Server</model> <model usable='no' vendor='Intel'>Haswell-noTSX-IBRS</model> -- 2.41.0

Signed-off-by: Jonathon Jongsma <jjongsma@redhat.com> --- src/cpu_map/index.xml | 1 + src/cpu_map/meson.build | 1 + src/cpu_map/x86_Cooperlake-v2.xml | 98 +++++++++++++++++++ .../x86_64-cpuid-Cooperlake-host.xml | 3 +- .../domaincapsdata/qemu_6.1.0-q35.x86_64.xml | 1 + .../domaincapsdata/qemu_6.1.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_6.1.0.x86_64.xml | 1 + .../domaincapsdata/qemu_6.2.0-q35.x86_64.xml | 1 + .../domaincapsdata/qemu_6.2.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_6.2.0.x86_64.xml | 1 + .../domaincapsdata/qemu_7.0.0-q35.x86_64.xml | 1 + .../domaincapsdata/qemu_7.0.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_7.0.0.x86_64.xml | 1 + .../domaincapsdata/qemu_7.1.0-q35.x86_64.xml | 1 + .../domaincapsdata/qemu_7.1.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_7.1.0.x86_64.xml | 1 + .../domaincapsdata/qemu_7.2.0-q35.x86_64.xml | 1 + .../qemu_7.2.0-tcg.x86_64+hvf.xml | 1 + .../domaincapsdata/qemu_7.2.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_7.2.0.x86_64.xml | 1 + .../domaincapsdata/qemu_8.0.0-q35.x86_64.xml | 1 + .../domaincapsdata/qemu_8.0.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_8.0.0.x86_64.xml | 1 + .../domaincapsdata/qemu_8.1.0-q35.x86_64.xml | 1 + .../domaincapsdata/qemu_8.1.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_8.1.0.x86_64.xml | 1 + .../domaincapsdata/qemu_8.2.0-q35.x86_64.xml | 1 + .../domaincapsdata/qemu_8.2.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_8.2.0.x86_64.xml | 1 + 29 files changed, 126 insertions(+), 2 deletions(-) create mode 100644 src/cpu_map/x86_Cooperlake-v2.xml diff --git a/src/cpu_map/index.xml b/src/cpu_map/index.xml index c0971c9391..3d8be6e41a 100644 --- a/src/cpu_map/index.xml +++ b/src/cpu_map/index.xml @@ -65,6 +65,7 @@ <include filename='x86_Icelake-Server-v5.xml'/> <include filename='x86_Icelake-Server-v6.xml'/> <include filename='x86_Cooperlake.xml'/> + <include filename='x86_Cooperlake-v2.xml'/> <include filename='x86_Snowridge.xml'/> <include filename='x86_SapphireRapids.xml'/> diff --git a/src/cpu_map/meson.build b/src/cpu_map/meson.build index 6e77f78b1c..a6db0b1503 100644 --- a/src/cpu_map/meson.build +++ b/src/cpu_map/meson.build @@ -34,6 +34,7 @@ cpumap_data = [ 'x86_Cascadelake-Server-v5.xml', 'x86_Cascadelake-Server.xml', 'x86_Conroe.xml', + 'x86_Cooperlake-v2.xml', 'x86_Cooperlake.xml', 'x86_core2duo.xml', 'x86_coreduo.xml', diff --git a/src/cpu_map/x86_Cooperlake-v2.xml b/src/cpu_map/x86_Cooperlake-v2.xml new file mode 100644 index 0000000000..bf0ba626d6 --- /dev/null +++ b/src/cpu_map/x86_Cooperlake-v2.xml @@ -0,0 +1,98 @@ +<!-- extra info from qemu: + 'model.level': '0xd' + 'model.stepping': '10' + 'model.xlevel': '0x80000008' + 'model.model_id': 'Intel Xeon Processor (Cooperlake)' + 'version.note': 'XSAVES' +--> +<cpus> + <model name='Cooperlake-v2'> + <decode host='on' guest='on'/> + <signature family='6' model='85'/> + <vendor name='Intel'/> + <feature name='3dnowprefetch'/> + <feature name='abm'/> + <feature name='adx'/> + <feature name='aes'/> + <feature name='apic'/> + <feature name='arat'/> + <feature name='arch-capabilities'/> + <feature name='avx'/> + <feature name='avx2'/> + <feature name='avx512-bf16'/> + <feature name='avx512bw'/> + <feature name='avx512cd'/> + <feature name='avx512dq'/> + <feature name='avx512f'/> + <feature name='avx512vl'/> + <feature name='avx512vnni'/> + <feature name='bmi1'/> + <feature name='bmi2'/> + <feature name='clflush'/> + <feature name='clflushopt'/> + <feature name='clwb'/> + <feature name='cmov'/> + <feature name='cx16'/> + <feature name='cx8'/> + <feature name='de'/> + <feature name='erms'/> + <feature name='f16c'/> + <feature name='fma'/> + <feature name='fpu'/> + <feature name='fsgsbase'/> + <feature name='fxsr'/> + <feature name='hle'/> + <feature name='ibrs-all'/> + <feature name='invpcid'/> + <feature name='lahf_lm'/> + <feature name='lm'/> + <feature name='mca'/> + <feature name='mce'/> + <feature name='mds-no'/> + <feature name='mmx'/> + <feature name='movbe'/> + <feature name='msr'/> + <feature name='mtrr'/> + <feature name='nx'/> + <feature name='pae'/> + <feature name='pat'/> + <feature name='pcid'/> + <feature name='pclmuldq'/> + <feature name='pdpe1gb'/> + <feature name='pge'/> + <feature name='pku'/> + <feature name='pni'/> + <feature name='popcnt'/> + <feature name='pschange-mc-no'/> + <feature name='pse'/> + <feature name='pse36'/> + <feature name='rdctl-no'/> + <feature name='rdrand'/> + <feature name='rdseed'/> + <feature name='rdtscp'/> + <feature name='rtm'/> + <feature name='sep'/> + <feature name='skip-l1dfl-vmentry'/> + <feature name='smap'/> + <feature name='smep'/> + <feature name='spec-ctrl'/> + <feature name='ssbd'/> + <feature name='sse'/> + <feature name='sse2'/> + <feature name='sse4.1'/> + <feature name='sse4.2'/> + <feature name='ssse3'/> + <feature name='stibp'/> + <feature name='syscall'/> + <feature name='taa-no'/> + <feature name='tsc'/> + <feature name='tsc-deadline'/> + <feature name='vme'/> + <feature name='x2apic'/> + <feature name='xgetbv1'/> + <feature name='xsave'/> + <feature name='xsavec'/> + <feature name='xsaveopt'/> + <feature name='xsaves'/> + </model> +</cpus> diff --git a/tests/cputestdata/x86_64-cpuid-Cooperlake-host.xml b/tests/cputestdata/x86_64-cpuid-Cooperlake-host.xml index 8dfc62a5c1..dea9bc9b9f 100644 --- a/tests/cputestdata/x86_64-cpuid-Cooperlake-host.xml +++ b/tests/cputestdata/x86_64-cpuid-Cooperlake-host.xml @@ -1,6 +1,6 @@ <cpu> <arch>x86_64</arch> - <model>Cooperlake</model> + <model>Cooperlake-v2</model> <vendor>Intel</vendor> <signature family='6' model='85' stepping='11'/> <feature name='ds'/> @@ -27,7 +27,6 @@ <feature name='ospke'/> <feature name='md-clear'/> <feature name='flush-l1d'/> - <feature name='xsaves'/> <feature name='mbm_total'/> <feature name='mbm_local'/> <feature name='invtsc'/> 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 3385f64440..ec469d2ef2 100644 --- a/tests/domaincapsdata/qemu_6.1.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.1.0-q35.x86_64.xml @@ -117,6 +117,7 @@ <model usable='yes' vendor='AMD'>EPYC-IBPB</model> <model usable='yes' vendor='AMD'>EPYC</model> <model usable='yes' vendor='Hygon'>Dhyana</model> + <model usable='no' vendor='Intel'>Cooperlake-v2</model> <model usable='no' vendor='Intel'>Cooperlake</model> <model usable='yes' vendor='Intel'>Conroe</model> <model usable='no' vendor='Intel'>Cascadelake-Server-v5</model> 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 b26fad77d0..ecdf591638 100644 --- a/tests/domaincapsdata/qemu_6.1.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.1.0-tcg.x86_64.xml @@ -129,6 +129,7 @@ <model usable='no' vendor='AMD'>EPYC-IBPB</model> <model usable='no' vendor='AMD'>EPYC</model> <model usable='no' vendor='Hygon'>Dhyana</model> + <model usable='no' vendor='Intel'>Cooperlake-v2</model> <model usable='no' vendor='Intel'>Cooperlake</model> <model usable='yes' vendor='Intel'>Conroe</model> <model usable='no' vendor='Intel'>Cascadelake-Server-v5</model> diff --git a/tests/domaincapsdata/qemu_6.1.0.x86_64.xml b/tests/domaincapsdata/qemu_6.1.0.x86_64.xml index 0c02963502..5059e61c87 100644 --- a/tests/domaincapsdata/qemu_6.1.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.1.0.x86_64.xml @@ -116,6 +116,7 @@ <model usable='yes' vendor='AMD'>EPYC-IBPB</model> <model usable='yes' vendor='AMD'>EPYC</model> <model usable='yes' vendor='Hygon'>Dhyana</model> + <model usable='no' vendor='Intel'>Cooperlake-v2</model> <model usable='no' vendor='Intel'>Cooperlake</model> <model usable='yes' vendor='Intel'>Conroe</model> <model usable='no' vendor='Intel'>Cascadelake-Server-v5</model> 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 bc93fb8412..d4d90817b1 100644 --- a/tests/domaincapsdata/qemu_6.2.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.2.0-q35.x86_64.xml @@ -117,6 +117,7 @@ <model usable='yes' vendor='AMD'>EPYC-IBPB</model> <model usable='yes' vendor='AMD'>EPYC</model> <model usable='yes' vendor='Hygon'>Dhyana</model> + <model usable='no' vendor='Intel'>Cooperlake-v2</model> <model usable='no' vendor='Intel'>Cooperlake</model> <model usable='yes' vendor='Intel'>Conroe</model> <model usable='no' vendor='Intel'>Cascadelake-Server-v5</model> 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 09c604c797..d92c03e747 100644 --- a/tests/domaincapsdata/qemu_6.2.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.2.0-tcg.x86_64.xml @@ -131,6 +131,7 @@ <model usable='no' vendor='AMD'>EPYC-IBPB</model> <model usable='no' vendor='AMD'>EPYC</model> <model usable='no' vendor='Hygon'>Dhyana</model> + <model usable='no' vendor='Intel'>Cooperlake-v2</model> <model usable='no' vendor='Intel'>Cooperlake</model> <model usable='yes' vendor='Intel'>Conroe</model> <model usable='no' vendor='Intel'>Cascadelake-Server-v5</model> diff --git a/tests/domaincapsdata/qemu_6.2.0.x86_64.xml b/tests/domaincapsdata/qemu_6.2.0.x86_64.xml index 3b0bbe823e..2ba919f4cf 100644 --- a/tests/domaincapsdata/qemu_6.2.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.2.0.x86_64.xml @@ -116,6 +116,7 @@ <model usable='yes' vendor='AMD'>EPYC-IBPB</model> <model usable='yes' vendor='AMD'>EPYC</model> <model usable='yes' vendor='Hygon'>Dhyana</model> + <model usable='no' vendor='Intel'>Cooperlake-v2</model> <model usable='no' vendor='Intel'>Cooperlake</model> <model usable='yes' vendor='Intel'>Conroe</model> <model usable='no' vendor='Intel'>Cascadelake-Server-v5</model> 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 ca315678ce..42d96d9c4c 100644 --- a/tests/domaincapsdata/qemu_7.0.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.0.0-q35.x86_64.xml @@ -119,6 +119,7 @@ <model usable='yes' vendor='AMD'>EPYC-IBPB</model> <model usable='yes' vendor='AMD'>EPYC</model> <model usable='yes' vendor='Hygon'>Dhyana</model> + <model usable='no' vendor='Intel'>Cooperlake-v2</model> <model usable='no' vendor='Intel'>Cooperlake</model> <model usable='yes' vendor='Intel'>Conroe</model> <model usable='no' vendor='Intel'>Cascadelake-Server-v5</model> 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 02ee330a5b..a57129bcbc 100644 --- a/tests/domaincapsdata/qemu_7.0.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.0.0-tcg.x86_64.xml @@ -133,6 +133,7 @@ <model usable='no' vendor='AMD'>EPYC-IBPB</model> <model usable='no' vendor='AMD'>EPYC</model> <model usable='no' vendor='Hygon'>Dhyana</model> + <model usable='no' vendor='Intel'>Cooperlake-v2</model> <model usable='no' vendor='Intel'>Cooperlake</model> <model usable='yes' vendor='Intel'>Conroe</model> <model usable='no' vendor='Intel'>Cascadelake-Server-v5</model> diff --git a/tests/domaincapsdata/qemu_7.0.0.x86_64.xml b/tests/domaincapsdata/qemu_7.0.0.x86_64.xml index de80d21084..85fbdd798a 100644 --- a/tests/domaincapsdata/qemu_7.0.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.0.0.x86_64.xml @@ -118,6 +118,7 @@ <model usable='yes' vendor='AMD'>EPYC-IBPB</model> <model usable='yes' vendor='AMD'>EPYC</model> <model usable='yes' vendor='Hygon'>Dhyana</model> + <model usable='no' vendor='Intel'>Cooperlake-v2</model> <model usable='no' vendor='Intel'>Cooperlake</model> <model usable='yes' vendor='Intel'>Conroe</model> <model usable='no' vendor='Intel'>Cascadelake-Server-v5</model> 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 4eb3253abf..faa7b38b3f 100644 --- a/tests/domaincapsdata/qemu_7.1.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.1.0-q35.x86_64.xml @@ -118,6 +118,7 @@ <model usable='yes' vendor='AMD'>EPYC-IBPB</model> <model usable='yes' vendor='AMD'>EPYC</model> <model usable='yes' vendor='Hygon'>Dhyana</model> + <model usable='no' vendor='Intel'>Cooperlake-v2</model> <model usable='no' vendor='Intel'>Cooperlake</model> <model usable='yes' vendor='Intel'>Conroe</model> <model usable='no' vendor='Intel'>Cascadelake-Server-v5</model> 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 7037c3be1c..71285e0f9d 100644 --- a/tests/domaincapsdata/qemu_7.1.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.1.0-tcg.x86_64.xml @@ -131,6 +131,7 @@ <model usable='no' vendor='AMD'>EPYC-IBPB</model> <model usable='no' vendor='AMD'>EPYC</model> <model usable='no' vendor='Hygon'>Dhyana</model> + <model usable='no' vendor='Intel'>Cooperlake-v2</model> <model usable='no' vendor='Intel'>Cooperlake</model> <model usable='yes' vendor='Intel'>Conroe</model> <model usable='no' vendor='Intel'>Cascadelake-Server-v5</model> diff --git a/tests/domaincapsdata/qemu_7.1.0.x86_64.xml b/tests/domaincapsdata/qemu_7.1.0.x86_64.xml index 9654b0e063..1ad413fb52 100644 --- a/tests/domaincapsdata/qemu_7.1.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.1.0.x86_64.xml @@ -117,6 +117,7 @@ <model usable='yes' vendor='AMD'>EPYC-IBPB</model> <model usable='yes' vendor='AMD'>EPYC</model> <model usable='yes' vendor='Hygon'>Dhyana</model> + <model usable='no' vendor='Intel'>Cooperlake-v2</model> <model usable='no' vendor='Intel'>Cooperlake</model> <model usable='yes' vendor='Intel'>Conroe</model> <model usable='no' vendor='Intel'>Cascadelake-Server-v5</model> 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 f2944c26c9..2f06584b12 100644 --- a/tests/domaincapsdata/qemu_7.2.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.2.0-q35.x86_64.xml @@ -123,6 +123,7 @@ <model usable='yes' vendor='AMD'>EPYC-IBPB</model> <model usable='yes' vendor='AMD'>EPYC</model> <model usable='yes' vendor='Hygon'>Dhyana</model> + <model usable='no' vendor='Intel'>Cooperlake-v2</model> <model usable='no' vendor='Intel'>Cooperlake</model> <model usable='yes' vendor='Intel'>Conroe</model> <model usable='no' vendor='Intel'>Cascadelake-Server-v5</model> 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 06ef8d7047..adeb2e6993 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 @@ -120,6 +120,7 @@ <model usable='no' vendor='AMD'>EPYC-IBPB</model> <model usable='no' vendor='AMD'>EPYC</model> <model usable='no' vendor='Hygon'>Dhyana</model> + <model usable='no' vendor='Intel'>Cooperlake-v2</model> <model usable='no' vendor='Intel'>Cooperlake</model> <model usable='yes' vendor='Intel'>Conroe</model> <model usable='no' vendor='Intel'>Cascadelake-Server-v5</model> 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 06ef8d7047..adeb2e6993 100644 --- a/tests/domaincapsdata/qemu_7.2.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.2.0-tcg.x86_64.xml @@ -120,6 +120,7 @@ <model usable='no' vendor='AMD'>EPYC-IBPB</model> <model usable='no' vendor='AMD'>EPYC</model> <model usable='no' vendor='Hygon'>Dhyana</model> + <model usable='no' vendor='Intel'>Cooperlake-v2</model> <model usable='no' vendor='Intel'>Cooperlake</model> <model usable='yes' vendor='Intel'>Conroe</model> <model usable='no' vendor='Intel'>Cascadelake-Server-v5</model> diff --git a/tests/domaincapsdata/qemu_7.2.0.x86_64.xml b/tests/domaincapsdata/qemu_7.2.0.x86_64.xml index 2f856f0b22..48d0ca30e3 100644 --- a/tests/domaincapsdata/qemu_7.2.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.2.0.x86_64.xml @@ -122,6 +122,7 @@ <model usable='yes' vendor='AMD'>EPYC-IBPB</model> <model usable='yes' vendor='AMD'>EPYC</model> <model usable='yes' vendor='Hygon'>Dhyana</model> + <model usable='no' vendor='Intel'>Cooperlake-v2</model> <model usable='no' vendor='Intel'>Cooperlake</model> <model usable='yes' vendor='Intel'>Conroe</model> <model usable='no' vendor='Intel'>Cascadelake-Server-v5</model> 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 3d6c246946..a23c283479 100644 --- a/tests/domaincapsdata/qemu_8.0.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.0.0-q35.x86_64.xml @@ -124,6 +124,7 @@ <model usable='yes' vendor='AMD'>EPYC-IBPB</model> <model usable='yes' vendor='AMD'>EPYC</model> <model usable='yes' vendor='Hygon'>Dhyana</model> + <model usable='no' vendor='Intel'>Cooperlake-v2</model> <model usable='no' vendor='Intel'>Cooperlake</model> <model usable='yes' vendor='Intel'>Conroe</model> <model usable='no' vendor='Intel'>Cascadelake-Server-v5</model> 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 881686aed1..2967f11391 100644 --- a/tests/domaincapsdata/qemu_8.0.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.0.0-tcg.x86_64.xml @@ -125,6 +125,7 @@ <model usable='no' vendor='AMD'>EPYC-IBPB</model> <model usable='no' vendor='AMD'>EPYC</model> <model usable='no' vendor='Hygon'>Dhyana</model> + <model usable='no' vendor='Intel'>Cooperlake-v2</model> <model usable='no' vendor='Intel'>Cooperlake</model> <model usable='yes' vendor='Intel'>Conroe</model> <model usable='no' vendor='Intel'>Cascadelake-Server-v5</model> diff --git a/tests/domaincapsdata/qemu_8.0.0.x86_64.xml b/tests/domaincapsdata/qemu_8.0.0.x86_64.xml index d04d71eb88..2d36a04a67 100644 --- a/tests/domaincapsdata/qemu_8.0.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.0.0.x86_64.xml @@ -123,6 +123,7 @@ <model usable='yes' vendor='AMD'>EPYC-IBPB</model> <model usable='yes' vendor='AMD'>EPYC</model> <model usable='yes' vendor='Hygon'>Dhyana</model> + <model usable='no' vendor='Intel'>Cooperlake-v2</model> <model usable='no' vendor='Intel'>Cooperlake</model> <model usable='yes' vendor='Intel'>Conroe</model> <model usable='no' vendor='Intel'>Cascadelake-Server-v5</model> 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 e07ab65e1e..93af44b638 100644 --- a/tests/domaincapsdata/qemu_8.1.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.1.0-q35.x86_64.xml @@ -130,6 +130,7 @@ <model usable='no' vendor='AMD'>EPYC-Genoa</model> <model usable='yes' vendor='AMD'>EPYC</model> <model usable='yes' vendor='Hygon'>Dhyana</model> + <model usable='no' vendor='Intel'>Cooperlake-v2</model> <model usable='no' vendor='Intel'>Cooperlake</model> <model usable='yes' vendor='Intel'>Conroe</model> <model usable='no' vendor='Intel'>Cascadelake-Server-v5</model> 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 07e77a5614..f133cb71a2 100644 --- a/tests/domaincapsdata/qemu_8.1.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.1.0-tcg.x86_64.xml @@ -131,6 +131,7 @@ <model usable='no' vendor='AMD'>EPYC-Genoa</model> <model usable='no' vendor='AMD'>EPYC</model> <model usable='no' vendor='Hygon'>Dhyana</model> + <model usable='no' vendor='Intel'>Cooperlake-v2</model> <model usable='no' vendor='Intel'>Cooperlake</model> <model usable='yes' vendor='Intel'>Conroe</model> <model usable='no' vendor='Intel'>Cascadelake-Server-v5</model> diff --git a/tests/domaincapsdata/qemu_8.1.0.x86_64.xml b/tests/domaincapsdata/qemu_8.1.0.x86_64.xml index 9c5e92ece2..8ea03e63ed 100644 --- a/tests/domaincapsdata/qemu_8.1.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.1.0.x86_64.xml @@ -129,6 +129,7 @@ <model usable='no' vendor='AMD'>EPYC-Genoa</model> <model usable='yes' vendor='AMD'>EPYC</model> <model usable='yes' vendor='Hygon'>Dhyana</model> + <model usable='no' vendor='Intel'>Cooperlake-v2</model> <model usable='no' vendor='Intel'>Cooperlake</model> <model usable='yes' vendor='Intel'>Conroe</model> <model usable='no' vendor='Intel'>Cascadelake-Server-v5</model> 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 c884ab8562..d34917038b 100644 --- a/tests/domaincapsdata/qemu_8.2.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.2.0-q35.x86_64.xml @@ -131,6 +131,7 @@ <model usable='no' vendor='AMD'>EPYC-Genoa</model> <model usable='yes' vendor='AMD'>EPYC</model> <model usable='yes' vendor='Hygon'>Dhyana</model> + <model usable='no' vendor='Intel'>Cooperlake-v2</model> <model usable='no' vendor='Intel'>Cooperlake</model> <model usable='yes' vendor='Intel'>Conroe</model> <model usable='no' vendor='Intel'>Cascadelake-Server-v5</model> 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 cd7d5ec1d7..2db6fa32e1 100644 --- a/tests/domaincapsdata/qemu_8.2.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.2.0-tcg.x86_64.xml @@ -130,6 +130,7 @@ <model usable='no' vendor='AMD'>EPYC-Genoa</model> <model usable='no' vendor='AMD'>EPYC</model> <model usable='no' vendor='Hygon'>Dhyana</model> + <model usable='no' vendor='Intel'>Cooperlake-v2</model> <model usable='no' vendor='Intel'>Cooperlake</model> <model usable='yes' vendor='Intel'>Conroe</model> <model usable='no' vendor='Intel'>Cascadelake-Server-v5</model> diff --git a/tests/domaincapsdata/qemu_8.2.0.x86_64.xml b/tests/domaincapsdata/qemu_8.2.0.x86_64.xml index 3afe6a0320..365f61be84 100644 --- a/tests/domaincapsdata/qemu_8.2.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.2.0.x86_64.xml @@ -130,6 +130,7 @@ <model usable='no' vendor='AMD'>EPYC-Genoa</model> <model usable='yes' vendor='AMD'>EPYC</model> <model usable='yes' vendor='Hygon'>Dhyana</model> + <model usable='no' vendor='Intel'>Cooperlake-v2</model> <model usable='no' vendor='Intel'>Cooperlake</model> <model usable='yes' vendor='Intel'>Conroe</model> <model usable='no' vendor='Intel'>Cascadelake-Server-v5</model> -- 2.41.0

Signed-off-by: Jonathon Jongsma <jjongsma@redhat.com> --- src/cpu_map/index.xml | 3 + src/cpu_map/meson.build | 3 + src/cpu_map/x86_Snowridge-v2.xml | 78 ++++++++++++++++++ src/cpu_map/x86_Snowridge-v3.xml | 80 +++++++++++++++++++ src/cpu_map/x86_Snowridge-v4.xml | 78 ++++++++++++++++++ .../x86_64-cpuid-Atom-P5362-guest.xml | 3 +- .../x86_64-cpuid-Atom-P5362-json.xml | 3 +- .../domaincapsdata/qemu_4.2.0-q35.x86_64.xml | 1 + .../domaincapsdata/qemu_4.2.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_4.2.0.x86_64.xml | 1 + .../domaincapsdata/qemu_5.0.0-q35.x86_64.xml | 1 + .../domaincapsdata/qemu_5.0.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_5.0.0.x86_64.xml | 1 + .../domaincapsdata/qemu_5.1.0-q35.x86_64.xml | 1 + .../domaincapsdata/qemu_5.1.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_5.1.0.x86_64.xml | 1 + .../domaincapsdata/qemu_5.2.0-q35.x86_64.xml | 1 + .../domaincapsdata/qemu_5.2.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_5.2.0.x86_64.xml | 1 + .../domaincapsdata/qemu_6.0.0-q35.x86_64.xml | 1 + .../domaincapsdata/qemu_6.0.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_6.0.0.x86_64.xml | 1 + .../domaincapsdata/qemu_6.1.0-q35.x86_64.xml | 2 + .../domaincapsdata/qemu_6.1.0-tcg.x86_64.xml | 2 + tests/domaincapsdata/qemu_6.1.0.x86_64.xml | 2 + .../domaincapsdata/qemu_6.2.0-q35.x86_64.xml | 3 + .../domaincapsdata/qemu_6.2.0-tcg.x86_64.xml | 3 + tests/domaincapsdata/qemu_6.2.0.x86_64.xml | 3 + .../domaincapsdata/qemu_7.0.0-q35.x86_64.xml | 3 + .../domaincapsdata/qemu_7.0.0-tcg.x86_64.xml | 3 + tests/domaincapsdata/qemu_7.0.0.x86_64.xml | 3 + .../domaincapsdata/qemu_7.1.0-q35.x86_64.xml | 3 + .../domaincapsdata/qemu_7.1.0-tcg.x86_64.xml | 3 + tests/domaincapsdata/qemu_7.1.0.x86_64.xml | 3 + .../domaincapsdata/qemu_7.2.0-q35.x86_64.xml | 3 + .../qemu_7.2.0-tcg.x86_64+hvf.xml | 3 + .../domaincapsdata/qemu_7.2.0-tcg.x86_64.xml | 3 + tests/domaincapsdata/qemu_7.2.0.x86_64.xml | 3 + .../domaincapsdata/qemu_8.0.0-q35.x86_64.xml | 3 + .../domaincapsdata/qemu_8.0.0-tcg.x86_64.xml | 3 + tests/domaincapsdata/qemu_8.0.0.x86_64.xml | 3 + .../domaincapsdata/qemu_8.1.0-q35.x86_64.xml | 3 + .../domaincapsdata/qemu_8.1.0-tcg.x86_64.xml | 3 + tests/domaincapsdata/qemu_8.1.0.x86_64.xml | 3 + .../domaincapsdata/qemu_8.2.0-q35.x86_64.xml | 3 + .../domaincapsdata/qemu_8.2.0-tcg.x86_64.xml | 3 + tests/domaincapsdata/qemu_8.2.0.x86_64.xml | 3 + 47 files changed, 331 insertions(+), 4 deletions(-) create mode 100644 src/cpu_map/x86_Snowridge-v2.xml create mode 100644 src/cpu_map/x86_Snowridge-v3.xml create mode 100644 src/cpu_map/x86_Snowridge-v4.xml diff --git a/src/cpu_map/index.xml b/src/cpu_map/index.xml index 3d8be6e41a..449abbd8f3 100644 --- a/src/cpu_map/index.xml +++ b/src/cpu_map/index.xml @@ -67,6 +67,9 @@ <include filename='x86_Cooperlake.xml'/> <include filename='x86_Cooperlake-v2.xml'/> <include filename='x86_Snowridge.xml'/> + <include filename='x86_Snowridge-v2.xml'/> + <include filename='x86_Snowridge-v3.xml'/> + <include filename='x86_Snowridge-v4.xml'/> <include filename='x86_SapphireRapids.xml'/> <!-- AMD CPUs --> diff --git a/src/cpu_map/meson.build b/src/cpu_map/meson.build index a6db0b1503..073fd66bec 100644 --- a/src/cpu_map/meson.build +++ b/src/cpu_map/meson.build @@ -97,6 +97,9 @@ cpumap_data = [ 'x86_Skylake-Server-v4.xml', 'x86_Skylake-Server-v5.xml', 'x86_Skylake-Server.xml', + 'x86_Snowridge-v2.xml', + 'x86_Snowridge-v3.xml', + 'x86_Snowridge-v4.xml', 'x86_Snowridge.xml', 'x86_vendors.xml', 'x86_Westmere-IBRS.xml', diff --git a/src/cpu_map/x86_Snowridge-v2.xml b/src/cpu_map/x86_Snowridge-v2.xml new file mode 100644 index 0000000000..59b7aafe8d --- /dev/null +++ b/src/cpu_map/x86_Snowridge-v2.xml @@ -0,0 +1,78 @@ +<!-- extra info from qemu: + 'model.level': '27' + 'model.stepping': '1' + 'model.xlevel': '0x80000008' + 'model.model_id': 'Intel Atom Processor (SnowRidge)' + 'property.model-id': 'Intel Atom Processor (Snowridge, no MPX)' +--> +<cpus> + <model name='Snowridge-v2'> + <decode host='on' guest='on'/> + <signature family='6' model='134'/> + <vendor name='Intel'/> + <feature name='3dnowprefetch'/> + <feature name='aes'/> + <feature name='apic'/> + <feature name='arat'/> + <feature name='arch-capabilities'/> + <feature name='cldemote'/> + <feature name='clflush'/> + <feature name='clflushopt'/> + <feature name='clwb'/> + <feature name='cmov'/> + <feature name='core-capability'/> + <feature name='cx16'/> + <feature name='cx8'/> + <feature name='de'/> + <feature name='erms'/> + <feature name='fpu'/> + <feature name='fsgsbase'/> + <feature name='fxsr'/> + <feature name='gfni'/> + <feature name='lahf_lm'/> + <feature name='lm'/> + <feature name='mca'/> + <feature name='mce'/> + <feature name='mmx'/> + <feature name='movbe'/> + <feature name='movdir64b'/> + <feature name='movdiri'/> + <feature name='msr'/> + <feature name='mtrr'/> + <feature name='nx'/> + <feature name='pae'/> + <feature name='pat'/> + <feature name='pclmuldq'/> + <feature name='pdpe1gb'/> + <feature name='pge'/> + <feature name='pni'/> + <feature name='popcnt'/> + <feature name='pse'/> + <feature name='pse36'/> + <feature name='rdrand'/> + <feature name='rdseed'/> + <feature name='rdtscp'/> + <feature name='sep'/> + <feature name='sha-ni'/> + <feature name='smap'/> + <feature name='smep'/> + <feature name='spec-ctrl'/> + <feature name='split-lock-detect'/> + <feature name='ssbd'/> + <feature name='sse'/> + <feature name='sse2'/> + <feature name='sse4.1'/> + <feature name='sse4.2'/> + <feature name='ssse3'/> + <feature name='syscall'/> + <feature name='tsc'/> + <feature name='tsc-deadline'/> + <feature name='umip'/> + <feature name='vme'/> + <feature name='x2apic'/> + <feature name='xgetbv1'/> + <feature name='xsave'/> + <feature name='xsavec'/> + <feature name='xsaveopt'/> + </model> +</cpus> diff --git a/src/cpu_map/x86_Snowridge-v3.xml b/src/cpu_map/x86_Snowridge-v3.xml new file mode 100644 index 0000000000..949c5d2633 --- /dev/null +++ b/src/cpu_map/x86_Snowridge-v3.xml @@ -0,0 +1,80 @@ +<!-- extra info from qemu: + 'model.level': '27' + 'model.stepping': '1' + 'model.xlevel': '0x80000008' + 'model.model_id': 'Intel Atom Processor (SnowRidge)' + 'property.model-id': 'Intel Atom Processor (Snowridge, no MPX)' + 'version.note': 'XSAVES, no MPX' +--> +<cpus> + <model name='Snowridge-v3'> + <decode host='on' guest='on'/> + <signature family='6' model='134'/> + <vendor name='Intel'/> + <feature name='3dnowprefetch'/> + <feature name='aes'/> + <feature name='apic'/> + <feature name='arat'/> + <feature name='arch-capabilities'/> + <feature name='cldemote'/> + <feature name='clflush'/> + <feature name='clflushopt'/> + <feature name='clwb'/> + <feature name='cmov'/> + <feature name='core-capability'/> + <feature name='cx16'/> + <feature name='cx8'/> + <feature name='de'/> + <feature name='erms'/> + <feature name='fpu'/> + <feature name='fsgsbase'/> + <feature name='fxsr'/> + <feature name='gfni'/> + <feature name='lahf_lm'/> + <feature name='lm'/> + <feature name='mca'/> + <feature name='mce'/> + <feature name='mmx'/> + <feature name='movbe'/> + <feature name='movdir64b'/> + <feature name='movdiri'/> + <feature name='msr'/> + <feature name='mtrr'/> + <feature name='nx'/> + <feature name='pae'/> + <feature name='pat'/> + <feature name='pclmuldq'/> + <feature name='pdpe1gb'/> + <feature name='pge'/> + <feature name='pni'/> + <feature name='popcnt'/> + <feature name='pse'/> + <feature name='pse36'/> + <feature name='rdrand'/> + <feature name='rdseed'/> + <feature name='rdtscp'/> + <feature name='sep'/> + <feature name='sha-ni'/> + <feature name='smap'/> + <feature name='smep'/> + <feature name='spec-ctrl'/> + <feature name='split-lock-detect'/> + <feature name='ssbd'/> + <feature name='sse'/> + <feature name='sse2'/> + <feature name='sse4.1'/> + <feature name='sse4.2'/> + <feature name='ssse3'/> + <feature name='syscall'/> + <feature name='tsc'/> + <feature name='tsc-deadline'/> + <feature name='umip'/> + <feature name='vme'/> + <feature name='x2apic'/> + <feature name='xgetbv1'/> + <feature name='xsave'/> + <feature name='xsavec'/> + <feature name='xsaveopt'/> + <feature name='xsaves'/> + </model> +</cpus> diff --git a/src/cpu_map/x86_Snowridge-v4.xml b/src/cpu_map/x86_Snowridge-v4.xml new file mode 100644 index 0000000000..818e75f90d --- /dev/null +++ b/src/cpu_map/x86_Snowridge-v4.xml @@ -0,0 +1,78 @@ +<!-- extra info from qemu: + 'model.level': '27' + 'model.stepping': '1' + 'model.xlevel': '0x80000008' + 'model.model_id': 'Intel Atom Processor (SnowRidge)' + 'property.model-id': 'Intel Atom Processor (Snowridge, no MPX)' + 'version.note': 'no split lock detect, no core-capability' +--> +<cpus> + <model name='Snowridge-v4'> + <decode host='on' guest='on'/> + <signature family='6' model='134'/> + <vendor name='Intel'/> + <feature name='3dnowprefetch'/> + <feature name='aes'/> + <feature name='apic'/> + <feature name='arat'/> + <feature name='arch-capabilities'/> + <feature name='cldemote'/> + <feature name='clflush'/> + <feature name='clflushopt'/> + <feature name='clwb'/> + <feature name='cmov'/> + <feature name='cx16'/> + <feature name='cx8'/> + <feature name='de'/> + <feature name='erms'/> + <feature name='fpu'/> + <feature name='fsgsbase'/> + <feature name='fxsr'/> + <feature name='gfni'/> + <feature name='lahf_lm'/> + <feature name='lm'/> + <feature name='mca'/> + <feature name='mce'/> + <feature name='mmx'/> + <feature name='movbe'/> + <feature name='movdir64b'/> + <feature name='movdiri'/> + <feature name='msr'/> + <feature name='mtrr'/> + <feature name='nx'/> + <feature name='pae'/> + <feature name='pat'/> + <feature name='pclmuldq'/> + <feature name='pdpe1gb'/> + <feature name='pge'/> + <feature name='pni'/> + <feature name='popcnt'/> + <feature name='pse'/> + <feature name='pse36'/> + <feature name='rdrand'/> + <feature name='rdseed'/> + <feature name='rdtscp'/> + <feature name='sep'/> + <feature name='sha-ni'/> + <feature name='smap'/> + <feature name='smep'/> + <feature name='spec-ctrl'/> + <feature name='ssbd'/> + <feature name='sse'/> + <feature name='sse2'/> + <feature name='sse4.1'/> + <feature name='sse4.2'/> + <feature name='ssse3'/> + <feature name='syscall'/> + <feature name='tsc'/> + <feature name='tsc-deadline'/> + <feature name='umip'/> + <feature name='vme'/> + <feature name='x2apic'/> + <feature name='xgetbv1'/> + <feature name='xsave'/> + <feature name='xsavec'/> + <feature name='xsaveopt'/> + <feature name='xsaves'/> + </model> +</cpus> diff --git a/tests/cputestdata/x86_64-cpuid-Atom-P5362-guest.xml b/tests/cputestdata/x86_64-cpuid-Atom-P5362-guest.xml index c595f04e32..5e42928198 100644 --- a/tests/cputestdata/x86_64-cpuid-Atom-P5362-guest.xml +++ b/tests/cputestdata/x86_64-cpuid-Atom-P5362-guest.xml @@ -1,5 +1,5 @@ <cpu mode='custom' match='exact'> - <model fallback='forbid'>Snowridge</model> + <model fallback='forbid'>Snowridge-v2</model> <vendor>Intel</vendor> <feature policy='require' name='ds'/> <feature policy='require' name='acpi'/> @@ -36,7 +36,6 @@ <feature policy='require' name='mds-no'/> <feature policy='require' name='pschange-mc-no'/> <feature policy='require' name='taa-no'/> - <feature policy='disable' name='mpx'/> <feature policy='disable' name='core-capability'/> <feature policy='disable' name='pdpe1gb'/> <feature policy='disable' name='split-lock-detect'/> diff --git a/tests/cputestdata/x86_64-cpuid-Atom-P5362-json.xml b/tests/cputestdata/x86_64-cpuid-Atom-P5362-json.xml index ff7ac5b391..42fceee288 100644 --- a/tests/cputestdata/x86_64-cpuid-Atom-P5362-json.xml +++ b/tests/cputestdata/x86_64-cpuid-Atom-P5362-json.xml @@ -1,5 +1,5 @@ <cpu mode='custom' match='exact'> - <model fallback='forbid'>Snowridge</model> + <model fallback='forbid'>Snowridge-v2</model> <vendor>Intel</vendor> <feature policy='require' name='ss'/> <feature policy='require' name='vmx'/> @@ -88,7 +88,6 @@ <feature policy='require' name='vmx-entry-load-pat'/> <feature policy='require' name='vmx-entry-load-efer'/> <feature policy='require' name='vmx-eptp-switching'/> - <feature policy='disable' name='mpx'/> <feature policy='disable' name='core-capability'/> <feature policy='disable' name='pdpe1gb'/> <feature policy='disable' name='split-lock-detect'/> diff --git a/tests/domaincapsdata/qemu_4.2.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_4.2.0-q35.x86_64.xml index fa42d6eca4..e235218346 100644 --- a/tests/domaincapsdata/qemu_4.2.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_4.2.0-q35.x86_64.xml @@ -143,6 +143,7 @@ <model usable='no' vendor='AMD'>athlon</model> <model usable='yes' vendor='Intel'>Westmere-IBRS</model> <model usable='yes' vendor='Intel'>Westmere</model> + <model usable='no' vendor='Intel'>Snowridge-v2</model> <model usable='no' vendor='Intel'>Snowridge</model> <model usable='no' vendor='Intel'>Skylake-Server-noTSX-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Server-IBRS</model> diff --git a/tests/domaincapsdata/qemu_4.2.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_4.2.0-tcg.x86_64.xml index 1efdd0aa97..7b499f6950 100644 --- a/tests/domaincapsdata/qemu_4.2.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_4.2.0-tcg.x86_64.xml @@ -88,6 +88,7 @@ <model usable='yes' vendor='AMD'>athlon</model> <model usable='no' vendor='Intel'>Westmere-IBRS</model> <model usable='no' vendor='Intel'>Westmere</model> + <model usable='no' vendor='Intel'>Snowridge-v2</model> <model usable='no' vendor='Intel'>Snowridge</model> <model usable='no' vendor='Intel'>Skylake-Server-noTSX-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Server-IBRS</model> diff --git a/tests/domaincapsdata/qemu_4.2.0.x86_64.xml b/tests/domaincapsdata/qemu_4.2.0.x86_64.xml index d83a7f112d..0929149731 100644 --- a/tests/domaincapsdata/qemu_4.2.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_4.2.0.x86_64.xml @@ -142,6 +142,7 @@ <model usable='no' vendor='AMD'>athlon</model> <model usable='yes' vendor='Intel'>Westmere-IBRS</model> <model usable='yes' vendor='Intel'>Westmere</model> + <model usable='no' vendor='Intel'>Snowridge-v2</model> <model usable='no' vendor='Intel'>Snowridge</model> <model usable='no' vendor='Intel'>Skylake-Server-noTSX-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Server-IBRS</model> diff --git a/tests/domaincapsdata/qemu_5.0.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_5.0.0-q35.x86_64.xml index 615758a10b..ef3e66c100 100644 --- a/tests/domaincapsdata/qemu_5.0.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_5.0.0-q35.x86_64.xml @@ -143,6 +143,7 @@ <model usable='no' vendor='AMD'>athlon</model> <model usable='yes' vendor='Intel'>Westmere-IBRS</model> <model usable='yes' vendor='Intel'>Westmere</model> + <model usable='no' vendor='Intel'>Snowridge-v2</model> <model usable='no' vendor='Intel'>Snowridge</model> <model usable='no' vendor='Intel'>Skylake-Server-noTSX-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Server-IBRS</model> diff --git a/tests/domaincapsdata/qemu_5.0.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_5.0.0-tcg.x86_64.xml index cfa2ae336a..2caae4a70d 100644 --- a/tests/domaincapsdata/qemu_5.0.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_5.0.0-tcg.x86_64.xml @@ -88,6 +88,7 @@ <model usable='yes' vendor='AMD'>athlon</model> <model usable='no' vendor='Intel'>Westmere-IBRS</model> <model usable='yes' vendor='Intel'>Westmere</model> + <model usable='no' vendor='Intel'>Snowridge-v2</model> <model usable='no' vendor='Intel'>Snowridge</model> <model usable='no' vendor='Intel'>Skylake-Server-noTSX-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Server-IBRS</model> diff --git a/tests/domaincapsdata/qemu_5.0.0.x86_64.xml b/tests/domaincapsdata/qemu_5.0.0.x86_64.xml index ba44e0b363..6fff706563 100644 --- a/tests/domaincapsdata/qemu_5.0.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_5.0.0.x86_64.xml @@ -142,6 +142,7 @@ <model usable='no' vendor='AMD'>athlon</model> <model usable='yes' vendor='Intel'>Westmere-IBRS</model> <model usable='yes' vendor='Intel'>Westmere</model> + <model usable='no' vendor='Intel'>Snowridge-v2</model> <model usable='no' vendor='Intel'>Snowridge</model> <model usable='no' vendor='Intel'>Skylake-Server-noTSX-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Server-IBRS</model> diff --git a/tests/domaincapsdata/qemu_5.1.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_5.1.0-q35.x86_64.xml index 08d088d133..bfac05c7b7 100644 --- a/tests/domaincapsdata/qemu_5.1.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_5.1.0-q35.x86_64.xml @@ -76,6 +76,7 @@ <model usable='no' vendor='AMD'>athlon</model> <model usable='no' vendor='Intel'>Westmere-IBRS</model> <model usable='yes' vendor='Intel'>Westmere</model> + <model usable='no' vendor='Intel'>Snowridge-v2</model> <model usable='no' vendor='Intel'>Snowridge</model> <model usable='no' vendor='Intel'>Skylake-Server-v4</model> <model usable='no' vendor='Intel'>Skylake-Server-noTSX-IBRS</model> diff --git a/tests/domaincapsdata/qemu_5.1.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_5.1.0-tcg.x86_64.xml index 4cb34baa8e..96e3e9fc0c 100644 --- a/tests/domaincapsdata/qemu_5.1.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_5.1.0-tcg.x86_64.xml @@ -88,6 +88,7 @@ <model usable='yes' vendor='AMD'>athlon</model> <model usable='no' vendor='Intel'>Westmere-IBRS</model> <model usable='yes' vendor='Intel'>Westmere</model> + <model usable='no' vendor='Intel'>Snowridge-v2</model> <model usable='no' vendor='Intel'>Snowridge</model> <model usable='no' vendor='Intel'>Skylake-Server-v4</model> <model usable='no' vendor='Intel'>Skylake-Server-noTSX-IBRS</model> diff --git a/tests/domaincapsdata/qemu_5.1.0.x86_64.xml b/tests/domaincapsdata/qemu_5.1.0.x86_64.xml index 0fc5a5ae79..06afc7559c 100644 --- a/tests/domaincapsdata/qemu_5.1.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_5.1.0.x86_64.xml @@ -75,6 +75,7 @@ <model usable='no' vendor='AMD'>athlon</model> <model usable='no' vendor='Intel'>Westmere-IBRS</model> <model usable='yes' vendor='Intel'>Westmere</model> + <model usable='no' vendor='Intel'>Snowridge-v2</model> <model usable='no' vendor='Intel'>Snowridge</model> <model usable='no' vendor='Intel'>Skylake-Server-v4</model> <model usable='no' vendor='Intel'>Skylake-Server-noTSX-IBRS</model> 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 386e56d169..29a2a197ff 100644 --- a/tests/domaincapsdata/qemu_5.2.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_5.2.0-q35.x86_64.xml @@ -76,6 +76,7 @@ <model usable='no' vendor='AMD'>athlon</model> <model usable='no' vendor='Intel'>Westmere-IBRS</model> <model usable='yes' vendor='Intel'>Westmere</model> + <model usable='no' vendor='Intel'>Snowridge-v2</model> <model usable='no' vendor='Intel'>Snowridge</model> <model usable='no' vendor='Intel'>Skylake-Server-v4</model> <model usable='no' vendor='Intel'>Skylake-Server-noTSX-IBRS</model> 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 cc975a0c62..b37b2ea770 100644 --- a/tests/domaincapsdata/qemu_5.2.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_5.2.0-tcg.x86_64.xml @@ -88,6 +88,7 @@ <model usable='yes' vendor='AMD'>athlon</model> <model usable='no' vendor='Intel'>Westmere-IBRS</model> <model usable='yes' vendor='Intel'>Westmere</model> + <model usable='no' vendor='Intel'>Snowridge-v2</model> <model usable='no' vendor='Intel'>Snowridge</model> <model usable='no' vendor='Intel'>Skylake-Server-v4</model> <model usable='no' vendor='Intel'>Skylake-Server-noTSX-IBRS</model> diff --git a/tests/domaincapsdata/qemu_5.2.0.x86_64.xml b/tests/domaincapsdata/qemu_5.2.0.x86_64.xml index ff8a9cd9d2..f1d14fe8ca 100644 --- a/tests/domaincapsdata/qemu_5.2.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_5.2.0.x86_64.xml @@ -75,6 +75,7 @@ <model usable='no' vendor='AMD'>athlon</model> <model usable='no' vendor='Intel'>Westmere-IBRS</model> <model usable='yes' vendor='Intel'>Westmere</model> + <model usable='no' vendor='Intel'>Snowridge-v2</model> <model usable='no' vendor='Intel'>Snowridge</model> <model usable='no' vendor='Intel'>Skylake-Server-v4</model> <model usable='no' vendor='Intel'>Skylake-Server-noTSX-IBRS</model> 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 e8f11904fb..cbb572b933 100644 --- a/tests/domaincapsdata/qemu_6.0.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.0.0-q35.x86_64.xml @@ -76,6 +76,7 @@ <model usable='no' vendor='AMD'>athlon</model> <model usable='no' vendor='Intel'>Westmere-IBRS</model> <model usable='yes' vendor='Intel'>Westmere</model> + <model usable='no' vendor='Intel'>Snowridge-v2</model> <model usable='no' vendor='Intel'>Snowridge</model> <model usable='no' vendor='Intel'>Skylake-Server-v4</model> <model usable='no' vendor='Intel'>Skylake-Server-noTSX-IBRS</model> 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 c52dccff40..485b5f97d2 100644 --- a/tests/domaincapsdata/qemu_6.0.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.0.0-tcg.x86_64.xml @@ -89,6 +89,7 @@ <model usable='yes' vendor='AMD'>athlon</model> <model usable='no' vendor='Intel'>Westmere-IBRS</model> <model usable='yes' vendor='Intel'>Westmere</model> + <model usable='no' vendor='Intel'>Snowridge-v2</model> <model usable='no' vendor='Intel'>Snowridge</model> <model usable='no' vendor='Intel'>Skylake-Server-v4</model> <model usable='no' vendor='Intel'>Skylake-Server-noTSX-IBRS</model> diff --git a/tests/domaincapsdata/qemu_6.0.0.x86_64.xml b/tests/domaincapsdata/qemu_6.0.0.x86_64.xml index 64b7bb3e51..364ad7379d 100644 --- a/tests/domaincapsdata/qemu_6.0.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.0.0.x86_64.xml @@ -75,6 +75,7 @@ <model usable='no' vendor='AMD'>athlon</model> <model usable='no' vendor='Intel'>Westmere-IBRS</model> <model usable='yes' vendor='Intel'>Westmere</model> + <model usable='no' vendor='Intel'>Snowridge-v2</model> <model usable='no' vendor='Intel'>Snowridge</model> <model usable='no' vendor='Intel'>Skylake-Server-v4</model> <model usable='no' vendor='Intel'>Skylake-Server-noTSX-IBRS</model> 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 ec469d2ef2..59276428c1 100644 --- a/tests/domaincapsdata/qemu_6.1.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.1.0-q35.x86_64.xml @@ -77,6 +77,8 @@ <model usable='no' vendor='AMD'>athlon</model> <model usable='no' vendor='Intel'>Westmere-IBRS</model> <model usable='yes' vendor='Intel'>Westmere</model> + <model usable='no' vendor='Intel'>Snowridge-v3</model> + <model usable='no' vendor='Intel'>Snowridge-v2</model> <model usable='no' vendor='Intel'>Snowridge</model> <model usable='no' vendor='Intel'>Skylake-Server-v5</model> <model usable='no' vendor='Intel'>Skylake-Server-v4</model> 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 ecdf591638..eff9d4c8eb 100644 --- a/tests/domaincapsdata/qemu_6.1.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.1.0-tcg.x86_64.xml @@ -89,6 +89,8 @@ <model usable='yes' vendor='AMD'>athlon</model> <model usable='no' vendor='Intel'>Westmere-IBRS</model> <model usable='yes' vendor='Intel'>Westmere</model> + <model usable='no' vendor='Intel'>Snowridge-v3</model> + <model usable='no' vendor='Intel'>Snowridge-v2</model> <model usable='no' vendor='Intel'>Snowridge</model> <model usable='no' vendor='Intel'>Skylake-Server-v5</model> <model usable='no' vendor='Intel'>Skylake-Server-v4</model> diff --git a/tests/domaincapsdata/qemu_6.1.0.x86_64.xml b/tests/domaincapsdata/qemu_6.1.0.x86_64.xml index 5059e61c87..4a17fb7f33 100644 --- a/tests/domaincapsdata/qemu_6.1.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.1.0.x86_64.xml @@ -76,6 +76,8 @@ <model usable='no' vendor='AMD'>athlon</model> <model usable='no' vendor='Intel'>Westmere-IBRS</model> <model usable='yes' vendor='Intel'>Westmere</model> + <model usable='no' vendor='Intel'>Snowridge-v3</model> + <model usable='no' vendor='Intel'>Snowridge-v2</model> <model usable='no' vendor='Intel'>Snowridge</model> <model usable='no' vendor='Intel'>Skylake-Server-v5</model> <model usable='no' vendor='Intel'>Skylake-Server-v4</model> 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 d4d90817b1..2dd951b5c0 100644 --- a/tests/domaincapsdata/qemu_6.2.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.2.0-q35.x86_64.xml @@ -77,6 +77,9 @@ <model usable='no' vendor='AMD'>athlon</model> <model usable='no' vendor='Intel'>Westmere-IBRS</model> <model usable='yes' vendor='Intel'>Westmere</model> + <model usable='no' vendor='Intel'>Snowridge-v4</model> + <model usable='no' vendor='Intel'>Snowridge-v3</model> + <model usable='no' vendor='Intel'>Snowridge-v2</model> <model usable='no' vendor='Intel'>Snowridge</model> <model usable='no' vendor='Intel'>Skylake-Server-v5</model> <model usable='no' vendor='Intel'>Skylake-Server-v4</model> 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 d92c03e747..d181c8a741 100644 --- a/tests/domaincapsdata/qemu_6.2.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.2.0-tcg.x86_64.xml @@ -91,6 +91,9 @@ <model usable='yes' vendor='AMD'>athlon</model> <model usable='no' vendor='Intel'>Westmere-IBRS</model> <model usable='yes' vendor='Intel'>Westmere</model> + <model usable='no' vendor='Intel'>Snowridge-v4</model> + <model usable='no' vendor='Intel'>Snowridge-v3</model> + <model usable='no' vendor='Intel'>Snowridge-v2</model> <model usable='no' vendor='Intel'>Snowridge</model> <model usable='no' vendor='Intel'>Skylake-Server-v5</model> <model usable='no' vendor='Intel'>Skylake-Server-v4</model> diff --git a/tests/domaincapsdata/qemu_6.2.0.x86_64.xml b/tests/domaincapsdata/qemu_6.2.0.x86_64.xml index 2ba919f4cf..5115308eed 100644 --- a/tests/domaincapsdata/qemu_6.2.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.2.0.x86_64.xml @@ -76,6 +76,9 @@ <model usable='no' vendor='AMD'>athlon</model> <model usable='no' vendor='Intel'>Westmere-IBRS</model> <model usable='yes' vendor='Intel'>Westmere</model> + <model usable='no' vendor='Intel'>Snowridge-v4</model> + <model usable='no' vendor='Intel'>Snowridge-v3</model> + <model usable='no' vendor='Intel'>Snowridge-v2</model> <model usable='no' vendor='Intel'>Snowridge</model> <model usable='no' vendor='Intel'>Skylake-Server-v5</model> <model usable='no' vendor='Intel'>Skylake-Server-v4</model> 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 42d96d9c4c..91f64e32a5 100644 --- a/tests/domaincapsdata/qemu_7.0.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.0.0-q35.x86_64.xml @@ -78,6 +78,9 @@ <model usable='no' vendor='AMD'>athlon</model> <model usable='no' vendor='Intel'>Westmere-IBRS</model> <model usable='yes' vendor='Intel'>Westmere</model> + <model usable='no' vendor='Intel'>Snowridge-v4</model> + <model usable='no' vendor='Intel'>Snowridge-v3</model> + <model usable='no' vendor='Intel'>Snowridge-v2</model> <model usable='no' vendor='Intel'>Snowridge</model> <model usable='no' vendor='Intel'>Skylake-Server-v5</model> <model usable='no' vendor='Intel'>Skylake-Server-v4</model> 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 a57129bcbc..44b193d522 100644 --- a/tests/domaincapsdata/qemu_7.0.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.0.0-tcg.x86_64.xml @@ -92,6 +92,9 @@ <model usable='yes' vendor='AMD'>athlon</model> <model usable='no' vendor='Intel'>Westmere-IBRS</model> <model usable='yes' vendor='Intel'>Westmere</model> + <model usable='no' vendor='Intel'>Snowridge-v4</model> + <model usable='no' vendor='Intel'>Snowridge-v3</model> + <model usable='no' vendor='Intel'>Snowridge-v2</model> <model usable='no' vendor='Intel'>Snowridge</model> <model usable='no' vendor='Intel'>Skylake-Server-v5</model> <model usable='no' vendor='Intel'>Skylake-Server-v4</model> diff --git a/tests/domaincapsdata/qemu_7.0.0.x86_64.xml b/tests/domaincapsdata/qemu_7.0.0.x86_64.xml index 85fbdd798a..3a6dc40374 100644 --- a/tests/domaincapsdata/qemu_7.0.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.0.0.x86_64.xml @@ -77,6 +77,9 @@ <model usable='no' vendor='AMD'>athlon</model> <model usable='no' vendor='Intel'>Westmere-IBRS</model> <model usable='yes' vendor='Intel'>Westmere</model> + <model usable='no' vendor='Intel'>Snowridge-v4</model> + <model usable='no' vendor='Intel'>Snowridge-v3</model> + <model usable='no' vendor='Intel'>Snowridge-v2</model> <model usable='no' vendor='Intel'>Snowridge</model> <model usable='no' vendor='Intel'>Skylake-Server-v5</model> <model usable='no' vendor='Intel'>Skylake-Server-v4</model> 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 faa7b38b3f..2543185b61 100644 --- a/tests/domaincapsdata/qemu_7.1.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.1.0-q35.x86_64.xml @@ -79,6 +79,9 @@ <model usable='no' vendor='AMD'>athlon</model> <model usable='no' vendor='Intel'>Westmere-IBRS</model> <model usable='yes' vendor='Intel'>Westmere</model> + <model usable='no' vendor='Intel'>Snowridge-v4</model> + <model usable='no' vendor='Intel'>Snowridge-v3</model> + <model usable='no' vendor='Intel'>Snowridge-v2</model> <model usable='no' vendor='Intel'>Snowridge</model> <model usable='no' vendor='Intel'>Skylake-Server-v5</model> <model usable='no' vendor='Intel'>Skylake-Server-v4</model> 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 71285e0f9d..60639421ee 100644 --- a/tests/domaincapsdata/qemu_7.1.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.1.0-tcg.x86_64.xml @@ -92,6 +92,9 @@ <model usable='yes' vendor='AMD'>athlon</model> <model usable='no' vendor='Intel'>Westmere-IBRS</model> <model usable='yes' vendor='Intel'>Westmere</model> + <model usable='no' vendor='Intel'>Snowridge-v4</model> + <model usable='no' vendor='Intel'>Snowridge-v3</model> + <model usable='no' vendor='Intel'>Snowridge-v2</model> <model usable='no' vendor='Intel'>Snowridge</model> <model usable='no' vendor='Intel'>Skylake-Server-v5</model> <model usable='no' vendor='Intel'>Skylake-Server-v4</model> diff --git a/tests/domaincapsdata/qemu_7.1.0.x86_64.xml b/tests/domaincapsdata/qemu_7.1.0.x86_64.xml index 1ad413fb52..64cbc4fb0e 100644 --- a/tests/domaincapsdata/qemu_7.1.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.1.0.x86_64.xml @@ -78,6 +78,9 @@ <model usable='no' vendor='AMD'>athlon</model> <model usable='no' vendor='Intel'>Westmere-IBRS</model> <model usable='yes' vendor='Intel'>Westmere</model> + <model usable='no' vendor='Intel'>Snowridge-v4</model> + <model usable='no' vendor='Intel'>Snowridge-v3</model> + <model usable='no' vendor='Intel'>Snowridge-v2</model> <model usable='no' vendor='Intel'>Snowridge</model> <model usable='no' vendor='Intel'>Skylake-Server-v5</model> <model usable='no' vendor='Intel'>Skylake-Server-v4</model> 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 2f06584b12..6a2acdfe15 100644 --- a/tests/domaincapsdata/qemu_7.2.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.2.0-q35.x86_64.xml @@ -84,6 +84,9 @@ <model usable='no' vendor='AMD'>athlon</model> <model usable='no' vendor='Intel'>Westmere-IBRS</model> <model usable='yes' vendor='Intel'>Westmere</model> + <model usable='no' vendor='Intel'>Snowridge-v4</model> + <model usable='no' vendor='Intel'>Snowridge-v3</model> + <model usable='no' vendor='Intel'>Snowridge-v2</model> <model usable='no' vendor='Intel'>Snowridge</model> <model usable='no' vendor='Intel'>Skylake-Server-v5</model> <model usable='no' vendor='Intel'>Skylake-Server-v4</model> 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 adeb2e6993..4369c43bd3 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 @@ -81,6 +81,9 @@ <model usable='yes' vendor='AMD'>athlon</model> <model usable='no' vendor='Intel'>Westmere-IBRS</model> <model usable='yes' vendor='Intel'>Westmere</model> + <model usable='no' vendor='Intel'>Snowridge-v4</model> + <model usable='no' vendor='Intel'>Snowridge-v3</model> + <model usable='no' vendor='Intel'>Snowridge-v2</model> <model usable='no' vendor='Intel'>Snowridge</model> <model usable='no' vendor='Intel'>Skylake-Server-v5</model> <model usable='no' vendor='Intel'>Skylake-Server-v4</model> 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 adeb2e6993..4369c43bd3 100644 --- a/tests/domaincapsdata/qemu_7.2.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.2.0-tcg.x86_64.xml @@ -81,6 +81,9 @@ <model usable='yes' vendor='AMD'>athlon</model> <model usable='no' vendor='Intel'>Westmere-IBRS</model> <model usable='yes' vendor='Intel'>Westmere</model> + <model usable='no' vendor='Intel'>Snowridge-v4</model> + <model usable='no' vendor='Intel'>Snowridge-v3</model> + <model usable='no' vendor='Intel'>Snowridge-v2</model> <model usable='no' vendor='Intel'>Snowridge</model> <model usable='no' vendor='Intel'>Skylake-Server-v5</model> <model usable='no' vendor='Intel'>Skylake-Server-v4</model> diff --git a/tests/domaincapsdata/qemu_7.2.0.x86_64.xml b/tests/domaincapsdata/qemu_7.2.0.x86_64.xml index 48d0ca30e3..c3a23058d9 100644 --- a/tests/domaincapsdata/qemu_7.2.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.2.0.x86_64.xml @@ -83,6 +83,9 @@ <model usable='no' vendor='AMD'>athlon</model> <model usable='no' vendor='Intel'>Westmere-IBRS</model> <model usable='yes' vendor='Intel'>Westmere</model> + <model usable='no' vendor='Intel'>Snowridge-v4</model> + <model usable='no' vendor='Intel'>Snowridge-v3</model> + <model usable='no' vendor='Intel'>Snowridge-v2</model> <model usable='no' vendor='Intel'>Snowridge</model> <model usable='no' vendor='Intel'>Skylake-Server-v5</model> <model usable='no' vendor='Intel'>Skylake-Server-v4</model> 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 a23c283479..8dd912fe29 100644 --- a/tests/domaincapsdata/qemu_8.0.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.0.0-q35.x86_64.xml @@ -84,6 +84,9 @@ <model usable='no' vendor='AMD'>athlon</model> <model usable='no' vendor='Intel'>Westmere-IBRS</model> <model usable='yes' vendor='Intel'>Westmere</model> + <model usable='no' vendor='Intel'>Snowridge-v4</model> + <model usable='no' vendor='Intel'>Snowridge-v3</model> + <model usable='no' vendor='Intel'>Snowridge-v2</model> <model usable='no' vendor='Intel'>Snowridge</model> <model usable='no' vendor='Intel'>Skylake-Server-v5</model> <model usable='no' vendor='Intel'>Skylake-Server-v4</model> 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 2967f11391..d826858151 100644 --- a/tests/domaincapsdata/qemu_8.0.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.0.0-tcg.x86_64.xml @@ -85,6 +85,9 @@ <model usable='yes' vendor='AMD'>athlon</model> <model usable='no' vendor='Intel'>Westmere-IBRS</model> <model usable='yes' vendor='Intel'>Westmere</model> + <model usable='no' vendor='Intel'>Snowridge-v4</model> + <model usable='no' vendor='Intel'>Snowridge-v3</model> + <model usable='no' vendor='Intel'>Snowridge-v2</model> <model usable='no' vendor='Intel'>Snowridge</model> <model usable='no' vendor='Intel'>Skylake-Server-v5</model> <model usable='no' vendor='Intel'>Skylake-Server-v4</model> diff --git a/tests/domaincapsdata/qemu_8.0.0.x86_64.xml b/tests/domaincapsdata/qemu_8.0.0.x86_64.xml index 2d36a04a67..5ffa4f4571 100644 --- a/tests/domaincapsdata/qemu_8.0.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.0.0.x86_64.xml @@ -83,6 +83,9 @@ <model usable='no' vendor='AMD'>athlon</model> <model usable='no' vendor='Intel'>Westmere-IBRS</model> <model usable='yes' vendor='Intel'>Westmere</model> + <model usable='no' vendor='Intel'>Snowridge-v4</model> + <model usable='no' vendor='Intel'>Snowridge-v3</model> + <model usable='no' vendor='Intel'>Snowridge-v2</model> <model usable='no' vendor='Intel'>Snowridge</model> <model usable='no' vendor='Intel'>Skylake-Server-v5</model> <model usable='no' vendor='Intel'>Skylake-Server-v4</model> 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 93af44b638..c80455a6b5 100644 --- a/tests/domaincapsdata/qemu_8.1.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.1.0-q35.x86_64.xml @@ -85,6 +85,9 @@ <model usable='no' vendor='AMD'>athlon</model> <model usable='no' vendor='Intel'>Westmere-IBRS</model> <model usable='yes' vendor='Intel'>Westmere</model> + <model usable='no' vendor='Intel'>Snowridge-v4</model> + <model usable='no' vendor='Intel'>Snowridge-v3</model> + <model usable='no' vendor='Intel'>Snowridge-v2</model> <model usable='no' vendor='Intel'>Snowridge</model> <model usable='no' vendor='Intel'>Skylake-Server-v5</model> <model usable='no' vendor='Intel'>Skylake-Server-v4</model> 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 f133cb71a2..ee67181b3e 100644 --- a/tests/domaincapsdata/qemu_8.1.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.1.0-tcg.x86_64.xml @@ -86,6 +86,9 @@ <model usable='yes' vendor='AMD'>athlon</model> <model usable='no' vendor='Intel'>Westmere-IBRS</model> <model usable='yes' vendor='Intel'>Westmere</model> + <model usable='no' vendor='Intel'>Snowridge-v4</model> + <model usable='no' vendor='Intel'>Snowridge-v3</model> + <model usable='no' vendor='Intel'>Snowridge-v2</model> <model usable='no' vendor='Intel'>Snowridge</model> <model usable='no' vendor='Intel'>Skylake-Server-v5</model> <model usable='no' vendor='Intel'>Skylake-Server-v4</model> diff --git a/tests/domaincapsdata/qemu_8.1.0.x86_64.xml b/tests/domaincapsdata/qemu_8.1.0.x86_64.xml index 8ea03e63ed..00b6d45314 100644 --- a/tests/domaincapsdata/qemu_8.1.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.1.0.x86_64.xml @@ -84,6 +84,9 @@ <model usable='no' vendor='AMD'>athlon</model> <model usable='no' vendor='Intel'>Westmere-IBRS</model> <model usable='yes' vendor='Intel'>Westmere</model> + <model usable='no' vendor='Intel'>Snowridge-v4</model> + <model usable='no' vendor='Intel'>Snowridge-v3</model> + <model usable='no' vendor='Intel'>Snowridge-v2</model> <model usable='no' vendor='Intel'>Snowridge</model> <model usable='no' vendor='Intel'>Skylake-Server-v5</model> <model usable='no' vendor='Intel'>Skylake-Server-v4</model> 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 d34917038b..4aebd4a128 100644 --- a/tests/domaincapsdata/qemu_8.2.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.2.0-q35.x86_64.xml @@ -86,6 +86,9 @@ <model usable='no' vendor='AMD'>athlon</model> <model usable='no' vendor='Intel'>Westmere-IBRS</model> <model usable='yes' vendor='Intel'>Westmere</model> + <model usable='no' vendor='Intel'>Snowridge-v4</model> + <model usable='no' vendor='Intel'>Snowridge-v3</model> + <model usable='no' vendor='Intel'>Snowridge-v2</model> <model usable='no' vendor='Intel'>Snowridge</model> <model usable='no' vendor='Intel'>Skylake-Server-v5</model> <model usable='no' vendor='Intel'>Skylake-Server-v4</model> 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 2db6fa32e1..c9fc385bfa 100644 --- a/tests/domaincapsdata/qemu_8.2.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.2.0-tcg.x86_64.xml @@ -85,6 +85,9 @@ <model usable='yes' vendor='AMD'>athlon</model> <model usable='no' vendor='Intel'>Westmere-IBRS</model> <model usable='yes' vendor='Intel'>Westmere</model> + <model usable='no' vendor='Intel'>Snowridge-v4</model> + <model usable='no' vendor='Intel'>Snowridge-v3</model> + <model usable='no' vendor='Intel'>Snowridge-v2</model> <model usable='no' vendor='Intel'>Snowridge</model> <model usable='no' vendor='Intel'>Skylake-Server-v5</model> <model usable='no' vendor='Intel'>Skylake-Server-v4</model> diff --git a/tests/domaincapsdata/qemu_8.2.0.x86_64.xml b/tests/domaincapsdata/qemu_8.2.0.x86_64.xml index 365f61be84..0e424db1d8 100644 --- a/tests/domaincapsdata/qemu_8.2.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.2.0.x86_64.xml @@ -85,6 +85,9 @@ <model usable='no' vendor='AMD'>athlon</model> <model usable='no' vendor='Intel'>Westmere-IBRS</model> <model usable='yes' vendor='Intel'>Westmere</model> + <model usable='no' vendor='Intel'>Snowridge-v4</model> + <model usable='no' vendor='Intel'>Snowridge-v3</model> + <model usable='no' vendor='Intel'>Snowridge-v2</model> <model usable='no' vendor='Intel'>Snowridge</model> <model usable='no' vendor='Intel'>Skylake-Server-v5</model> <model usable='no' vendor='Intel'>Skylake-Server-v4</model> -- 2.41.0

Signed-off-by: Jonathon Jongsma <jjongsma@redhat.com> --- src/cpu_map/index.xml | 1 + src/cpu_map/meson.build | 1 + src/cpu_map/x86_SapphireRapids-v2.xml | 125 ++++++++++++++++++ .../domaincapsdata/qemu_8.1.0-q35.x86_64.xml | 1 + .../domaincapsdata/qemu_8.1.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_8.1.0.x86_64.xml | 1 + .../domaincapsdata/qemu_8.2.0-q35.x86_64.xml | 1 + .../domaincapsdata/qemu_8.2.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_8.2.0.x86_64.xml | 1 + 9 files changed, 133 insertions(+) create mode 100644 src/cpu_map/x86_SapphireRapids-v2.xml diff --git a/src/cpu_map/index.xml b/src/cpu_map/index.xml index 449abbd8f3..9b3719c5ef 100644 --- a/src/cpu_map/index.xml +++ b/src/cpu_map/index.xml @@ -71,6 +71,7 @@ <include filename='x86_Snowridge-v3.xml'/> <include filename='x86_Snowridge-v4.xml'/> <include filename='x86_SapphireRapids.xml'/> + <include filename='x86_SapphireRapids-v2.xml'/> <!-- AMD CPUs --> <include filename='x86_athlon.xml'/> diff --git a/src/cpu_map/meson.build b/src/cpu_map/meson.build index 073fd66bec..4b2a90fd74 100644 --- a/src/cpu_map/meson.build +++ b/src/cpu_map/meson.build @@ -87,6 +87,7 @@ cpumap_data = [ 'x86_qemu64.xml', 'x86_SandyBridge-IBRS.xml', 'x86_SandyBridge.xml', + 'x86_SapphireRapids-v2.xml', 'x86_SapphireRapids.xml', 'x86_Skylake-Client-IBRS.xml', 'x86_Skylake-Client-noTSX-IBRS.xml', diff --git a/src/cpu_map/x86_SapphireRapids-v2.xml b/src/cpu_map/x86_SapphireRapids-v2.xml new file mode 100644 index 0000000000..0d90d50f5f --- /dev/null +++ b/src/cpu_map/x86_SapphireRapids-v2.xml @@ -0,0 +1,125 @@ +<!-- extra info from qemu: + 'model.level': '0x20' + 'model.stepping': '4' + 'model.xlevel': '0x80000008' + 'model.model_id': 'Intel Xeon Processor (SapphireRapids)' +--> +<cpus> + <model name='SapphireRapids-v2'> + <decode host='on' guest='on'/> + <signature family='6' model='143'/> + <vendor name='Intel'/> + <feature name='3dnowprefetch'/> + <feature name='abm'/> + <feature name='adx'/> + <feature name='aes'/> + <feature name='amx-bf16'/> + <feature name='amx-int8'/> + <feature name='amx-tile'/> + <feature name='apic'/> + <feature name='arat'/> + <feature name='arch-capabilities'/> + <feature name='avx'/> + <feature name='avx-vnni'/> + <feature name='avx2'/> + <feature name='avx512-bf16'/> + <feature name='avx512-fp16'/> + <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='bmi1'/> + <feature name='bmi2'/> + <feature name='bus-lock-detect'/> + <feature name='clflush'/> + <feature name='clflushopt'/> + <feature name='clwb'/> + <feature name='cmov'/> + <feature name='cx16'/> + <feature name='cx8'/> + <feature name='de'/> + <feature name='erms'/> + <feature name='f16c'/> + <feature name='fbsdp-no'/> + <feature name='fma'/> + <feature name='fpu'/> + <feature name='fsgsbase'/> + <feature name='fsrc'/> + <feature name='fsrm'/> + <feature name='fsrs'/> + <feature name='fxsr'/> + <feature name='fzrm'/> + <feature name='gfni'/> + <feature name='hle'/> + <feature name='ibrs-all'/> + <feature name='invpcid'/> + <feature name='la57'/> + <feature name='lahf_lm'/> + <feature name='lm'/> + <feature name='mca'/> + <feature name='mce'/> + <feature name='mds-no'/> + <feature name='mmx'/> + <feature name='movbe'/> + <feature name='msr'/> + <feature name='mtrr'/> + <feature name='nx'/> + <feature name='pae'/> + <feature name='pat'/> + <feature name='pcid'/> + <feature name='pclmuldq'/> + <feature name='pdpe1gb'/> + <feature name='pge'/> + <feature name='pku'/> + <feature name='pni'/> + <feature name='popcnt'/> + <feature name='pschange-mc-no'/> + <feature name='psdp-no'/> + <feature name='pse'/> + <feature name='pse36'/> + <feature name='rdctl-no'/> + <feature name='rdpid'/> + <feature name='rdrand'/> + <feature name='rdseed'/> + <feature name='rdtscp'/> + <feature name='rtm'/> + <feature name='sbdr-ssdp-no'/> + <feature name='sep'/> + <feature name='serialize'/> + <feature name='sha-ni'/> + <feature name='skip-l1dfl-vmentry'/> + <feature name='smap'/> + <feature name='smep'/> + <feature name='spec-ctrl'/> + <feature name='ssbd'/> + <feature name='sse'/> + <feature name='sse2'/> + <feature name='sse4.1'/> + <feature name='sse4.2'/> + <feature name='ssse3'/> + <feature name='syscall'/> + <feature name='taa-no'/> + <feature name='tsc'/> + <feature name='tsc-deadline'/> + <feature name='tsx-ldtrk'/> + <feature name='umip'/> + <feature name='vaes'/> + <feature name='vme'/> + <feature name='vpclmulqdq'/> + <feature name='wbnoinvd'/> + <feature name='x2apic'/> + <feature name='xfd'/> + <feature name='xgetbv1'/> + <feature name='xsave'/> + <feature name='xsavec'/> + <feature name='xsaveopt'/> + <feature name='xsaves'/> + </model> +</cpus> 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 c80455a6b5..4067720049 100644 --- a/tests/domaincapsdata/qemu_8.1.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.1.0-q35.x86_64.xml @@ -98,6 +98,7 @@ <model usable='no' vendor='Intel'>Skylake-Client-noTSX-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Client-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Client</model> + <model usable='no' vendor='Intel'>SapphireRapids-v2</model> <model usable='no' vendor='Intel'>SapphireRapids</model> <model usable='no' vendor='Intel'>SandyBridge-IBRS</model> <model usable='yes' vendor='Intel'>SandyBridge</model> 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 ee67181b3e..7c836af7e6 100644 --- a/tests/domaincapsdata/qemu_8.1.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.1.0-tcg.x86_64.xml @@ -99,6 +99,7 @@ <model usable='no' vendor='Intel'>Skylake-Client-noTSX-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Client-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Client</model> + <model usable='no' vendor='Intel'>SapphireRapids-v2</model> <model usable='no' vendor='Intel'>SapphireRapids</model> <model usable='no' vendor='Intel'>SandyBridge-IBRS</model> <model usable='no' vendor='Intel'>SandyBridge</model> diff --git a/tests/domaincapsdata/qemu_8.1.0.x86_64.xml b/tests/domaincapsdata/qemu_8.1.0.x86_64.xml index 00b6d45314..6ff2ebbde8 100644 --- a/tests/domaincapsdata/qemu_8.1.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.1.0.x86_64.xml @@ -97,6 +97,7 @@ <model usable='no' vendor='Intel'>Skylake-Client-noTSX-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Client-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Client</model> + <model usable='no' vendor='Intel'>SapphireRapids-v2</model> <model usable='no' vendor='Intel'>SapphireRapids</model> <model usable='no' vendor='Intel'>SandyBridge-IBRS</model> <model usable='yes' vendor='Intel'>SandyBridge</model> 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 4aebd4a128..8e504436cf 100644 --- a/tests/domaincapsdata/qemu_8.2.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.2.0-q35.x86_64.xml @@ -99,6 +99,7 @@ <model usable='no' vendor='Intel'>Skylake-Client-noTSX-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Client-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Client</model> + <model usable='no' vendor='Intel'>SapphireRapids-v2</model> <model usable='no' vendor='Intel'>SapphireRapids</model> <model usable='no' vendor='Intel'>SandyBridge-IBRS</model> <model usable='yes' vendor='Intel'>SandyBridge</model> 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 c9fc385bfa..7f0b057d97 100644 --- a/tests/domaincapsdata/qemu_8.2.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.2.0-tcg.x86_64.xml @@ -98,6 +98,7 @@ <model usable='no' vendor='Intel'>Skylake-Client-noTSX-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Client-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Client</model> + <model usable='no' vendor='Intel'>SapphireRapids-v2</model> <model usable='no' vendor='Intel'>SapphireRapids</model> <model usable='no' vendor='Intel'>SandyBridge-IBRS</model> <model usable='no' vendor='Intel'>SandyBridge</model> diff --git a/tests/domaincapsdata/qemu_8.2.0.x86_64.xml b/tests/domaincapsdata/qemu_8.2.0.x86_64.xml index 0e424db1d8..0f43f5b543 100644 --- a/tests/domaincapsdata/qemu_8.2.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.2.0.x86_64.xml @@ -98,6 +98,7 @@ <model usable='no' vendor='Intel'>Skylake-Client-noTSX-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Client-IBRS</model> <model usable='no' vendor='Intel'>Skylake-Client</model> + <model usable='no' vendor='Intel'>SapphireRapids-v2</model> <model usable='no' vendor='Intel'>SapphireRapids</model> <model usable='no' vendor='Intel'>SandyBridge-IBRS</model> <model usable='yes' vendor='Intel'>SandyBridge</model> -- 2.41.0

Signed-off-by: Jonathon Jongsma <jjongsma@redhat.com> --- src/cpu_map/index.xml | 1 + src/cpu_map/meson.build | 1 + src/cpu_map/x86_Dhyana-v2.xml | 81 +++++++++++++++++++ ..._64-cpuid-Hygon-C86-7185-32-core-guest.xml | 5 +- ...6_64-cpuid-Hygon-C86-7185-32-core-host.xml | 5 +- ...6_64-cpuid-Hygon-C86-7185-32-core-json.xml | 6 +- .../domaincapsdata/qemu_6.1.0-q35.x86_64.xml | 1 + .../domaincapsdata/qemu_6.1.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_6.1.0.x86_64.xml | 1 + .../domaincapsdata/qemu_6.2.0-q35.x86_64.xml | 1 + .../domaincapsdata/qemu_6.2.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_6.2.0.x86_64.xml | 1 + .../domaincapsdata/qemu_7.0.0-q35.x86_64.xml | 1 + .../domaincapsdata/qemu_7.0.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_7.0.0.x86_64.xml | 1 + .../domaincapsdata/qemu_7.1.0-q35.x86_64.xml | 1 + .../domaincapsdata/qemu_7.1.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_7.1.0.x86_64.xml | 1 + .../domaincapsdata/qemu_7.2.0-q35.x86_64.xml | 1 + .../qemu_7.2.0-tcg.x86_64+hvf.xml | 1 + .../domaincapsdata/qemu_7.2.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_7.2.0.x86_64.xml | 1 + .../domaincapsdata/qemu_8.0.0-q35.x86_64.xml | 1 + .../domaincapsdata/qemu_8.0.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_8.0.0.x86_64.xml | 1 + .../domaincapsdata/qemu_8.1.0-q35.x86_64.xml | 1 + .../domaincapsdata/qemu_8.1.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_8.1.0.x86_64.xml | 1 + .../domaincapsdata/qemu_8.2.0-q35.x86_64.xml | 1 + .../domaincapsdata/qemu_8.2.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_8.2.0.x86_64.xml | 1 + 31 files changed, 112 insertions(+), 12 deletions(-) create mode 100644 src/cpu_map/x86_Dhyana-v2.xml diff --git a/src/cpu_map/index.xml b/src/cpu_map/index.xml index 9b3719c5ef..e643aa01be 100644 --- a/src/cpu_map/index.xml +++ b/src/cpu_map/index.xml @@ -95,6 +95,7 @@ <!-- Hygon CPU models --> <include filename='x86_Dhyana.xml'/> + <include filename='x86_Dhyana-v2.xml'/> </arch> <arch name='ppc64'> diff --git a/src/cpu_map/meson.build b/src/cpu_map/meson.build index 4b2a90fd74..e16a16c276 100644 --- a/src/cpu_map/meson.build +++ b/src/cpu_map/meson.build @@ -40,6 +40,7 @@ cpumap_data = [ 'x86_coreduo.xml', 'x86_cpu64-rhel5.xml', 'x86_cpu64-rhel6.xml', + 'x86_Dhyana-v2.xml', 'x86_Dhyana.xml', 'x86_EPYC-IBPB.xml', 'x86_EPYC.xml', diff --git a/src/cpu_map/x86_Dhyana-v2.xml b/src/cpu_map/x86_Dhyana-v2.xml new file mode 100644 index 0000000000..d5568e77b3 --- /dev/null +++ b/src/cpu_map/x86_Dhyana-v2.xml @@ -0,0 +1,81 @@ +<!-- extra info from qemu: + 'model.level': '0xd' + 'model.stepping': '1' + 'model.xlevel': '0x8000001E' + 'model.model_id': 'Hygon Dhyana Processor' + 'model.cache_info': '&epyc_cache_info' + 'version.note': 'XSAVES' +--> +<cpus> + <model name='Dhyana-v2'> + <decode host='on' guest='on'/> + <signature family='24' model='0'/> + <vendor name='Hygon'/> + <feature name='3dnowprefetch'/> + <feature name='abm'/> + <feature name='adx'/> + <feature name='apic'/> + <feature name='arat'/> + <feature name='avx'/> + <feature name='avx2'/> + <feature name='bmi1'/> + <feature name='bmi2'/> + <feature name='clflush'/> + <feature name='clflushopt'/> + <feature name='cmov'/> + <feature name='cr8legacy'/> + <feature name='cx16'/> + <feature name='cx8'/> + <feature name='de'/> + <feature name='f16c'/> + <feature name='fma'/> + <feature name='fpu'/> + <feature name='fsgsbase'/> + <feature name='fxsr'/> + <feature name='fxsr_opt'/> + <feature name='ibpb'/> + <feature name='lahf_lm'/> + <feature name='lm'/> + <feature name='mca'/> + <feature name='mce'/> + <feature name='misalignsse'/> + <feature name='mmx'/> + <feature name='mmxext'/> + <feature name='movbe'/> + <feature name='msr'/> + <feature name='mtrr'/> + <feature name='npt'/> + <feature name='nrip-save'/> + <feature name='nx'/> + <feature name='osvw'/> + <feature name='pae'/> + <feature name='pat'/> + <feature name='pdpe1gb'/> + <feature name='pge'/> + <feature name='pni'/> + <feature name='popcnt'/> + <feature name='pse'/> + <feature name='pse36'/> + <feature name='rdrand'/> + <feature name='rdseed'/> + <feature name='rdtscp'/> + <feature name='sep'/> + <feature name='smap'/> + <feature name='smep'/> + <feature name='sse'/> + <feature name='sse2'/> + <feature name='sse4.1'/> + <feature name='sse4.2'/> + <feature name='sse4a'/> + <feature name='ssse3'/> + <feature name='svm'/> + <feature name='syscall'/> + <feature name='tsc'/> + <feature name='vme'/> + <feature name='xgetbv1'/> + <feature name='xsave'/> + <feature name='xsavec'/> + <feature name='xsaveopt'/> + <feature name='xsaves'/> + </model> +</cpus> diff --git a/tests/cputestdata/x86_64-cpuid-Hygon-C86-7185-32-core-guest.xml b/tests/cputestdata/x86_64-cpuid-Hygon-C86-7185-32-core-guest.xml index 8669e5bd1b..0b318b94c4 100644 --- a/tests/cputestdata/x86_64-cpuid-Hygon-C86-7185-32-core-guest.xml +++ b/tests/cputestdata/x86_64-cpuid-Hygon-C86-7185-32-core-guest.xml @@ -1,10 +1,9 @@ <cpu mode='custom' match='exact'> - <model fallback='forbid'>Dhyana</model> + <model fallback='forbid'>Dhyana-v2</model> <vendor>Hygon</vendor> <feature policy='require' name='ht'/> <feature policy='require' name='monitor'/> <feature policy='require' name='osxsave'/> - <feature policy='require' name='xsaves'/> <feature policy='require' name='cmp_legacy'/> <feature policy='require' name='extapic'/> <feature policy='require' name='skinit'/> @@ -16,10 +15,8 @@ <feature policy='require' name='invtsc'/> <feature policy='require' name='clzero'/> <feature policy='require' name='xsaveerptr'/> - <feature policy='require' name='npt'/> <feature policy='require' name='lbrv'/> <feature policy='require' name='svm-lock'/> - <feature policy='require' name='nrip-save'/> <feature policy='require' name='tsc-scale'/> <feature policy='require' name='vmcb-clean'/> <feature policy='require' name='flushbyasid'/> diff --git a/tests/cputestdata/x86_64-cpuid-Hygon-C86-7185-32-core-host.xml b/tests/cputestdata/x86_64-cpuid-Hygon-C86-7185-32-core-host.xml index ddb14c0440..74c751ad1f 100644 --- a/tests/cputestdata/x86_64-cpuid-Hygon-C86-7185-32-core-host.xml +++ b/tests/cputestdata/x86_64-cpuid-Hygon-C86-7185-32-core-host.xml @@ -1,12 +1,11 @@ <cpu> <arch>x86_64</arch> - <model>Dhyana</model> + <model>Dhyana-v2</model> <vendor>Hygon</vendor> <signature family='24' model='0' stepping='1'/> <feature name='ht'/> <feature name='monitor'/> <feature name='osxsave'/> - <feature name='xsaves'/> <feature name='cmp_legacy'/> <feature name='extapic'/> <feature name='skinit'/> @@ -18,10 +17,8 @@ <feature name='invtsc'/> <feature name='clzero'/> <feature name='xsaveerptr'/> - <feature name='npt'/> <feature name='lbrv'/> <feature name='svm-lock'/> - <feature name='nrip-save'/> <feature name='tsc-scale'/> <feature name='vmcb-clean'/> <feature name='flushbyasid'/> diff --git a/tests/cputestdata/x86_64-cpuid-Hygon-C86-7185-32-core-json.xml b/tests/cputestdata/x86_64-cpuid-Hygon-C86-7185-32-core-json.xml index 0408d51c10..2ff92e2c15 100644 --- a/tests/cputestdata/x86_64-cpuid-Hygon-C86-7185-32-core-json.xml +++ b/tests/cputestdata/x86_64-cpuid-Hygon-C86-7185-32-core-json.xml @@ -1,5 +1,5 @@ <cpu mode='custom' match='exact'> - <model fallback='forbid'>Dhyana</model> + <model fallback='forbid'>Dhyana-v2</model> <vendor>Hygon</vendor> <feature policy='require' name='x2apic'/> <feature policy='require' name='tsc-deadline'/> @@ -7,8 +7,6 @@ <feature policy='require' name='tsc_adjust'/> <feature policy='require' name='cmp_legacy'/> <feature policy='require' name='virt-ssbd'/> - <feature policy='require' name='npt'/> - <feature policy='require' name='nrip-save'/> + <feature policy='disable' name='xsaves'/> <feature policy='disable' name='svm'/> - <feature policy='disable' name='monitor'/> </cpu> 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 59276428c1..31c8a5d4ed 100644 --- a/tests/domaincapsdata/qemu_6.1.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.1.0-q35.x86_64.xml @@ -118,6 +118,7 @@ <model usable='no' vendor='AMD'>EPYC-Milan</model> <model usable='yes' vendor='AMD'>EPYC-IBPB</model> <model usable='yes' vendor='AMD'>EPYC</model> + <model usable='yes' vendor='Hygon'>Dhyana-v2</model> <model usable='yes' vendor='Hygon'>Dhyana</model> <model usable='no' vendor='Intel'>Cooperlake-v2</model> <model usable='no' vendor='Intel'>Cooperlake</model> 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 eff9d4c8eb..b9e671e1f7 100644 --- a/tests/domaincapsdata/qemu_6.1.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.1.0-tcg.x86_64.xml @@ -130,6 +130,7 @@ <model usable='no' vendor='AMD'>EPYC-Milan</model> <model usable='no' vendor='AMD'>EPYC-IBPB</model> <model usable='no' vendor='AMD'>EPYC</model> + <model usable='no' vendor='Hygon'>Dhyana-v2</model> <model usable='no' vendor='Hygon'>Dhyana</model> <model usable='no' vendor='Intel'>Cooperlake-v2</model> <model usable='no' vendor='Intel'>Cooperlake</model> diff --git a/tests/domaincapsdata/qemu_6.1.0.x86_64.xml b/tests/domaincapsdata/qemu_6.1.0.x86_64.xml index 4a17fb7f33..5503ae4ee4 100644 --- a/tests/domaincapsdata/qemu_6.1.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.1.0.x86_64.xml @@ -117,6 +117,7 @@ <model usable='no' vendor='AMD'>EPYC-Milan</model> <model usable='yes' vendor='AMD'>EPYC-IBPB</model> <model usable='yes' vendor='AMD'>EPYC</model> + <model usable='yes' vendor='Hygon'>Dhyana-v2</model> <model usable='yes' vendor='Hygon'>Dhyana</model> <model usable='no' vendor='Intel'>Cooperlake-v2</model> <model usable='no' vendor='Intel'>Cooperlake</model> 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 2dd951b5c0..2c52ccb6a4 100644 --- a/tests/domaincapsdata/qemu_6.2.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.2.0-q35.x86_64.xml @@ -119,6 +119,7 @@ <model usable='no' vendor='AMD'>EPYC-Milan</model> <model usable='yes' vendor='AMD'>EPYC-IBPB</model> <model usable='yes' vendor='AMD'>EPYC</model> + <model usable='yes' vendor='Hygon'>Dhyana-v2</model> <model usable='yes' vendor='Hygon'>Dhyana</model> <model usable='no' vendor='Intel'>Cooperlake-v2</model> <model usable='no' vendor='Intel'>Cooperlake</model> 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 d181c8a741..7d7034e17f 100644 --- a/tests/domaincapsdata/qemu_6.2.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.2.0-tcg.x86_64.xml @@ -133,6 +133,7 @@ <model usable='no' vendor='AMD'>EPYC-Milan</model> <model usable='no' vendor='AMD'>EPYC-IBPB</model> <model usable='no' vendor='AMD'>EPYC</model> + <model usable='no' vendor='Hygon'>Dhyana-v2</model> <model usable='no' vendor='Hygon'>Dhyana</model> <model usable='no' vendor='Intel'>Cooperlake-v2</model> <model usable='no' vendor='Intel'>Cooperlake</model> diff --git a/tests/domaincapsdata/qemu_6.2.0.x86_64.xml b/tests/domaincapsdata/qemu_6.2.0.x86_64.xml index 5115308eed..b174edf499 100644 --- a/tests/domaincapsdata/qemu_6.2.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.2.0.x86_64.xml @@ -118,6 +118,7 @@ <model usable='no' vendor='AMD'>EPYC-Milan</model> <model usable='yes' vendor='AMD'>EPYC-IBPB</model> <model usable='yes' vendor='AMD'>EPYC</model> + <model usable='yes' vendor='Hygon'>Dhyana-v2</model> <model usable='yes' vendor='Hygon'>Dhyana</model> <model usable='no' vendor='Intel'>Cooperlake-v2</model> <model usable='no' vendor='Intel'>Cooperlake</model> 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 91f64e32a5..41b144edcf 100644 --- a/tests/domaincapsdata/qemu_7.0.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.0.0-q35.x86_64.xml @@ -121,6 +121,7 @@ <model usable='no' vendor='AMD'>EPYC-Milan</model> <model usable='yes' vendor='AMD'>EPYC-IBPB</model> <model usable='yes' vendor='AMD'>EPYC</model> + <model usable='yes' vendor='Hygon'>Dhyana-v2</model> <model usable='yes' vendor='Hygon'>Dhyana</model> <model usable='no' vendor='Intel'>Cooperlake-v2</model> <model usable='no' vendor='Intel'>Cooperlake</model> 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 44b193d522..d4ded73fa3 100644 --- a/tests/domaincapsdata/qemu_7.0.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.0.0-tcg.x86_64.xml @@ -135,6 +135,7 @@ <model usable='no' vendor='AMD'>EPYC-Milan</model> <model usable='no' vendor='AMD'>EPYC-IBPB</model> <model usable='no' vendor='AMD'>EPYC</model> + <model usable='no' vendor='Hygon'>Dhyana-v2</model> <model usable='no' vendor='Hygon'>Dhyana</model> <model usable='no' vendor='Intel'>Cooperlake-v2</model> <model usable='no' vendor='Intel'>Cooperlake</model> diff --git a/tests/domaincapsdata/qemu_7.0.0.x86_64.xml b/tests/domaincapsdata/qemu_7.0.0.x86_64.xml index 3a6dc40374..faf560814f 100644 --- a/tests/domaincapsdata/qemu_7.0.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.0.0.x86_64.xml @@ -120,6 +120,7 @@ <model usable='no' vendor='AMD'>EPYC-Milan</model> <model usable='yes' vendor='AMD'>EPYC-IBPB</model> <model usable='yes' vendor='AMD'>EPYC</model> + <model usable='yes' vendor='Hygon'>Dhyana-v2</model> <model usable='yes' vendor='Hygon'>Dhyana</model> <model usable='no' vendor='Intel'>Cooperlake-v2</model> <model usable='no' vendor='Intel'>Cooperlake</model> 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 2543185b61..adcf46bce4 100644 --- a/tests/domaincapsdata/qemu_7.1.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.1.0-q35.x86_64.xml @@ -120,6 +120,7 @@ <model usable='no' vendor='AMD'>EPYC-Milan</model> <model usable='yes' vendor='AMD'>EPYC-IBPB</model> <model usable='yes' vendor='AMD'>EPYC</model> + <model usable='yes' vendor='Hygon'>Dhyana-v2</model> <model usable='yes' vendor='Hygon'>Dhyana</model> <model usable='no' vendor='Intel'>Cooperlake-v2</model> <model usable='no' vendor='Intel'>Cooperlake</model> 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 60639421ee..c0333c2947 100644 --- a/tests/domaincapsdata/qemu_7.1.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.1.0-tcg.x86_64.xml @@ -133,6 +133,7 @@ <model usable='no' vendor='AMD'>EPYC-Milan</model> <model usable='no' vendor='AMD'>EPYC-IBPB</model> <model usable='no' vendor='AMD'>EPYC</model> + <model usable='no' vendor='Hygon'>Dhyana-v2</model> <model usable='no' vendor='Hygon'>Dhyana</model> <model usable='no' vendor='Intel'>Cooperlake-v2</model> <model usable='no' vendor='Intel'>Cooperlake</model> diff --git a/tests/domaincapsdata/qemu_7.1.0.x86_64.xml b/tests/domaincapsdata/qemu_7.1.0.x86_64.xml index 64cbc4fb0e..3dba9d606a 100644 --- a/tests/domaincapsdata/qemu_7.1.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.1.0.x86_64.xml @@ -119,6 +119,7 @@ <model usable='no' vendor='AMD'>EPYC-Milan</model> <model usable='yes' vendor='AMD'>EPYC-IBPB</model> <model usable='yes' vendor='AMD'>EPYC</model> + <model usable='yes' vendor='Hygon'>Dhyana-v2</model> <model usable='yes' vendor='Hygon'>Dhyana</model> <model usable='no' vendor='Intel'>Cooperlake-v2</model> <model usable='no' vendor='Intel'>Cooperlake</model> 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 6a2acdfe15..24f15b0088 100644 --- a/tests/domaincapsdata/qemu_7.2.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.2.0-q35.x86_64.xml @@ -125,6 +125,7 @@ <model usable='no' vendor='AMD'>EPYC-Milan</model> <model usable='yes' vendor='AMD'>EPYC-IBPB</model> <model usable='yes' vendor='AMD'>EPYC</model> + <model usable='yes' vendor='Hygon'>Dhyana-v2</model> <model usable='yes' vendor='Hygon'>Dhyana</model> <model usable='no' vendor='Intel'>Cooperlake-v2</model> <model usable='no' vendor='Intel'>Cooperlake</model> 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 4369c43bd3..8ed48763ca 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 @@ -122,6 +122,7 @@ <model usable='no' vendor='AMD'>EPYC-Milan</model> <model usable='no' vendor='AMD'>EPYC-IBPB</model> <model usable='no' vendor='AMD'>EPYC</model> + <model usable='no' vendor='Hygon'>Dhyana-v2</model> <model usable='no' vendor='Hygon'>Dhyana</model> <model usable='no' vendor='Intel'>Cooperlake-v2</model> <model usable='no' vendor='Intel'>Cooperlake</model> 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 4369c43bd3..8ed48763ca 100644 --- a/tests/domaincapsdata/qemu_7.2.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.2.0-tcg.x86_64.xml @@ -122,6 +122,7 @@ <model usable='no' vendor='AMD'>EPYC-Milan</model> <model usable='no' vendor='AMD'>EPYC-IBPB</model> <model usable='no' vendor='AMD'>EPYC</model> + <model usable='no' vendor='Hygon'>Dhyana-v2</model> <model usable='no' vendor='Hygon'>Dhyana</model> <model usable='no' vendor='Intel'>Cooperlake-v2</model> <model usable='no' vendor='Intel'>Cooperlake</model> diff --git a/tests/domaincapsdata/qemu_7.2.0.x86_64.xml b/tests/domaincapsdata/qemu_7.2.0.x86_64.xml index c3a23058d9..abe84f4aa8 100644 --- a/tests/domaincapsdata/qemu_7.2.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.2.0.x86_64.xml @@ -124,6 +124,7 @@ <model usable='no' vendor='AMD'>EPYC-Milan</model> <model usable='yes' vendor='AMD'>EPYC-IBPB</model> <model usable='yes' vendor='AMD'>EPYC</model> + <model usable='yes' vendor='Hygon'>Dhyana-v2</model> <model usable='yes' vendor='Hygon'>Dhyana</model> <model usable='no' vendor='Intel'>Cooperlake-v2</model> <model usable='no' vendor='Intel'>Cooperlake</model> 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 8dd912fe29..add9f49ca3 100644 --- a/tests/domaincapsdata/qemu_8.0.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.0.0-q35.x86_64.xml @@ -126,6 +126,7 @@ <model usable='no' vendor='AMD'>EPYC-Milan</model> <model usable='yes' vendor='AMD'>EPYC-IBPB</model> <model usable='yes' vendor='AMD'>EPYC</model> + <model usable='yes' vendor='Hygon'>Dhyana-v2</model> <model usable='yes' vendor='Hygon'>Dhyana</model> <model usable='no' vendor='Intel'>Cooperlake-v2</model> <model usable='no' vendor='Intel'>Cooperlake</model> 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 d826858151..e3c90bf8f6 100644 --- a/tests/domaincapsdata/qemu_8.0.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.0.0-tcg.x86_64.xml @@ -127,6 +127,7 @@ <model usable='no' vendor='AMD'>EPYC-Milan</model> <model usable='no' vendor='AMD'>EPYC-IBPB</model> <model usable='no' vendor='AMD'>EPYC</model> + <model usable='no' vendor='Hygon'>Dhyana-v2</model> <model usable='no' vendor='Hygon'>Dhyana</model> <model usable='no' vendor='Intel'>Cooperlake-v2</model> <model usable='no' vendor='Intel'>Cooperlake</model> diff --git a/tests/domaincapsdata/qemu_8.0.0.x86_64.xml b/tests/domaincapsdata/qemu_8.0.0.x86_64.xml index 5ffa4f4571..3c9af01790 100644 --- a/tests/domaincapsdata/qemu_8.0.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.0.0.x86_64.xml @@ -125,6 +125,7 @@ <model usable='no' vendor='AMD'>EPYC-Milan</model> <model usable='yes' vendor='AMD'>EPYC-IBPB</model> <model usable='yes' vendor='AMD'>EPYC</model> + <model usable='yes' vendor='Hygon'>Dhyana-v2</model> <model usable='yes' vendor='Hygon'>Dhyana</model> <model usable='no' vendor='Intel'>Cooperlake-v2</model> <model usable='no' vendor='Intel'>Cooperlake</model> 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 4067720049..f4f3e8fa18 100644 --- a/tests/domaincapsdata/qemu_8.1.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.1.0-q35.x86_64.xml @@ -133,6 +133,7 @@ <model usable='yes' vendor='AMD'>EPYC-IBPB</model> <model usable='no' vendor='AMD'>EPYC-Genoa</model> <model usable='yes' vendor='AMD'>EPYC</model> + <model usable='no' vendor='Hygon'>Dhyana-v2</model> <model usable='yes' vendor='Hygon'>Dhyana</model> <model usable='no' vendor='Intel'>Cooperlake-v2</model> <model usable='no' vendor='Intel'>Cooperlake</model> 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 7c836af7e6..504a90a7fa 100644 --- a/tests/domaincapsdata/qemu_8.1.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.1.0-tcg.x86_64.xml @@ -134,6 +134,7 @@ <model usable='no' vendor='AMD'>EPYC-IBPB</model> <model usable='no' vendor='AMD'>EPYC-Genoa</model> <model usable='no' vendor='AMD'>EPYC</model> + <model usable='no' vendor='Hygon'>Dhyana-v2</model> <model usable='no' vendor='Hygon'>Dhyana</model> <model usable='no' vendor='Intel'>Cooperlake-v2</model> <model usable='no' vendor='Intel'>Cooperlake</model> diff --git a/tests/domaincapsdata/qemu_8.1.0.x86_64.xml b/tests/domaincapsdata/qemu_8.1.0.x86_64.xml index 6ff2ebbde8..e935519f9f 100644 --- a/tests/domaincapsdata/qemu_8.1.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.1.0.x86_64.xml @@ -132,6 +132,7 @@ <model usable='yes' vendor='AMD'>EPYC-IBPB</model> <model usable='no' vendor='AMD'>EPYC-Genoa</model> <model usable='yes' vendor='AMD'>EPYC</model> + <model usable='no' vendor='Hygon'>Dhyana-v2</model> <model usable='yes' vendor='Hygon'>Dhyana</model> <model usable='no' vendor='Intel'>Cooperlake-v2</model> <model usable='no' vendor='Intel'>Cooperlake</model> 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 8e504436cf..53024eb6ac 100644 --- a/tests/domaincapsdata/qemu_8.2.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.2.0-q35.x86_64.xml @@ -134,6 +134,7 @@ <model usable='yes' vendor='AMD'>EPYC-IBPB</model> <model usable='no' vendor='AMD'>EPYC-Genoa</model> <model usable='yes' vendor='AMD'>EPYC</model> + <model usable='no' vendor='Hygon'>Dhyana-v2</model> <model usable='yes' vendor='Hygon'>Dhyana</model> <model usable='no' vendor='Intel'>Cooperlake-v2</model> <model usable='no' vendor='Intel'>Cooperlake</model> 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 7f0b057d97..73461c324a 100644 --- a/tests/domaincapsdata/qemu_8.2.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.2.0-tcg.x86_64.xml @@ -133,6 +133,7 @@ <model usable='no' vendor='AMD'>EPYC-IBPB</model> <model usable='no' vendor='AMD'>EPYC-Genoa</model> <model usable='no' vendor='AMD'>EPYC</model> + <model usable='no' vendor='Hygon'>Dhyana-v2</model> <model usable='no' vendor='Hygon'>Dhyana</model> <model usable='no' vendor='Intel'>Cooperlake-v2</model> <model usable='no' vendor='Intel'>Cooperlake</model> diff --git a/tests/domaincapsdata/qemu_8.2.0.x86_64.xml b/tests/domaincapsdata/qemu_8.2.0.x86_64.xml index 0f43f5b543..37ff19df08 100644 --- a/tests/domaincapsdata/qemu_8.2.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.2.0.x86_64.xml @@ -133,6 +133,7 @@ <model usable='yes' vendor='AMD'>EPYC-IBPB</model> <model usable='no' vendor='AMD'>EPYC-Genoa</model> <model usable='yes' vendor='AMD'>EPYC</model> + <model usable='no' vendor='Hygon'>Dhyana-v2</model> <model usable='yes' vendor='Hygon'>Dhyana</model> <model usable='no' vendor='Intel'>Cooperlake-v2</model> <model usable='no' vendor='Intel'>Cooperlake</model> -- 2.41.0

polite ping On 12/15/23 4:11 PM, Jonathon Jongsma wrote:
For SEV-SNP support we will need to be able to specify versioned CPU models that are not yet available in libvirt. Rather than just adding a versioned CPU or two that would satisfy that immediate need, I decided to try to add versioned CPUs in a more standard way. This series generates CPU definitions for all cpu versions that are defined in upstream qemu (at least for recent Intel and AMD CPUs).
libvirt already provides a select subset of these versions as configurable CPU models. But we only include the ones that have defined aliases in qemu, such as EPYC-IBPB. After this patchset, all verisioned cpu models supported by qemu will be available in libvirt.
In addition to adding these new versioned models, based on feedback from Daniel Berrange, I've also translated all CPU model aliases to a specific version when specifying a CPU model to qemu. This means that we will no longer specify e.g. '-cpu EPYC' to qemu, but will rather specify '-cpu EPYC-v1'
Changes in v3: - handle unversioned aliases
Changes in v2: - don't make any changes to existing CPU models - drop concept of aliases from libvirt and only provide new versioned models that aren't already available via their qemu alias.
Jonathon Jongsma (12): cpu_map: update script to handle versioned CPUs cpu_map: add canonical names to existing CPU models cpu: parse the canonical name from the cpu model qemu: use canonical name for CPU models cpu_map: Add versioned EPYC CPUs cpu_map: Add versioned Intel Skylake CPUs cpu_map: Add versioned Intel Cascadelake CPUs cpu_map: Add versioned Intel Icelake CPUs cpu_map: Add versioned Intel Cooperlake CPUs cpu_map: Add versioned Intel Snowridge CPUs cpu_map: Add versioned Intel SapphireRapids CPUs cpu_map: Add versioned Dhyana CPUs
src/conf/cpu_conf.c | 3 + src/conf/cpu_conf.h | 1 + src/cpu/cpu_x86.c | 24 ++++ src/cpu_map/index.xml | 22 +++ src/cpu_map/meson.build | 22 +++ src/cpu_map/sync_qemu_models_i386.py | 42 ++++-- src/cpu_map/x86_Broadwell-IBRS.xml | 1 + src/cpu_map/x86_Broadwell-noTSX-IBRS.xml | 1 + src/cpu_map/x86_Broadwell-noTSX.xml | 1 + src/cpu_map/x86_Broadwell.xml | 1 + src/cpu_map/x86_Cascadelake-Server-noTSX.xml | 1 + src/cpu_map/x86_Cascadelake-Server-v2.xml | 93 +++++++++++++ src/cpu_map/x86_Cascadelake-Server-v4.xml | 91 +++++++++++++ src/cpu_map/x86_Cascadelake-Server-v5.xml | 92 +++++++++++++ src/cpu_map/x86_Cascadelake-Server.xml | 1 + src/cpu_map/x86_Cooperlake-v2.xml | 98 ++++++++++++++ src/cpu_map/x86_Cooperlake.xml | 1 + src/cpu_map/x86_Dhyana-v2.xml | 81 ++++++++++++ src/cpu_map/x86_Dhyana.xml | 1 + src/cpu_map/x86_EPYC-IBPB.xml | 1 + src/cpu_map/x86_EPYC-Milan-v2.xml | 108 +++++++++++++++ src/cpu_map/x86_EPYC-Milan.xml | 1 + src/cpu_map/x86_EPYC-Rome-v2.xml | 93 +++++++++++++ src/cpu_map/x86_EPYC-Rome-v3.xml | 95 +++++++++++++ src/cpu_map/x86_EPYC-Rome-v4.xml | 94 +++++++++++++ src/cpu_map/x86_EPYC-Rome.xml | 1 + src/cpu_map/x86_EPYC-v3.xml | 87 ++++++++++++ src/cpu_map/x86_EPYC-v4.xml | 88 ++++++++++++ src/cpu_map/x86_EPYC.xml | 1 + src/cpu_map/x86_Haswell-IBRS.xml | 1 + src/cpu_map/x86_Haswell-noTSX-IBRS.xml | 1 + src/cpu_map/x86_Haswell-noTSX.xml | 1 + src/cpu_map/x86_Haswell.xml | 1 + src/cpu_map/x86_Icelake-Server-noTSX.xml | 1 + src/cpu_map/x86_Icelake-Server-v3.xml | 103 +++++++++++++++ src/cpu_map/x86_Icelake-Server-v4.xml | 108 +++++++++++++++ src/cpu_map/x86_Icelake-Server-v5.xml | 109 +++++++++++++++ src/cpu_map/x86_Icelake-Server-v6.xml | 109 +++++++++++++++ src/cpu_map/x86_Icelake-Server.xml | 1 + src/cpu_map/x86_IvyBridge-IBRS.xml | 1 + src/cpu_map/x86_IvyBridge.xml | 1 + src/cpu_map/x86_Nehalem-IBRS.xml | 1 + src/cpu_map/x86_Nehalem.xml | 1 + src/cpu_map/x86_SandyBridge-IBRS.xml | 1 + src/cpu_map/x86_SandyBridge.xml | 1 + src/cpu_map/x86_SapphireRapids-v2.xml | 125 ++++++++++++++++++ src/cpu_map/x86_SapphireRapids.xml | 1 + src/cpu_map/x86_Skylake-Client-IBRS.xml | 1 + src/cpu_map/x86_Skylake-Client-noTSX-IBRS.xml | 1 + src/cpu_map/x86_Skylake-Client-v4.xml | 77 +++++++++++ src/cpu_map/x86_Skylake-Client.xml | 1 + src/cpu_map/x86_Skylake-Server-IBRS.xml | 1 + src/cpu_map/x86_Skylake-Server-noTSX-IBRS.xml | 1 + src/cpu_map/x86_Skylake-Server-v4.xml | 83 ++++++++++++ src/cpu_map/x86_Skylake-Server-v5.xml | 85 ++++++++++++ src/cpu_map/x86_Skylake-Server.xml | 1 + src/cpu_map/x86_Snowridge-v2.xml | 78 +++++++++++ src/cpu_map/x86_Snowridge-v3.xml | 80 +++++++++++ src/cpu_map/x86_Snowridge-v4.xml | 78 +++++++++++ src/cpu_map/x86_Snowridge.xml | 1 + src/cpu_map/x86_Westmere-IBRS.xml | 1 + src/cpu_map/x86_Westmere.xml | 1 + src/qemu/qemu_command.c | 5 +- .../x86_64-cpuid-Atom-P5362-guest.xml | 3 +- .../x86_64-cpuid-Atom-P5362-json.xml | 3 +- .../x86_64-cpuid-Cooperlake-host.xml | 3 +- .../x86_64-cpuid-EPYC-7502-32-Core-host.xml | 5 +- .../x86_64-cpuid-EPYC-7601-32-Core-guest.xml | 9 +- ...6_64-cpuid-EPYC-7601-32-Core-ibpb-host.xml | 8 +- ..._64-cpuid-Hygon-C86-7185-32-core-guest.xml | 5 +- ...6_64-cpuid-Hygon-C86-7185-32-core-host.xml | 5 +- ...6_64-cpuid-Hygon-C86-7185-32-core-json.xml | 6 +- ...4-cpuid-Ryzen-7-1800X-Eight-Core-guest.xml | 9 +- .../x86_64-cpuid-Xeon-Platinum-8268-guest.xml | 9 +- .../x86_64-cpuid-Xeon-Platinum-8268-host.xml | 9 +- .../x86_64-cpuid-Xeon-Platinum-9242-guest.xml | 9 +- .../x86_64-cpuid-Xeon-Platinum-9242-host.xml | 9 +- .../x86_64-cpuid-Xeon-Platinum-9242-json.xml | 9 +- ..._64-cpuid-baseline-Cascadelake+Icelake.xml | 9 +- ...-cpuid-baseline-Cooperlake+Cascadelake.xml | 9 +- ...6_64-cpuid-baseline-Cooperlake+Icelake.xml | 9 +- .../domaincapsdata/qemu_4.2.0-q35.x86_64.xml | 2 + .../domaincapsdata/qemu_4.2.0-tcg.x86_64.xml | 2 + tests/domaincapsdata/qemu_4.2.0.x86_64.xml | 2 + .../domaincapsdata/qemu_5.0.0-q35.x86_64.xml | 4 + .../domaincapsdata/qemu_5.0.0-tcg.x86_64.xml | 4 + tests/domaincapsdata/qemu_5.0.0.x86_64.xml | 4 + .../domaincapsdata/qemu_5.1.0-q35.x86_64.xml | 7 + .../domaincapsdata/qemu_5.1.0-tcg.x86_64.xml | 7 + tests/domaincapsdata/qemu_5.1.0.x86_64.xml | 7 + .../domaincapsdata/qemu_5.2.0-q35.x86_64.xml | 7 + .../domaincapsdata/qemu_5.2.0-tcg.x86_64.xml | 7 + tests/domaincapsdata/qemu_5.2.0.x86_64.xml | 7 + .../domaincapsdata/qemu_6.0.0-q35.x86_64.xml | 8 ++ .../domaincapsdata/qemu_6.0.0-tcg.x86_64.xml | 8 ++ tests/domaincapsdata/qemu_6.0.0.x86_64.xml | 8 ++ .../domaincapsdata/qemu_6.1.0-q35.x86_64.xml | 15 +++ .../domaincapsdata/qemu_6.1.0-tcg.x86_64.xml | 15 +++ tests/domaincapsdata/qemu_6.1.0.x86_64.xml | 15 +++ .../domaincapsdata/qemu_6.2.0-q35.x86_64.xml | 16 +++ .../domaincapsdata/qemu_6.2.0-tcg.x86_64.xml | 16 +++ tests/domaincapsdata/qemu_6.2.0.x86_64.xml | 16 +++ .../domaincapsdata/qemu_7.0.0-q35.x86_64.xml | 17 +++ .../domaincapsdata/qemu_7.0.0-tcg.x86_64.xml | 17 +++ tests/domaincapsdata/qemu_7.0.0.x86_64.xml | 17 +++ .../domaincapsdata/qemu_7.1.0-q35.x86_64.xml | 17 +++ .../domaincapsdata/qemu_7.1.0-tcg.x86_64.xml | 17 +++ tests/domaincapsdata/qemu_7.1.0.x86_64.xml | 17 +++ .../domaincapsdata/qemu_7.2.0-q35.x86_64.xml | 17 +++ .../qemu_7.2.0-tcg.x86_64+hvf.xml | 17 +++ .../domaincapsdata/qemu_7.2.0-tcg.x86_64.xml | 17 +++ tests/domaincapsdata/qemu_7.2.0.x86_64.xml | 17 +++ .../domaincapsdata/qemu_8.0.0-q35.x86_64.xml | 17 +++ .../domaincapsdata/qemu_8.0.0-tcg.x86_64.xml | 17 +++ tests/domaincapsdata/qemu_8.0.0.x86_64.xml | 17 +++ .../domaincapsdata/qemu_8.1.0-q35.x86_64.xml | 27 +++- .../domaincapsdata/qemu_8.1.0-tcg.x86_64.xml | 22 +++ tests/domaincapsdata/qemu_8.1.0.x86_64.xml | 27 +++- .../domaincapsdata/qemu_8.2.0-q35.x86_64.xml | 27 +++- .../domaincapsdata/qemu_8.2.0-tcg.x86_64.xml | 22 +++ tests/domaincapsdata/qemu_8.2.0.x86_64.xml | 27 +++- .../cpu-Haswell-noTSX.x86_64-latest.args | 2 +- .../cpu-Haswell.x86_64-latest.args | 2 +- .../cpu-Haswell2.x86_64-latest.args | 2 +- .../cpu-Haswell3.x86_64-latest.args | 2 +- ...-Icelake-Server-pconfig.x86_64-latest.args | 2 +- .../cpu-cache-disable3.x86_64-latest.args | 2 +- ...u-check-default-partial.x86_64-latest.args | 2 +- .../cpu-fallback.x86_64-5.2.0.args | 2 +- .../cpu-fallback.x86_64-8.0.0.args | 2 +- .../cpu-host-model-cmt.x86_64-latest.args | 2 +- ...-host-model-fallback-kvm.x86_64-4.2.0.args | 2 +- ...-host-model-fallback-kvm.x86_64-5.0.0.args | 2 +- ...-host-model-fallback-kvm.x86_64-5.1.0.args | 2 +- ...-host-model-fallback-kvm.x86_64-5.2.0.args | 2 +- ...-host-model-fallback-kvm.x86_64-6.0.0.args | 2 +- ...-host-model-fallback-kvm.x86_64-6.1.0.args | 2 +- ...-host-model-fallback-kvm.x86_64-6.2.0.args | 2 +- ...-host-model-fallback-kvm.x86_64-7.0.0.args | 2 +- ...-host-model-fallback-kvm.x86_64-7.1.0.args | 2 +- ...-host-model-fallback-kvm.x86_64-7.2.0.args | 2 +- ...-host-model-fallback-kvm.x86_64-8.0.0.args | 2 +- ...-host-model-fallback-kvm.x86_64-8.1.0.args | 2 +- ...host-model-fallback-kvm.x86_64-latest.args | 2 +- ...-host-model-fallback-tcg.x86_64-7.2.0.args | 2 +- ...-host-model-fallback-tcg.x86_64-8.0.0.args | 2 +- ...-host-model-fallback-tcg.x86_64-8.1.0.args | 2 +- ...host-model-fallback-tcg.x86_64-latest.args | 2 +- .../cpu-host-model-kvm.x86_64-4.2.0.args | 2 +- .../cpu-host-model-kvm.x86_64-5.0.0.args | 2 +- .../cpu-host-model-kvm.x86_64-5.1.0.args | 2 +- .../cpu-host-model-kvm.x86_64-5.2.0.args | 2 +- .../cpu-host-model-kvm.x86_64-6.0.0.args | 2 +- .../cpu-host-model-kvm.x86_64-6.1.0.args | 2 +- .../cpu-host-model-kvm.x86_64-6.2.0.args | 2 +- .../cpu-host-model-kvm.x86_64-7.0.0.args | 2 +- .../cpu-host-model-kvm.x86_64-7.1.0.args | 2 +- .../cpu-host-model-kvm.x86_64-7.2.0.args | 2 +- .../cpu-host-model-kvm.x86_64-8.0.0.args | 2 +- .../cpu-host-model-kvm.x86_64-8.1.0.args | 2 +- .../cpu-host-model-kvm.x86_64-latest.args | 2 +- ...ost-model-nofallback-kvm.x86_64-4.2.0.args | 2 +- ...ost-model-nofallback-kvm.x86_64-5.0.0.args | 2 +- ...ost-model-nofallback-kvm.x86_64-5.1.0.args | 2 +- ...ost-model-nofallback-kvm.x86_64-5.2.0.args | 2 +- ...ost-model-nofallback-kvm.x86_64-6.0.0.args | 2 +- ...ost-model-nofallback-kvm.x86_64-6.1.0.args | 2 +- ...ost-model-nofallback-kvm.x86_64-6.2.0.args | 2 +- ...ost-model-nofallback-kvm.x86_64-7.0.0.args | 2 +- ...ost-model-nofallback-kvm.x86_64-7.1.0.args | 2 +- ...ost-model-nofallback-kvm.x86_64-7.2.0.args | 2 +- ...ost-model-nofallback-kvm.x86_64-8.0.0.args | 2 +- ...ost-model-nofallback-kvm.x86_64-8.1.0.args | 2 +- ...st-model-nofallback-kvm.x86_64-latest.args | 2 +- ...ost-model-nofallback-tcg.x86_64-7.2.0.args | 2 +- ...ost-model-nofallback-tcg.x86_64-8.0.0.args | 2 +- ...ost-model-nofallback-tcg.x86_64-8.1.0.args | 2 +- ...st-model-nofallback-tcg.x86_64-latest.args | 2 +- .../cpu-host-model-tcg.x86_64-7.2.0.args | 2 +- .../cpu-host-model-tcg.x86_64-8.0.0.args | 2 +- .../cpu-host-model-tcg.x86_64-8.1.0.args | 2 +- .../cpu-host-model-tcg.x86_64-latest.args | 2 +- .../cpu-host-model-vendor.x86_64-latest.args | 2 +- .../cpu-minimum1.x86_64-latest.args | 2 +- .../cpu-minimum2.x86_64-latest.args | 2 +- .../cpu-nofallback.x86_64-8.0.0.args | 2 +- .../cpu-phys-bits-emulate2.x86_64-latest.args | 2 +- .../cpu-strict1.x86_64-latest.args | 2 +- .../cpu-translation.x86_64-latest.args | 2 +- .../cpu-tsc-frequency.x86_64-latest.args | 2 +- 190 files changed, 2837 insertions(+), 187 deletions(-) create mode 100644 src/cpu_map/x86_Cascadelake-Server-v2.xml create mode 100644 src/cpu_map/x86_Cascadelake-Server-v4.xml create mode 100644 src/cpu_map/x86_Cascadelake-Server-v5.xml create mode 100644 src/cpu_map/x86_Cooperlake-v2.xml create mode 100644 src/cpu_map/x86_Dhyana-v2.xml create mode 100644 src/cpu_map/x86_EPYC-Milan-v2.xml create mode 100644 src/cpu_map/x86_EPYC-Rome-v2.xml create mode 100644 src/cpu_map/x86_EPYC-Rome-v3.xml create mode 100644 src/cpu_map/x86_EPYC-Rome-v4.xml create mode 100644 src/cpu_map/x86_EPYC-v3.xml create mode 100644 src/cpu_map/x86_EPYC-v4.xml create mode 100644 src/cpu_map/x86_Icelake-Server-v3.xml create mode 100644 src/cpu_map/x86_Icelake-Server-v4.xml create mode 100644 src/cpu_map/x86_Icelake-Server-v5.xml create mode 100644 src/cpu_map/x86_Icelake-Server-v6.xml create mode 100644 src/cpu_map/x86_SapphireRapids-v2.xml create mode 100644 src/cpu_map/x86_Skylake-Client-v4.xml create mode 100644 src/cpu_map/x86_Skylake-Server-v4.xml create mode 100644 src/cpu_map/x86_Skylake-Server-v5.xml create mode 100644 src/cpu_map/x86_Snowridge-v2.xml create mode 100644 src/cpu_map/x86_Snowridge-v3.xml create mode 100644 src/cpu_map/x86_Snowridge-v4.xml

Ping again. On 1/11/24 3:02 PM, Jonathon Jongsma wrote:
polite ping
On 12/15/23 4:11 PM, Jonathon Jongsma wrote:
For SEV-SNP support we will need to be able to specify versioned CPU models that are not yet available in libvirt. Rather than just adding a versioned CPU or two that would satisfy that immediate need, I decided to try to add versioned CPUs in a more standard way. This series generates CPU definitions for all cpu versions that are defined in upstream qemu (at least for recent Intel and AMD CPUs).
libvirt already provides a select subset of these versions as configurable CPU models. But we only include the ones that have defined aliases in qemu, such as EPYC-IBPB. After this patchset, all verisioned cpu models supported by qemu will be available in libvirt.
In addition to adding these new versioned models, based on feedback from Daniel Berrange, I've also translated all CPU model aliases to a specific version when specifying a CPU model to qemu. This means that we will no longer specify e.g. '-cpu EPYC' to qemu, but will rather specify '-cpu EPYC-v1'
Changes in v3: - handle unversioned aliases
Changes in v2: - don't make any changes to existing CPU models - drop concept of aliases from libvirt and only provide new versioned models that aren't already available via their qemu alias.
Jonathon Jongsma (12): cpu_map: update script to handle versioned CPUs cpu_map: add canonical names to existing CPU models cpu: parse the canonical name from the cpu model qemu: use canonical name for CPU models cpu_map: Add versioned EPYC CPUs cpu_map: Add versioned Intel Skylake CPUs cpu_map: Add versioned Intel Cascadelake CPUs cpu_map: Add versioned Intel Icelake CPUs cpu_map: Add versioned Intel Cooperlake CPUs cpu_map: Add versioned Intel Snowridge CPUs cpu_map: Add versioned Intel SapphireRapids CPUs cpu_map: Add versioned Dhyana CPUs
src/conf/cpu_conf.c | 3 + src/conf/cpu_conf.h | 1 + src/cpu/cpu_x86.c | 24 ++++ src/cpu_map/index.xml | 22 +++ src/cpu_map/meson.build | 22 +++ src/cpu_map/sync_qemu_models_i386.py | 42 ++++-- src/cpu_map/x86_Broadwell-IBRS.xml | 1 + src/cpu_map/x86_Broadwell-noTSX-IBRS.xml | 1 + src/cpu_map/x86_Broadwell-noTSX.xml | 1 + src/cpu_map/x86_Broadwell.xml | 1 + src/cpu_map/x86_Cascadelake-Server-noTSX.xml | 1 + src/cpu_map/x86_Cascadelake-Server-v2.xml | 93 +++++++++++++ src/cpu_map/x86_Cascadelake-Server-v4.xml | 91 +++++++++++++ src/cpu_map/x86_Cascadelake-Server-v5.xml | 92 +++++++++++++ src/cpu_map/x86_Cascadelake-Server.xml | 1 + src/cpu_map/x86_Cooperlake-v2.xml | 98 ++++++++++++++ src/cpu_map/x86_Cooperlake.xml | 1 + src/cpu_map/x86_Dhyana-v2.xml | 81 ++++++++++++ src/cpu_map/x86_Dhyana.xml | 1 + src/cpu_map/x86_EPYC-IBPB.xml | 1 + src/cpu_map/x86_EPYC-Milan-v2.xml | 108 +++++++++++++++ src/cpu_map/x86_EPYC-Milan.xml | 1 + src/cpu_map/x86_EPYC-Rome-v2.xml | 93 +++++++++++++ src/cpu_map/x86_EPYC-Rome-v3.xml | 95 +++++++++++++ src/cpu_map/x86_EPYC-Rome-v4.xml | 94 +++++++++++++ src/cpu_map/x86_EPYC-Rome.xml | 1 + src/cpu_map/x86_EPYC-v3.xml | 87 ++++++++++++ src/cpu_map/x86_EPYC-v4.xml | 88 ++++++++++++ src/cpu_map/x86_EPYC.xml | 1 + src/cpu_map/x86_Haswell-IBRS.xml | 1 + src/cpu_map/x86_Haswell-noTSX-IBRS.xml | 1 + src/cpu_map/x86_Haswell-noTSX.xml | 1 + src/cpu_map/x86_Haswell.xml | 1 + src/cpu_map/x86_Icelake-Server-noTSX.xml | 1 + src/cpu_map/x86_Icelake-Server-v3.xml | 103 +++++++++++++++ src/cpu_map/x86_Icelake-Server-v4.xml | 108 +++++++++++++++ src/cpu_map/x86_Icelake-Server-v5.xml | 109 +++++++++++++++ src/cpu_map/x86_Icelake-Server-v6.xml | 109 +++++++++++++++ src/cpu_map/x86_Icelake-Server.xml | 1 + src/cpu_map/x86_IvyBridge-IBRS.xml | 1 + src/cpu_map/x86_IvyBridge.xml | 1 + src/cpu_map/x86_Nehalem-IBRS.xml | 1 + src/cpu_map/x86_Nehalem.xml | 1 + src/cpu_map/x86_SandyBridge-IBRS.xml | 1 + src/cpu_map/x86_SandyBridge.xml | 1 + src/cpu_map/x86_SapphireRapids-v2.xml | 125 ++++++++++++++++++ src/cpu_map/x86_SapphireRapids.xml | 1 + src/cpu_map/x86_Skylake-Client-IBRS.xml | 1 + src/cpu_map/x86_Skylake-Client-noTSX-IBRS.xml | 1 + src/cpu_map/x86_Skylake-Client-v4.xml | 77 +++++++++++ src/cpu_map/x86_Skylake-Client.xml | 1 + src/cpu_map/x86_Skylake-Server-IBRS.xml | 1 + src/cpu_map/x86_Skylake-Server-noTSX-IBRS.xml | 1 + src/cpu_map/x86_Skylake-Server-v4.xml | 83 ++++++++++++ src/cpu_map/x86_Skylake-Server-v5.xml | 85 ++++++++++++ src/cpu_map/x86_Skylake-Server.xml | 1 + src/cpu_map/x86_Snowridge-v2.xml | 78 +++++++++++ src/cpu_map/x86_Snowridge-v3.xml | 80 +++++++++++ src/cpu_map/x86_Snowridge-v4.xml | 78 +++++++++++ src/cpu_map/x86_Snowridge.xml | 1 + src/cpu_map/x86_Westmere-IBRS.xml | 1 + src/cpu_map/x86_Westmere.xml | 1 + src/qemu/qemu_command.c | 5 +- .../x86_64-cpuid-Atom-P5362-guest.xml | 3 +- .../x86_64-cpuid-Atom-P5362-json.xml | 3 +- .../x86_64-cpuid-Cooperlake-host.xml | 3 +- .../x86_64-cpuid-EPYC-7502-32-Core-host.xml | 5 +- .../x86_64-cpuid-EPYC-7601-32-Core-guest.xml | 9 +- ...6_64-cpuid-EPYC-7601-32-Core-ibpb-host.xml | 8 +- ..._64-cpuid-Hygon-C86-7185-32-core-guest.xml | 5 +- ...6_64-cpuid-Hygon-C86-7185-32-core-host.xml | 5 +- ...6_64-cpuid-Hygon-C86-7185-32-core-json.xml | 6 +- ...4-cpuid-Ryzen-7-1800X-Eight-Core-guest.xml | 9 +- .../x86_64-cpuid-Xeon-Platinum-8268-guest.xml | 9 +- .../x86_64-cpuid-Xeon-Platinum-8268-host.xml | 9 +- .../x86_64-cpuid-Xeon-Platinum-9242-guest.xml | 9 +- .../x86_64-cpuid-Xeon-Platinum-9242-host.xml | 9 +- .../x86_64-cpuid-Xeon-Platinum-9242-json.xml | 9 +- ..._64-cpuid-baseline-Cascadelake+Icelake.xml | 9 +- ...-cpuid-baseline-Cooperlake+Cascadelake.xml | 9 +- ...6_64-cpuid-baseline-Cooperlake+Icelake.xml | 9 +- .../domaincapsdata/qemu_4.2.0-q35.x86_64.xml | 2 + .../domaincapsdata/qemu_4.2.0-tcg.x86_64.xml | 2 + tests/domaincapsdata/qemu_4.2.0.x86_64.xml | 2 + .../domaincapsdata/qemu_5.0.0-q35.x86_64.xml | 4 + .../domaincapsdata/qemu_5.0.0-tcg.x86_64.xml | 4 + tests/domaincapsdata/qemu_5.0.0.x86_64.xml | 4 + .../domaincapsdata/qemu_5.1.0-q35.x86_64.xml | 7 + .../domaincapsdata/qemu_5.1.0-tcg.x86_64.xml | 7 + tests/domaincapsdata/qemu_5.1.0.x86_64.xml | 7 + .../domaincapsdata/qemu_5.2.0-q35.x86_64.xml | 7 + .../domaincapsdata/qemu_5.2.0-tcg.x86_64.xml | 7 + tests/domaincapsdata/qemu_5.2.0.x86_64.xml | 7 + .../domaincapsdata/qemu_6.0.0-q35.x86_64.xml | 8 ++ .../domaincapsdata/qemu_6.0.0-tcg.x86_64.xml | 8 ++ tests/domaincapsdata/qemu_6.0.0.x86_64.xml | 8 ++ .../domaincapsdata/qemu_6.1.0-q35.x86_64.xml | 15 +++ .../domaincapsdata/qemu_6.1.0-tcg.x86_64.xml | 15 +++ tests/domaincapsdata/qemu_6.1.0.x86_64.xml | 15 +++ .../domaincapsdata/qemu_6.2.0-q35.x86_64.xml | 16 +++ .../domaincapsdata/qemu_6.2.0-tcg.x86_64.xml | 16 +++ tests/domaincapsdata/qemu_6.2.0.x86_64.xml | 16 +++ .../domaincapsdata/qemu_7.0.0-q35.x86_64.xml | 17 +++ .../domaincapsdata/qemu_7.0.0-tcg.x86_64.xml | 17 +++ tests/domaincapsdata/qemu_7.0.0.x86_64.xml | 17 +++ .../domaincapsdata/qemu_7.1.0-q35.x86_64.xml | 17 +++ .../domaincapsdata/qemu_7.1.0-tcg.x86_64.xml | 17 +++ tests/domaincapsdata/qemu_7.1.0.x86_64.xml | 17 +++ .../domaincapsdata/qemu_7.2.0-q35.x86_64.xml | 17 +++ .../qemu_7.2.0-tcg.x86_64+hvf.xml | 17 +++ .../domaincapsdata/qemu_7.2.0-tcg.x86_64.xml | 17 +++ tests/domaincapsdata/qemu_7.2.0.x86_64.xml | 17 +++ .../domaincapsdata/qemu_8.0.0-q35.x86_64.xml | 17 +++ .../domaincapsdata/qemu_8.0.0-tcg.x86_64.xml | 17 +++ tests/domaincapsdata/qemu_8.0.0.x86_64.xml | 17 +++ .../domaincapsdata/qemu_8.1.0-q35.x86_64.xml | 27 +++- .../domaincapsdata/qemu_8.1.0-tcg.x86_64.xml | 22 +++ tests/domaincapsdata/qemu_8.1.0.x86_64.xml | 27 +++- .../domaincapsdata/qemu_8.2.0-q35.x86_64.xml | 27 +++- .../domaincapsdata/qemu_8.2.0-tcg.x86_64.xml | 22 +++ tests/domaincapsdata/qemu_8.2.0.x86_64.xml | 27 +++- .../cpu-Haswell-noTSX.x86_64-latest.args | 2 +- .../cpu-Haswell.x86_64-latest.args | 2 +- .../cpu-Haswell2.x86_64-latest.args | 2 +- .../cpu-Haswell3.x86_64-latest.args | 2 +- ...-Icelake-Server-pconfig.x86_64-latest.args | 2 +- .../cpu-cache-disable3.x86_64-latest.args | 2 +- ...u-check-default-partial.x86_64-latest.args | 2 +- .../cpu-fallback.x86_64-5.2.0.args | 2 +- .../cpu-fallback.x86_64-8.0.0.args | 2 +- .../cpu-host-model-cmt.x86_64-latest.args | 2 +- ...-host-model-fallback-kvm.x86_64-4.2.0.args | 2 +- ...-host-model-fallback-kvm.x86_64-5.0.0.args | 2 +- ...-host-model-fallback-kvm.x86_64-5.1.0.args | 2 +- ...-host-model-fallback-kvm.x86_64-5.2.0.args | 2 +- ...-host-model-fallback-kvm.x86_64-6.0.0.args | 2 +- ...-host-model-fallback-kvm.x86_64-6.1.0.args | 2 +- ...-host-model-fallback-kvm.x86_64-6.2.0.args | 2 +- ...-host-model-fallback-kvm.x86_64-7.0.0.args | 2 +- ...-host-model-fallback-kvm.x86_64-7.1.0.args | 2 +- ...-host-model-fallback-kvm.x86_64-7.2.0.args | 2 +- ...-host-model-fallback-kvm.x86_64-8.0.0.args | 2 +- ...-host-model-fallback-kvm.x86_64-8.1.0.args | 2 +- ...host-model-fallback-kvm.x86_64-latest.args | 2 +- ...-host-model-fallback-tcg.x86_64-7.2.0.args | 2 +- ...-host-model-fallback-tcg.x86_64-8.0.0.args | 2 +- ...-host-model-fallback-tcg.x86_64-8.1.0.args | 2 +- ...host-model-fallback-tcg.x86_64-latest.args | 2 +- .../cpu-host-model-kvm.x86_64-4.2.0.args | 2 +- .../cpu-host-model-kvm.x86_64-5.0.0.args | 2 +- .../cpu-host-model-kvm.x86_64-5.1.0.args | 2 +- .../cpu-host-model-kvm.x86_64-5.2.0.args | 2 +- .../cpu-host-model-kvm.x86_64-6.0.0.args | 2 +- .../cpu-host-model-kvm.x86_64-6.1.0.args | 2 +- .../cpu-host-model-kvm.x86_64-6.2.0.args | 2 +- .../cpu-host-model-kvm.x86_64-7.0.0.args | 2 +- .../cpu-host-model-kvm.x86_64-7.1.0.args | 2 +- .../cpu-host-model-kvm.x86_64-7.2.0.args | 2 +- .../cpu-host-model-kvm.x86_64-8.0.0.args | 2 +- .../cpu-host-model-kvm.x86_64-8.1.0.args | 2 +- .../cpu-host-model-kvm.x86_64-latest.args | 2 +- ...ost-model-nofallback-kvm.x86_64-4.2.0.args | 2 +- ...ost-model-nofallback-kvm.x86_64-5.0.0.args | 2 +- ...ost-model-nofallback-kvm.x86_64-5.1.0.args | 2 +- ...ost-model-nofallback-kvm.x86_64-5.2.0.args | 2 +- ...ost-model-nofallback-kvm.x86_64-6.0.0.args | 2 +- ...ost-model-nofallback-kvm.x86_64-6.1.0.args | 2 +- ...ost-model-nofallback-kvm.x86_64-6.2.0.args | 2 +- ...ost-model-nofallback-kvm.x86_64-7.0.0.args | 2 +- ...ost-model-nofallback-kvm.x86_64-7.1.0.args | 2 +- ...ost-model-nofallback-kvm.x86_64-7.2.0.args | 2 +- ...ost-model-nofallback-kvm.x86_64-8.0.0.args | 2 +- ...ost-model-nofallback-kvm.x86_64-8.1.0.args | 2 +- ...st-model-nofallback-kvm.x86_64-latest.args | 2 +- ...ost-model-nofallback-tcg.x86_64-7.2.0.args | 2 +- ...ost-model-nofallback-tcg.x86_64-8.0.0.args | 2 +- ...ost-model-nofallback-tcg.x86_64-8.1.0.args | 2 +- ...st-model-nofallback-tcg.x86_64-latest.args | 2 +- .../cpu-host-model-tcg.x86_64-7.2.0.args | 2 +- .../cpu-host-model-tcg.x86_64-8.0.0.args | 2 +- .../cpu-host-model-tcg.x86_64-8.1.0.args | 2 +- .../cpu-host-model-tcg.x86_64-latest.args | 2 +- .../cpu-host-model-vendor.x86_64-latest.args | 2 +- .../cpu-minimum1.x86_64-latest.args | 2 +- .../cpu-minimum2.x86_64-latest.args | 2 +- .../cpu-nofallback.x86_64-8.0.0.args | 2 +- .../cpu-phys-bits-emulate2.x86_64-latest.args | 2 +- .../cpu-strict1.x86_64-latest.args | 2 +- .../cpu-translation.x86_64-latest.args | 2 +- .../cpu-tsc-frequency.x86_64-latest.args | 2 +- 190 files changed, 2837 insertions(+), 187 deletions(-) create mode 100644 src/cpu_map/x86_Cascadelake-Server-v2.xml create mode 100644 src/cpu_map/x86_Cascadelake-Server-v4.xml create mode 100644 src/cpu_map/x86_Cascadelake-Server-v5.xml create mode 100644 src/cpu_map/x86_Cooperlake-v2.xml create mode 100644 src/cpu_map/x86_Dhyana-v2.xml create mode 100644 src/cpu_map/x86_EPYC-Milan-v2.xml create mode 100644 src/cpu_map/x86_EPYC-Rome-v2.xml create mode 100644 src/cpu_map/x86_EPYC-Rome-v3.xml create mode 100644 src/cpu_map/x86_EPYC-Rome-v4.xml create mode 100644 src/cpu_map/x86_EPYC-v3.xml create mode 100644 src/cpu_map/x86_EPYC-v4.xml create mode 100644 src/cpu_map/x86_Icelake-Server-v3.xml create mode 100644 src/cpu_map/x86_Icelake-Server-v4.xml create mode 100644 src/cpu_map/x86_Icelake-Server-v5.xml create mode 100644 src/cpu_map/x86_Icelake-Server-v6.xml create mode 100644 src/cpu_map/x86_SapphireRapids-v2.xml create mode 100644 src/cpu_map/x86_Skylake-Client-v4.xml create mode 100644 src/cpu_map/x86_Skylake-Server-v4.xml create mode 100644 src/cpu_map/x86_Skylake-Server-v5.xml create mode 100644 src/cpu_map/x86_Snowridge-v2.xml create mode 100644 src/cpu_map/x86_Snowridge-v3.xml create mode 100644 src/cpu_map/x86_Snowridge-v4.xml

Hi Jonathon, I don't have any expertise in this area of libvirt, but I have been experimenting with your patches and fairly recent snp-enabled kernel+ovmf+qemu referenced from AMD's AMDSEV repo https://github.com/AMDESE/AMDSEV/blob/snp-latest/stable-commits With your patches and 2 preliminarly SNP patches on top, I'm able to start SNP guests using <cpu> <model>EPYC-v4</model> </cpu> A git branch containing the work on fairly recent libvirt.git master is here https://gitlab.com/jfehlig/libvirt/-/tree/cpu-versions-plus-snp?ref_type=hea... I can take a closer look at the series when I return next week, but so far functional testing has been positive. Regards, Jim On 12/15/23 15:11, Jonathon Jongsma wrote:
For SEV-SNP support we will need to be able to specify versioned CPU models that are not yet available in libvirt. Rather than just adding a versioned CPU or two that would satisfy that immediate need, I decided to try to add versioned CPUs in a more standard way. This series generates CPU definitions for all cpu versions that are defined in upstream qemu (at least for recent Intel and AMD CPUs).
libvirt already provides a select subset of these versions as configurable CPU models. But we only include the ones that have defined aliases in qemu, such as EPYC-IBPB. After this patchset, all verisioned cpu models supported by qemu will be available in libvirt.
In addition to adding these new versioned models, based on feedback from Daniel Berrange, I've also translated all CPU model aliases to a specific version when specifying a CPU model to qemu. This means that we will no longer specify e.g. '-cpu EPYC' to qemu, but will rather specify '-cpu EPYC-v1'
Changes in v3: - handle unversioned aliases
Changes in v2: - don't make any changes to existing CPU models - drop concept of aliases from libvirt and only provide new versioned models that aren't already available via their qemu alias.
Jonathon Jongsma (12): cpu_map: update script to handle versioned CPUs cpu_map: add canonical names to existing CPU models cpu: parse the canonical name from the cpu model qemu: use canonical name for CPU models cpu_map: Add versioned EPYC CPUs cpu_map: Add versioned Intel Skylake CPUs cpu_map: Add versioned Intel Cascadelake CPUs cpu_map: Add versioned Intel Icelake CPUs cpu_map: Add versioned Intel Cooperlake CPUs cpu_map: Add versioned Intel Snowridge CPUs cpu_map: Add versioned Intel SapphireRapids CPUs cpu_map: Add versioned Dhyana CPUs
src/conf/cpu_conf.c | 3 + src/conf/cpu_conf.h | 1 + src/cpu/cpu_x86.c | 24 ++++ src/cpu_map/index.xml | 22 +++ src/cpu_map/meson.build | 22 +++ src/cpu_map/sync_qemu_models_i386.py | 42 ++++-- src/cpu_map/x86_Broadwell-IBRS.xml | 1 + src/cpu_map/x86_Broadwell-noTSX-IBRS.xml | 1 + src/cpu_map/x86_Broadwell-noTSX.xml | 1 + src/cpu_map/x86_Broadwell.xml | 1 + src/cpu_map/x86_Cascadelake-Server-noTSX.xml | 1 + src/cpu_map/x86_Cascadelake-Server-v2.xml | 93 +++++++++++++ src/cpu_map/x86_Cascadelake-Server-v4.xml | 91 +++++++++++++ src/cpu_map/x86_Cascadelake-Server-v5.xml | 92 +++++++++++++ src/cpu_map/x86_Cascadelake-Server.xml | 1 + src/cpu_map/x86_Cooperlake-v2.xml | 98 ++++++++++++++ src/cpu_map/x86_Cooperlake.xml | 1 + src/cpu_map/x86_Dhyana-v2.xml | 81 ++++++++++++ src/cpu_map/x86_Dhyana.xml | 1 + src/cpu_map/x86_EPYC-IBPB.xml | 1 + src/cpu_map/x86_EPYC-Milan-v2.xml | 108 +++++++++++++++ src/cpu_map/x86_EPYC-Milan.xml | 1 + src/cpu_map/x86_EPYC-Rome-v2.xml | 93 +++++++++++++ src/cpu_map/x86_EPYC-Rome-v3.xml | 95 +++++++++++++ src/cpu_map/x86_EPYC-Rome-v4.xml | 94 +++++++++++++ src/cpu_map/x86_EPYC-Rome.xml | 1 + src/cpu_map/x86_EPYC-v3.xml | 87 ++++++++++++ src/cpu_map/x86_EPYC-v4.xml | 88 ++++++++++++ src/cpu_map/x86_EPYC.xml | 1 + src/cpu_map/x86_Haswell-IBRS.xml | 1 + src/cpu_map/x86_Haswell-noTSX-IBRS.xml | 1 + src/cpu_map/x86_Haswell-noTSX.xml | 1 + src/cpu_map/x86_Haswell.xml | 1 + src/cpu_map/x86_Icelake-Server-noTSX.xml | 1 + src/cpu_map/x86_Icelake-Server-v3.xml | 103 +++++++++++++++ src/cpu_map/x86_Icelake-Server-v4.xml | 108 +++++++++++++++ src/cpu_map/x86_Icelake-Server-v5.xml | 109 +++++++++++++++ src/cpu_map/x86_Icelake-Server-v6.xml | 109 +++++++++++++++ src/cpu_map/x86_Icelake-Server.xml | 1 + src/cpu_map/x86_IvyBridge-IBRS.xml | 1 + src/cpu_map/x86_IvyBridge.xml | 1 + src/cpu_map/x86_Nehalem-IBRS.xml | 1 + src/cpu_map/x86_Nehalem.xml | 1 + src/cpu_map/x86_SandyBridge-IBRS.xml | 1 + src/cpu_map/x86_SandyBridge.xml | 1 + src/cpu_map/x86_SapphireRapids-v2.xml | 125 ++++++++++++++++++ src/cpu_map/x86_SapphireRapids.xml | 1 + src/cpu_map/x86_Skylake-Client-IBRS.xml | 1 + src/cpu_map/x86_Skylake-Client-noTSX-IBRS.xml | 1 + src/cpu_map/x86_Skylake-Client-v4.xml | 77 +++++++++++ src/cpu_map/x86_Skylake-Client.xml | 1 + src/cpu_map/x86_Skylake-Server-IBRS.xml | 1 + src/cpu_map/x86_Skylake-Server-noTSX-IBRS.xml | 1 + src/cpu_map/x86_Skylake-Server-v4.xml | 83 ++++++++++++ src/cpu_map/x86_Skylake-Server-v5.xml | 85 ++++++++++++ src/cpu_map/x86_Skylake-Server.xml | 1 + src/cpu_map/x86_Snowridge-v2.xml | 78 +++++++++++ src/cpu_map/x86_Snowridge-v3.xml | 80 +++++++++++ src/cpu_map/x86_Snowridge-v4.xml | 78 +++++++++++ src/cpu_map/x86_Snowridge.xml | 1 + src/cpu_map/x86_Westmere-IBRS.xml | 1 + src/cpu_map/x86_Westmere.xml | 1 + src/qemu/qemu_command.c | 5 +- .../x86_64-cpuid-Atom-P5362-guest.xml | 3 +- .../x86_64-cpuid-Atom-P5362-json.xml | 3 +- .../x86_64-cpuid-Cooperlake-host.xml | 3 +- .../x86_64-cpuid-EPYC-7502-32-Core-host.xml | 5 +- .../x86_64-cpuid-EPYC-7601-32-Core-guest.xml | 9 +- ...6_64-cpuid-EPYC-7601-32-Core-ibpb-host.xml | 8 +- ..._64-cpuid-Hygon-C86-7185-32-core-guest.xml | 5 +- ...6_64-cpuid-Hygon-C86-7185-32-core-host.xml | 5 +- ...6_64-cpuid-Hygon-C86-7185-32-core-json.xml | 6 +- ...4-cpuid-Ryzen-7-1800X-Eight-Core-guest.xml | 9 +- .../x86_64-cpuid-Xeon-Platinum-8268-guest.xml | 9 +- .../x86_64-cpuid-Xeon-Platinum-8268-host.xml | 9 +- .../x86_64-cpuid-Xeon-Platinum-9242-guest.xml | 9 +- .../x86_64-cpuid-Xeon-Platinum-9242-host.xml | 9 +- .../x86_64-cpuid-Xeon-Platinum-9242-json.xml | 9 +- ..._64-cpuid-baseline-Cascadelake+Icelake.xml | 9 +- ...-cpuid-baseline-Cooperlake+Cascadelake.xml | 9 +- ...6_64-cpuid-baseline-Cooperlake+Icelake.xml | 9 +- .../domaincapsdata/qemu_4.2.0-q35.x86_64.xml | 2 + .../domaincapsdata/qemu_4.2.0-tcg.x86_64.xml | 2 + tests/domaincapsdata/qemu_4.2.0.x86_64.xml | 2 + .../domaincapsdata/qemu_5.0.0-q35.x86_64.xml | 4 + .../domaincapsdata/qemu_5.0.0-tcg.x86_64.xml | 4 + tests/domaincapsdata/qemu_5.0.0.x86_64.xml | 4 + .../domaincapsdata/qemu_5.1.0-q35.x86_64.xml | 7 + .../domaincapsdata/qemu_5.1.0-tcg.x86_64.xml | 7 + tests/domaincapsdata/qemu_5.1.0.x86_64.xml | 7 + .../domaincapsdata/qemu_5.2.0-q35.x86_64.xml | 7 + .../domaincapsdata/qemu_5.2.0-tcg.x86_64.xml | 7 + tests/domaincapsdata/qemu_5.2.0.x86_64.xml | 7 + .../domaincapsdata/qemu_6.0.0-q35.x86_64.xml | 8 ++ .../domaincapsdata/qemu_6.0.0-tcg.x86_64.xml | 8 ++ tests/domaincapsdata/qemu_6.0.0.x86_64.xml | 8 ++ .../domaincapsdata/qemu_6.1.0-q35.x86_64.xml | 15 +++ .../domaincapsdata/qemu_6.1.0-tcg.x86_64.xml | 15 +++ tests/domaincapsdata/qemu_6.1.0.x86_64.xml | 15 +++ .../domaincapsdata/qemu_6.2.0-q35.x86_64.xml | 16 +++ .../domaincapsdata/qemu_6.2.0-tcg.x86_64.xml | 16 +++ tests/domaincapsdata/qemu_6.2.0.x86_64.xml | 16 +++ .../domaincapsdata/qemu_7.0.0-q35.x86_64.xml | 17 +++ .../domaincapsdata/qemu_7.0.0-tcg.x86_64.xml | 17 +++ tests/domaincapsdata/qemu_7.0.0.x86_64.xml | 17 +++ .../domaincapsdata/qemu_7.1.0-q35.x86_64.xml | 17 +++ .../domaincapsdata/qemu_7.1.0-tcg.x86_64.xml | 17 +++ tests/domaincapsdata/qemu_7.1.0.x86_64.xml | 17 +++ .../domaincapsdata/qemu_7.2.0-q35.x86_64.xml | 17 +++ .../qemu_7.2.0-tcg.x86_64+hvf.xml | 17 +++ .../domaincapsdata/qemu_7.2.0-tcg.x86_64.xml | 17 +++ tests/domaincapsdata/qemu_7.2.0.x86_64.xml | 17 +++ .../domaincapsdata/qemu_8.0.0-q35.x86_64.xml | 17 +++ .../domaincapsdata/qemu_8.0.0-tcg.x86_64.xml | 17 +++ tests/domaincapsdata/qemu_8.0.0.x86_64.xml | 17 +++ .../domaincapsdata/qemu_8.1.0-q35.x86_64.xml | 27 +++- .../domaincapsdata/qemu_8.1.0-tcg.x86_64.xml | 22 +++ tests/domaincapsdata/qemu_8.1.0.x86_64.xml | 27 +++- .../domaincapsdata/qemu_8.2.0-q35.x86_64.xml | 27 +++- .../domaincapsdata/qemu_8.2.0-tcg.x86_64.xml | 22 +++ tests/domaincapsdata/qemu_8.2.0.x86_64.xml | 27 +++- .../cpu-Haswell-noTSX.x86_64-latest.args | 2 +- .../cpu-Haswell.x86_64-latest.args | 2 +- .../cpu-Haswell2.x86_64-latest.args | 2 +- .../cpu-Haswell3.x86_64-latest.args | 2 +- ...-Icelake-Server-pconfig.x86_64-latest.args | 2 +- .../cpu-cache-disable3.x86_64-latest.args | 2 +- ...u-check-default-partial.x86_64-latest.args | 2 +- .../cpu-fallback.x86_64-5.2.0.args | 2 +- .../cpu-fallback.x86_64-8.0.0.args | 2 +- .../cpu-host-model-cmt.x86_64-latest.args | 2 +- ...-host-model-fallback-kvm.x86_64-4.2.0.args | 2 +- ...-host-model-fallback-kvm.x86_64-5.0.0.args | 2 +- ...-host-model-fallback-kvm.x86_64-5.1.0.args | 2 +- ...-host-model-fallback-kvm.x86_64-5.2.0.args | 2 +- ...-host-model-fallback-kvm.x86_64-6.0.0.args | 2 +- ...-host-model-fallback-kvm.x86_64-6.1.0.args | 2 +- ...-host-model-fallback-kvm.x86_64-6.2.0.args | 2 +- ...-host-model-fallback-kvm.x86_64-7.0.0.args | 2 +- ...-host-model-fallback-kvm.x86_64-7.1.0.args | 2 +- ...-host-model-fallback-kvm.x86_64-7.2.0.args | 2 +- ...-host-model-fallback-kvm.x86_64-8.0.0.args | 2 +- ...-host-model-fallback-kvm.x86_64-8.1.0.args | 2 +- ...host-model-fallback-kvm.x86_64-latest.args | 2 +- ...-host-model-fallback-tcg.x86_64-7.2.0.args | 2 +- ...-host-model-fallback-tcg.x86_64-8.0.0.args | 2 +- ...-host-model-fallback-tcg.x86_64-8.1.0.args | 2 +- ...host-model-fallback-tcg.x86_64-latest.args | 2 +- .../cpu-host-model-kvm.x86_64-4.2.0.args | 2 +- .../cpu-host-model-kvm.x86_64-5.0.0.args | 2 +- .../cpu-host-model-kvm.x86_64-5.1.0.args | 2 +- .../cpu-host-model-kvm.x86_64-5.2.0.args | 2 +- .../cpu-host-model-kvm.x86_64-6.0.0.args | 2 +- .../cpu-host-model-kvm.x86_64-6.1.0.args | 2 +- .../cpu-host-model-kvm.x86_64-6.2.0.args | 2 +- .../cpu-host-model-kvm.x86_64-7.0.0.args | 2 +- .../cpu-host-model-kvm.x86_64-7.1.0.args | 2 +- .../cpu-host-model-kvm.x86_64-7.2.0.args | 2 +- .../cpu-host-model-kvm.x86_64-8.0.0.args | 2 +- .../cpu-host-model-kvm.x86_64-8.1.0.args | 2 +- .../cpu-host-model-kvm.x86_64-latest.args | 2 +- ...ost-model-nofallback-kvm.x86_64-4.2.0.args | 2 +- ...ost-model-nofallback-kvm.x86_64-5.0.0.args | 2 +- ...ost-model-nofallback-kvm.x86_64-5.1.0.args | 2 +- ...ost-model-nofallback-kvm.x86_64-5.2.0.args | 2 +- ...ost-model-nofallback-kvm.x86_64-6.0.0.args | 2 +- ...ost-model-nofallback-kvm.x86_64-6.1.0.args | 2 +- ...ost-model-nofallback-kvm.x86_64-6.2.0.args | 2 +- ...ost-model-nofallback-kvm.x86_64-7.0.0.args | 2 +- ...ost-model-nofallback-kvm.x86_64-7.1.0.args | 2 +- ...ost-model-nofallback-kvm.x86_64-7.2.0.args | 2 +- ...ost-model-nofallback-kvm.x86_64-8.0.0.args | 2 +- ...ost-model-nofallback-kvm.x86_64-8.1.0.args | 2 +- ...st-model-nofallback-kvm.x86_64-latest.args | 2 +- ...ost-model-nofallback-tcg.x86_64-7.2.0.args | 2 +- ...ost-model-nofallback-tcg.x86_64-8.0.0.args | 2 +- ...ost-model-nofallback-tcg.x86_64-8.1.0.args | 2 +- ...st-model-nofallback-tcg.x86_64-latest.args | 2 +- .../cpu-host-model-tcg.x86_64-7.2.0.args | 2 +- .../cpu-host-model-tcg.x86_64-8.0.0.args | 2 +- .../cpu-host-model-tcg.x86_64-8.1.0.args | 2 +- .../cpu-host-model-tcg.x86_64-latest.args | 2 +- .../cpu-host-model-vendor.x86_64-latest.args | 2 +- .../cpu-minimum1.x86_64-latest.args | 2 +- .../cpu-minimum2.x86_64-latest.args | 2 +- .../cpu-nofallback.x86_64-8.0.0.args | 2 +- .../cpu-phys-bits-emulate2.x86_64-latest.args | 2 +- .../cpu-strict1.x86_64-latest.args | 2 +- .../cpu-translation.x86_64-latest.args | 2 +- .../cpu-tsc-frequency.x86_64-latest.args | 2 +- 190 files changed, 2837 insertions(+), 187 deletions(-) create mode 100644 src/cpu_map/x86_Cascadelake-Server-v2.xml create mode 100644 src/cpu_map/x86_Cascadelake-Server-v4.xml create mode 100644 src/cpu_map/x86_Cascadelake-Server-v5.xml create mode 100644 src/cpu_map/x86_Cooperlake-v2.xml create mode 100644 src/cpu_map/x86_Dhyana-v2.xml create mode 100644 src/cpu_map/x86_EPYC-Milan-v2.xml create mode 100644 src/cpu_map/x86_EPYC-Rome-v2.xml create mode 100644 src/cpu_map/x86_EPYC-Rome-v3.xml create mode 100644 src/cpu_map/x86_EPYC-Rome-v4.xml create mode 100644 src/cpu_map/x86_EPYC-v3.xml create mode 100644 src/cpu_map/x86_EPYC-v4.xml create mode 100644 src/cpu_map/x86_Icelake-Server-v3.xml create mode 100644 src/cpu_map/x86_Icelake-Server-v4.xml create mode 100644 src/cpu_map/x86_Icelake-Server-v5.xml create mode 100644 src/cpu_map/x86_Icelake-Server-v6.xml create mode 100644 src/cpu_map/x86_SapphireRapids-v2.xml create mode 100644 src/cpu_map/x86_Skylake-Client-v4.xml create mode 100644 src/cpu_map/x86_Skylake-Server-v4.xml create mode 100644 src/cpu_map/x86_Skylake-Server-v5.xml create mode 100644 src/cpu_map/x86_Snowridge-v2.xml create mode 100644 src/cpu_map/x86_Snowridge-v3.xml create mode 100644 src/cpu_map/x86_Snowridge-v4.xml

On 2/15/24 3:23 PM, Jim Fehlig wrote:
Hi Jonathon,
I don't have any expertise in this area of libvirt, but I have been experimenting with your patches and fairly recent snp-enabled kernel+ovmf+qemu referenced from AMD's AMDSEV repo
https://github.com/AMDESE/AMDSEV/blob/snp-latest/stable-commits
With your patches and 2 preliminarly SNP patches on top, I'm able to start SNP guests using
<cpu> <model>EPYC-v4</model> </cpu>
A git branch containing the work on fairly recent libvirt.git master is here
https://gitlab.com/jfehlig/libvirt/-/tree/cpu-versions-plus-snp?ref_type=hea...
I can take a closer look at the series when I return next week, but so far functional testing has been positive.
Regards, Jim
Thanks for the feedback. FYI, I do also have a WIP sev-snp branch for libvirt in my personal repository as well. I haven't posted any patches here yet because it's still in progress and because it builds on some qemu stuff that's not upstream yet (both the AMD repo and some coconut-svsm stuff). But it's here if you're interested: https://gitlab.com/jjongsma/libvirt/-/tree/sev-snp?ref_type=heads Jonathon
On 12/15/23 15:11, Jonathon Jongsma wrote:
For SEV-SNP support we will need to be able to specify versioned CPU models that are not yet available in libvirt. Rather than just adding a versioned CPU or two that would satisfy that immediate need, I decided to try to add versioned CPUs in a more standard way. This series generates CPU definitions for all cpu versions that are defined in upstream qemu (at least for recent Intel and AMD CPUs).
libvirt already provides a select subset of these versions as configurable CPU models. But we only include the ones that have defined aliases in qemu, such as EPYC-IBPB. After this patchset, all verisioned cpu models supported by qemu will be available in libvirt.
In addition to adding these new versioned models, based on feedback from Daniel Berrange, I've also translated all CPU model aliases to a specific version when specifying a CPU model to qemu. This means that we will no longer specify e.g. '-cpu EPYC' to qemu, but will rather specify '-cpu EPYC-v1'
Changes in v3: - handle unversioned aliases
Changes in v2: - don't make any changes to existing CPU models - drop concept of aliases from libvirt and only provide new versioned models that aren't already available via their qemu alias.
Jonathon Jongsma (12): cpu_map: update script to handle versioned CPUs cpu_map: add canonical names to existing CPU models cpu: parse the canonical name from the cpu model qemu: use canonical name for CPU models cpu_map: Add versioned EPYC CPUs cpu_map: Add versioned Intel Skylake CPUs cpu_map: Add versioned Intel Cascadelake CPUs cpu_map: Add versioned Intel Icelake CPUs cpu_map: Add versioned Intel Cooperlake CPUs cpu_map: Add versioned Intel Snowridge CPUs cpu_map: Add versioned Intel SapphireRapids CPUs cpu_map: Add versioned Dhyana CPUs
src/conf/cpu_conf.c | 3 + src/conf/cpu_conf.h | 1 + src/cpu/cpu_x86.c | 24 ++++ src/cpu_map/index.xml | 22 +++ src/cpu_map/meson.build | 22 +++ src/cpu_map/sync_qemu_models_i386.py | 42 ++++-- src/cpu_map/x86_Broadwell-IBRS.xml | 1 + src/cpu_map/x86_Broadwell-noTSX-IBRS.xml | 1 + src/cpu_map/x86_Broadwell-noTSX.xml | 1 + src/cpu_map/x86_Broadwell.xml | 1 + src/cpu_map/x86_Cascadelake-Server-noTSX.xml | 1 + src/cpu_map/x86_Cascadelake-Server-v2.xml | 93 +++++++++++++ src/cpu_map/x86_Cascadelake-Server-v4.xml | 91 +++++++++++++ src/cpu_map/x86_Cascadelake-Server-v5.xml | 92 +++++++++++++ src/cpu_map/x86_Cascadelake-Server.xml | 1 + src/cpu_map/x86_Cooperlake-v2.xml | 98 ++++++++++++++ src/cpu_map/x86_Cooperlake.xml | 1 + src/cpu_map/x86_Dhyana-v2.xml | 81 ++++++++++++ src/cpu_map/x86_Dhyana.xml | 1 + src/cpu_map/x86_EPYC-IBPB.xml | 1 + src/cpu_map/x86_EPYC-Milan-v2.xml | 108 +++++++++++++++ src/cpu_map/x86_EPYC-Milan.xml | 1 + src/cpu_map/x86_EPYC-Rome-v2.xml | 93 +++++++++++++ src/cpu_map/x86_EPYC-Rome-v3.xml | 95 +++++++++++++ src/cpu_map/x86_EPYC-Rome-v4.xml | 94 +++++++++++++ src/cpu_map/x86_EPYC-Rome.xml | 1 + src/cpu_map/x86_EPYC-v3.xml | 87 ++++++++++++ src/cpu_map/x86_EPYC-v4.xml | 88 ++++++++++++ src/cpu_map/x86_EPYC.xml | 1 + src/cpu_map/x86_Haswell-IBRS.xml | 1 + src/cpu_map/x86_Haswell-noTSX-IBRS.xml | 1 + src/cpu_map/x86_Haswell-noTSX.xml | 1 + src/cpu_map/x86_Haswell.xml | 1 + src/cpu_map/x86_Icelake-Server-noTSX.xml | 1 + src/cpu_map/x86_Icelake-Server-v3.xml | 103 +++++++++++++++ src/cpu_map/x86_Icelake-Server-v4.xml | 108 +++++++++++++++ src/cpu_map/x86_Icelake-Server-v5.xml | 109 +++++++++++++++ src/cpu_map/x86_Icelake-Server-v6.xml | 109 +++++++++++++++ src/cpu_map/x86_Icelake-Server.xml | 1 + src/cpu_map/x86_IvyBridge-IBRS.xml | 1 + src/cpu_map/x86_IvyBridge.xml | 1 + src/cpu_map/x86_Nehalem-IBRS.xml | 1 + src/cpu_map/x86_Nehalem.xml | 1 + src/cpu_map/x86_SandyBridge-IBRS.xml | 1 + src/cpu_map/x86_SandyBridge.xml | 1 + src/cpu_map/x86_SapphireRapids-v2.xml | 125 ++++++++++++++++++ src/cpu_map/x86_SapphireRapids.xml | 1 + src/cpu_map/x86_Skylake-Client-IBRS.xml | 1 + src/cpu_map/x86_Skylake-Client-noTSX-IBRS.xml | 1 + src/cpu_map/x86_Skylake-Client-v4.xml | 77 +++++++++++ src/cpu_map/x86_Skylake-Client.xml | 1 + src/cpu_map/x86_Skylake-Server-IBRS.xml | 1 + src/cpu_map/x86_Skylake-Server-noTSX-IBRS.xml | 1 + src/cpu_map/x86_Skylake-Server-v4.xml | 83 ++++++++++++ src/cpu_map/x86_Skylake-Server-v5.xml | 85 ++++++++++++ src/cpu_map/x86_Skylake-Server.xml | 1 + src/cpu_map/x86_Snowridge-v2.xml | 78 +++++++++++ src/cpu_map/x86_Snowridge-v3.xml | 80 +++++++++++ src/cpu_map/x86_Snowridge-v4.xml | 78 +++++++++++ src/cpu_map/x86_Snowridge.xml | 1 + src/cpu_map/x86_Westmere-IBRS.xml | 1 + src/cpu_map/x86_Westmere.xml | 1 + src/qemu/qemu_command.c | 5 +- .../x86_64-cpuid-Atom-P5362-guest.xml | 3 +- .../x86_64-cpuid-Atom-P5362-json.xml | 3 +- .../x86_64-cpuid-Cooperlake-host.xml | 3 +- .../x86_64-cpuid-EPYC-7502-32-Core-host.xml | 5 +- .../x86_64-cpuid-EPYC-7601-32-Core-guest.xml | 9 +- ...6_64-cpuid-EPYC-7601-32-Core-ibpb-host.xml | 8 +- ..._64-cpuid-Hygon-C86-7185-32-core-guest.xml | 5 +- ...6_64-cpuid-Hygon-C86-7185-32-core-host.xml | 5 +- ...6_64-cpuid-Hygon-C86-7185-32-core-json.xml | 6 +- ...4-cpuid-Ryzen-7-1800X-Eight-Core-guest.xml | 9 +- .../x86_64-cpuid-Xeon-Platinum-8268-guest.xml | 9 +- .../x86_64-cpuid-Xeon-Platinum-8268-host.xml | 9 +- .../x86_64-cpuid-Xeon-Platinum-9242-guest.xml | 9 +- .../x86_64-cpuid-Xeon-Platinum-9242-host.xml | 9 +- .../x86_64-cpuid-Xeon-Platinum-9242-json.xml | 9 +- ..._64-cpuid-baseline-Cascadelake+Icelake.xml | 9 +- ...-cpuid-baseline-Cooperlake+Cascadelake.xml | 9 +- ...6_64-cpuid-baseline-Cooperlake+Icelake.xml | 9 +- .../domaincapsdata/qemu_4.2.0-q35.x86_64.xml | 2 + .../domaincapsdata/qemu_4.2.0-tcg.x86_64.xml | 2 + tests/domaincapsdata/qemu_4.2.0.x86_64.xml | 2 + .../domaincapsdata/qemu_5.0.0-q35.x86_64.xml | 4 + .../domaincapsdata/qemu_5.0.0-tcg.x86_64.xml | 4 + tests/domaincapsdata/qemu_5.0.0.x86_64.xml | 4 + .../domaincapsdata/qemu_5.1.0-q35.x86_64.xml | 7 + .../domaincapsdata/qemu_5.1.0-tcg.x86_64.xml | 7 + tests/domaincapsdata/qemu_5.1.0.x86_64.xml | 7 + .../domaincapsdata/qemu_5.2.0-q35.x86_64.xml | 7 + .../domaincapsdata/qemu_5.2.0-tcg.x86_64.xml | 7 + tests/domaincapsdata/qemu_5.2.0.x86_64.xml | 7 + .../domaincapsdata/qemu_6.0.0-q35.x86_64.xml | 8 ++ .../domaincapsdata/qemu_6.0.0-tcg.x86_64.xml | 8 ++ tests/domaincapsdata/qemu_6.0.0.x86_64.xml | 8 ++ .../domaincapsdata/qemu_6.1.0-q35.x86_64.xml | 15 +++ .../domaincapsdata/qemu_6.1.0-tcg.x86_64.xml | 15 +++ tests/domaincapsdata/qemu_6.1.0.x86_64.xml | 15 +++ .../domaincapsdata/qemu_6.2.0-q35.x86_64.xml | 16 +++ .../domaincapsdata/qemu_6.2.0-tcg.x86_64.xml | 16 +++ tests/domaincapsdata/qemu_6.2.0.x86_64.xml | 16 +++ .../domaincapsdata/qemu_7.0.0-q35.x86_64.xml | 17 +++ .../domaincapsdata/qemu_7.0.0-tcg.x86_64.xml | 17 +++ tests/domaincapsdata/qemu_7.0.0.x86_64.xml | 17 +++ .../domaincapsdata/qemu_7.1.0-q35.x86_64.xml | 17 +++ .../domaincapsdata/qemu_7.1.0-tcg.x86_64.xml | 17 +++ tests/domaincapsdata/qemu_7.1.0.x86_64.xml | 17 +++ .../domaincapsdata/qemu_7.2.0-q35.x86_64.xml | 17 +++ .../qemu_7.2.0-tcg.x86_64+hvf.xml | 17 +++ .../domaincapsdata/qemu_7.2.0-tcg.x86_64.xml | 17 +++ tests/domaincapsdata/qemu_7.2.0.x86_64.xml | 17 +++ .../domaincapsdata/qemu_8.0.0-q35.x86_64.xml | 17 +++ .../domaincapsdata/qemu_8.0.0-tcg.x86_64.xml | 17 +++ tests/domaincapsdata/qemu_8.0.0.x86_64.xml | 17 +++ .../domaincapsdata/qemu_8.1.0-q35.x86_64.xml | 27 +++- .../domaincapsdata/qemu_8.1.0-tcg.x86_64.xml | 22 +++ tests/domaincapsdata/qemu_8.1.0.x86_64.xml | 27 +++- .../domaincapsdata/qemu_8.2.0-q35.x86_64.xml | 27 +++- .../domaincapsdata/qemu_8.2.0-tcg.x86_64.xml | 22 +++ tests/domaincapsdata/qemu_8.2.0.x86_64.xml | 27 +++- .../cpu-Haswell-noTSX.x86_64-latest.args | 2 +- .../cpu-Haswell.x86_64-latest.args | 2 +- .../cpu-Haswell2.x86_64-latest.args | 2 +- .../cpu-Haswell3.x86_64-latest.args | 2 +- ...-Icelake-Server-pconfig.x86_64-latest.args | 2 +- .../cpu-cache-disable3.x86_64-latest.args | 2 +- ...u-check-default-partial.x86_64-latest.args | 2 +- .../cpu-fallback.x86_64-5.2.0.args | 2 +- .../cpu-fallback.x86_64-8.0.0.args | 2 +- .../cpu-host-model-cmt.x86_64-latest.args | 2 +- ...-host-model-fallback-kvm.x86_64-4.2.0.args | 2 +- ...-host-model-fallback-kvm.x86_64-5.0.0.args | 2 +- ...-host-model-fallback-kvm.x86_64-5.1.0.args | 2 +- ...-host-model-fallback-kvm.x86_64-5.2.0.args | 2 +- ...-host-model-fallback-kvm.x86_64-6.0.0.args | 2 +- ...-host-model-fallback-kvm.x86_64-6.1.0.args | 2 +- ...-host-model-fallback-kvm.x86_64-6.2.0.args | 2 +- ...-host-model-fallback-kvm.x86_64-7.0.0.args | 2 +- ...-host-model-fallback-kvm.x86_64-7.1.0.args | 2 +- ...-host-model-fallback-kvm.x86_64-7.2.0.args | 2 +- ...-host-model-fallback-kvm.x86_64-8.0.0.args | 2 +- ...-host-model-fallback-kvm.x86_64-8.1.0.args | 2 +- ...host-model-fallback-kvm.x86_64-latest.args | 2 +- ...-host-model-fallback-tcg.x86_64-7.2.0.args | 2 +- ...-host-model-fallback-tcg.x86_64-8.0.0.args | 2 +- ...-host-model-fallback-tcg.x86_64-8.1.0.args | 2 +- ...host-model-fallback-tcg.x86_64-latest.args | 2 +- .../cpu-host-model-kvm.x86_64-4.2.0.args | 2 +- .../cpu-host-model-kvm.x86_64-5.0.0.args | 2 +- .../cpu-host-model-kvm.x86_64-5.1.0.args | 2 +- .../cpu-host-model-kvm.x86_64-5.2.0.args | 2 +- .../cpu-host-model-kvm.x86_64-6.0.0.args | 2 +- .../cpu-host-model-kvm.x86_64-6.1.0.args | 2 +- .../cpu-host-model-kvm.x86_64-6.2.0.args | 2 +- .../cpu-host-model-kvm.x86_64-7.0.0.args | 2 +- .../cpu-host-model-kvm.x86_64-7.1.0.args | 2 +- .../cpu-host-model-kvm.x86_64-7.2.0.args | 2 +- .../cpu-host-model-kvm.x86_64-8.0.0.args | 2 +- .../cpu-host-model-kvm.x86_64-8.1.0.args | 2 +- .../cpu-host-model-kvm.x86_64-latest.args | 2 +- ...ost-model-nofallback-kvm.x86_64-4.2.0.args | 2 +- ...ost-model-nofallback-kvm.x86_64-5.0.0.args | 2 +- ...ost-model-nofallback-kvm.x86_64-5.1.0.args | 2 +- ...ost-model-nofallback-kvm.x86_64-5.2.0.args | 2 +- ...ost-model-nofallback-kvm.x86_64-6.0.0.args | 2 +- ...ost-model-nofallback-kvm.x86_64-6.1.0.args | 2 +- ...ost-model-nofallback-kvm.x86_64-6.2.0.args | 2 +- ...ost-model-nofallback-kvm.x86_64-7.0.0.args | 2 +- ...ost-model-nofallback-kvm.x86_64-7.1.0.args | 2 +- ...ost-model-nofallback-kvm.x86_64-7.2.0.args | 2 +- ...ost-model-nofallback-kvm.x86_64-8.0.0.args | 2 +- ...ost-model-nofallback-kvm.x86_64-8.1.0.args | 2 +- ...st-model-nofallback-kvm.x86_64-latest.args | 2 +- ...ost-model-nofallback-tcg.x86_64-7.2.0.args | 2 +- ...ost-model-nofallback-tcg.x86_64-8.0.0.args | 2 +- ...ost-model-nofallback-tcg.x86_64-8.1.0.args | 2 +- ...st-model-nofallback-tcg.x86_64-latest.args | 2 +- .../cpu-host-model-tcg.x86_64-7.2.0.args | 2 +- .../cpu-host-model-tcg.x86_64-8.0.0.args | 2 +- .../cpu-host-model-tcg.x86_64-8.1.0.args | 2 +- .../cpu-host-model-tcg.x86_64-latest.args | 2 +- .../cpu-host-model-vendor.x86_64-latest.args | 2 +- .../cpu-minimum1.x86_64-latest.args | 2 +- .../cpu-minimum2.x86_64-latest.args | 2 +- .../cpu-nofallback.x86_64-8.0.0.args | 2 +- .../cpu-phys-bits-emulate2.x86_64-latest.args | 2 +- .../cpu-strict1.x86_64-latest.args | 2 +- .../cpu-translation.x86_64-latest.args | 2 +- .../cpu-tsc-frequency.x86_64-latest.args | 2 +- 190 files changed, 2837 insertions(+), 187 deletions(-) create mode 100644 src/cpu_map/x86_Cascadelake-Server-v2.xml create mode 100644 src/cpu_map/x86_Cascadelake-Server-v4.xml create mode 100644 src/cpu_map/x86_Cascadelake-Server-v5.xml create mode 100644 src/cpu_map/x86_Cooperlake-v2.xml create mode 100644 src/cpu_map/x86_Dhyana-v2.xml create mode 100644 src/cpu_map/x86_EPYC-Milan-v2.xml create mode 100644 src/cpu_map/x86_EPYC-Rome-v2.xml create mode 100644 src/cpu_map/x86_EPYC-Rome-v3.xml create mode 100644 src/cpu_map/x86_EPYC-Rome-v4.xml create mode 100644 src/cpu_map/x86_EPYC-v3.xml create mode 100644 src/cpu_map/x86_EPYC-v4.xml create mode 100644 src/cpu_map/x86_Icelake-Server-v3.xml create mode 100644 src/cpu_map/x86_Icelake-Server-v4.xml create mode 100644 src/cpu_map/x86_Icelake-Server-v5.xml create mode 100644 src/cpu_map/x86_Icelake-Server-v6.xml create mode 100644 src/cpu_map/x86_SapphireRapids-v2.xml create mode 100644 src/cpu_map/x86_Skylake-Client-v4.xml create mode 100644 src/cpu_map/x86_Skylake-Server-v4.xml create mode 100644 src/cpu_map/x86_Skylake-Server-v5.xml create mode 100644 src/cpu_map/x86_Snowridge-v2.xml create mode 100644 src/cpu_map/x86_Snowridge-v3.xml create mode 100644 src/cpu_map/x86_Snowridge-v4.xml

On 12/15/23 15:11, Jonathon Jongsma wrote:
For SEV-SNP support we will need to be able to specify versioned CPU models that are not yet available in libvirt. Rather than just adding a versioned CPU or two that would satisfy that immediate need, I decided to try to add versioned CPUs in a more standard way. This series generates CPU definitions for all cpu versions that are defined in upstream qemu (at least for recent Intel and AMD CPUs).
libvirt already provides a select subset of these versions as configurable CPU models. But we only include the ones that have defined aliases in qemu, such as EPYC-IBPB. After this patchset, all verisioned cpu models supported by qemu will be available in libvirt.
In addition to adding these new versioned models, based on feedback from Daniel Berrange, I've also translated all CPU model aliases to a specific version when specifying a CPU model to qemu. This means that we will no longer specify e.g. '-cpu EPYC' to qemu, but will rather specify '-cpu EPYC-v1'
Changes in v3: - handle unversioned aliases
Changes in v2: - don't make any changes to existing CPU models - drop concept of aliases from libvirt and only provide new versioned models that aren't already available via their qemu alias.
Jonathon Jongsma (12): cpu_map: update script to handle versioned CPUs cpu_map: add canonical names to existing CPU models cpu: parse the canonical name from the cpu model qemu: use canonical name for CPU models cpu_map: Add versioned EPYC CPUs cpu_map: Add versioned Intel Skylake CPUs cpu_map: Add versioned Intel Cascadelake CPUs cpu_map: Add versioned Intel Icelake CPUs cpu_map: Add versioned Intel Cooperlake CPUs cpu_map: Add versioned Intel Snowridge CPUs cpu_map: Add versioned Intel SapphireRapids CPUs cpu_map: Add versioned Dhyana CPUs
This series LGTM. We'll need a consensus on the comment block in the new CPU files, and ideally the blessing of Jirka (or another with experience/history in this area) before pushing. Regardless, I think it's material for the 10.2.0 dev cycle at this point. Note I've done a fair bit of testing with these patches, plus some SEV-SNP work on top, but only on a EPYC Genoa machine. For the series: Reviewed-by: Jim Fehlig <jfehlig@suse.com> Regards, Jim
participants (3)
-
Daniel P. Berrangé
-
Jim Fehlig
-
Jonathon Jongsma