[PATCH 21/29] cpu_map: Add EPYC-Rome-v5 CPU model

Jiri Denemark via Devel posted 29 patches 2 weeks ago
[PATCH 21/29] cpu_map: Add EPYC-Rome-v5 CPU model
Posted by Jiri Denemark via Devel 2 weeks ago
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