From: Jiri Denemark <jdenemar@redhat.com> Signed-off-by: Jiri Denemark <jdenemar@redhat.com> --- src/cpu_map/index.xml | 1 + src/cpu_map/meson.build | 1 + src/cpu_map/x86_EPYC-v5.xml | 89 +++++++++++++++++++ ...6_64-cpuid-EPYC-7601-32-Core-ibpb-host.xml | 12 +-- ...86_64-cpuid-Ryzen-9-3900X-12-Core-host.xml | 18 ++-- .../qemu_10.1.0-q35.x86_64+inteltdx.xml | 12 +++ .../domaincapsdata/qemu_10.1.0-q35.x86_64.xml | 4 + .../qemu_10.1.0-tcg.x86_64+inteltdx.xml | 22 +++++ .../domaincapsdata/qemu_10.1.0-tcg.x86_64.xml | 22 +++++ .../qemu_10.1.0.x86_64+inteltdx.xml | 12 +++ tests/domaincapsdata/qemu_10.1.0.x86_64.xml | 4 + .../domaincapsdata/qemu_10.2.0-q35.x86_64.xml | 1 + .../domaincapsdata/qemu_10.2.0-tcg.x86_64.xml | 22 +++++ tests/domaincapsdata/qemu_10.2.0.x86_64.xml | 1 + 14 files changed, 198 insertions(+), 23 deletions(-) create mode 100644 src/cpu_map/x86_EPYC-v5.xml diff --git a/src/cpu_map/index.xml b/src/cpu_map/index.xml index f0ed687e59..00275d0196 100644 --- a/src/cpu_map/index.xml +++ b/src/cpu_map/index.xml @@ -159,6 +159,7 @@ <include filename='x86_EPYC-v2.xml'/> <include filename='x86_EPYC-v3.xml'/> <include filename='x86_EPYC-v4.xml'/> + <include filename='x86_EPYC-v5.xml'/> <include filename='x86_EPYC-Rome.xml'/> <include filename='x86_EPYC-Rome-v1.xml'/> <include filename='x86_EPYC-Rome-v2.xml'/> diff --git a/src/cpu_map/meson.build b/src/cpu_map/meson.build index dcbda5e5a0..12b50aa7f2 100644 --- a/src/cpu_map/meson.build +++ b/src/cpu_map/meson.build @@ -81,6 +81,7 @@ cpumap_data = [ 'x86_EPYC-v2.xml', 'x86_EPYC-v3.xml', 'x86_EPYC-v4.xml', + 'x86_EPYC-v5.xml', 'x86_EPYC.xml', 'x86_features.xml', 'x86_GraniteRapids-v1.xml', diff --git a/src/cpu_map/x86_EPYC-v5.xml b/src/cpu_map/x86_EPYC-v5.xml new file mode 100644 index 0000000000..07c2261140 --- /dev/null +++ b/src/cpu_map/x86_EPYC-v5.xml @@ -0,0 +1,89 @@ +<cpus> + <model name='EPYC-v5'> + <decode host='on' guest='off'/> + <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='flushbyasid'/> + <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='lbrv'/> + <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='overflow-recov'/> + <feature name='pae'/> + <feature name='pat'/> + <feature name='pause-filter'/> + <feature name='pclmuldq'/> + <feature name='pdpe1gb'/> + <feature name='perfctr_core'/> + <feature name='pfthreshold'/> + <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='succor'/> + <feature name='svm'/> + <feature name='syscall'/> + <feature name='tsc'/> + <feature name='tsc-scale'/> + <feature name='v-vmsave-vmload'/> + <feature name='vgif'/> + <feature name='vmcb-clean'/> + <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-7601-32-Core-ibpb-host.xml b/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-ibpb-host.xml index 89a4c80691..a9e8ba79bc 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,6 +1,6 @@ <cpu> <arch>x86_64</arch> - <model>EPYC-v4</model> + <model>EPYC-v5</model> <vendor>AMD</vendor> <signature family='23' model='1' stepping='2'/> <feature name='monitor'/> @@ -13,18 +13,8 @@ <feature name='tce'/> <feature name='topoext'/> <feature name='perfctr_nb'/> - <feature name='overflow-recov'/> - <feature name='succor'/> <feature name='invtsc'/> - <feature name='lbrv'/> <feature name='svm-lock'/> - <feature name='tsc-scale'/> - <feature name='vmcb-clean'/> - <feature name='flushbyasid'/> <feature name='decodeassists'/> - <feature name='pause-filter'/> - <feature name='pfthreshold'/> <feature name='avic'/> - <feature name='v-vmsave-vmload'/> - <feature name='vgif'/> </cpu> 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 b569a00753..4775f657d1 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,15 @@ <cpu> <arch>x86_64</arch> - <model>EPYC-Rome-v1</model> + <model>EPYC-v5</model> <vendor>AMD</vendor> <signature family='23' model='113' stepping='0'/> <feature name='monitor'/> <feature name='osxsave'/> <feature name='ht'/> <feature name='cmt'/> - <feature name='xsaves'/> + <feature name='clwb'/> + <feature name='umip'/> + <feature name='rdpid'/> <feature name='mbm_total'/> <feature name='mbm_local'/> <feature name='cmp_legacy'/> @@ -18,21 +20,13 @@ <feature name='tce'/> <feature name='topoext'/> <feature name='perfctr_nb'/> - <feature name='overflow-recov'/> - <feature name='succor'/> <feature name='invtsc'/> + <feature name='wbnoinvd'/> + <feature name='amd-stibp'/> <feature name='amd-ssbd'/> - <feature name='lbrv'/> <feature name='svm-lock'/> - <feature name='tsc-scale'/> - <feature name='vmcb-clean'/> - <feature name='flushbyasid'/> <feature name='decodeassists'/> - <feature name='pause-filter'/> - <feature name='pfthreshold'/> <feature name='avic'/> - <feature name='v-vmsave-vmload'/> - <feature name='vgif'/> <feature name='rdctl-no'/> <feature name='skip-l1dfl-vmentry'/> <feature name='mds-no'/> diff --git a/tests/domaincapsdata/qemu_10.1.0-q35.x86_64+inteltdx.xml b/tests/domaincapsdata/qemu_10.1.0-q35.x86_64+inteltdx.xml index 9fe1665451..578d2fe90a 100644 --- a/tests/domaincapsdata/qemu_10.1.0-q35.x86_64+inteltdx.xml +++ b/tests/domaincapsdata/qemu_10.1.0-q35.x86_64+inteltdx.xml @@ -412,6 +412,18 @@ <feature name='sse4a'/> <feature name='xsaveerptr'/> </blockers> + <model usable='no' vendor='AMD'>EPYC-v5</model> + <blockers model='EPYC-v5'> + <feature name='clzero'/> + <feature name='cr8legacy'/> + <feature name='fxsr_opt'/> + <feature name='misalignsse'/> + <feature name='mmxext'/> + <feature name='osvw'/> + <feature name='perfctr_core'/> + <feature name='sse4a'/> + <feature name='xsaveerptr'/> + </blockers> <model usable='no' vendor='Intel' canonical='GraniteRapids-v1'>GraniteRapids</model> <blockers model='GraniteRapids'> <feature name='fbsdp-no'/> diff --git a/tests/domaincapsdata/qemu_10.1.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_10.1.0-q35.x86_64.xml index 515bddcbae..b71ea9ba49 100644 --- a/tests/domaincapsdata/qemu_10.1.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_10.1.0-q35.x86_64.xml @@ -597,6 +597,10 @@ <blockers model='EPYC-v4'> <feature name='xsaves'/> </blockers> + <model usable='no' vendor='AMD'>EPYC-v5</model> + <blockers model='EPYC-v5'> + <feature name='xsaves'/> + </blockers> <model usable='no' vendor='Intel' canonical='GraniteRapids-v1'>GraniteRapids</model> <blockers model='GraniteRapids'> <feature name='amx-bf16'/> diff --git a/tests/domaincapsdata/qemu_10.1.0-tcg.x86_64+inteltdx.xml b/tests/domaincapsdata/qemu_10.1.0-tcg.x86_64+inteltdx.xml index 0900b4610e..e5513ea072 100644 --- a/tests/domaincapsdata/qemu_10.1.0-tcg.x86_64+inteltdx.xml +++ b/tests/domaincapsdata/qemu_10.1.0-tcg.x86_64+inteltdx.xml @@ -794,6 +794,28 @@ <feature name='xsavec'/> <feature name='xsaves'/> </blockers> + <model usable='no' vendor='AMD'>EPYC-v5</model> + <blockers model='EPYC-v5'> + <feature name='clzero'/> + <feature name='flushbyasid'/> + <feature name='fxsr_opt'/> + <feature name='ibpb'/> + <feature name='lbrv'/> + <feature name='misalignsse'/> + <feature name='nrip-save'/> + <feature name='osvw'/> + <feature name='overflow-recov'/> + <feature name='pause-filter'/> + <feature name='perfctr_core'/> + <feature name='pfthreshold'/> + <feature name='succor'/> + <feature name='topoext'/> + <feature name='tsc-scale'/> + <feature name='v-vmsave-vmload'/> + <feature name='vmcb-clean'/> + <feature name='xsavec'/> + <feature name='xsaves'/> + </blockers> <model usable='no' vendor='Intel' canonical='GraniteRapids-v1'>GraniteRapids</model> <blockers model='GraniteRapids'> <feature name='amx-bf16'/> diff --git a/tests/domaincapsdata/qemu_10.1.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_10.1.0-tcg.x86_64.xml index 4ee3df6d0a..5ea8c50ccd 100644 --- a/tests/domaincapsdata/qemu_10.1.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_10.1.0-tcg.x86_64.xml @@ -794,6 +794,28 @@ <feature name='xsavec'/> <feature name='xsaves'/> </blockers> + <model usable='no' vendor='AMD'>EPYC-v5</model> + <blockers model='EPYC-v5'> + <feature name='clzero'/> + <feature name='flushbyasid'/> + <feature name='fxsr_opt'/> + <feature name='ibpb'/> + <feature name='lbrv'/> + <feature name='misalignsse'/> + <feature name='nrip-save'/> + <feature name='osvw'/> + <feature name='overflow-recov'/> + <feature name='pause-filter'/> + <feature name='perfctr_core'/> + <feature name='pfthreshold'/> + <feature name='succor'/> + <feature name='topoext'/> + <feature name='tsc-scale'/> + <feature name='v-vmsave-vmload'/> + <feature name='vmcb-clean'/> + <feature name='xsavec'/> + <feature name='xsaves'/> + </blockers> <model usable='no' vendor='Intel' canonical='GraniteRapids-v1'>GraniteRapids</model> <blockers model='GraniteRapids'> <feature name='amx-bf16'/> diff --git a/tests/domaincapsdata/qemu_10.1.0.x86_64+inteltdx.xml b/tests/domaincapsdata/qemu_10.1.0.x86_64+inteltdx.xml index 9c123b9a8f..7efd7b9338 100644 --- a/tests/domaincapsdata/qemu_10.1.0.x86_64+inteltdx.xml +++ b/tests/domaincapsdata/qemu_10.1.0.x86_64+inteltdx.xml @@ -411,6 +411,18 @@ <feature name='sse4a'/> <feature name='xsaveerptr'/> </blockers> + <model usable='no' vendor='AMD'>EPYC-v5</model> + <blockers model='EPYC-v5'> + <feature name='clzero'/> + <feature name='cr8legacy'/> + <feature name='fxsr_opt'/> + <feature name='misalignsse'/> + <feature name='mmxext'/> + <feature name='osvw'/> + <feature name='perfctr_core'/> + <feature name='sse4a'/> + <feature name='xsaveerptr'/> + </blockers> <model usable='no' vendor='Intel' canonical='GraniteRapids-v1'>GraniteRapids</model> <blockers model='GraniteRapids'> <feature name='fbsdp-no'/> diff --git a/tests/domaincapsdata/qemu_10.1.0.x86_64.xml b/tests/domaincapsdata/qemu_10.1.0.x86_64.xml index 50ccb6e147..01aeb7318b 100644 --- a/tests/domaincapsdata/qemu_10.1.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_10.1.0.x86_64.xml @@ -596,6 +596,10 @@ <blockers model='EPYC-v4'> <feature name='xsaves'/> </blockers> + <model usable='no' vendor='AMD'>EPYC-v5</model> + <blockers model='EPYC-v5'> + <feature name='xsaves'/> + </blockers> <model usable='no' vendor='Intel' canonical='GraniteRapids-v1'>GraniteRapids</model> <blockers model='GraniteRapids'> <feature name='amx-bf16'/> diff --git a/tests/domaincapsdata/qemu_10.2.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_10.2.0-q35.x86_64.xml index c73b2d8d70..7c1fd24169 100644 --- a/tests/domaincapsdata/qemu_10.2.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_10.2.0-q35.x86_64.xml @@ -302,6 +302,7 @@ <model usable='yes' vendor='AMD'>EPYC-v2</model> <model usable='yes' vendor='AMD'>EPYC-v3</model> <model usable='yes' vendor='AMD'>EPYC-v4</model> + <model usable='yes' vendor='AMD'>EPYC-v5</model> <model usable='no' vendor='Intel' canonical='GraniteRapids-v1'>GraniteRapids</model> <blockers model='GraniteRapids'> <feature name='amx-bf16'/> diff --git a/tests/domaincapsdata/qemu_10.2.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_10.2.0-tcg.x86_64.xml index 24dd87a8a0..4f860aab23 100644 --- a/tests/domaincapsdata/qemu_10.2.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_10.2.0-tcg.x86_64.xml @@ -794,6 +794,28 @@ <feature name='xsavec'/> <feature name='xsaves'/> </blockers> + <model usable='no' vendor='AMD'>EPYC-v5</model> + <blockers model='EPYC-v5'> + <feature name='clzero'/> + <feature name='flushbyasid'/> + <feature name='fxsr_opt'/> + <feature name='ibpb'/> + <feature name='lbrv'/> + <feature name='misalignsse'/> + <feature name='nrip-save'/> + <feature name='osvw'/> + <feature name='overflow-recov'/> + <feature name='pause-filter'/> + <feature name='perfctr_core'/> + <feature name='pfthreshold'/> + <feature name='succor'/> + <feature name='topoext'/> + <feature name='tsc-scale'/> + <feature name='v-vmsave-vmload'/> + <feature name='vmcb-clean'/> + <feature name='xsavec'/> + <feature name='xsaves'/> + </blockers> <model usable='no' vendor='Intel' canonical='GraniteRapids-v1'>GraniteRapids</model> <blockers model='GraniteRapids'> <feature name='amx-bf16'/> diff --git a/tests/domaincapsdata/qemu_10.2.0.x86_64.xml b/tests/domaincapsdata/qemu_10.2.0.x86_64.xml index f5fc800043..0b3d87039d 100644 --- a/tests/domaincapsdata/qemu_10.2.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_10.2.0.x86_64.xml @@ -301,6 +301,7 @@ <model usable='yes' vendor='AMD'>EPYC-v2</model> <model usable='yes' vendor='AMD'>EPYC-v3</model> <model usable='yes' vendor='AMD'>EPYC-v4</model> + <model usable='yes' vendor='AMD'>EPYC-v5</model> <model usable='no' vendor='Intel' canonical='GraniteRapids-v1'>GraniteRapids</model> <blockers model='GraniteRapids'> <feature name='amx-bf16'/> -- 2.51.0