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-Rome-v5.xml | 95 +++++++++++++++++++ .../x86_64-cpuid-EPYC-7502-32-Core-host.xml | 13 +-- ...yzen-5-5500U-with-Radeon-Graphics-host.xml | 13 +-- ...86_64-cpuid-Ryzen-9-9950X-16-Core-host.xml | 13 +-- .../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 | 24 +++++ .../domaincapsdata/qemu_10.1.0-tcg.x86_64.xml | 24 +++++ .../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 | 24 +++++ tests/domaincapsdata/qemu_10.2.0.x86_64.xml | 1 + 15 files changed, 209 insertions(+), 33 deletions(-) create mode 100644 src/cpu_map/x86_EPYC-Rome-v5.xml diff --git a/src/cpu_map/index.xml b/src/cpu_map/index.xml index fe665a073d..f0ed687e59 100644 --- a/src/cpu_map/index.xml +++ b/src/cpu_map/index.xml @@ -164,6 +164,7 @@ <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-Rome-v5.xml'/> <include filename='x86_EPYC-Milan.xml'/> <include filename='x86_EPYC-Milan-v1.xml'/> <include filename='x86_EPYC-Milan-v2.xml'/> diff --git a/src/cpu_map/meson.build b/src/cpu_map/meson.build index 23a812f3c8..dcbda5e5a0 100644 --- a/src/cpu_map/meson.build +++ b/src/cpu_map/meson.build @@ -75,6 +75,7 @@ cpumap_data = [ 'x86_EPYC-Rome-v2.xml', 'x86_EPYC-Rome-v3.xml', 'x86_EPYC-Rome-v4.xml', + 'x86_EPYC-Rome-v5.xml', 'x86_EPYC-Rome.xml', 'x86_EPYC-v1.xml', 'x86_EPYC-v2.xml', diff --git a/src/cpu_map/x86_EPYC-Rome-v5.xml b/src/cpu_map/x86_EPYC-Rome-v5.xml new file mode 100644 index 0000000000..47267597ed --- /dev/null +++ b/src/cpu_map/x86_EPYC-Rome-v5.xml @@ -0,0 +1,95 @@ +<cpus> + <model name='EPYC-Rome-v5'> + <decode host='on' guest='off'/> + <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='flushbyasid'/> + <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='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='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='succor'/> + <feature name='svm'/> + <feature name='syscall'/> + <feature name='tsc'/> + <feature name='tsc-scale'/> + <feature name='umip'/> + <feature name='v-vmsave-vmload'/> + <feature name='vgif'/> + <feature name='vmcb-clean'/> + <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/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-host.xml b/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-host.xml index 4bc3acbc20..14e0861f0d 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,12 +1,13 @@ <cpu> <arch>x86_64</arch> - <model>EPYC-Rome-v3</model> + <model>EPYC-Rome-v5</model> <vendor>AMD</vendor> <signature family='23' model='49' stepping='0'/> <feature name='monitor'/> <feature name='osxsave'/> <feature name='ht'/> <feature name='cmt'/> + <feature name='xsaves'/> <feature name='mbm_total'/> <feature name='mbm_local'/> <feature name='cmp_legacy'/> @@ -17,20 +18,10 @@ <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'/> <feature name='rdctl-no'/> <feature name='skip-l1dfl-vmentry'/> <feature name='mds-no'/> diff --git a/tests/cputestdata/x86_64-cpuid-Ryzen-5-5500U-with-Radeon-Graphics-host.xml b/tests/cputestdata/x86_64-cpuid-Ryzen-5-5500U-with-Radeon-Graphics-host.xml index c5f019b3ec..05254a62dd 100644 --- a/tests/cputestdata/x86_64-cpuid-Ryzen-5-5500U-with-Radeon-Graphics-host.xml +++ b/tests/cputestdata/x86_64-cpuid-Ryzen-5-5500U-with-Radeon-Graphics-host.xml @@ -1,12 +1,13 @@ <cpu> <arch>x86_64</arch> - <model>EPYC-Rome-v3</model> + <model>EPYC-Rome-v5</model> <vendor>AMD</vendor> <signature family='23' model='104' stepping='1'/> <feature name='monitor'/> <feature name='osxsave'/> <feature name='ht'/> <feature name='cmt'/> + <feature name='xsaves'/> <feature name='mbm_total'/> <feature name='mbm_local'/> <feature name='cmp_legacy'/> @@ -17,20 +18,10 @@ <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'/> <feature name='rdctl-no'/> <feature name='skip-l1dfl-vmentry'/> <feature name='mds-no'/> diff --git a/tests/cputestdata/x86_64-cpuid-Ryzen-9-9950X-16-Core-host.xml b/tests/cputestdata/x86_64-cpuid-Ryzen-9-9950X-16-Core-host.xml index 5bccabdf61..a33ea91ff9 100644 --- a/tests/cputestdata/x86_64-cpuid-Ryzen-9-9950X-16-Core-host.xml +++ b/tests/cputestdata/x86_64-cpuid-Ryzen-9-9950X-16-Core-host.xml @@ -1,6 +1,6 @@ <cpu> <arch>x86_64</arch> - <model>EPYC-Rome-v3</model> + <model>EPYC-Rome-v5</model> <vendor>AMD</vendor> <signature family='26' model='68' stepping='0'/> <feature name='monitor'/> @@ -34,6 +34,7 @@ <feature name='flush-l1d'/> <feature name='avx-vnni'/> <feature name='avx512-bf16'/> + <feature name='xsaves'/> <feature name='mbm_total'/> <feature name='mbm_local'/> <feature name='cmp_legacy'/> @@ -44,22 +45,12 @@ <feature name='tce'/> <feature name='topoext'/> <feature name='perfctr_nb'/> - <feature name='overflow-recov'/> - <feature name='succor'/> <feature name='invtsc'/> <feature name='stibp-always-on'/> <feature name='amd-psfd'/> - <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='vnmi'/> <feature name='svme-addr-chk'/> <feature name='no-nested-data-bp'/> 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 c3072561b6..9fe1665451 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 @@ -358,6 +358,18 @@ <feature name='sse4a'/> <feature name='xsaveerptr'/> </blockers> + <model usable='no' vendor='AMD'>EPYC-Rome-v5</model> + <blockers model='EPYC-Rome-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='AMD'>EPYC-v1</model> <blockers model='EPYC-v1'> <feature name='cr8legacy'/> 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 be48c871d8..515bddcbae 100644 --- a/tests/domaincapsdata/qemu_10.1.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_10.1.0-q35.x86_64.xml @@ -583,6 +583,10 @@ <blockers model='EPYC-Rome-v4'> <feature name='ibrs'/> </blockers> + <model usable='no' vendor='AMD'>EPYC-Rome-v5</model> + <blockers model='EPYC-Rome-v5'> + <feature name='ibrs'/> + </blockers> <model usable='yes' vendor='AMD'>EPYC-v1</model> <model usable='yes' vendor='AMD'>EPYC-v2</model> <model usable='no' vendor='AMD'>EPYC-v3</model> 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 fe434a23bf..0900b4610e 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 @@ -725,6 +725,30 @@ <feature name='topoext'/> <feature name='xsavec'/> </blockers> + <model usable='no' vendor='AMD'>EPYC-Rome-v5</model> + <blockers model='EPYC-Rome-v5'> + <feature name='amd-ssbd'/> + <feature name='amd-stibp'/> + <feature name='clzero'/> + <feature name='flushbyasid'/> + <feature name='fxsr_opt'/> + <feature name='ibpb'/> + <feature name='ibrs'/> + <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'/> + </blockers> <model usable='no' vendor='AMD'>EPYC-v1</model> <blockers model='EPYC-v1'> <feature name='fxsr_opt'/> 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 4b3440fc2f..4ee3df6d0a 100644 --- a/tests/domaincapsdata/qemu_10.1.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_10.1.0-tcg.x86_64.xml @@ -725,6 +725,30 @@ <feature name='topoext'/> <feature name='xsavec'/> </blockers> + <model usable='no' vendor='AMD'>EPYC-Rome-v5</model> + <blockers model='EPYC-Rome-v5'> + <feature name='amd-ssbd'/> + <feature name='amd-stibp'/> + <feature name='clzero'/> + <feature name='flushbyasid'/> + <feature name='fxsr_opt'/> + <feature name='ibpb'/> + <feature name='ibrs'/> + <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'/> + </blockers> <model usable='no' vendor='AMD'>EPYC-v1</model> <blockers model='EPYC-v1'> <feature name='fxsr_opt'/> 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 8279cd8898..9c123b9a8f 100644 --- a/tests/domaincapsdata/qemu_10.1.0.x86_64+inteltdx.xml +++ b/tests/domaincapsdata/qemu_10.1.0.x86_64+inteltdx.xml @@ -357,6 +357,18 @@ <feature name='sse4a'/> <feature name='xsaveerptr'/> </blockers> + <model usable='no' vendor='AMD'>EPYC-Rome-v5</model> + <blockers model='EPYC-Rome-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='AMD'>EPYC-v1</model> <blockers model='EPYC-v1'> <feature name='cr8legacy'/> diff --git a/tests/domaincapsdata/qemu_10.1.0.x86_64.xml b/tests/domaincapsdata/qemu_10.1.0.x86_64.xml index cf556528b8..50ccb6e147 100644 --- a/tests/domaincapsdata/qemu_10.1.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_10.1.0.x86_64.xml @@ -582,6 +582,10 @@ <blockers model='EPYC-Rome-v4'> <feature name='ibrs'/> </blockers> + <model usable='no' vendor='AMD'>EPYC-Rome-v5</model> + <blockers model='EPYC-Rome-v5'> + <feature name='ibrs'/> + </blockers> <model usable='yes' vendor='AMD'>EPYC-v1</model> <model usable='yes' vendor='AMD'>EPYC-v2</model> <model usable='no' vendor='AMD'>EPYC-v3</model> 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 6434ee2837..c73b2d8d70 100644 --- a/tests/domaincapsdata/qemu_10.2.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_10.2.0-q35.x86_64.xml @@ -297,6 +297,7 @@ <model usable='yes' vendor='AMD'>EPYC-Rome-v2</model> <model usable='yes' vendor='AMD'>EPYC-Rome-v3</model> <model usable='yes' vendor='AMD'>EPYC-Rome-v4</model> + <model usable='yes' vendor='AMD'>EPYC-Rome-v5</model> <model usable='yes' vendor='AMD'>EPYC-v1</model> <model usable='yes' vendor='AMD'>EPYC-v2</model> <model usable='yes' vendor='AMD'>EPYC-v3</model> 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 da708d8762..24dd87a8a0 100644 --- a/tests/domaincapsdata/qemu_10.2.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_10.2.0-tcg.x86_64.xml @@ -725,6 +725,30 @@ <feature name='topoext'/> <feature name='xsavec'/> </blockers> + <model usable='no' vendor='AMD'>EPYC-Rome-v5</model> + <blockers model='EPYC-Rome-v5'> + <feature name='amd-ssbd'/> + <feature name='amd-stibp'/> + <feature name='clzero'/> + <feature name='flushbyasid'/> + <feature name='fxsr_opt'/> + <feature name='ibpb'/> + <feature name='ibrs'/> + <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'/> + </blockers> <model usable='no' vendor='AMD'>EPYC-v1</model> <blockers model='EPYC-v1'> <feature name='fxsr_opt'/> diff --git a/tests/domaincapsdata/qemu_10.2.0.x86_64.xml b/tests/domaincapsdata/qemu_10.2.0.x86_64.xml index d225e003d4..f5fc800043 100644 --- a/tests/domaincapsdata/qemu_10.2.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_10.2.0.x86_64.xml @@ -296,6 +296,7 @@ <model usable='yes' vendor='AMD'>EPYC-Rome-v2</model> <model usable='yes' vendor='AMD'>EPYC-Rome-v3</model> <model usable='yes' vendor='AMD'>EPYC-Rome-v4</model> + <model usable='yes' vendor='AMD'>EPYC-Rome-v5</model> <model usable='yes' vendor='AMD'>EPYC-v1</model> <model usable='yes' vendor='AMD'>EPYC-v2</model> <model usable='yes' vendor='AMD'>EPYC-v3</model> -- 2.51.0