[PATCH v2 16/36] cpu_map: Add versions of SierraForest CPU model

Jiri Denemark posted 36 patches 1 week, 4 days ago
[PATCH v2 16/36] cpu_map: Add versions of SierraForest CPU model
Posted by Jiri Denemark 1 week, 4 days ago
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
---

Notes:
    Version 2:
    - allow versioned models to be used in host capabilities
    - canonical CPU models in domain capabilities

 src/cpu_map/index.xml                         |  1 +
 src/cpu_map/meson.build                       |  1 +
 src/cpu_map/x86_SierraForest-v1.xml           |  6 ++++
 .../domaincapsdata/qemu_9.1.0-q35.x86_64.xml  | 29 ++++++++++++++++++-
 .../domaincapsdata/qemu_9.1.0-tcg.x86_64.xml  | 22 +++++++++++++-
 tests/domaincapsdata/qemu_9.1.0.x86_64.xml    | 29 ++++++++++++++++++-
 .../domaincapsdata/qemu_9.2.0-q35.x86_64.xml  | 29 ++++++++++++++++++-
 .../domaincapsdata/qemu_9.2.0-tcg.x86_64.xml  | 22 +++++++++++++-
 tests/domaincapsdata/qemu_9.2.0.x86_64.xml    | 29 ++++++++++++++++++-
 9 files changed, 162 insertions(+), 6 deletions(-)
 create mode 100644 src/cpu_map/x86_SierraForest-v1.xml

diff --git a/src/cpu_map/index.xml b/src/cpu_map/index.xml
index 65128be377..43f4f705a8 100644
--- a/src/cpu_map/index.xml
+++ b/src/cpu_map/index.xml
@@ -62,6 +62,7 @@
       <include filename='x86_SapphireRapids.xml'/>
       <include filename='x86_GraniteRapids.xml'/>
       <include filename='x86_SierraForest.xml'/>
+      <include filename='x86_SierraForest-v1.xml'/>
     </group>
 
     <group name='AMD CPU models'>
diff --git a/src/cpu_map/meson.build b/src/cpu_map/meson.build
index 20f5dbc47e..d5d1f847ec 100644
--- a/src/cpu_map/meson.build
+++ b/src/cpu_map/meson.build
@@ -75,6 +75,7 @@ cpumap_data = [
   'x86_SandyBridge-IBRS.xml',
   'x86_SandyBridge.xml',
   'x86_SapphireRapids.xml',
+  'x86_SierraForest-v1.xml',
   'x86_SierraForest.xml',
   'x86_Skylake-Client-IBRS.xml',
   'x86_Skylake-Client-noTSX-IBRS.xml',
diff --git a/src/cpu_map/x86_SierraForest-v1.xml b/src/cpu_map/x86_SierraForest-v1.xml
new file mode 100644
index 0000000000..74b0a4c537
--- /dev/null
+++ b/src/cpu_map/x86_SierraForest-v1.xml
@@ -0,0 +1,6 @@
+<cpus>
+  <model name='SierraForest-v1'>
+    <decode host='on' guest='off'/>
+    <model name='SierraForest'/>
+  </model>
+</cpus>
diff --git a/tests/domaincapsdata/qemu_9.1.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_9.1.0-q35.x86_64.xml
index 945e783a25..6a8dd51f2b 100644
--- a/tests/domaincapsdata/qemu_9.1.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_9.1.0-q35.x86_64.xml
@@ -407,7 +407,7 @@
         <feature name='xfd'/>
         <feature name='xsaves'/>
       </blockers>
-      <model usable='no' vendor='Intel'>SierraForest</model>
+      <model usable='no' vendor='Intel' canonical='SierraForest-v1'>SierraForest</model>
       <blockers model='SierraForest'>
         <feature name='avx-ifma'/>
         <feature name='avx-ne-convert'/>
@@ -434,6 +434,33 @@
         <feature name='vpclmulqdq'/>
         <feature name='xsaves'/>
       </blockers>
+      <model usable='no' vendor='Intel'>SierraForest-v1</model>
+      <blockers model='SierraForest-v1'>
+        <feature name='avx-ifma'/>
+        <feature name='avx-ne-convert'/>
+        <feature name='avx-vnni'/>
+        <feature name='avx-vnni-int8'/>
+        <feature name='bus-lock-detect'/>
+        <feature name='cmpccxadd'/>
+        <feature name='erms'/>
+        <feature name='fbsdp-no'/>
+        <feature name='fsrm'/>
+        <feature name='fsrs'/>
+        <feature name='gfni'/>
+        <feature name='ibrs-all'/>
+        <feature name='invpcid'/>
+        <feature name='mcdt-no'/>
+        <feature name='pbrsb-no'/>
+        <feature name='pcid'/>
+        <feature name='pku'/>
+        <feature name='psdp-no'/>
+        <feature name='sbdr-ssdp-no'/>
+        <feature name='serialize'/>
+        <feature name='spec-ctrl'/>
+        <feature name='vaes'/>
+        <feature name='vpclmulqdq'/>
+        <feature name='xsaves'/>
+      </blockers>
       <model usable='no' vendor='Intel'>Skylake-Client</model>
       <blockers model='Skylake-Client'>
         <feature name='erms'/>
diff --git a/tests/domaincapsdata/qemu_9.1.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_9.1.0-tcg.x86_64.xml
index 9ad8eca845..08464d2709 100644
--- a/tests/domaincapsdata/qemu_9.1.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_9.1.0-tcg.x86_64.xml
@@ -451,7 +451,7 @@
         <feature name='xsavec'/>
         <feature name='xsaves'/>
       </blockers>
-      <model usable='no' vendor='Intel'>SierraForest</model>
+      <model usable='no' vendor='Intel' canonical='SierraForest-v1'>SierraForest</model>
       <blockers model='SierraForest'>
         <feature name='arch-capabilities'/>
         <feature name='avx-ifma'/>
@@ -471,6 +471,26 @@
         <feature name='xsavec'/>
         <feature name='xsaves'/>
       </blockers>
+      <model usable='no' vendor='Intel'>SierraForest-v1</model>
+      <blockers model='SierraForest-v1'>
+        <feature name='arch-capabilities'/>
+        <feature name='avx-ifma'/>
+        <feature name='avx-ne-convert'/>
+        <feature name='avx-vnni'/>
+        <feature name='avx-vnni-int8'/>
+        <feature name='bus-lock-detect'/>
+        <feature name='gfni'/>
+        <feature name='invpcid'/>
+        <feature name='mcdt-no'/>
+        <feature name='pcid'/>
+        <feature name='serialize'/>
+        <feature name='spec-ctrl'/>
+        <feature name='ssbd'/>
+        <feature name='tsc-deadline'/>
+        <feature name='vpclmulqdq'/>
+        <feature name='xsavec'/>
+        <feature name='xsaves'/>
+      </blockers>
       <model usable='no' vendor='Intel'>Skylake-Client</model>
       <blockers model='Skylake-Client'>
         <feature name='hle'/>
diff --git a/tests/domaincapsdata/qemu_9.1.0.x86_64.xml b/tests/domaincapsdata/qemu_9.1.0.x86_64.xml
index 0a131bb151..773f068c69 100644
--- a/tests/domaincapsdata/qemu_9.1.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_9.1.0.x86_64.xml
@@ -406,7 +406,7 @@
         <feature name='xfd'/>
         <feature name='xsaves'/>
       </blockers>
-      <model usable='no' vendor='Intel'>SierraForest</model>
+      <model usable='no' vendor='Intel' canonical='SierraForest-v1'>SierraForest</model>
       <blockers model='SierraForest'>
         <feature name='avx-ifma'/>
         <feature name='avx-ne-convert'/>
@@ -433,6 +433,33 @@
         <feature name='vpclmulqdq'/>
         <feature name='xsaves'/>
       </blockers>
+      <model usable='no' vendor='Intel'>SierraForest-v1</model>
+      <blockers model='SierraForest-v1'>
+        <feature name='avx-ifma'/>
+        <feature name='avx-ne-convert'/>
+        <feature name='avx-vnni'/>
+        <feature name='avx-vnni-int8'/>
+        <feature name='bus-lock-detect'/>
+        <feature name='cmpccxadd'/>
+        <feature name='erms'/>
+        <feature name='fbsdp-no'/>
+        <feature name='fsrm'/>
+        <feature name='fsrs'/>
+        <feature name='gfni'/>
+        <feature name='ibrs-all'/>
+        <feature name='invpcid'/>
+        <feature name='mcdt-no'/>
+        <feature name='pbrsb-no'/>
+        <feature name='pcid'/>
+        <feature name='pku'/>
+        <feature name='psdp-no'/>
+        <feature name='sbdr-ssdp-no'/>
+        <feature name='serialize'/>
+        <feature name='spec-ctrl'/>
+        <feature name='vaes'/>
+        <feature name='vpclmulqdq'/>
+        <feature name='xsaves'/>
+      </blockers>
       <model usable='no' vendor='Intel'>Skylake-Client</model>
       <blockers model='Skylake-Client'>
         <feature name='erms'/>
diff --git a/tests/domaincapsdata/qemu_9.2.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_9.2.0-q35.x86_64.xml
index 64c8416672..88f3b5208f 100644
--- a/tests/domaincapsdata/qemu_9.2.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_9.2.0-q35.x86_64.xml
@@ -407,7 +407,7 @@
         <feature name='xfd'/>
         <feature name='xsaves'/>
       </blockers>
-      <model usable='no' vendor='Intel'>SierraForest</model>
+      <model usable='no' vendor='Intel' canonical='SierraForest-v1'>SierraForest</model>
       <blockers model='SierraForest'>
         <feature name='avx-ifma'/>
         <feature name='avx-ne-convert'/>
@@ -434,6 +434,33 @@
         <feature name='vpclmulqdq'/>
         <feature name='xsaves'/>
       </blockers>
+      <model usable='no' vendor='Intel'>SierraForest-v1</model>
+      <blockers model='SierraForest-v1'>
+        <feature name='avx-ifma'/>
+        <feature name='avx-ne-convert'/>
+        <feature name='avx-vnni'/>
+        <feature name='avx-vnni-int8'/>
+        <feature name='bus-lock-detect'/>
+        <feature name='cmpccxadd'/>
+        <feature name='erms'/>
+        <feature name='fbsdp-no'/>
+        <feature name='fsrm'/>
+        <feature name='fsrs'/>
+        <feature name='gfni'/>
+        <feature name='ibrs-all'/>
+        <feature name='invpcid'/>
+        <feature name='mcdt-no'/>
+        <feature name='pbrsb-no'/>
+        <feature name='pcid'/>
+        <feature name='pku'/>
+        <feature name='psdp-no'/>
+        <feature name='sbdr-ssdp-no'/>
+        <feature name='serialize'/>
+        <feature name='spec-ctrl'/>
+        <feature name='vaes'/>
+        <feature name='vpclmulqdq'/>
+        <feature name='xsaves'/>
+      </blockers>
       <model usable='no' vendor='Intel'>Skylake-Client</model>
       <blockers model='Skylake-Client'>
         <feature name='erms'/>
diff --git a/tests/domaincapsdata/qemu_9.2.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_9.2.0-tcg.x86_64.xml
index 8a4fc13443..419147fc14 100644
--- a/tests/domaincapsdata/qemu_9.2.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_9.2.0-tcg.x86_64.xml
@@ -451,7 +451,7 @@
         <feature name='xsavec'/>
         <feature name='xsaves'/>
       </blockers>
-      <model usable='no' vendor='Intel'>SierraForest</model>
+      <model usable='no' vendor='Intel' canonical='SierraForest-v1'>SierraForest</model>
       <blockers model='SierraForest'>
         <feature name='arch-capabilities'/>
         <feature name='avx-ifma'/>
@@ -471,6 +471,26 @@
         <feature name='xsavec'/>
         <feature name='xsaves'/>
       </blockers>
+      <model usable='no' vendor='Intel'>SierraForest-v1</model>
+      <blockers model='SierraForest-v1'>
+        <feature name='arch-capabilities'/>
+        <feature name='avx-ifma'/>
+        <feature name='avx-ne-convert'/>
+        <feature name='avx-vnni'/>
+        <feature name='avx-vnni-int8'/>
+        <feature name='bus-lock-detect'/>
+        <feature name='gfni'/>
+        <feature name='invpcid'/>
+        <feature name='mcdt-no'/>
+        <feature name='pcid'/>
+        <feature name='serialize'/>
+        <feature name='spec-ctrl'/>
+        <feature name='ssbd'/>
+        <feature name='tsc-deadline'/>
+        <feature name='vpclmulqdq'/>
+        <feature name='xsavec'/>
+        <feature name='xsaves'/>
+      </blockers>
       <model usable='no' vendor='Intel'>Skylake-Client</model>
       <blockers model='Skylake-Client'>
         <feature name='hle'/>
diff --git a/tests/domaincapsdata/qemu_9.2.0.x86_64.xml b/tests/domaincapsdata/qemu_9.2.0.x86_64.xml
index 00f3b78e7e..79ba1bc5fc 100644
--- a/tests/domaincapsdata/qemu_9.2.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_9.2.0.x86_64.xml
@@ -406,7 +406,7 @@
         <feature name='xfd'/>
         <feature name='xsaves'/>
       </blockers>
-      <model usable='no' vendor='Intel'>SierraForest</model>
+      <model usable='no' vendor='Intel' canonical='SierraForest-v1'>SierraForest</model>
       <blockers model='SierraForest'>
         <feature name='avx-ifma'/>
         <feature name='avx-ne-convert'/>
@@ -433,6 +433,33 @@
         <feature name='vpclmulqdq'/>
         <feature name='xsaves'/>
       </blockers>
+      <model usable='no' vendor='Intel'>SierraForest-v1</model>
+      <blockers model='SierraForest-v1'>
+        <feature name='avx-ifma'/>
+        <feature name='avx-ne-convert'/>
+        <feature name='avx-vnni'/>
+        <feature name='avx-vnni-int8'/>
+        <feature name='bus-lock-detect'/>
+        <feature name='cmpccxadd'/>
+        <feature name='erms'/>
+        <feature name='fbsdp-no'/>
+        <feature name='fsrm'/>
+        <feature name='fsrs'/>
+        <feature name='gfni'/>
+        <feature name='ibrs-all'/>
+        <feature name='invpcid'/>
+        <feature name='mcdt-no'/>
+        <feature name='pbrsb-no'/>
+        <feature name='pcid'/>
+        <feature name='pku'/>
+        <feature name='psdp-no'/>
+        <feature name='sbdr-ssdp-no'/>
+        <feature name='serialize'/>
+        <feature name='spec-ctrl'/>
+        <feature name='vaes'/>
+        <feature name='vpclmulqdq'/>
+        <feature name='xsaves'/>
+      </blockers>
       <model usable='no' vendor='Intel'>Skylake-Client</model>
       <blockers model='Skylake-Client'>
         <feature name='erms'/>
-- 
2.47.0