Signed-off-by: Markus Schade <markus.schade(a)hetzner.com>
---
src/cpu_map/index.xml | 1 +
src/cpu_map/meson.build | 1 +
src/cpu_map/x86_EPYC-Rome.xml | 81 +
tests/cputest.c | 1 +
...86_64-cpuid-EPYC-7502-32-Core-disabled.xml | 9 +
...x86_64-cpuid-EPYC-7502-32-Core-enabled.xml | 11 +
.../x86_64-cpuid-EPYC-7502-32-Core-guest.xml | 35 +
.../x86_64-cpuid-EPYC-7502-32-Core-host.xml | 36 +
.../x86_64-cpuid-EPYC-7502-32-Core-json.xml | 24 +
.../x86_64-cpuid-EPYC-7502-32-Core.json | 1910 +++++++++++++++++
.../x86_64-cpuid-EPYC-7502-32-Core.sig | 4 +
.../x86_64-cpuid-EPYC-7502-32-Core.xml | 66 +
...4-cpuid-Ryzen-9-3900X-12-Core-disabled.xml | 1 -
...64-cpuid-Ryzen-9-3900X-12-Core-enabled.xml | 2 +-
...6_64-cpuid-Ryzen-9-3900X-12-Core-guest.xml | 9 +-
...86_64-cpuid-Ryzen-9-3900X-12-Core-host.xml | 9 +-
...86_64-cpuid-Ryzen-9-3900X-12-Core-json.xml | 8 +-
.../x86_64-cpuid-Ryzen-9-3900X-12-Core.json | 23 +
.../x86_64-cpuid-Ryzen-9-3900X-12-Core.xml | 12 +-
19 files changed, 2212 insertions(+), 31 deletions(-)
create mode 100644 src/cpu_map/x86_EPYC-Rome.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-disabled.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-enabled.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-guest.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-host.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-json.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core.json
create mode 100644 tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core.sig
create mode 100644 tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core.xml
diff --git a/src/cpu_map/index.xml b/src/cpu_map/index.xml
index 1486a29c65..fec01f324c 100644
--- a/src/cpu_map/index.xml
+++ b/src/cpu_map/index.xml
@@ -66,6 +66,7 @@
<include filename="x86_Opteron_G5.xml"/>
<include filename="x86_EPYC.xml"/>
<include filename="x86_EPYC-IBPB.xml"/>
+ <include filename="x86_EPYC-Rome.xml"/>
<!-- Hygon CPU models -->
<include filename="x86_Dhyana.xml"/>
diff --git a/src/cpu_map/meson.build b/src/cpu_map/meson.build
index 19daa7157b..b86612b6e0 100644
--- a/src/cpu_map/meson.build
+++ b/src/cpu_map/meson.build
@@ -32,6 +32,7 @@ cpumap_data = [
'x86_Dhyana.xml',
'x86_EPYC-IBPB.xml',
'x86_EPYC.xml',
+ 'x86_EPYC-Rome.xml',
'x86_features.xml',
'x86_Haswell-IBRS.xml',
'x86_Haswell-noTSX-IBRS.xml',
diff --git a/src/cpu_map/x86_EPYC-Rome.xml b/src/cpu_map/x86_EPYC-Rome.xml
new file mode 100644
index 0000000000..41d4123917
--- /dev/null
+++ b/src/cpu_map/x86_EPYC-Rome.xml
@@ -0,0 +1,81 @@
+<cpus>
+ <model name='EPYC-Rome'>
+ <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-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='lahf_lm'/>
+ <feature name='lm'/>
+ <feature name='mca'/>
+ <feature name='mce'/>
+ <feature name='misalignsse'/>
+ <feature name='mmx'/>
+ <feature name='mmxext'/>
+ <feature name='monitor'/>
+ <feature name='movbe'/>
+ <feature name='msr'/>
+ <feature name='mtrr'/>
+ <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='vme'/>
+ <feature name='wbnoinvd'/>
+ <feature name='xgetbv1'/>
+ <feature name='xsave'/>
+ <feature name='xsavec'/>
+ <feature name='xsaveerptr'/>
+ <feature name='xsaveopt'/>
+ </model>
+</cpus>
diff --git a/tests/cputest.c b/tests/cputest.c
index 383da94938..53674f2b9a 100644
--- a/tests/cputest.c
+++ b/tests/cputest.c
@@ -1244,6 +1244,7 @@ mymain(void)
DO_TEST_CPUID(VIR_ARCH_X86_64, "Hygon-C86-7185-32-core", JSON_HOST);
DO_TEST_CPUID(VIR_ARCH_X86_64, "EPYC-7601-32-Core", JSON_HOST);
DO_TEST_CPUID(VIR_ARCH_X86_64, "EPYC-7601-32-Core-ibpb",
JSON_MODELS_REQUIRED);
+ DO_TEST_CPUID(VIR_ARCH_X86_64, "EPYC-7502-32-Core", JSON_MODELS);
DO_TEST_CPUID(VIR_ARCH_X86_64, "FX-8150", JSON_NONE);
DO_TEST_CPUID(VIR_ARCH_X86_64, "Opteron-1352", JSON_NONE);
DO_TEST_CPUID(VIR_ARCH_X86_64, "Opteron-2350", JSON_HOST);
diff --git a/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-disabled.xml
b/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-disabled.xml
new file mode 100644
index 0000000000..ca71b9efb5
--- /dev/null
+++ b/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-disabled.xml
@@ -0,0 +1,9 @@
+<!-- Features disabled by QEMU -->
+<cpudata arch='x86'>
+ <cpuid eax_in='0x00000001' ecx_in='0x00' eax='0x00000000'
ebx='0x00000000' ecx='0x08000008' edx='0x10000000'/>
+ <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000'
ebx='0x00001000' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x0000000f' ecx_in='0x01' eax='0x00000000'
ebx='0x00000000' ecx='0x00000000' edx='0x00000006'/>
+ <cpuid eax_in='0x80000001' ecx_in='0x00' eax='0x00000000'
ebx='0x00000000' ecx='0x01423408' edx='0x00000000'/>
+ <cpuid eax_in='0x80000007' ecx_in='0x00' eax='0x00000000'
ebx='0x00000000' ecx='0x00000000' edx='0x00000100'/>
+ <cpuid eax_in='0x8000000a' ecx_in='0x00' eax='0x00000000'
ebx='0x00000000' ecx='0x00000000' edx='0x000014f6'/>
+</cpudata>
diff --git a/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-enabled.xml
b/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-enabled.xml
new file mode 100644
index 0000000000..09a9952c27
--- /dev/null
+++ b/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-enabled.xml
@@ -0,0 +1,11 @@
+<!-- Features enabled by QEMU -->
+<cpudata arch='x86'>
+ <cpuid eax_in='0x00000001' ecx_in='0x00' eax='0x00000000'
ebx='0x00000000' ecx='0xf7f83203' edx='0x078bfbff'/>
+ <cpuid eax_in='0x00000006' ecx_in='0x00' eax='0x00000004'
ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000'
ebx='0x219c01ab' ecx='0x00400004' edx='0xac000000'/>
+ <cpuid eax_in='0x0000000d' ecx_in='0x01' eax='0x0000000f'
ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x80000001' ecx_in='0x00' eax='0x00000000'
ebx='0x00000000' ecx='0x008003f7' edx='0x2e500800'/>
+ <cpuid eax_in='0x80000008' ecx_in='0x00' eax='0x00000000'
ebx='0x03009205' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x8000000a' ecx_in='0x00' eax='0x00000000'
ebx='0x00000000' ecx='0x00000000' edx='0x00000009'/>
+ <msr index='0x10a' edx='0x00000000' eax='0x00000069'/>
+</cpudata>
diff --git a/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-guest.xml
b/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-guest.xml
new file mode 100644
index 0000000000..a49ef46f52
--- /dev/null
+++ b/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-guest.xml
@@ -0,0 +1,35 @@
+<cpu mode='custom' match='exact'>
+ <model fallback='forbid'>EPYC-Rome</model>
+ <vendor>AMD</vendor>
+ <feature policy='require' name='ht'/>
+ <feature policy='require' name='osxsave'/>
+ <feature policy='require' name='cmt'/>
+ <feature policy='require' name='umip'/>
+ <feature policy='require' name='xsaves'/>
+ <feature policy='require' name='mbm_total'/>
+ <feature policy='require' name='mbm_local'/>
+ <feature policy='require' name='cmp_legacy'/>
+ <feature policy='require' name='extapic'/>
+ <feature policy='require' name='ibs'/>
+ <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_nb'/>
+ <feature policy='require' name='invtsc'/>
+ <feature policy='require' name='amd-ssbd'/>
+ <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'/>
+ <feature policy='require' name='decodeassists'/>
+ <feature policy='require' name='pause-filter'/>
+ <feature policy='require' name='pfthreshold'/>
+ <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'/>
+</cpu>
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
new file mode 100644
index 0000000000..e9aea3339a
--- /dev/null
+++ b/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-host.xml
@@ -0,0 +1,36 @@
+<cpu>
+ <arch>x86_64</arch>
+ <model>EPYC-Rome</model>
+ <vendor>AMD</vendor>
+ <feature name='ht'/>
+ <feature name='osxsave'/>
+ <feature name='cmt'/>
+ <feature name='umip'/>
+ <feature name='xsaves'/>
+ <feature name='mbm_total'/>
+ <feature name='mbm_local'/>
+ <feature name='cmp_legacy'/>
+ <feature name='extapic'/>
+ <feature name='ibs'/>
+ <feature name='skinit'/>
+ <feature name='wdt'/>
+ <feature name='tce'/>
+ <feature name='topoext'/>
+ <feature name='perfctr_nb'/>
+ <feature name='invtsc'/>
+ <feature name='amd-ssbd'/>
+ <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'/>
+ <feature name='decodeassists'/>
+ <feature name='pause-filter'/>
+ <feature name='pfthreshold'/>
+ <feature name='rdctl-no'/>
+ <feature name='skip-l1dfl-vmentry'/>
+ <feature name='mds-no'/>
+ <feature name='pschange-mc-no'/>
+</cpu>
diff --git a/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-json.xml
b/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-json.xml
new file mode 100644
index 0000000000..e402b77eed
--- /dev/null
+++ b/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-json.xml
@@ -0,0 +1,24 @@
+<cpu mode='custom' match='exact'>
+ <model fallback='forbid'>EPYC-Rome</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='umip'/>
+ <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='xsaves'/>
+ <feature policy='require' name='cmp_legacy'/>
+ <feature policy='require' name='amd-ssbd'/>
+ <feature policy='require' name='virt-ssbd'/>
+ <feature policy='require' name='npt'/>
+ <feature policy='require' name='nrip-save'/>
+ <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='monitor'/>
+</cpu>
diff --git a/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core.json
b/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core.json
new file mode 100644
index 0000000000..7942096dad
--- /dev/null
+++ b/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core.json
@@ -0,0 +1,1910 @@
+{
+ "return": {
+ "model": {
+ "name": "base",
+ "props": {
+ "phys-bits": 0,
+ "vmx-entry-load-rtit-ctl": false,
+ "core-id": -1,
+ "xlevel": 2147483679,
+ "cmov": true,
+ "ia64": false,
+ "ssb-no": false,
+ "aes": true,
+ "vmx-apicv-xapic": false,
+ "mmx": true,
+ "arat": true,
+ "rdpid": true,
+ "vmx-page-walk-5": false,
+ "vmx-page-walk-4": false,
+ "vmx-desc-exit": false,
+ "gfni": false,
+ "ibrs-all": false,
+ "pause-filter": false,
+ "xsavec": true,
+ "intel-pt": false,
+ "vmx-cr8-store-exit": false,
+ "hv-frequencies": false,
+ "tsc-frequency": 0,
+ "vmx-rdseed-exit": false,
+ "xd": true,
+ "x-intel-pt-auto-level": true,
+ "hv-vendor-id": "",
+ "vmx-eptp-switching": false,
+ "kvm_asyncpf": true,
+ "kvm-asyncpf": true,
+ "perfctr_core": true,
+ "perfctr-core": true,
+ "mpx": false,
+ "avx512cd": false,
+ "pbe": false,
+ "decodeassists": false,
+ "vmx-exit-clear-bndcfgs": false,
+ "vmx-exit-load-efer": false,
+ "sse4_1": true,
+ "sse4-1": true,
+ "sse4.1": true,
+ "legacy-cache": true,
+ "family": 23,
+ "vmx-vmwrite-vmexit-fields": false,
+ "vmx-vnmi": false,
+ "vmx-true-ctls": false,
+ "host-phys-bits-limit": 0,
+ "vmx-ept-execonly": false,
+ "vmx-exit-save-efer": false,
+ "vmx-invept-all-context": false,
+ "vmware-cpuid-freq": true,
+ "wbnoinvd": true,
+ "avx512f": false,
+ "hv-runtime": false,
+ "hv-stimer-direct": false,
+ "xcrypt": false,
+ "mce": true,
+ "mca": true,
+ "msr": true,
+ "thread-id": -1,
+ "vmx-exit-load-pat": false,
+ "vmx-intr-exit": false,
+ "min-level": 16,
+ "vmx-flexpriority": false,
+ "xgetbv1": true,
+ "cid": false,
+ "hv-relaxed": false,
+ "hv-crash": false,
+ "avx512-bf16": false,
+ "ds": false,
+ "fxsr": true,
+ "vmx-cr8-load-exit": false,
+ "xsaveopt": true,
+ "vmx-apicv-vid": false,
+ "vmx-exit-save-pat": false,
+ "tsx-ctrl": false,
+ "xtpr": false,
+ "vmx-ple": false,
+ "hv-evmcs": false,
+ "avx512-vpopcntdq": false,
+ "phe": false,
+ "avx512vl": false,
+ "extapic": false,
+ "vmx-vmfunc": false,
+ "3dnowprefetch": true,
+ "vmx-activity-shutdown": false,
+ "avx512vbmi2": false,
+ "cr8legacy": true,
+ "vmx-encls-exit": false,
+ "stibp": true,
+ "vmx-msr-bitmap": false,
+ "cpuid-0xb": true,
+ "xcrypt-en": false,
+ "vmx-mwait-exit": false,
+ "kvm_pv_eoi": true,
+ "vmx-pml": false,
+ "apic-id": 4294967295,
+ "vmx-nmi-exit": false,
+ "vmx-invept-single-context-noglobals": false,
+ "pn": false,
+ "rsba": false,
+ "dca": false,
+ "hv-ipi": false,
+ "vmx-unrestricted-guest": false,
+ "vendor": "AuthenticAMD",
+ "vmx-cr3-store-noexit": false,
+ "pku": false,
+ "smx": false,
+ "cmp-legacy": true,
+ "cmp_legacy": true,
+ "node-id": -1,
+ "avx512-4fmaps": false,
+ "vmcb_clean": false,
+ "vmcb-clean": false,
+ "hle": false,
+ "amd-no-ssb": false,
+ "3dnowext": false,
+ "npt": true,
+ "rdctl-no": true,
+ "vmx-invvpid": false,
+ "memory": "/machine/unattached/system[0]",
+ "clwb": true,
+ "lbrv": false,
+ "adx": true,
+ "ss": false,
+ "pni": true,
+ "svm_lock": false,
+ "svm-lock": false,
+ "pfthreshold": false,
+ "smap": true,
+ "smep": true,
+ "vmx-invpcid-exit": false,
+ "x2apic": true,
+ "avx512vnni": false,
+ "avx512vbmi": false,
+ "vmx-apicv-x2apic": false,
+ "hv-stimer": false,
+ "kvm-pv-sched-yield": true,
+ "x-hv-synic-kvm-only": false,
+ "vmx-invlpg-exit": false,
+ "vmx-invvpid-all-context": false,
+ "i64": true,
+ "vmx-activity-hlt": false,
+ "flushbyasid": false,
+ "f16c": true,
+ "vmx-exit-ack-intr": false,
+ "ace2-en": false,
+ "pae": true,
+ "pat": true,
+ "sse": true,
+ "die-id": -1,
+ "vmx-tsc-offset": false,
+ "phe-en": false,
+ "kvm_nopiodelay": true,
+ "kvm-nopiodelay": true,
+ "tm": false,
+ "kvmclock-stable-bit": true,
+ "vmx-rdtsc-exit": false,
+ "hypervisor": true,
+ "vmx-rdtscp-exit": false,
+ "socket-id": -1,
+ "mds-no": true,
+ "pcommit": false,
+ "vmx-vpid": false,
+ "syscall": true,
+ "level": 16,
+ "x-migrate-smi-count": true,
+ "avx512dq": false,
+ "svm": true,
+ "full-cpuid-auto-level": true,
+ "hv-reset": false,
+ "invtsc": false,
+ "vmx-monitor-exit": false,
+ "sse3": true,
+ "sse2": true,
+ "ssbd": true,
+ "vmx-wbinvd-exit": false,
+ "est": false,
+ "kvm-poll-control": true,
+ "kvm_poll_control": true,
+ "avx512ifma": false,
+ "tm2": false,
+ "kvm-pv-eoi": true,
+ "kvm-pv-ipi": true,
+ "cx8": true,
+ "vmx-invvpid-single-addr": false,
+ "waitpkg": false,
+ "cldemote": false,
+ "vmx-ept": false,
+ "hv-reenlightenment": false,
+ "kvm_mmu": false,
+ "kvm-mmu": false,
+ "sse4-2": true,
+ "sse4.2": true,
+ "sse4_2": true,
+ "pge": true,
+ "fill-mtrr-mask": true,
+ "avx512bitalg": false,
+ "vmx-entry-load-bndcfgs": false,
+ "nodeid_msr": false,
+ "pdcm": false,
+ "vmx-exit-clear-rtit-ctl": false,
+ "model": 49,
+ "movbe": true,
+ "nrip_save": true,
+ "nrip-save": true,
+ "vmx-pause-exit": false,
+ "ssse3": true,
+ "kvm_pv_unhalt": true,
+ "sse4a": true,
+ "invpcid": false,
+ "pdpe1gb": true,
+ "tsc-deadline": true,
+ "skip-l1dfl-vmentry": true,
+ "vmx-exit-load-perf-global-ctrl": false,
+ "fma": true,
+ "cx16": true,
+ "de": true,
+ "enforce": false,
+ "stepping": 0,
+ "xsave": true,
+ "clflush": true,
+ "skinit": false,
+ "tsc": true,
+ "tce": false,
+ "fpu": true,
+ "ds-cpl": false,
+ "ds_cpl": false,
+ "ibs": false,
+ "host-phys-bits": false,
+ "fma4": false,
+ "vmx-exit-nosave-debugctl": false,
+ "vmx-invept": false,
+ "la57": false,
+ "osvw": true,
+ "check": true,
+ "hv-spinlocks": 4294967295,
+ "pmu": false,
+ "vmx-eptad": false,
+ "vmx-entry-noload-debugctl": false,
+ "pmm": false,
+ "apic": true,
+ "spec-ctrl": true,
+ "vmx-posted-intr": false,
+ "vmx-apicv-register": false,
+ "min-xlevel2": 0,
+ "tsc-adjust": true,
+ "tsc_adjust": true,
+ "kvm-steal-time": true,
+ "kvm_steal_time": true,
+ "kvmclock": true,
+ "vmx-zero-len-inject": false,
+ "l3-cache": true,
+ "pschange-mc-no": true,
+ "vmx-rdrand-exit": false,
+ "lwp": false,
+ "hv-passthrough": false,
+ "amd-ssbd": true,
+ "ibpb": true,
+ "xop": false,
+ "core-capability": false,
+ "avx": true,
+ "vmx-invept-single-context": false,
+ "movdiri": false,
+ "avx512bw": false,
+ "acpi": false,
+ "ace2": false,
+ "hv-vapic": false,
+ "fsgsbase": true,
+ "vmx-ept-1gb": false,
+ "vmx-ept-2mb": false,
+ "ht": false,
+ "vmx-io-exit": false,
+ "nx": true,
+ "pclmulqdq": true,
+ "mmxext": true,
+ "popcnt": true,
+ "vaes": false,
+ "xsaves": true,
+ "movdir64b": false,
+ "tcg-cpuid": true,
+ "vmx-shadow-vmcs": false,
+ "lm": true,
+ "vmx-exit-save-preemption-timer": false,
+ "vmx-entry-load-pat": false,
+ "vmx-entry-load-perf-global-ctrl": false,
+ "vmx-io-bitmap": false,
+ "vmx-store-lma": false,
+ "umip": true,
+ "vmx-movdr-exit": false,
+ "avx2": true,
+ "pse": true,
+ "pclmuldq": true,
+ "sep": true,
+ "vmx-cr3-load-noexit": false,
+ "virt-ssbd": true,
+ "x-hv-max-vps": -1,
+ "nodeid-msr": false,
+ "md-clear": false,
+ "kvm": true,
+ "split-lock-detect": false,
+ "misalignsse": true,
+ "min-xlevel": 2147483679,
+ "realized": false,
+ "kvm-pv-unhalt": true,
+ "bmi2": true,
+ "bmi1": true,
+ "tsc_scale": false,
+ "tsc-scale": false,
+ "topoext": false,
+ "hv-vpindex": false,
+ "hv-no-nonarch-coresharing": "off",
+ "amd-stibp": true,
+ "ucode-rev": 0,
+ "vmx-preemption-timer": false,
+ "xlevel2": 0,
+ "clflushopt": true,
+ "vmx-vnmi-pending": false,
+ "kvm-no-smi-migration": false,
+ "monitor": false,
+ "vmx-vintr-pending": false,
+ "avx512er": false,
+ "pmm-en": false,
+ "taa-no": false,
+ "pcid": false,
+ "vmx-secondary-ctls": false,
+ "arch-capabilities": true,
+ "vmx-xsaves": false,
+ "clzero": true,
+ "3dnow": false,
+ "erms": false,
+ "x-force-features": false,
+ "vmx-entry-ia32e-mode": false,
+ "lahf-lm": true,
+ "lahf_lm": true,
+ "vmx-ins-outs": false,
+ "vpclmulqdq": false,
+ "hv-synic": false,
+ "xstore": false,
+ "fxsr-opt": true,
+ "fxsr_opt": true,
+ "rtm": false,
+ "kvm-hint-dedicated": false,
+ "lmce": false,
+ "hv-time": false,
+ "perfctr_nb": false,
+ "perfctr-nb": false,
+ "hv-tlbflush": false,
+ "ffxsr": true,
+ "rdrand": true,
+ "rdseed": true,
+ "avx512-4vnniw": false,
+ "vme": true,
+ "vmx": false,
+ "dtes64": false,
+ "mtrr": true,
+ "rdtscp": true,
+ "xsaveerptr": true,
+ "pse36": true,
+ "kvm-pv-tlb-flush": true,
+ "vmx-activity-wait-sipi": false,
+ "tbm": false,
+ "vmx-rdpmc-exit": false,
+ "wdt": false,
+ "level-func7": 0,
+ "vmx-entry-load-efer": false,
+ "vmx-mtf": false,
+ "pause_filter": false,
+ "model-id": "AMD EPYC 7502 32-Core Processor
",
+ "sha-ni": true,
+ "abm": true,
+ "vmx-ept-advanced-exitinfo": false,
+ "avx512pf": false,
+ "vmx-hlt-exit": false,
+ "xstore-en": false
+ }
+ }
+ },
+ "id": "model-expansion"
+}
+
+{
+ "return": [
+ {
+ "name": "max",
+ "typename": "max-x86_64-cpu",
+ "unavailable-features": [],
+ "static": false,
+ "migration-safe": false
+ },
+ {
+ "name": "host",
+ "typename": "host-x86_64-cpu",
+ "unavailable-features": [],
+ "static": false,
+ "migration-safe": false
+ },
+ {
+ "name": "base",
+ "typename": "base-x86_64-cpu",
+ "unavailable-features": [],
+ "static": true,
+ "migration-safe": true
+ },
+ {
+ "name": "qemu64-v1",
+ "typename": "qemu64-v1-x86_64-cpu",
+ "unavailable-features": [],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "qemu64",
+ "typename": "qemu64-x86_64-cpu",
+ "unavailable-features": [],
+ "alias-of": "qemu64-v1",
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "qemu32-v1",
+ "typename": "qemu32-v1-x86_64-cpu",
+ "unavailable-features": [],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "qemu32",
+ "typename": "qemu32-x86_64-cpu",
+ "unavailable-features": [],
+ "alias-of": "qemu32-v1",
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "phenom-v1",
+ "typename": "phenom-v1-x86_64-cpu",
+ "unavailable-features": [
+ "3dnowext",
+ "3dnow"
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "phenom",
+ "typename": "phenom-x86_64-cpu",
+ "unavailable-features": [
+ "3dnowext",
+ "3dnow"
+ ],
+ "alias-of": "phenom-v1",
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "pentium3-v1",
+ "typename": "pentium3-v1-x86_64-cpu",
+ "unavailable-features": [],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "pentium3",
+ "typename": "pentium3-x86_64-cpu",
+ "unavailable-features": [],
+ "alias-of": "pentium3-v1",
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "pentium2-v1",
+ "typename": "pentium2-v1-x86_64-cpu",
+ "unavailable-features": [],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "pentium2",
+ "typename": "pentium2-x86_64-cpu",
+ "unavailable-features": [],
+ "alias-of": "pentium2-v1",
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "pentium-v1",
+ "typename": "pentium-v1-x86_64-cpu",
+ "unavailable-features": [],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "pentium",
+ "typename": "pentium-x86_64-cpu",
+ "unavailable-features": [],
+ "alias-of": "pentium-v1",
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "n270-v1",
+ "typename": "n270-v1-x86_64-cpu",
+ "unavailable-features": [
+ "ss"
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "n270",
+ "typename": "n270-x86_64-cpu",
+ "unavailable-features": [
+ "ss"
+ ],
+ "alias-of": "n270-v1",
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "kvm64-v1",
+ "typename": "kvm64-v1-x86_64-cpu",
+ "unavailable-features": [],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "kvm64",
+ "typename": "kvm64-x86_64-cpu",
+ "unavailable-features": [],
+ "alias-of": "kvm64-v1",
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "kvm32-v1",
+ "typename": "kvm32-v1-x86_64-cpu",
+ "unavailable-features": [],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "kvm32",
+ "typename": "kvm32-x86_64-cpu",
+ "unavailable-features": [],
+ "alias-of": "kvm32-v1",
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "coreduo-v1",
+ "typename": "coreduo-v1-x86_64-cpu",
+ "unavailable-features": [
+ "ss"
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "coreduo",
+ "typename": "coreduo-x86_64-cpu",
+ "unavailable-features": [
+ "ss"
+ ],
+ "alias-of": "coreduo-v1",
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "core2duo-v1",
+ "typename": "core2duo-v1-x86_64-cpu",
+ "unavailable-features": [
+ "ss"
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "core2duo",
+ "typename": "core2duo-x86_64-cpu",
+ "unavailable-features": [
+ "ss"
+ ],
+ "alias-of": "core2duo-v1",
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "athlon-v1",
+ "typename": "athlon-v1-x86_64-cpu",
+ "unavailable-features": [
+ "3dnowext",
+ "3dnow"
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "athlon",
+ "typename": "athlon-x86_64-cpu",
+ "unavailable-features": [
+ "3dnowext",
+ "3dnow"
+ ],
+ "alias-of": "athlon-v1",
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "Westmere-v2",
+ "typename": "Westmere-v2-x86_64-cpu",
+ "unavailable-features": [],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "Westmere-v1",
+ "typename": "Westmere-v1-x86_64-cpu",
+ "unavailable-features": [],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "Westmere-IBRS",
+ "typename": "Westmere-IBRS-x86_64-cpu",
+ "unavailable-features": [],
+ "alias-of": "Westmere-v2",
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "Westmere",
+ "typename": "Westmere-x86_64-cpu",
+ "unavailable-features": [],
+ "alias-of": "Westmere-v1",
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "Snowridge-v2",
+ "typename": "Snowridge-v2-x86_64-cpu",
+ "unavailable-features": [
+ "erms",
+ "gfni",
+ "cldemote",
+ "movdiri",
+ "movdir64b",
+ "core-capability",
+ "split-lock-detect"
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "Snowridge-v1",
+ "typename": "Snowridge-v1-x86_64-cpu",
+ "unavailable-features": [
+ "erms",
+ "mpx",
+ "gfni",
+ "cldemote",
+ "movdiri",
+ "movdir64b",
+ "core-capability",
+ "mpx",
+ "mpx",
+ "split-lock-detect"
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "Snowridge",
+ "typename": "Snowridge-x86_64-cpu",
+ "unavailable-features": [
+ "erms",
+ "mpx",
+ "gfni",
+ "cldemote",
+ "movdiri",
+ "movdir64b",
+ "core-capability",
+ "mpx",
+ "mpx",
+ "split-lock-detect"
+ ],
+ "alias-of": "Snowridge-v1",
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "Skylake-Server-v3",
+ "typename": "Skylake-Server-v3-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "erms",
+ "invpcid",
+ "avx512f",
+ "avx512dq",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "pku",
+ "avx512f",
+ "avx512f",
+ "avx512f",
+ "pku"
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "Skylake-Server-v2",
+ "typename": "Skylake-Server-v2-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "hle",
+ "erms",
+ "invpcid",
+ "rtm",
+ "avx512f",
+ "avx512dq",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "pku",
+ "avx512f",
+ "avx512f",
+ "avx512f",
+ "pku"
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "Skylake-Server-v1",
+ "typename": "Skylake-Server-v1-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "hle",
+ "erms",
+ "invpcid",
+ "rtm",
+ "avx512f",
+ "avx512dq",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "pku",
+ "avx512f",
+ "avx512f",
+ "avx512f",
+ "pku"
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "Skylake-Server-noTSX-IBRS",
+ "typename": "Skylake-Server-noTSX-IBRS-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "erms",
+ "invpcid",
+ "avx512f",
+ "avx512dq",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "pku",
+ "avx512f",
+ "avx512f",
+ "avx512f",
+ "pku"
+ ],
+ "alias-of": "Skylake-Server-v3",
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "Skylake-Server-IBRS",
+ "typename": "Skylake-Server-IBRS-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "hle",
+ "erms",
+ "invpcid",
+ "rtm",
+ "avx512f",
+ "avx512dq",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "pku",
+ "avx512f",
+ "avx512f",
+ "avx512f",
+ "pku"
+ ],
+ "alias-of": "Skylake-Server-v2",
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "Skylake-Server",
+ "typename": "Skylake-Server-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "hle",
+ "erms",
+ "invpcid",
+ "rtm",
+ "avx512f",
+ "avx512dq",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "pku",
+ "avx512f",
+ "avx512f",
+ "avx512f",
+ "pku"
+ ],
+ "alias-of": "Skylake-Server-v1",
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "Skylake-Client-v3",
+ "typename": "Skylake-Client-v3-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "erms",
+ "invpcid"
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "Skylake-Client-v2",
+ "typename": "Skylake-Client-v2-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "hle",
+ "erms",
+ "invpcid",
+ "rtm"
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "Skylake-Client-v1",
+ "typename": "Skylake-Client-v1-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "hle",
+ "erms",
+ "invpcid",
+ "rtm"
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "Skylake-Client-noTSX-IBRS",
+ "typename": "Skylake-Client-noTSX-IBRS-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "erms",
+ "invpcid"
+ ],
+ "alias-of": "Skylake-Client-v3",
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "Skylake-Client-IBRS",
+ "typename": "Skylake-Client-IBRS-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "hle",
+ "erms",
+ "invpcid",
+ "rtm"
+ ],
+ "alias-of": "Skylake-Client-v2",
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "Skylake-Client",
+ "typename": "Skylake-Client-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "hle",
+ "erms",
+ "invpcid",
+ "rtm"
+ ],
+ "alias-of": "Skylake-Client-v1",
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "SandyBridge-v2",
+ "typename": "SandyBridge-v2-x86_64-cpu",
+ "unavailable-features": [],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "SandyBridge-v1",
+ "typename": "SandyBridge-v1-x86_64-cpu",
+ "unavailable-features": [],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "SandyBridge-IBRS",
+ "typename": "SandyBridge-IBRS-x86_64-cpu",
+ "unavailable-features": [],
+ "alias-of": "SandyBridge-v2",
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "SandyBridge",
+ "typename": "SandyBridge-x86_64-cpu",
+ "unavailable-features": [],
+ "alias-of": "SandyBridge-v1",
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "Penryn-v1",
+ "typename": "Penryn-v1-x86_64-cpu",
+ "unavailable-features": [],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "Penryn",
+ "typename": "Penryn-x86_64-cpu",
+ "unavailable-features": [],
+ "alias-of": "Penryn-v1",
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "Opteron_G5-v1",
+ "typename": "Opteron_G5-v1-x86_64-cpu",
+ "unavailable-features": [
+ "xop",
+ "fma4",
+ "tbm"
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "Opteron_G5",
+ "typename": "Opteron_G5-x86_64-cpu",
+ "unavailable-features": [
+ "xop",
+ "fma4",
+ "tbm"
+ ],
+ "alias-of": "Opteron_G5-v1",
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "Opteron_G4-v1",
+ "typename": "Opteron_G4-v1-x86_64-cpu",
+ "unavailable-features": [
+ "xop",
+ "fma4"
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "Opteron_G4",
+ "typename": "Opteron_G4-x86_64-cpu",
+ "unavailable-features": [
+ "xop",
+ "fma4"
+ ],
+ "alias-of": "Opteron_G4-v1",
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "Opteron_G3-v1",
+ "typename": "Opteron_G3-v1-x86_64-cpu",
+ "unavailable-features": [],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "Opteron_G3",
+ "typename": "Opteron_G3-x86_64-cpu",
+ "unavailable-features": [],
+ "alias-of": "Opteron_G3-v1",
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "Opteron_G2-v1",
+ "typename": "Opteron_G2-v1-x86_64-cpu",
+ "unavailable-features": [],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "Opteron_G2",
+ "typename": "Opteron_G2-x86_64-cpu",
+ "unavailable-features": [],
+ "alias-of": "Opteron_G2-v1",
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "Opteron_G1-v1",
+ "typename": "Opteron_G1-v1-x86_64-cpu",
+ "unavailable-features": [],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "Opteron_G1",
+ "typename": "Opteron_G1-x86_64-cpu",
+ "unavailable-features": [],
+ "alias-of": "Opteron_G1-v1",
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "Nehalem-v2",
+ "typename": "Nehalem-v2-x86_64-cpu",
+ "unavailable-features": [],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "Nehalem-v1",
+ "typename": "Nehalem-v1-x86_64-cpu",
+ "unavailable-features": [],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "Nehalem-IBRS",
+ "typename": "Nehalem-IBRS-x86_64-cpu",
+ "unavailable-features": [],
+ "alias-of": "Nehalem-v2",
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "Nehalem",
+ "typename": "Nehalem-x86_64-cpu",
+ "unavailable-features": [],
+ "alias-of": "Nehalem-v1",
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "KnightsMill-v1",
+ "typename": "KnightsMill-v1-x86_64-cpu",
+ "unavailable-features": [
+ "ss",
+ "erms",
+ "avx512f",
+ "avx512pf",
+ "avx512er",
+ "avx512cd",
+ "avx512-vpopcntdq",
+ "avx512-4vnniw",
+ "avx512-4fmaps",
+ "avx512f",
+ "avx512f",
+ "avx512f"
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "KnightsMill",
+ "typename": "KnightsMill-x86_64-cpu",
+ "unavailable-features": [
+ "ss",
+ "erms",
+ "avx512f",
+ "avx512pf",
+ "avx512er",
+ "avx512cd",
+ "avx512-vpopcntdq",
+ "avx512-4vnniw",
+ "avx512-4fmaps",
+ "avx512f",
+ "avx512f",
+ "avx512f"
+ ],
+ "alias-of": "KnightsMill-v1",
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "IvyBridge-v2",
+ "typename": "IvyBridge-v2-x86_64-cpu",
+ "unavailable-features": [
+ "erms"
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "IvyBridge-v1",
+ "typename": "IvyBridge-v1-x86_64-cpu",
+ "unavailable-features": [
+ "erms"
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "IvyBridge-IBRS",
+ "typename": "IvyBridge-IBRS-x86_64-cpu",
+ "unavailable-features": [
+ "erms"
+ ],
+ "alias-of": "IvyBridge-v2",
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "IvyBridge",
+ "typename": "IvyBridge-x86_64-cpu",
+ "unavailable-features": [
+ "erms"
+ ],
+ "alias-of": "IvyBridge-v1",
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "Icelake-Server-v3",
+ "typename": "Icelake-Server-v3-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "erms",
+ "invpcid",
+ "avx512f",
+ "avx512dq",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "avx512vbmi",
+ "pku",
+ "avx512vbmi2",
+ "gfni",
+ "vaes",
+ "vpclmulqdq",
+ "avx512vnni",
+ "avx512bitalg",
+ "avx512-vpopcntdq",
+ "la57",
+ "avx512f",
+ "avx512f",
+ "avx512f",
+ "pku",
+ "ibrs-all",
+ "taa-no"
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "Icelake-Server-v2",
+ "typename": "Icelake-Server-v2-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "erms",
+ "invpcid",
+ "avx512f",
+ "avx512dq",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "avx512vbmi",
+ "pku",
+ "avx512vbmi2",
+ "gfni",
+ "vaes",
+ "vpclmulqdq",
+ "avx512vnni",
+ "avx512bitalg",
+ "avx512-vpopcntdq",
+ "la57",
+ "avx512f",
+ "avx512f",
+ "avx512f",
+ "pku"
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "Icelake-Server-v1",
+ "typename": "Icelake-Server-v1-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "hle",
+ "erms",
+ "invpcid",
+ "rtm",
+ "avx512f",
+ "avx512dq",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "avx512vbmi",
+ "pku",
+ "avx512vbmi2",
+ "gfni",
+ "vaes",
+ "vpclmulqdq",
+ "avx512vnni",
+ "avx512bitalg",
+ "avx512-vpopcntdq",
+ "la57",
+ "avx512f",
+ "avx512f",
+ "avx512f",
+ "pku"
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "Icelake-Server-noTSX",
+ "typename": "Icelake-Server-noTSX-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "erms",
+ "invpcid",
+ "avx512f",
+ "avx512dq",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "avx512vbmi",
+ "pku",
+ "avx512vbmi2",
+ "gfni",
+ "vaes",
+ "vpclmulqdq",
+ "avx512vnni",
+ "avx512bitalg",
+ "avx512-vpopcntdq",
+ "la57",
+ "avx512f",
+ "avx512f",
+ "avx512f",
+ "pku"
+ ],
+ "alias-of": "Icelake-Server-v2",
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "Icelake-Server",
+ "typename": "Icelake-Server-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "hle",
+ "erms",
+ "invpcid",
+ "rtm",
+ "avx512f",
+ "avx512dq",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "avx512vbmi",
+ "pku",
+ "avx512vbmi2",
+ "gfni",
+ "vaes",
+ "vpclmulqdq",
+ "avx512vnni",
+ "avx512bitalg",
+ "avx512-vpopcntdq",
+ "la57",
+ "avx512f",
+ "avx512f",
+ "avx512f",
+ "pku"
+ ],
+ "alias-of": "Icelake-Server-v1",
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "Icelake-Client-v2",
+ "typename": "Icelake-Client-v2-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "erms",
+ "invpcid",
+ "avx512vbmi",
+ "pku",
+ "avx512vbmi2",
+ "gfni",
+ "vaes",
+ "vpclmulqdq",
+ "avx512vnni",
+ "avx512bitalg",
+ "avx512-vpopcntdq",
+ "pku"
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "Icelake-Client-v1",
+ "typename": "Icelake-Client-v1-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "hle",
+ "erms",
+ "invpcid",
+ "rtm",
+ "avx512vbmi",
+ "pku",
+ "avx512vbmi2",
+ "gfni",
+ "vaes",
+ "vpclmulqdq",
+ "avx512vnni",
+ "avx512bitalg",
+ "avx512-vpopcntdq",
+ "pku"
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "Icelake-Client-noTSX",
+ "typename": "Icelake-Client-noTSX-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "erms",
+ "invpcid",
+ "avx512vbmi",
+ "pku",
+ "avx512vbmi2",
+ "gfni",
+ "vaes",
+ "vpclmulqdq",
+ "avx512vnni",
+ "avx512bitalg",
+ "avx512-vpopcntdq",
+ "pku"
+ ],
+ "alias-of": "Icelake-Client-v2",
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "Icelake-Client",
+ "typename": "Icelake-Client-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "hle",
+ "erms",
+ "invpcid",
+ "rtm",
+ "avx512vbmi",
+ "pku",
+ "avx512vbmi2",
+ "gfni",
+ "vaes",
+ "vpclmulqdq",
+ "avx512vnni",
+ "avx512bitalg",
+ "avx512-vpopcntdq",
+ "pku"
+ ],
+ "alias-of": "Icelake-Client-v1",
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "Haswell-v4",
+ "typename": "Haswell-v4-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "erms",
+ "invpcid"
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "Haswell-v3",
+ "typename": "Haswell-v3-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "hle",
+ "erms",
+ "invpcid",
+ "rtm"
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "Haswell-v2",
+ "typename": "Haswell-v2-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "erms",
+ "invpcid"
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "Haswell-v1",
+ "typename": "Haswell-v1-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "hle",
+ "erms",
+ "invpcid",
+ "rtm"
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "Haswell-noTSX-IBRS",
+ "typename": "Haswell-noTSX-IBRS-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "erms",
+ "invpcid"
+ ],
+ "alias-of": "Haswell-v4",
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "Haswell-noTSX",
+ "typename": "Haswell-noTSX-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "erms",
+ "invpcid"
+ ],
+ "alias-of": "Haswell-v2",
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "Haswell-IBRS",
+ "typename": "Haswell-IBRS-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "hle",
+ "erms",
+ "invpcid",
+ "rtm"
+ ],
+ "alias-of": "Haswell-v3",
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "Haswell",
+ "typename": "Haswell-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "hle",
+ "erms",
+ "invpcid",
+ "rtm"
+ ],
+ "alias-of": "Haswell-v1",
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "EPYC-v3",
+ "typename": "EPYC-v3-x86_64-cpu",
+ "unavailable-features": [],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "EPYC-v2",
+ "typename": "EPYC-v2-x86_64-cpu",
+ "unavailable-features": [],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "EPYC-v1",
+ "typename": "EPYC-v1-x86_64-cpu",
+ "unavailable-features": [],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "EPYC-Rome-v1",
+ "typename": "EPYC-Rome-v1-x86_64-cpu",
+ "unavailable-features": [],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "EPYC-Rome",
+ "typename": "EPYC-Rome-x86_64-cpu",
+ "unavailable-features": [],
+ "alias-of": "EPYC-Rome-v1",
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "EPYC-IBPB",
+ "typename": "EPYC-IBPB-x86_64-cpu",
+ "unavailable-features": [],
+ "alias-of": "EPYC-v2",
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "EPYC",
+ "typename": "EPYC-x86_64-cpu",
+ "unavailable-features": [],
+ "alias-of": "EPYC-v1",
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "Dhyana-v1",
+ "typename": "Dhyana-v1-x86_64-cpu",
+ "unavailable-features": [],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "Dhyana",
+ "typename": "Dhyana-x86_64-cpu",
+ "unavailable-features": [],
+ "alias-of": "Dhyana-v1",
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "Denverton-v2",
+ "typename": "Denverton-v2-x86_64-cpu",
+ "unavailable-features": [
+ "erms"
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "Denverton-v1",
+ "typename": "Denverton-v1-x86_64-cpu",
+ "unavailable-features": [
+ "erms",
+ "mpx",
+ "mpx",
+ "mpx"
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "Denverton",
+ "typename": "Denverton-x86_64-cpu",
+ "unavailable-features": [
+ "erms",
+ "mpx",
+ "mpx",
+ "mpx"
+ ],
+ "alias-of": "Denverton-v1",
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "Cooperlake-v1",
+ "typename": "Cooperlake-v1-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "hle",
+ "erms",
+ "invpcid",
+ "rtm",
+ "avx512f",
+ "avx512dq",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "pku",
+ "avx512vnni",
+ "avx512-bf16",
+ "avx512f",
+ "avx512f",
+ "avx512f",
+ "pku",
+ "ibrs-all",
+ "taa-no"
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "Cooperlake",
+ "typename": "Cooperlake-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "hle",
+ "erms",
+ "invpcid",
+ "rtm",
+ "avx512f",
+ "avx512dq",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "pku",
+ "avx512vnni",
+ "avx512-bf16",
+ "avx512f",
+ "avx512f",
+ "avx512f",
+ "pku",
+ "ibrs-all",
+ "taa-no"
+ ],
+ "alias-of": "Cooperlake-v1",
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "Conroe-v1",
+ "typename": "Conroe-v1-x86_64-cpu",
+ "unavailable-features": [],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "Conroe",
+ "typename": "Conroe-x86_64-cpu",
+ "unavailable-features": [],
+ "alias-of": "Conroe-v1",
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "Cascadelake-Server-v3",
+ "typename": "Cascadelake-Server-v3-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "erms",
+ "invpcid",
+ "avx512f",
+ "avx512dq",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "pku",
+ "avx512vnni",
+ "avx512f",
+ "avx512f",
+ "avx512f",
+ "pku",
+ "ibrs-all"
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "Cascadelake-Server-v2",
+ "typename": "Cascadelake-Server-v2-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "hle",
+ "erms",
+ "invpcid",
+ "rtm",
+ "avx512f",
+ "avx512dq",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "pku",
+ "avx512vnni",
+ "avx512f",
+ "avx512f",
+ "avx512f",
+ "pku",
+ "ibrs-all"
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "Cascadelake-Server-v1",
+ "typename": "Cascadelake-Server-v1-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "hle",
+ "erms",
+ "invpcid",
+ "rtm",
+ "avx512f",
+ "avx512dq",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "pku",
+ "avx512vnni",
+ "avx512f",
+ "avx512f",
+ "avx512f",
+ "pku"
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "Cascadelake-Server-noTSX",
+ "typename": "Cascadelake-Server-noTSX-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "erms",
+ "invpcid",
+ "avx512f",
+ "avx512dq",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "pku",
+ "avx512vnni",
+ "avx512f",
+ "avx512f",
+ "avx512f",
+ "pku",
+ "ibrs-all"
+ ],
+ "alias-of": "Cascadelake-Server-v3",
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "Cascadelake-Server",
+ "typename": "Cascadelake-Server-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "hle",
+ "erms",
+ "invpcid",
+ "rtm",
+ "avx512f",
+ "avx512dq",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "pku",
+ "avx512vnni",
+ "avx512f",
+ "avx512f",
+ "avx512f",
+ "pku"
+ ],
+ "alias-of": "Cascadelake-Server-v1",
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "Broadwell-v4",
+ "typename": "Broadwell-v4-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "erms",
+ "invpcid"
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "Broadwell-v3",
+ "typename": "Broadwell-v3-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "hle",
+ "erms",
+ "invpcid",
+ "rtm"
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "Broadwell-v2",
+ "typename": "Broadwell-v2-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "erms",
+ "invpcid"
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "Broadwell-v1",
+ "typename": "Broadwell-v1-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "hle",
+ "erms",
+ "invpcid",
+ "rtm"
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "Broadwell-noTSX-IBRS",
+ "typename": "Broadwell-noTSX-IBRS-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "erms",
+ "invpcid"
+ ],
+ "alias-of": "Broadwell-v4",
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "Broadwell-noTSX",
+ "typename": "Broadwell-noTSX-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "erms",
+ "invpcid"
+ ],
+ "alias-of": "Broadwell-v2",
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "Broadwell-IBRS",
+ "typename": "Broadwell-IBRS-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "hle",
+ "erms",
+ "invpcid",
+ "rtm"
+ ],
+ "alias-of": "Broadwell-v3",
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "Broadwell",
+ "typename": "Broadwell-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "hle",
+ "erms",
+ "invpcid",
+ "rtm"
+ ],
+ "alias-of": "Broadwell-v1",
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "486-v1",
+ "typename": "486-v1-x86_64-cpu",
+ "unavailable-features": [],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "486",
+ "typename": "486-x86_64-cpu",
+ "unavailable-features": [],
+ "alias-of": "486-v1",
+ "static": false,
+ "migration-safe": true
+ }
+ ],
+ "id": "definitions"
+}
diff --git a/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core.sig
b/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core.sig
new file mode 100644
index 0000000000..cf54739de9
--- /dev/null
+++ b/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core.sig
@@ -0,0 +1,4 @@
+830f10
+family: 23 (0x17)
+model: 49 (0x31)
+stepping: 0 (0x00)
diff --git a/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core.xml
b/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core.xml
new file mode 100644
index 0000000000..fc4fd433dd
--- /dev/null
+++ b/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core.xml
@@ -0,0 +1,66 @@
+<!-- AMD EPYC 7502 32-Core Processor -->
+<cpudata arch='x86'>
+ <cpuid eax_in='0x00000000' ecx_in='0x00' eax='0x00000010'
ebx='0x68747541' ecx='0x444d4163' edx='0x69746e65'/>
+ <cpuid eax_in='0x00000001' ecx_in='0x00' eax='0x00830f10'
ebx='0x18400800' ecx='0x7ed8320b' edx='0x178bfbff'/>
+ <cpuid eax_in='0x00000002' ecx_in='0x00' eax='0x00000000'
ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x00000003' ecx_in='0x00' eax='0x00000000'
ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x00000005' ecx_in='0x00' eax='0x00000040'
ebx='0x00000040' ecx='0x00000003' edx='0x00000011'/>
+ <cpuid eax_in='0x00000006' ecx_in='0x00' eax='0x00000004'
ebx='0x00000000' ecx='0x00000001' edx='0x00000000'/>
+ <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000'
ebx='0x219c91a9' ecx='0x00400004' edx='0x00000000'/>
+ <cpuid eax_in='0x00000008' ecx_in='0x00' eax='0x00000000'
ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x00000009' ecx_in='0x00' eax='0x00000000'
ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x0000000a' ecx_in='0x00' eax='0x00000000'
ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x0000000b' ecx_in='0x00' eax='0x00000001'
ebx='0x00000002' ecx='0x00000100' edx='0x00000018'/>
+ <cpuid eax_in='0x0000000b' ecx_in='0x01' eax='0x00000007'
ebx='0x00000040' ecx='0x00000201' edx='0x00000018'/>
+ <cpuid eax_in='0x0000000c' ecx_in='0x00' eax='0x00000000'
ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x0000000d' ecx_in='0x00' eax='0x00000207'
ebx='0x00000340' ecx='0x00000380' edx='0x00000000'/>
+ <cpuid eax_in='0x0000000d' ecx_in='0x01' eax='0x0000000f'
ebx='0x00000340' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x0000000d' ecx_in='0x02' eax='0x00000100'
ebx='0x00000240' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x0000000d' ecx_in='0x09' eax='0x00000040'
ebx='0x00000340' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x0000000e' ecx_in='0x00' eax='0x00000000'
ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x0000000f' ecx_in='0x00' eax='0x00000000'
ebx='0x000000ff' ecx='0x00000000' edx='0x00000002'/>
+ <cpuid eax_in='0x0000000f' ecx_in='0x01' eax='0x00000000'
ebx='0x00000040' ecx='0x000000ff' edx='0x00000007'/>
+ <cpuid eax_in='0x00000010' ecx_in='0x00' eax='0x00000000'
ebx='0x00000002' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x00000010' ecx_in='0x01' eax='0x0000000f'
ebx='0x00000000' ecx='0x00000004' edx='0x0000000f'/>
+ <cpuid eax_in='0x20000000' ecx_in='0x00' eax='0x00000000'
ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x80000000' ecx_in='0x00' eax='0x80000020'
ebx='0x68747541' ecx='0x444d4163' edx='0x69746e65'/>
+ <cpuid eax_in='0x80000001' ecx_in='0x00' eax='0x00830f10'
ebx='0x40000000' ecx='0x75c237ff' edx='0x2fd3fbff'/>
+ <cpuid eax_in='0x80000002' ecx_in='0x00' eax='0x20444d41'
ebx='0x43595045' ecx='0x30353720' edx='0x32332032'/>
+ <cpuid eax_in='0x80000003' ecx_in='0x00' eax='0x726f432d'
ebx='0x72502065' ecx='0x7365636f' edx='0x20726f73'/>
+ <cpuid eax_in='0x80000004' ecx_in='0x00' eax='0x20202020'
ebx='0x20202020' ecx='0x20202020' edx='0x00202020'/>
+ <cpuid eax_in='0x80000005' ecx_in='0x00' eax='0xff40ff40'
ebx='0xff40ff40' ecx='0x20080140' edx='0x20080140'/>
+ <cpuid eax_in='0x80000006' ecx_in='0x00' eax='0x48006400'
ebx='0x68006400' ecx='0x02006140' edx='0x04009140'/>
+ <cpuid eax_in='0x80000007' ecx_in='0x00' eax='0x00000000'
ebx='0x0000001b' ecx='0x00000000' edx='0x00006799'/>
+ <cpuid eax_in='0x80000008' ecx_in='0x00' eax='0x00003030'
ebx='0x018cf757' ecx='0x0000703f' edx='0x00010000'/>
+ <cpuid eax_in='0x80000009' ecx_in='0x00' eax='0x00000000'
ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x8000000a' ecx_in='0x00' eax='0x00000001'
ebx='0x00008000' ecx='0x00000000' edx='0x0013bcff'/>
+ <cpuid eax_in='0x8000000b' ecx_in='0x00' eax='0x00000000'
ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x8000000c' ecx_in='0x00' eax='0x00000000'
ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x8000000d' ecx_in='0x00' eax='0x00000000'
ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x8000000e' ecx_in='0x00' eax='0x00000000'
ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x8000000f' ecx_in='0x00' eax='0x00000000'
ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x80000010' ecx_in='0x00' eax='0x00000000'
ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x80000011' ecx_in='0x00' eax='0x00000000'
ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x80000012' ecx_in='0x00' eax='0x00000000'
ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x80000013' ecx_in='0x00' eax='0x00000000'
ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x80000014' ecx_in='0x00' eax='0x00000000'
ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x80000015' ecx_in='0x00' eax='0x00000000'
ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x80000016' ecx_in='0x00' eax='0x00000000'
ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x80000017' ecx_in='0x00' eax='0x00000000'
ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x80000018' ecx_in='0x00' eax='0x00000000'
ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x80000019' ecx_in='0x00' eax='0xf040f040'
ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x8000001a' ecx_in='0x00' eax='0x00000006'
ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x8000001b' ecx_in='0x00' eax='0x000003ff'
ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x8000001c' ecx_in='0x00' eax='0x00000000'
ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x8000001d' ecx_in='0x00' eax='0x00004121'
ebx='0x01c0003f' ecx='0x0000003f' edx='0x00000000'/>
+ <cpuid eax_in='0x8000001d' ecx_in='0x01' eax='0x00004122'
ebx='0x01c0003f' ecx='0x0000003f' edx='0x00000000'/>
+ <cpuid eax_in='0x8000001d' ecx_in='0x02' eax='0x00004143'
ebx='0x01c0003f' ecx='0x000003ff' edx='0x00000002'/>
+ <cpuid eax_in='0x8000001d' ecx_in='0x03' eax='0x0001c163'
ebx='0x03c0003f' ecx='0x00003fff' edx='0x00000001'/>
+ <cpuid eax_in='0x8000001e' ecx_in='0x00' eax='0x00000018'
ebx='0x0000010c' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x8000001f' ecx_in='0x00' eax='0x0001000f'
ebx='0x0000016f' ecx='0x000001fd' edx='0x00000001'/>
+ <cpuid eax_in='0x80000020' ecx_in='0x00' eax='0x00000000'
ebx='0x00000002' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x80000020' ecx_in='0x01' eax='0x0000000b'
ebx='0x00000000' ecx='0x00000000' edx='0x0000000f'/>
+ <cpuid eax_in='0x80860000' ecx_in='0x00' eax='0x00000000'
ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0xc0000000' ecx_in='0x00' eax='0x00000000'
ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
+ <msr index='0x10a' edx='0x00000000' eax='0x00000069'/>
+</cpudata>
diff --git a/tests/cputestdata/x86_64-cpuid-Ryzen-9-3900X-12-Core-disabled.xml
b/tests/cputestdata/x86_64-cpuid-Ryzen-9-3900X-12-Core-disabled.xml
index 869659cc80..ca71b9efb5 100644
--- a/tests/cputestdata/x86_64-cpuid-Ryzen-9-3900X-12-Core-disabled.xml
+++ b/tests/cputestdata/x86_64-cpuid-Ryzen-9-3900X-12-Core-disabled.xml
@@ -5,6 +5,5 @@
<cpuid eax_in='0x0000000f' ecx_in='0x01' eax='0x00000000'
ebx='0x00000000' ecx='0x00000000' edx='0x00000006'/>
<cpuid eax_in='0x80000001' ecx_in='0x00' eax='0x00000000'
ebx='0x00000000' ecx='0x01423408' edx='0x00000000'/>
<cpuid eax_in='0x80000007' ecx_in='0x00' eax='0x00000000'
ebx='0x00000000' ecx='0x00000000' edx='0x00000100'/>
- <cpuid eax_in='0x80000008' ecx_in='0x00' eax='0x00000000'
ebx='0x00008000' ecx='0x00000000' edx='0x00000000'/>
<cpuid eax_in='0x8000000a' ecx_in='0x00' eax='0x00000000'
ebx='0x00000000' ecx='0x00000000' edx='0x000014f6'/>
</cpudata>
diff --git a/tests/cputestdata/x86_64-cpuid-Ryzen-9-3900X-12-Core-enabled.xml
b/tests/cputestdata/x86_64-cpuid-Ryzen-9-3900X-12-Core-enabled.xml
index 7458db25ab..55f41693d9 100644
--- a/tests/cputestdata/x86_64-cpuid-Ryzen-9-3900X-12-Core-enabled.xml
+++ b/tests/cputestdata/x86_64-cpuid-Ryzen-9-3900X-12-Core-enabled.xml
@@ -5,7 +5,7 @@
<cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000'
ebx='0x219c01ab' ecx='0x00400004' edx='0xa8000000'/>
<cpuid eax_in='0x0000000d' ecx_in='0x01' eax='0x0000000f'
ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
<cpuid eax_in='0x80000001' ecx_in='0x00' eax='0x00000000'
ebx='0x00000000' ecx='0x008003f7' edx='0x2e500800'/>
- <cpuid eax_in='0x80000008' ecx_in='0x00' eax='0x00000000'
ebx='0x03001205' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x80000008' ecx_in='0x00' eax='0x00000000'
ebx='0x03009205' ecx='0x00000000' edx='0x00000000'/>
<cpuid eax_in='0x8000000a' ecx_in='0x00' eax='0x00000000'
ebx='0x00000000' ecx='0x00000000' edx='0x00000009'/>
<msr index='0x10a' edx='0x00000000' eax='0x00000069'/>
</cpudata>
diff --git a/tests/cputestdata/x86_64-cpuid-Ryzen-9-3900X-12-Core-guest.xml
b/tests/cputestdata/x86_64-cpuid-Ryzen-9-3900X-12-Core-guest.xml
index 1320f65a58..a49ef46f52 100644
--- a/tests/cputestdata/x86_64-cpuid-Ryzen-9-3900X-12-Core-guest.xml
+++ b/tests/cputestdata/x86_64-cpuid-Ryzen-9-3900X-12-Core-guest.xml
@@ -1,12 +1,10 @@
<cpu mode='custom' match='exact'>
- <model fallback='forbid'>EPYC-IBPB</model>
+ <model fallback='forbid'>EPYC-Rome</model>
<vendor>AMD</vendor>
<feature policy='require' name='ht'/>
<feature policy='require' name='osxsave'/>
<feature policy='require' name='cmt'/>
- <feature policy='require' name='clwb'/>
<feature policy='require' name='umip'/>
- <feature policy='require' name='rdpid'/>
<feature policy='require' name='xsaves'/>
<feature policy='require' name='mbm_total'/>
<feature policy='require' name='mbm_local'/>
@@ -17,13 +15,8 @@
<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='wbnoinvd'/>
- <feature policy='require' name='amd-stibp'/>
<feature policy='require' name='amd-ssbd'/>
<feature policy='require' name='npt'/>
<feature policy='require' name='lbrv'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Ryzen-9-3900X-12-Core-host.xml
b/tests/cputestdata/x86_64-cpuid-Ryzen-9-3900X-12-Core-host.xml
index 37905ec812..e9aea3339a 100644
--- a/tests/cputestdata/x86_64-cpuid-Ryzen-9-3900X-12-Core-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Ryzen-9-3900X-12-Core-host.xml
@@ -1,13 +1,11 @@
<cpu>
<arch>x86_64</arch>
- <model>EPYC-IBPB</model>
+ <model>EPYC-Rome</model>
<vendor>AMD</vendor>
<feature name='ht'/>
<feature name='osxsave'/>
<feature name='cmt'/>
- <feature name='clwb'/>
<feature name='umip'/>
- <feature name='rdpid'/>
<feature name='xsaves'/>
<feature name='mbm_total'/>
<feature name='mbm_local'/>
@@ -18,13 +16,8 @@
<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='wbnoinvd'/>
- <feature name='amd-stibp'/>
<feature name='amd-ssbd'/>
<feature name='npt'/>
<feature name='lbrv'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Ryzen-9-3900X-12-Core-json.xml
b/tests/cputestdata/x86_64-cpuid-Ryzen-9-3900X-12-Core-json.xml
index fba378e030..5b83c04d3f 100644
--- a/tests/cputestdata/x86_64-cpuid-Ryzen-9-3900X-12-Core-json.xml
+++ b/tests/cputestdata/x86_64-cpuid-Ryzen-9-3900X-12-Core-json.xml
@@ -1,22 +1,16 @@
<cpu mode='custom' match='exact'>
- <model fallback='forbid'>EPYC-IBPB</model>
+ <model fallback='forbid'>EPYC-Rome</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='clwb'/>
<feature policy='require' name='umip'/>
- <feature policy='require' name='rdpid'/>
<feature policy='require' name='stibp'/>
<feature policy='require' name='arch-capabilities'/>
<feature policy='require' name='ssbd'/>
<feature policy='require' name='xsaves'/>
<feature policy='require' name='cmp_legacy'/>
- <feature policy='require' name='perfctr_core'/>
- <feature policy='require' name='clzero'/>
- <feature policy='require' name='xsaveerptr'/>
- <feature policy='require' name='wbnoinvd'/>
<feature policy='require' name='amd-ssbd'/>
<feature policy='require' name='virt-ssbd'/>
<feature policy='require' name='npt'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Ryzen-9-3900X-12-Core.json
b/tests/cputestdata/x86_64-cpuid-Ryzen-9-3900X-12-Core.json
index fbdf1a794a..9ecc965e53 100644
--- a/tests/cputestdata/x86_64-cpuid-Ryzen-9-3900X-12-Core.json
+++ b/tests/cputestdata/x86_64-cpuid-Ryzen-9-3900X-12-Core.json
@@ -313,6 +313,7 @@
"tsc_scale": false,
"tsc-scale": false,
"topoext": false,
+ "amd-stibp": true,
"hv-vpindex": false,
"hv-no-nonarch-coresharing": "off",
"vmx-preemption-timer": false,
@@ -1501,6 +1502,13 @@
"static": false,
"migration-safe": true
},
+ {
+ "name": "EPYC-v3",
+ "typename": "EPYC-v3-x86_64-cpu",
+ "unavailable-features": [],
+ "static": false,
+ "migration-safe": true
+ },
{
"name": "EPYC-v2",
"typename": "EPYC-v2-x86_64-cpu",
@@ -1515,6 +1523,21 @@
"static": false,
"migration-safe": true
},
+ {
+ "name": "EPYC-Rome-v1",
+ "typename": "EPYC-Rome-v1-x86_64-cpu",
+ "unavailable-features": [],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "EPYC-Rome",
+ "typename": "EPYC-Rome-x86_64-cpu",
+ "unavailable-features": [],
+ "alias-of": "EPYC-Rome-v1",
+ "static": false,
+ "migration-safe": true
+ },
{
"name": "EPYC-IBPB",
"typename": "EPYC-IBPB-x86_64-cpu",
diff --git a/tests/cputestdata/x86_64-cpuid-Ryzen-9-3900X-12-Core.xml
b/tests/cputestdata/x86_64-cpuid-Ryzen-9-3900X-12-Core.xml
index c8db5e3e10..40abc48762 100644
--- a/tests/cputestdata/x86_64-cpuid-Ryzen-9-3900X-12-Core.xml
+++ b/tests/cputestdata/x86_64-cpuid-Ryzen-9-3900X-12-Core.xml
@@ -1,7 +1,7 @@
<!-- AMD Ryzen 9 3900X 12-Core Processor -->
<cpudata arch='x86'>
<cpuid eax_in='0x00000000' ecx_in='0x00' eax='0x00000010'
ebx='0x68747541' ecx='0x444d4163' edx='0x69746e65'/>
- <cpuid eax_in='0x00000001' ecx_in='0x00' eax='0x00870f10'
ebx='0x10180800' ecx='0x7ed8320b' edx='0x178bfbff'/>
+ <cpuid eax_in='0x00000001' ecx_in='0x00' eax='0x00870f10'
ebx='0x0a180800' ecx='0x7ed8320b' edx='0x178bfbff'/>
<cpuid eax_in='0x00000002' ecx_in='0x00' eax='0x00000000'
ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
<cpuid eax_in='0x00000003' ecx_in='0x00' eax='0x00000000'
ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
<cpuid eax_in='0x00000005' ecx_in='0x00' eax='0x00000040'
ebx='0x00000040' ecx='0x00000003' edx='0x00000011'/>
@@ -10,8 +10,8 @@
<cpuid eax_in='0x00000008' ecx_in='0x00' eax='0x00000000'
ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
<cpuid eax_in='0x00000009' ecx_in='0x00' eax='0x00000000'
ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
<cpuid eax_in='0x0000000a' ecx_in='0x00' eax='0x00000000'
ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
- <cpuid eax_in='0x0000000b' ecx_in='0x00' eax='0x00000001'
ebx='0x00000002' ecx='0x00000100' edx='0x00000010'/>
- <cpuid eax_in='0x0000000b' ecx_in='0x01' eax='0x00000007'
ebx='0x00000018' ecx='0x00000201' edx='0x00000010'/>
+ <cpuid eax_in='0x0000000b' ecx_in='0x00' eax='0x00000001'
ebx='0x00000002' ecx='0x00000100' edx='0x0000000a'/>
+ <cpuid eax_in='0x0000000b' ecx_in='0x01' eax='0x00000007'
ebx='0x00000018' ecx='0x00000201' edx='0x0000000a'/>
<cpuid eax_in='0x0000000c' ecx_in='0x00' eax='0x00000000'
ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
<cpuid eax_in='0x0000000d' ecx_in='0x00' eax='0x00000207'
ebx='0x00000340' ecx='0x00000380' edx='0x00000000'/>
<cpuid eax_in='0x0000000d' ecx_in='0x01' eax='0x0000000f'
ebx='0x00000340' ecx='0x00000000' edx='0x00000000'/>
@@ -26,8 +26,8 @@
<cpuid eax_in='0x80000000' ecx_in='0x00' eax='0x80000020'
ebx='0x68747541' ecx='0x444d4163' edx='0x69746e65'/>
<cpuid eax_in='0x80000001' ecx_in='0x00' eax='0x00870f10'
ebx='0x20000000' ecx='0x75c237ff' edx='0x2fd3fbff'/>
<cpuid eax_in='0x80000002' ecx_in='0x00' eax='0x20444d41'
ebx='0x657a7952' ecx='0x2039206e' edx='0x30303933'/>
- <cpuid eax_in='0x80000003' ecx_in='0x00' eax='0x32312058'
ebx='0x726f432d' ecx='0x72502065' edx='0x7365636f'/>
- <cpuid eax_in='0x80000004' ecx_in='0x00' eax='0x20726f73'
ebx='0x20202020' ecx='0x20202020' edx='0x00202020'/>
+ <cpuid eax_in='0x80000003' ecx_in='0x00' eax='0x2d323120'
ebx='0x65726f43' ecx='0x6f725020' edx='0x73736563'/>
+ <cpuid eax_in='0x80000004' ecx_in='0x00' eax='0x2020726f'
ebx='0x20202020' ecx='0x20202020' edx='0x00202020'/>
<cpuid eax_in='0x80000005' ecx_in='0x00' eax='0xff40ff40'
ebx='0xff40ff40' ecx='0x20080140' edx='0x20080140'/>
<cpuid eax_in='0x80000006' ecx_in='0x00' eax='0x48006400'
ebx='0x68006400' ecx='0x02006140' edx='0x02009140'/>
<cpuid eax_in='0x80000007' ecx_in='0x00' eax='0x00000000'
ebx='0x0000001b' ecx='0x00000000' edx='0x00006799'/>
@@ -56,7 +56,7 @@
<cpuid eax_in='0x8000001d' ecx_in='0x01' eax='0x00004122'
ebx='0x01c0003f' ecx='0x0000003f' edx='0x00000000'/>
<cpuid eax_in='0x8000001d' ecx_in='0x02' eax='0x00004143'
ebx='0x01c0003f' ecx='0x000003ff' edx='0x00000002'/>
<cpuid eax_in='0x8000001d' ecx_in='0x03' eax='0x00014163'
ebx='0x03c0003f' ecx='0x00003fff' edx='0x00000001'/>
- <cpuid eax_in='0x8000001e' ecx_in='0x00' eax='0x00000010'
ebx='0x00000108' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x8000001e' ecx_in='0x00' eax='0x0000000a'
ebx='0x00000105' ecx='0x00000000' edx='0x00000000'/>
<cpuid eax_in='0x8000001f' ecx_in='0x00' eax='0x0001000f'
ebx='0x0000016f' ecx='0x000001fd' edx='0x00000001'/>
<cpuid eax_in='0x80000020' ecx_in='0x00' eax='0x00000000'
ebx='0x00000002' ecx='0x00000000' edx='0x00000000'/>
<cpuid eax_in='0x80000020' ecx_in='0x01' eax='0x0000000b'
ebx='0x00000000' ecx='0x00000000' edx='0x0000000f'/>
--
2.26.2