[PATCH v2 36/36] cpu_map: Add KnightsMill CPU model

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

Notes:
    Version 2:
    - new patch

 src/cpu_map/index.xml                         |  1 +
 src/cpu_map/x86_KnightsMill.xml               | 71 +++++++++++++++++++
 .../domaincapsdata/qemu_5.2.0-q35.x86_64.xml  | 12 ++++
 .../domaincapsdata/qemu_5.2.0-tcg.x86_64.xml  | 18 +++++
 tests/domaincapsdata/qemu_5.2.0.x86_64.xml    | 12 ++++
 .../domaincapsdata/qemu_6.0.0-q35.x86_64.xml  | 12 ++++
 .../domaincapsdata/qemu_6.0.0-tcg.x86_64.xml  | 18 +++++
 tests/domaincapsdata/qemu_6.0.0.x86_64.xml    | 12 ++++
 .../domaincapsdata/qemu_6.1.0-q35.x86_64.xml  | 12 ++++
 .../domaincapsdata/qemu_6.1.0-tcg.x86_64.xml  | 18 +++++
 tests/domaincapsdata/qemu_6.1.0.x86_64.xml    | 12 ++++
 .../domaincapsdata/qemu_6.2.0-q35.x86_64.xml  | 12 ++++
 .../domaincapsdata/qemu_6.2.0-tcg.x86_64.xml  | 18 +++++
 tests/domaincapsdata/qemu_6.2.0.x86_64.xml    | 12 ++++
 .../domaincapsdata/qemu_7.0.0-q35.x86_64.xml  | 12 ++++
 .../domaincapsdata/qemu_7.0.0-tcg.x86_64.xml  | 18 +++++
 tests/domaincapsdata/qemu_7.0.0.x86_64.xml    | 12 ++++
 .../domaincapsdata/qemu_7.1.0-q35.x86_64.xml  | 12 ++++
 .../domaincapsdata/qemu_7.1.0-tcg.x86_64.xml  | 18 +++++
 tests/domaincapsdata/qemu_7.1.0.x86_64.xml    | 12 ++++
 .../domaincapsdata/qemu_7.2.0-q35.x86_64.xml  | 12 ++++
 .../qemu_7.2.0-tcg.x86_64+hvf.xml             | 14 ++++
 .../domaincapsdata/qemu_7.2.0-tcg.x86_64.xml  | 14 ++++
 tests/domaincapsdata/qemu_7.2.0.x86_64.xml    | 12 ++++
 .../domaincapsdata/qemu_8.0.0-q35.x86_64.xml  | 12 ++++
 .../domaincapsdata/qemu_8.0.0-tcg.x86_64.xml  | 14 ++++
 tests/domaincapsdata/qemu_8.0.0.x86_64.xml    | 12 ++++
 .../domaincapsdata/qemu_8.1.0-q35.x86_64.xml  | 12 ++++
 .../domaincapsdata/qemu_8.1.0-tcg.x86_64.xml  | 12 ++++
 tests/domaincapsdata/qemu_8.1.0.x86_64.xml    | 12 ++++
 .../domaincapsdata/qemu_8.2.0-q35.x86_64.xml  | 12 ++++
 .../domaincapsdata/qemu_8.2.0-tcg.x86_64.xml  | 12 ++++
 tests/domaincapsdata/qemu_8.2.0.x86_64.xml    | 12 ++++
 .../domaincapsdata/qemu_9.0.0-q35.x86_64.xml  | 12 ++++
 .../domaincapsdata/qemu_9.0.0-tcg.x86_64.xml  | 11 +++
 tests/domaincapsdata/qemu_9.0.0.x86_64.xml    | 12 ++++
 .../domaincapsdata/qemu_9.1.0-q35.x86_64.xml  | 12 ++++
 .../domaincapsdata/qemu_9.1.0-tcg.x86_64.xml  | 11 +++
 tests/domaincapsdata/qemu_9.1.0.x86_64.xml    | 12 ++++
 .../domaincapsdata/qemu_9.2.0-q35.x86_64.xml  | 12 ++++
 .../domaincapsdata/qemu_9.2.0-tcg.x86_64.xml  | 11 +++
 tests/domaincapsdata/qemu_9.2.0.x86_64.xml    | 12 ++++
 42 files changed, 591 insertions(+)
 create mode 100644 src/cpu_map/x86_KnightsMill.xml

diff --git a/src/cpu_map/index.xml b/src/cpu_map/index.xml
index 8ab5e66a2f..287cd7395e 100644
--- a/src/cpu_map/index.xml
+++ b/src/cpu_map/index.xml
@@ -114,6 +114,7 @@
       <include filename='x86_Denverton-v1.xml'/>
       <include filename='x86_Denverton-v2.xml'/>
       <include filename='x86_Denverton-v3.xml'/>
+      <include filename='x86_KnightsMill.xml'/>
     </group>
 
     <group name='AMD CPU models'>
diff --git a/src/cpu_map/x86_KnightsMill.xml b/src/cpu_map/x86_KnightsMill.xml
new file mode 100644
index 0000000000..6f2ff96c68
--- /dev/null
+++ b/src/cpu_map/x86_KnightsMill.xml
@@ -0,0 +1,71 @@
+<cpus>
+  <model name='KnightsMill'>
+    <decode host='on' guest='on'/>
+    <signature family='6' model='133'/>
+    <vendor name='Intel'/>
+    <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='avx512-4fmaps'/>
+    <feature name='avx512-4vnniw'/>
+    <feature name='avx512-vpopcntdq'/>
+    <feature name='avx512cd'/>
+    <feature name='avx512er'/>
+    <feature name='avx512f'/>
+    <feature name='avx512pf'/>
+    <feature name='bmi1'/>
+    <feature name='bmi2'/>
+    <feature name='clflush'/>
+    <feature name='cmov'/>
+    <feature name='cx16'/>
+    <feature name='cx8'/>
+    <feature name='de'/>
+    <feature name='erms'/>
+    <feature name='f16c'/>
+    <feature name='fma'/>
+    <feature name='fpu'/>
+    <feature name='fsgsbase'/>
+    <feature name='fxsr'/>
+    <feature name='lahf_lm'/>
+    <feature name='lm'/>
+    <feature name='mca'/>
+    <feature name='mce'/>
+    <feature name='mmx'/>
+    <feature name='movbe'/>
+    <feature name='msr'/>
+    <feature name='mtrr'/>
+    <feature name='nx'/>
+    <feature name='pae'/>
+    <feature name='pat'/>
+    <feature name='pclmuldq'/>
+    <feature name='pdpe1gb'/>
+    <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='smep'/>
+    <feature name='ss'/>
+    <feature name='sse'/>
+    <feature name='sse2'/>
+    <feature name='sse4.1'/>
+    <feature name='sse4.2'/>
+    <feature name='ssse3'/>
+    <feature name='syscall'/>
+    <feature name='tsc'/>
+    <feature name='tsc-deadline'/>
+    <feature name='vme'/>
+    <feature name='x2apic'/>
+    <feature name='xsave'/>
+    <feature name='xsaveopt'/>
+  </model>
+</cpus>
diff --git a/tests/domaincapsdata/qemu_5.2.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_5.2.0-q35.x86_64.xml
index 71899aac51..5fa2d07976 100644
--- a/tests/domaincapsdata/qemu_5.2.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_5.2.0-q35.x86_64.xml
@@ -536,6 +536,18 @@
         <feature name='erms'/>
         <feature name='spec-ctrl'/>
       </blockers>
+      <model usable='no' vendor='Intel'>KnightsMill</model>
+      <blockers model='KnightsMill'>
+        <feature name='avx512-4fmaps'/>
+        <feature name='avx512-4vnniw'/>
+        <feature name='avx512-vpopcntdq'/>
+        <feature name='avx512cd'/>
+        <feature name='avx512er'/>
+        <feature name='avx512f'/>
+        <feature name='avx512pf'/>
+        <feature name='erms'/>
+        <feature name='ss'/>
+      </blockers>
       <model usable='yes' vendor='Intel' canonical='Nehalem-v1'>Nehalem</model>
       <model usable='no' vendor='Intel' canonical='Nehalem-v2'>Nehalem-IBRS</model>
       <blockers model='Nehalem-IBRS'>
diff --git a/tests/domaincapsdata/qemu_5.2.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_5.2.0-tcg.x86_64.xml
index 286b8e966d..0348a65589 100644
--- a/tests/domaincapsdata/qemu_5.2.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_5.2.0-tcg.x86_64.xml
@@ -1019,6 +1019,24 @@
         <feature name='tsc-deadline'/>
         <feature name='x2apic'/>
       </blockers>
+      <model usable='no' vendor='Intel'>KnightsMill</model>
+      <blockers model='KnightsMill'>
+        <feature name='3dnowprefetch'/>
+        <feature name='avx'/>
+        <feature name='avx2'/>
+        <feature name='avx512-4fmaps'/>
+        <feature name='avx512-4vnniw'/>
+        <feature name='avx512-vpopcntdq'/>
+        <feature name='avx512cd'/>
+        <feature name='avx512er'/>
+        <feature name='avx512f'/>
+        <feature name='avx512pf'/>
+        <feature name='f16c'/>
+        <feature name='fma'/>
+        <feature name='rdseed'/>
+        <feature name='tsc-deadline'/>
+        <feature name='x2apic'/>
+      </blockers>
       <model usable='yes' vendor='Intel' canonical='Nehalem-v1'>Nehalem</model>
       <model usable='no' vendor='Intel' canonical='Nehalem-v2'>Nehalem-IBRS</model>
       <blockers model='Nehalem-IBRS'>
diff --git a/tests/domaincapsdata/qemu_5.2.0.x86_64.xml b/tests/domaincapsdata/qemu_5.2.0.x86_64.xml
index c81560572c..49a18cd333 100644
--- a/tests/domaincapsdata/qemu_5.2.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_5.2.0.x86_64.xml
@@ -535,6 +535,18 @@
         <feature name='erms'/>
         <feature name='spec-ctrl'/>
       </blockers>
+      <model usable='no' vendor='Intel'>KnightsMill</model>
+      <blockers model='KnightsMill'>
+        <feature name='avx512-4fmaps'/>
+        <feature name='avx512-4vnniw'/>
+        <feature name='avx512-vpopcntdq'/>
+        <feature name='avx512cd'/>
+        <feature name='avx512er'/>
+        <feature name='avx512f'/>
+        <feature name='avx512pf'/>
+        <feature name='erms'/>
+        <feature name='ss'/>
+      </blockers>
       <model usable='yes' vendor='Intel' canonical='Nehalem-v1'>Nehalem</model>
       <model usable='no' vendor='Intel' canonical='Nehalem-v2'>Nehalem-IBRS</model>
       <blockers model='Nehalem-IBRS'>
diff --git a/tests/domaincapsdata/qemu_6.0.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_6.0.0-q35.x86_64.xml
index c8b6a1b6d4..b990a2d597 100644
--- a/tests/domaincapsdata/qemu_6.0.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.0.0-q35.x86_64.xml
@@ -558,6 +558,18 @@
         <feature name='erms'/>
         <feature name='spec-ctrl'/>
       </blockers>
+      <model usable='no' vendor='Intel'>KnightsMill</model>
+      <blockers model='KnightsMill'>
+        <feature name='avx512-4fmaps'/>
+        <feature name='avx512-4vnniw'/>
+        <feature name='avx512-vpopcntdq'/>
+        <feature name='avx512cd'/>
+        <feature name='avx512er'/>
+        <feature name='avx512f'/>
+        <feature name='avx512pf'/>
+        <feature name='erms'/>
+        <feature name='ss'/>
+      </blockers>
       <model usable='yes' vendor='Intel' canonical='Nehalem-v1'>Nehalem</model>
       <model usable='no' vendor='Intel' canonical='Nehalem-v2'>Nehalem-IBRS</model>
       <blockers model='Nehalem-IBRS'>
diff --git a/tests/domaincapsdata/qemu_6.0.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_6.0.0-tcg.x86_64.xml
index 8eb428012a..6746479be5 100644
--- a/tests/domaincapsdata/qemu_6.0.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.0.0-tcg.x86_64.xml
@@ -1109,6 +1109,24 @@
         <feature name='tsc-deadline'/>
         <feature name='x2apic'/>
       </blockers>
+      <model usable='no' vendor='Intel'>KnightsMill</model>
+      <blockers model='KnightsMill'>
+        <feature name='3dnowprefetch'/>
+        <feature name='avx'/>
+        <feature name='avx2'/>
+        <feature name='avx512-4fmaps'/>
+        <feature name='avx512-4vnniw'/>
+        <feature name='avx512-vpopcntdq'/>
+        <feature name='avx512cd'/>
+        <feature name='avx512er'/>
+        <feature name='avx512f'/>
+        <feature name='avx512pf'/>
+        <feature name='f16c'/>
+        <feature name='fma'/>
+        <feature name='rdseed'/>
+        <feature name='tsc-deadline'/>
+        <feature name='x2apic'/>
+      </blockers>
       <model usable='yes' vendor='Intel' canonical='Nehalem-v1'>Nehalem</model>
       <model usable='no' vendor='Intel' canonical='Nehalem-v2'>Nehalem-IBRS</model>
       <blockers model='Nehalem-IBRS'>
diff --git a/tests/domaincapsdata/qemu_6.0.0.x86_64.xml b/tests/domaincapsdata/qemu_6.0.0.x86_64.xml
index 49a1404ede..81c9bb1444 100644
--- a/tests/domaincapsdata/qemu_6.0.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.0.0.x86_64.xml
@@ -557,6 +557,18 @@
         <feature name='erms'/>
         <feature name='spec-ctrl'/>
       </blockers>
+      <model usable='no' vendor='Intel'>KnightsMill</model>
+      <blockers model='KnightsMill'>
+        <feature name='avx512-4fmaps'/>
+        <feature name='avx512-4vnniw'/>
+        <feature name='avx512-vpopcntdq'/>
+        <feature name='avx512cd'/>
+        <feature name='avx512er'/>
+        <feature name='avx512f'/>
+        <feature name='avx512pf'/>
+        <feature name='erms'/>
+        <feature name='ss'/>
+      </blockers>
       <model usable='yes' vendor='Intel' canonical='Nehalem-v1'>Nehalem</model>
       <model usable='no' vendor='Intel' canonical='Nehalem-v2'>Nehalem-IBRS</model>
       <blockers model='Nehalem-IBRS'>
diff --git a/tests/domaincapsdata/qemu_6.1.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_6.1.0-q35.x86_64.xml
index 4b4f03331f..0cd73ee54f 100644
--- a/tests/domaincapsdata/qemu_6.1.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.1.0-q35.x86_64.xml
@@ -628,6 +628,18 @@
         <feature name='erms'/>
         <feature name='spec-ctrl'/>
       </blockers>
+      <model usable='no' vendor='Intel'>KnightsMill</model>
+      <blockers model='KnightsMill'>
+        <feature name='avx512-4fmaps'/>
+        <feature name='avx512-4vnniw'/>
+        <feature name='avx512-vpopcntdq'/>
+        <feature name='avx512cd'/>
+        <feature name='avx512er'/>
+        <feature name='avx512f'/>
+        <feature name='avx512pf'/>
+        <feature name='erms'/>
+        <feature name='ss'/>
+      </blockers>
       <model usable='yes' vendor='Intel' canonical='Nehalem-v1'>Nehalem</model>
       <model usable='no' vendor='Intel' canonical='Nehalem-v2'>Nehalem-IBRS</model>
       <blockers model='Nehalem-IBRS'>
diff --git a/tests/domaincapsdata/qemu_6.1.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_6.1.0-tcg.x86_64.xml
index 8b14fc2b24..8a09c53177 100644
--- a/tests/domaincapsdata/qemu_6.1.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.1.0-tcg.x86_64.xml
@@ -1249,6 +1249,24 @@
         <feature name='tsc-deadline'/>
         <feature name='x2apic'/>
       </blockers>
+      <model usable='no' vendor='Intel'>KnightsMill</model>
+      <blockers model='KnightsMill'>
+        <feature name='3dnowprefetch'/>
+        <feature name='avx'/>
+        <feature name='avx2'/>
+        <feature name='avx512-4fmaps'/>
+        <feature name='avx512-4vnniw'/>
+        <feature name='avx512-vpopcntdq'/>
+        <feature name='avx512cd'/>
+        <feature name='avx512er'/>
+        <feature name='avx512f'/>
+        <feature name='avx512pf'/>
+        <feature name='f16c'/>
+        <feature name='fma'/>
+        <feature name='rdseed'/>
+        <feature name='tsc-deadline'/>
+        <feature name='x2apic'/>
+      </blockers>
       <model usable='yes' vendor='Intel' canonical='Nehalem-v1'>Nehalem</model>
       <model usable='no' vendor='Intel' canonical='Nehalem-v2'>Nehalem-IBRS</model>
       <blockers model='Nehalem-IBRS'>
diff --git a/tests/domaincapsdata/qemu_6.1.0.x86_64.xml b/tests/domaincapsdata/qemu_6.1.0.x86_64.xml
index 4130b22e04..5a23dfee52 100644
--- a/tests/domaincapsdata/qemu_6.1.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.1.0.x86_64.xml
@@ -627,6 +627,18 @@
         <feature name='erms'/>
         <feature name='spec-ctrl'/>
       </blockers>
+      <model usable='no' vendor='Intel'>KnightsMill</model>
+      <blockers model='KnightsMill'>
+        <feature name='avx512-4fmaps'/>
+        <feature name='avx512-4vnniw'/>
+        <feature name='avx512-vpopcntdq'/>
+        <feature name='avx512cd'/>
+        <feature name='avx512er'/>
+        <feature name='avx512f'/>
+        <feature name='avx512pf'/>
+        <feature name='erms'/>
+        <feature name='ss'/>
+      </blockers>
       <model usable='yes' vendor='Intel' canonical='Nehalem-v1'>Nehalem</model>
       <model usable='no' vendor='Intel' canonical='Nehalem-v2'>Nehalem-IBRS</model>
       <blockers model='Nehalem-IBRS'>
diff --git a/tests/domaincapsdata/qemu_6.2.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_6.2.0-q35.x86_64.xml
index 5c2eb2c3eb..84e783f739 100644
--- a/tests/domaincapsdata/qemu_6.2.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.2.0-q35.x86_64.xml
@@ -625,6 +625,18 @@
         <feature name='erms'/>
         <feature name='spec-ctrl'/>
       </blockers>
+      <model usable='no' vendor='Intel'>KnightsMill</model>
+      <blockers model='KnightsMill'>
+        <feature name='avx512-4fmaps'/>
+        <feature name='avx512-4vnniw'/>
+        <feature name='avx512-vpopcntdq'/>
+        <feature name='avx512cd'/>
+        <feature name='avx512er'/>
+        <feature name='avx512f'/>
+        <feature name='avx512pf'/>
+        <feature name='erms'/>
+        <feature name='ss'/>
+      </blockers>
       <model usable='yes' vendor='Intel' canonical='Nehalem-v1'>Nehalem</model>
       <model usable='no' vendor='Intel' canonical='Nehalem-v2'>Nehalem-IBRS</model>
       <blockers model='Nehalem-IBRS'>
diff --git a/tests/domaincapsdata/qemu_6.2.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_6.2.0-tcg.x86_64.xml
index ea7836d9b1..4d7ed1eea8 100644
--- a/tests/domaincapsdata/qemu_6.2.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.2.0-tcg.x86_64.xml
@@ -1246,6 +1246,24 @@
         <feature name='tsc-deadline'/>
         <feature name='x2apic'/>
       </blockers>
+      <model usable='no' vendor='Intel'>KnightsMill</model>
+      <blockers model='KnightsMill'>
+        <feature name='3dnowprefetch'/>
+        <feature name='avx'/>
+        <feature name='avx2'/>
+        <feature name='avx512-4fmaps'/>
+        <feature name='avx512-4vnniw'/>
+        <feature name='avx512-vpopcntdq'/>
+        <feature name='avx512cd'/>
+        <feature name='avx512er'/>
+        <feature name='avx512f'/>
+        <feature name='avx512pf'/>
+        <feature name='f16c'/>
+        <feature name='fma'/>
+        <feature name='rdseed'/>
+        <feature name='tsc-deadline'/>
+        <feature name='x2apic'/>
+      </blockers>
       <model usable='yes' vendor='Intel' canonical='Nehalem-v1'>Nehalem</model>
       <model usable='no' vendor='Intel' canonical='Nehalem-v2'>Nehalem-IBRS</model>
       <blockers model='Nehalem-IBRS'>
diff --git a/tests/domaincapsdata/qemu_6.2.0.x86_64.xml b/tests/domaincapsdata/qemu_6.2.0.x86_64.xml
index 61f7811e55..0446dff4fb 100644
--- a/tests/domaincapsdata/qemu_6.2.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.2.0.x86_64.xml
@@ -624,6 +624,18 @@
         <feature name='erms'/>
         <feature name='spec-ctrl'/>
       </blockers>
+      <model usable='no' vendor='Intel'>KnightsMill</model>
+      <blockers model='KnightsMill'>
+        <feature name='avx512-4fmaps'/>
+        <feature name='avx512-4vnniw'/>
+        <feature name='avx512-vpopcntdq'/>
+        <feature name='avx512cd'/>
+        <feature name='avx512er'/>
+        <feature name='avx512f'/>
+        <feature name='avx512pf'/>
+        <feature name='erms'/>
+        <feature name='ss'/>
+      </blockers>
       <model usable='yes' vendor='Intel' canonical='Nehalem-v1'>Nehalem</model>
       <model usable='no' vendor='Intel' canonical='Nehalem-v2'>Nehalem-IBRS</model>
       <blockers model='Nehalem-IBRS'>
diff --git a/tests/domaincapsdata/qemu_7.0.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_7.0.0-q35.x86_64.xml
index f86ea024e3..e5718bc50c 100644
--- a/tests/domaincapsdata/qemu_7.0.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_7.0.0-q35.x86_64.xml
@@ -652,6 +652,18 @@
         <feature name='erms'/>
         <feature name='spec-ctrl'/>
       </blockers>
+      <model usable='no' vendor='Intel'>KnightsMill</model>
+      <blockers model='KnightsMill'>
+        <feature name='avx512-4fmaps'/>
+        <feature name='avx512-4vnniw'/>
+        <feature name='avx512-vpopcntdq'/>
+        <feature name='avx512cd'/>
+        <feature name='avx512er'/>
+        <feature name='avx512f'/>
+        <feature name='avx512pf'/>
+        <feature name='erms'/>
+        <feature name='ss'/>
+      </blockers>
       <model usable='yes' vendor='Intel' canonical='Nehalem-v1'>Nehalem</model>
       <model usable='no' vendor='Intel' canonical='Nehalem-v2'>Nehalem-IBRS</model>
       <blockers model='Nehalem-IBRS'>
diff --git a/tests/domaincapsdata/qemu_7.0.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_7.0.0-tcg.x86_64.xml
index b11529758a..c3a93369e4 100644
--- a/tests/domaincapsdata/qemu_7.0.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_7.0.0-tcg.x86_64.xml
@@ -1275,6 +1275,24 @@
         <feature name='tsc-deadline'/>
         <feature name='x2apic'/>
       </blockers>
+      <model usable='no' vendor='Intel'>KnightsMill</model>
+      <blockers model='KnightsMill'>
+        <feature name='3dnowprefetch'/>
+        <feature name='avx'/>
+        <feature name='avx2'/>
+        <feature name='avx512-4fmaps'/>
+        <feature name='avx512-4vnniw'/>
+        <feature name='avx512-vpopcntdq'/>
+        <feature name='avx512cd'/>
+        <feature name='avx512er'/>
+        <feature name='avx512f'/>
+        <feature name='avx512pf'/>
+        <feature name='f16c'/>
+        <feature name='fma'/>
+        <feature name='rdseed'/>
+        <feature name='tsc-deadline'/>
+        <feature name='x2apic'/>
+      </blockers>
       <model usable='yes' vendor='Intel' canonical='Nehalem-v1'>Nehalem</model>
       <model usable='no' vendor='Intel' canonical='Nehalem-v2'>Nehalem-IBRS</model>
       <blockers model='Nehalem-IBRS'>
diff --git a/tests/domaincapsdata/qemu_7.0.0.x86_64.xml b/tests/domaincapsdata/qemu_7.0.0.x86_64.xml
index 37f3097940..7415bda6bf 100644
--- a/tests/domaincapsdata/qemu_7.0.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_7.0.0.x86_64.xml
@@ -651,6 +651,18 @@
         <feature name='erms'/>
         <feature name='spec-ctrl'/>
       </blockers>
+      <model usable='no' vendor='Intel'>KnightsMill</model>
+      <blockers model='KnightsMill'>
+        <feature name='avx512-4fmaps'/>
+        <feature name='avx512-4vnniw'/>
+        <feature name='avx512-vpopcntdq'/>
+        <feature name='avx512cd'/>
+        <feature name='avx512er'/>
+        <feature name='avx512f'/>
+        <feature name='avx512pf'/>
+        <feature name='erms'/>
+        <feature name='ss'/>
+      </blockers>
       <model usable='yes' vendor='Intel' canonical='Nehalem-v1'>Nehalem</model>
       <model usable='no' vendor='Intel' canonical='Nehalem-v2'>Nehalem-IBRS</model>
       <blockers model='Nehalem-IBRS'>
diff --git a/tests/domaincapsdata/qemu_7.1.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_7.1.0-q35.x86_64.xml
index 363b9444d0..720387e9db 100644
--- a/tests/domaincapsdata/qemu_7.1.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_7.1.0-q35.x86_64.xml
@@ -619,6 +619,18 @@
         <feature name='erms'/>
         <feature name='spec-ctrl'/>
       </blockers>
+      <model usable='no' vendor='Intel'>KnightsMill</model>
+      <blockers model='KnightsMill'>
+        <feature name='avx512-4fmaps'/>
+        <feature name='avx512-4vnniw'/>
+        <feature name='avx512-vpopcntdq'/>
+        <feature name='avx512cd'/>
+        <feature name='avx512er'/>
+        <feature name='avx512f'/>
+        <feature name='avx512pf'/>
+        <feature name='erms'/>
+        <feature name='ss'/>
+      </blockers>
       <model usable='yes' vendor='Intel' canonical='Nehalem-v1'>Nehalem</model>
       <model usable='no' vendor='Intel' canonical='Nehalem-v2'>Nehalem-IBRS</model>
       <blockers model='Nehalem-IBRS'>
diff --git a/tests/domaincapsdata/qemu_7.1.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_7.1.0-tcg.x86_64.xml
index 0b296c6b20..3000d11487 100644
--- a/tests/domaincapsdata/qemu_7.1.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_7.1.0-tcg.x86_64.xml
@@ -1223,6 +1223,24 @@
         <feature name='tsc-deadline'/>
         <feature name='x2apic'/>
       </blockers>
+      <model usable='no' vendor='Intel'>KnightsMill</model>
+      <blockers model='KnightsMill'>
+        <feature name='3dnowprefetch'/>
+        <feature name='avx'/>
+        <feature name='avx2'/>
+        <feature name='avx512-4fmaps'/>
+        <feature name='avx512-4vnniw'/>
+        <feature name='avx512-vpopcntdq'/>
+        <feature name='avx512cd'/>
+        <feature name='avx512er'/>
+        <feature name='avx512f'/>
+        <feature name='avx512pf'/>
+        <feature name='f16c'/>
+        <feature name='fma'/>
+        <feature name='rdseed'/>
+        <feature name='tsc-deadline'/>
+        <feature name='x2apic'/>
+      </blockers>
       <model usable='yes' vendor='Intel' canonical='Nehalem-v1'>Nehalem</model>
       <model usable='no' vendor='Intel' canonical='Nehalem-v2'>Nehalem-IBRS</model>
       <blockers model='Nehalem-IBRS'>
diff --git a/tests/domaincapsdata/qemu_7.1.0.x86_64.xml b/tests/domaincapsdata/qemu_7.1.0.x86_64.xml
index 74d06d4c08..31fe652a9f 100644
--- a/tests/domaincapsdata/qemu_7.1.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_7.1.0.x86_64.xml
@@ -618,6 +618,18 @@
         <feature name='erms'/>
         <feature name='spec-ctrl'/>
       </blockers>
+      <model usable='no' vendor='Intel'>KnightsMill</model>
+      <blockers model='KnightsMill'>
+        <feature name='avx512-4fmaps'/>
+        <feature name='avx512-4vnniw'/>
+        <feature name='avx512-vpopcntdq'/>
+        <feature name='avx512cd'/>
+        <feature name='avx512er'/>
+        <feature name='avx512f'/>
+        <feature name='avx512pf'/>
+        <feature name='erms'/>
+        <feature name='ss'/>
+      </blockers>
       <model usable='yes' vendor='Intel' canonical='Nehalem-v1'>Nehalem</model>
       <model usable='no' vendor='Intel' canonical='Nehalem-v2'>Nehalem-IBRS</model>
       <blockers model='Nehalem-IBRS'>
diff --git a/tests/domaincapsdata/qemu_7.2.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_7.2.0-q35.x86_64.xml
index e1c4fb3ca4..88db1c659e 100644
--- a/tests/domaincapsdata/qemu_7.2.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_7.2.0-q35.x86_64.xml
@@ -624,6 +624,18 @@
         <feature name='erms'/>
         <feature name='spec-ctrl'/>
       </blockers>
+      <model usable='no' vendor='Intel'>KnightsMill</model>
+      <blockers model='KnightsMill'>
+        <feature name='avx512-4fmaps'/>
+        <feature name='avx512-4vnniw'/>
+        <feature name='avx512-vpopcntdq'/>
+        <feature name='avx512cd'/>
+        <feature name='avx512er'/>
+        <feature name='avx512f'/>
+        <feature name='avx512pf'/>
+        <feature name='erms'/>
+        <feature name='ss'/>
+      </blockers>
       <model usable='yes' vendor='Intel' canonical='Nehalem-v1'>Nehalem</model>
       <model usable='no' vendor='Intel' canonical='Nehalem-v2'>Nehalem-IBRS</model>
       <blockers model='Nehalem-IBRS'>
diff --git a/tests/domaincapsdata/qemu_7.2.0-tcg.x86_64+hvf.xml b/tests/domaincapsdata/qemu_7.2.0-tcg.x86_64+hvf.xml
index 56788953c0..3392f2b42f 100644
--- a/tests/domaincapsdata/qemu_7.2.0-tcg.x86_64+hvf.xml
+++ b/tests/domaincapsdata/qemu_7.2.0-tcg.x86_64+hvf.xml
@@ -1008,6 +1008,20 @@
         <feature name='tsc-deadline'/>
         <feature name='x2apic'/>
       </blockers>
+      <model usable='no' vendor='Intel'>KnightsMill</model>
+      <blockers model='KnightsMill'>
+        <feature name='3dnowprefetch'/>
+        <feature name='avx512-4fmaps'/>
+        <feature name='avx512-4vnniw'/>
+        <feature name='avx512-vpopcntdq'/>
+        <feature name='avx512cd'/>
+        <feature name='avx512er'/>
+        <feature name='avx512f'/>
+        <feature name='avx512pf'/>
+        <feature name='rdseed'/>
+        <feature name='tsc-deadline'/>
+        <feature name='x2apic'/>
+      </blockers>
       <model usable='yes' vendor='Intel' canonical='Nehalem-v1'>Nehalem</model>
       <model usable='no' vendor='Intel' canonical='Nehalem-v2'>Nehalem-IBRS</model>
       <blockers model='Nehalem-IBRS'>
diff --git a/tests/domaincapsdata/qemu_7.2.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_7.2.0-tcg.x86_64.xml
index 56788953c0..3392f2b42f 100644
--- a/tests/domaincapsdata/qemu_7.2.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_7.2.0-tcg.x86_64.xml
@@ -1008,6 +1008,20 @@
         <feature name='tsc-deadline'/>
         <feature name='x2apic'/>
       </blockers>
+      <model usable='no' vendor='Intel'>KnightsMill</model>
+      <blockers model='KnightsMill'>
+        <feature name='3dnowprefetch'/>
+        <feature name='avx512-4fmaps'/>
+        <feature name='avx512-4vnniw'/>
+        <feature name='avx512-vpopcntdq'/>
+        <feature name='avx512cd'/>
+        <feature name='avx512er'/>
+        <feature name='avx512f'/>
+        <feature name='avx512pf'/>
+        <feature name='rdseed'/>
+        <feature name='tsc-deadline'/>
+        <feature name='x2apic'/>
+      </blockers>
       <model usable='yes' vendor='Intel' canonical='Nehalem-v1'>Nehalem</model>
       <model usable='no' vendor='Intel' canonical='Nehalem-v2'>Nehalem-IBRS</model>
       <blockers model='Nehalem-IBRS'>
diff --git a/tests/domaincapsdata/qemu_7.2.0.x86_64.xml b/tests/domaincapsdata/qemu_7.2.0.x86_64.xml
index 0881e58bae..5223dbb2e2 100644
--- a/tests/domaincapsdata/qemu_7.2.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_7.2.0.x86_64.xml
@@ -623,6 +623,18 @@
         <feature name='erms'/>
         <feature name='spec-ctrl'/>
       </blockers>
+      <model usable='no' vendor='Intel'>KnightsMill</model>
+      <blockers model='KnightsMill'>
+        <feature name='avx512-4fmaps'/>
+        <feature name='avx512-4vnniw'/>
+        <feature name='avx512-vpopcntdq'/>
+        <feature name='avx512cd'/>
+        <feature name='avx512er'/>
+        <feature name='avx512f'/>
+        <feature name='avx512pf'/>
+        <feature name='erms'/>
+        <feature name='ss'/>
+      </blockers>
       <model usable='yes' vendor='Intel' canonical='Nehalem-v1'>Nehalem</model>
       <model usable='no' vendor='Intel' canonical='Nehalem-v2'>Nehalem-IBRS</model>
       <blockers model='Nehalem-IBRS'>
diff --git a/tests/domaincapsdata/qemu_8.0.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_8.0.0-q35.x86_64.xml
index fe73e69a73..e43c6710e9 100644
--- a/tests/domaincapsdata/qemu_8.0.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_8.0.0-q35.x86_64.xml
@@ -624,6 +624,18 @@
         <feature name='erms'/>
         <feature name='spec-ctrl'/>
       </blockers>
+      <model usable='no' vendor='Intel'>KnightsMill</model>
+      <blockers model='KnightsMill'>
+        <feature name='avx512-4fmaps'/>
+        <feature name='avx512-4vnniw'/>
+        <feature name='avx512-vpopcntdq'/>
+        <feature name='avx512cd'/>
+        <feature name='avx512er'/>
+        <feature name='avx512f'/>
+        <feature name='avx512pf'/>
+        <feature name='erms'/>
+        <feature name='ss'/>
+      </blockers>
       <model usable='yes' vendor='Intel' canonical='Nehalem-v1'>Nehalem</model>
       <model usable='no' vendor='Intel' canonical='Nehalem-v2'>Nehalem-IBRS</model>
       <blockers model='Nehalem-IBRS'>
diff --git a/tests/domaincapsdata/qemu_8.0.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_8.0.0-tcg.x86_64.xml
index 355af77b04..3d5c15fdf1 100644
--- a/tests/domaincapsdata/qemu_8.0.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_8.0.0-tcg.x86_64.xml
@@ -1007,6 +1007,20 @@
         <feature name='tsc-deadline'/>
         <feature name='x2apic'/>
       </blockers>
+      <model usable='no' vendor='Intel'>KnightsMill</model>
+      <blockers model='KnightsMill'>
+        <feature name='3dnowprefetch'/>
+        <feature name='avx512-4fmaps'/>
+        <feature name='avx512-4vnniw'/>
+        <feature name='avx512-vpopcntdq'/>
+        <feature name='avx512cd'/>
+        <feature name='avx512er'/>
+        <feature name='avx512f'/>
+        <feature name='avx512pf'/>
+        <feature name='rdseed'/>
+        <feature name='tsc-deadline'/>
+        <feature name='x2apic'/>
+      </blockers>
       <model usable='yes' vendor='Intel' canonical='Nehalem-v1'>Nehalem</model>
       <model usable='no' vendor='Intel' canonical='Nehalem-v2'>Nehalem-IBRS</model>
       <blockers model='Nehalem-IBRS'>
diff --git a/tests/domaincapsdata/qemu_8.0.0.x86_64.xml b/tests/domaincapsdata/qemu_8.0.0.x86_64.xml
index 3a35680d4c..420dae738f 100644
--- a/tests/domaincapsdata/qemu_8.0.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_8.0.0.x86_64.xml
@@ -623,6 +623,18 @@
         <feature name='erms'/>
         <feature name='spec-ctrl'/>
       </blockers>
+      <model usable='no' vendor='Intel'>KnightsMill</model>
+      <blockers model='KnightsMill'>
+        <feature name='avx512-4fmaps'/>
+        <feature name='avx512-4vnniw'/>
+        <feature name='avx512-vpopcntdq'/>
+        <feature name='avx512cd'/>
+        <feature name='avx512er'/>
+        <feature name='avx512f'/>
+        <feature name='avx512pf'/>
+        <feature name='erms'/>
+        <feature name='ss'/>
+      </blockers>
       <model usable='yes' vendor='Intel' canonical='Nehalem-v1'>Nehalem</model>
       <model usable='no' vendor='Intel' canonical='Nehalem-v2'>Nehalem-IBRS</model>
       <blockers model='Nehalem-IBRS'>
diff --git a/tests/domaincapsdata/qemu_8.1.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_8.1.0-q35.x86_64.xml
index 62bf217a54..e5853535ce 100644
--- a/tests/domaincapsdata/qemu_8.1.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_8.1.0-q35.x86_64.xml
@@ -802,6 +802,18 @@
         <feature name='erms'/>
         <feature name='spec-ctrl'/>
       </blockers>
+      <model usable='no' vendor='Intel'>KnightsMill</model>
+      <blockers model='KnightsMill'>
+        <feature name='avx512-4fmaps'/>
+        <feature name='avx512-4vnniw'/>
+        <feature name='avx512-vpopcntdq'/>
+        <feature name='avx512cd'/>
+        <feature name='avx512er'/>
+        <feature name='avx512f'/>
+        <feature name='avx512pf'/>
+        <feature name='erms'/>
+        <feature name='ss'/>
+      </blockers>
       <model usable='yes' vendor='Intel' canonical='Nehalem-v1'>Nehalem</model>
       <model usable='no' vendor='Intel' canonical='Nehalem-v2'>Nehalem-IBRS</model>
       <blockers model='Nehalem-IBRS'>
diff --git a/tests/domaincapsdata/qemu_8.1.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_8.1.0-tcg.x86_64.xml
index 4dcffa7558..22c40afdb1 100644
--- a/tests/domaincapsdata/qemu_8.1.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_8.1.0-tcg.x86_64.xml
@@ -1019,6 +1019,18 @@
         <feature name='tsc-deadline'/>
         <feature name='x2apic'/>
       </blockers>
+      <model usable='no' vendor='Intel'>KnightsMill</model>
+      <blockers model='KnightsMill'>
+        <feature name='avx512-4fmaps'/>
+        <feature name='avx512-4vnniw'/>
+        <feature name='avx512-vpopcntdq'/>
+        <feature name='avx512cd'/>
+        <feature name='avx512er'/>
+        <feature name='avx512f'/>
+        <feature name='avx512pf'/>
+        <feature name='tsc-deadline'/>
+        <feature name='x2apic'/>
+      </blockers>
       <model usable='yes' vendor='Intel' canonical='Nehalem-v1'>Nehalem</model>
       <model usable='no' vendor='Intel' canonical='Nehalem-v2'>Nehalem-IBRS</model>
       <blockers model='Nehalem-IBRS'>
diff --git a/tests/domaincapsdata/qemu_8.1.0.x86_64.xml b/tests/domaincapsdata/qemu_8.1.0.x86_64.xml
index 5a77b4389d..c40cbb8a73 100644
--- a/tests/domaincapsdata/qemu_8.1.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_8.1.0.x86_64.xml
@@ -801,6 +801,18 @@
         <feature name='erms'/>
         <feature name='spec-ctrl'/>
       </blockers>
+      <model usable='no' vendor='Intel'>KnightsMill</model>
+      <blockers model='KnightsMill'>
+        <feature name='avx512-4fmaps'/>
+        <feature name='avx512-4vnniw'/>
+        <feature name='avx512-vpopcntdq'/>
+        <feature name='avx512cd'/>
+        <feature name='avx512er'/>
+        <feature name='avx512f'/>
+        <feature name='avx512pf'/>
+        <feature name='erms'/>
+        <feature name='ss'/>
+      </blockers>
       <model usable='yes' vendor='Intel' canonical='Nehalem-v1'>Nehalem</model>
       <model usable='no' vendor='Intel' canonical='Nehalem-v2'>Nehalem-IBRS</model>
       <blockers model='Nehalem-IBRS'>
diff --git a/tests/domaincapsdata/qemu_8.2.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_8.2.0-q35.x86_64.xml
index defd5da379..cfc4b3e301 100644
--- a/tests/domaincapsdata/qemu_8.2.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_8.2.0-q35.x86_64.xml
@@ -803,6 +803,18 @@
         <feature name='erms'/>
         <feature name='spec-ctrl'/>
       </blockers>
+      <model usable='no' vendor='Intel'>KnightsMill</model>
+      <blockers model='KnightsMill'>
+        <feature name='avx512-4fmaps'/>
+        <feature name='avx512-4vnniw'/>
+        <feature name='avx512-vpopcntdq'/>
+        <feature name='avx512cd'/>
+        <feature name='avx512er'/>
+        <feature name='avx512f'/>
+        <feature name='avx512pf'/>
+        <feature name='erms'/>
+        <feature name='ss'/>
+      </blockers>
       <model usable='yes' vendor='Intel' canonical='Nehalem-v1'>Nehalem</model>
       <model usable='no' vendor='Intel' canonical='Nehalem-v2'>Nehalem-IBRS</model>
       <blockers model='Nehalem-IBRS'>
diff --git a/tests/domaincapsdata/qemu_8.2.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_8.2.0-tcg.x86_64.xml
index e15cef011a..4383050d3c 100644
--- a/tests/domaincapsdata/qemu_8.2.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_8.2.0-tcg.x86_64.xml
@@ -994,6 +994,18 @@
         <feature name='tsc-deadline'/>
         <feature name='x2apic'/>
       </blockers>
+      <model usable='no' vendor='Intel'>KnightsMill</model>
+      <blockers model='KnightsMill'>
+        <feature name='avx512-4fmaps'/>
+        <feature name='avx512-4vnniw'/>
+        <feature name='avx512-vpopcntdq'/>
+        <feature name='avx512cd'/>
+        <feature name='avx512er'/>
+        <feature name='avx512f'/>
+        <feature name='avx512pf'/>
+        <feature name='tsc-deadline'/>
+        <feature name='x2apic'/>
+      </blockers>
       <model usable='yes' vendor='Intel' canonical='Nehalem-v1'>Nehalem</model>
       <model usable='no' vendor='Intel' canonical='Nehalem-v2'>Nehalem-IBRS</model>
       <blockers model='Nehalem-IBRS'>
diff --git a/tests/domaincapsdata/qemu_8.2.0.x86_64.xml b/tests/domaincapsdata/qemu_8.2.0.x86_64.xml
index 3de0cfdeef..062d91ba9a 100644
--- a/tests/domaincapsdata/qemu_8.2.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_8.2.0.x86_64.xml
@@ -802,6 +802,18 @@
         <feature name='erms'/>
         <feature name='spec-ctrl'/>
       </blockers>
+      <model usable='no' vendor='Intel'>KnightsMill</model>
+      <blockers model='KnightsMill'>
+        <feature name='avx512-4fmaps'/>
+        <feature name='avx512-4vnniw'/>
+        <feature name='avx512-vpopcntdq'/>
+        <feature name='avx512cd'/>
+        <feature name='avx512er'/>
+        <feature name='avx512f'/>
+        <feature name='avx512pf'/>
+        <feature name='erms'/>
+        <feature name='ss'/>
+      </blockers>
       <model usable='yes' vendor='Intel' canonical='Nehalem-v1'>Nehalem</model>
       <model usable='no' vendor='Intel' canonical='Nehalem-v2'>Nehalem-IBRS</model>
       <blockers model='Nehalem-IBRS'>
diff --git a/tests/domaincapsdata/qemu_9.0.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_9.0.0-q35.x86_64.xml
index 79629685c7..e8053efc99 100644
--- a/tests/domaincapsdata/qemu_9.0.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_9.0.0-q35.x86_64.xml
@@ -803,6 +803,18 @@
         <feature name='erms'/>
         <feature name='spec-ctrl'/>
       </blockers>
+      <model usable='no' vendor='Intel'>KnightsMill</model>
+      <blockers model='KnightsMill'>
+        <feature name='avx512-4fmaps'/>
+        <feature name='avx512-4vnniw'/>
+        <feature name='avx512-vpopcntdq'/>
+        <feature name='avx512cd'/>
+        <feature name='avx512er'/>
+        <feature name='avx512f'/>
+        <feature name='avx512pf'/>
+        <feature name='erms'/>
+        <feature name='ss'/>
+      </blockers>
       <model usable='yes' vendor='Intel' canonical='Nehalem-v1'>Nehalem</model>
       <model usable='no' vendor='Intel' canonical='Nehalem-v2'>Nehalem-IBRS</model>
       <blockers model='Nehalem-IBRS'>
diff --git a/tests/domaincapsdata/qemu_9.0.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_9.0.0-tcg.x86_64.xml
index 8ce52b6cd4..8f3357be6f 100644
--- a/tests/domaincapsdata/qemu_9.0.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_9.0.0-tcg.x86_64.xml
@@ -952,6 +952,17 @@
         <feature name='spec-ctrl'/>
         <feature name='tsc-deadline'/>
       </blockers>
+      <model usable='no' vendor='Intel'>KnightsMill</model>
+      <blockers model='KnightsMill'>
+        <feature name='avx512-4fmaps'/>
+        <feature name='avx512-4vnniw'/>
+        <feature name='avx512-vpopcntdq'/>
+        <feature name='avx512cd'/>
+        <feature name='avx512er'/>
+        <feature name='avx512f'/>
+        <feature name='avx512pf'/>
+        <feature name='tsc-deadline'/>
+      </blockers>
       <model usable='yes' vendor='Intel' canonical='Nehalem-v1'>Nehalem</model>
       <model usable='no' vendor='Intel' canonical='Nehalem-v2'>Nehalem-IBRS</model>
       <blockers model='Nehalem-IBRS'>
diff --git a/tests/domaincapsdata/qemu_9.0.0.x86_64.xml b/tests/domaincapsdata/qemu_9.0.0.x86_64.xml
index d6eeed22c2..db12bd81e3 100644
--- a/tests/domaincapsdata/qemu_9.0.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_9.0.0.x86_64.xml
@@ -802,6 +802,18 @@
         <feature name='erms'/>
         <feature name='spec-ctrl'/>
       </blockers>
+      <model usable='no' vendor='Intel'>KnightsMill</model>
+      <blockers model='KnightsMill'>
+        <feature name='avx512-4fmaps'/>
+        <feature name='avx512-4vnniw'/>
+        <feature name='avx512-vpopcntdq'/>
+        <feature name='avx512cd'/>
+        <feature name='avx512er'/>
+        <feature name='avx512f'/>
+        <feature name='avx512pf'/>
+        <feature name='erms'/>
+        <feature name='ss'/>
+      </blockers>
       <model usable='yes' vendor='Intel' canonical='Nehalem-v1'>Nehalem</model>
       <model usable='no' vendor='Intel' canonical='Nehalem-v2'>Nehalem-IBRS</model>
       <blockers model='Nehalem-IBRS'>
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 cafefd865e..c3a7aff766 100644
--- a/tests/domaincapsdata/qemu_9.1.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_9.1.0-q35.x86_64.xml
@@ -836,6 +836,18 @@
         <feature name='erms'/>
         <feature name='spec-ctrl'/>
       </blockers>
+      <model usable='no' vendor='Intel'>KnightsMill</model>
+      <blockers model='KnightsMill'>
+        <feature name='avx512-4fmaps'/>
+        <feature name='avx512-4vnniw'/>
+        <feature name='avx512-vpopcntdq'/>
+        <feature name='avx512cd'/>
+        <feature name='avx512er'/>
+        <feature name='avx512f'/>
+        <feature name='avx512pf'/>
+        <feature name='erms'/>
+        <feature name='ss'/>
+      </blockers>
       <model usable='yes' vendor='Intel' canonical='Nehalem-v1'>Nehalem</model>
       <model usable='no' vendor='Intel' canonical='Nehalem-v2'>Nehalem-IBRS</model>
       <blockers model='Nehalem-IBRS'>
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 d1faf67581..a18ce928a5 100644
--- a/tests/domaincapsdata/qemu_9.1.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_9.1.0-tcg.x86_64.xml
@@ -977,6 +977,17 @@
         <feature name='spec-ctrl'/>
         <feature name='tsc-deadline'/>
       </blockers>
+      <model usable='no' vendor='Intel'>KnightsMill</model>
+      <blockers model='KnightsMill'>
+        <feature name='avx512-4fmaps'/>
+        <feature name='avx512-4vnniw'/>
+        <feature name='avx512-vpopcntdq'/>
+        <feature name='avx512cd'/>
+        <feature name='avx512er'/>
+        <feature name='avx512f'/>
+        <feature name='avx512pf'/>
+        <feature name='tsc-deadline'/>
+      </blockers>
       <model usable='yes' vendor='Intel' canonical='Nehalem-v1'>Nehalem</model>
       <model usable='no' vendor='Intel' canonical='Nehalem-v2'>Nehalem-IBRS</model>
       <blockers model='Nehalem-IBRS'>
diff --git a/tests/domaincapsdata/qemu_9.1.0.x86_64.xml b/tests/domaincapsdata/qemu_9.1.0.x86_64.xml
index 68dbbc8068..5019918b9b 100644
--- a/tests/domaincapsdata/qemu_9.1.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_9.1.0.x86_64.xml
@@ -835,6 +835,18 @@
         <feature name='erms'/>
         <feature name='spec-ctrl'/>
       </blockers>
+      <model usable='no' vendor='Intel'>KnightsMill</model>
+      <blockers model='KnightsMill'>
+        <feature name='avx512-4fmaps'/>
+        <feature name='avx512-4vnniw'/>
+        <feature name='avx512-vpopcntdq'/>
+        <feature name='avx512cd'/>
+        <feature name='avx512er'/>
+        <feature name='avx512f'/>
+        <feature name='avx512pf'/>
+        <feature name='erms'/>
+        <feature name='ss'/>
+      </blockers>
       <model usable='yes' vendor='Intel' canonical='Nehalem-v1'>Nehalem</model>
       <model usable='no' vendor='Intel' canonical='Nehalem-v2'>Nehalem-IBRS</model>
       <blockers model='Nehalem-IBRS'>
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 227ab2598a..5cd872831b 100644
--- a/tests/domaincapsdata/qemu_9.2.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_9.2.0-q35.x86_64.xml
@@ -836,6 +836,18 @@
         <feature name='erms'/>
         <feature name='spec-ctrl'/>
       </blockers>
+      <model usable='no' vendor='Intel'>KnightsMill</model>
+      <blockers model='KnightsMill'>
+        <feature name='avx512-4fmaps'/>
+        <feature name='avx512-4vnniw'/>
+        <feature name='avx512-vpopcntdq'/>
+        <feature name='avx512cd'/>
+        <feature name='avx512er'/>
+        <feature name='avx512f'/>
+        <feature name='avx512pf'/>
+        <feature name='erms'/>
+        <feature name='ss'/>
+      </blockers>
       <model usable='yes' vendor='Intel' canonical='Nehalem-v1'>Nehalem</model>
       <model usable='no' vendor='Intel' canonical='Nehalem-v2'>Nehalem-IBRS</model>
       <blockers model='Nehalem-IBRS'>
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 2dde0dbc6d..7afc9e3d69 100644
--- a/tests/domaincapsdata/qemu_9.2.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_9.2.0-tcg.x86_64.xml
@@ -977,6 +977,17 @@
         <feature name='spec-ctrl'/>
         <feature name='tsc-deadline'/>
       </blockers>
+      <model usable='no' vendor='Intel'>KnightsMill</model>
+      <blockers model='KnightsMill'>
+        <feature name='avx512-4fmaps'/>
+        <feature name='avx512-4vnniw'/>
+        <feature name='avx512-vpopcntdq'/>
+        <feature name='avx512cd'/>
+        <feature name='avx512er'/>
+        <feature name='avx512f'/>
+        <feature name='avx512pf'/>
+        <feature name='tsc-deadline'/>
+      </blockers>
       <model usable='yes' vendor='Intel' canonical='Nehalem-v1'>Nehalem</model>
       <model usable='no' vendor='Intel' canonical='Nehalem-v2'>Nehalem-IBRS</model>
       <blockers model='Nehalem-IBRS'>
diff --git a/tests/domaincapsdata/qemu_9.2.0.x86_64.xml b/tests/domaincapsdata/qemu_9.2.0.x86_64.xml
index 1681f4624c..11cfc7863d 100644
--- a/tests/domaincapsdata/qemu_9.2.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_9.2.0.x86_64.xml
@@ -835,6 +835,18 @@
         <feature name='erms'/>
         <feature name='spec-ctrl'/>
       </blockers>
+      <model usable='no' vendor='Intel'>KnightsMill</model>
+      <blockers model='KnightsMill'>
+        <feature name='avx512-4fmaps'/>
+        <feature name='avx512-4vnniw'/>
+        <feature name='avx512-vpopcntdq'/>
+        <feature name='avx512cd'/>
+        <feature name='avx512er'/>
+        <feature name='avx512f'/>
+        <feature name='avx512pf'/>
+        <feature name='erms'/>
+        <feature name='ss'/>
+      </blockers>
       <model usable='yes' vendor='Intel' canonical='Nehalem-v1'>Nehalem</model>
       <model usable='no' vendor='Intel' canonical='Nehalem-v2'>Nehalem-IBRS</model>
       <blockers model='Nehalem-IBRS'>
-- 
2.47.0
Re: [PATCH v2 36/36] cpu_map: Add KnightsMill CPU model
Posted by Jiri Denemark 1 week, 1 day ago
On Fri, Nov 22, 2024 at 22:33:16 +0100, Jiri Denemark wrote:
> Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
> ---
> 
> Notes:
>     Version 2:
>     - new patch
> 
>  src/cpu_map/index.xml                         |  1 +
>  src/cpu_map/x86_KnightsMill.xml               | 71 +++++++++++++++++++

Consider the following diff squashed in.

diff --git a/src/cpu_map/meson.build b/src/cpu_map/meson.build
index d624f6c4ad..88d67f4cce 100644
--- a/src/cpu_map/meson.build
+++ b/src/cpu_map/meson.build
@@ -95,6 +95,7 @@ cpumap_data = [
   'x86_IvyBridge-v1.xml',
   'x86_IvyBridge-v2.xml',
   'x86_IvyBridge.xml',
+  'x86_KnightsMill.xml',
   'x86_kvm32.xml',
   'x86_kvm64.xml',
   'x86_n270.xml',