[PATCH v2 29/36] cpu_map: Add versions of Westmere CPU model

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

Notes:
    Version 2:
    - Westmere-v2 defined as Westmere-IBRS
    - <decode host='on' guest='off'/> for all versioned models
    - canonical CPU models in domain capabilities

 src/cpu_map/index.xml                                 | 2 ++
 src/cpu_map/meson.build                               | 2 ++
 src/cpu_map/x86_Westmere-v1.xml                       | 6 ++++++
 src/cpu_map/x86_Westmere-v2.xml                       | 6 ++++++
 tests/cputestdata/x86_64-cpuid-Atom-P5362-host.xml    | 2 +-
 tests/cputestdata/x86_64-cpuid-Core-i5-650-host.xml   | 2 +-
 tests/cputestdata/x86_64-cpuid-Core-i7-4510U-host.xml | 2 +-
 tests/cputestdata/x86_64-cpuid-Xeon-E7-4820-host.xml  | 2 +-
 tests/cputestdata/x86_64-cpuid-Xeon-E7-4830-host.xml  | 2 +-
 tests/domaincapsdata/qemu_5.2.0-q35.x86_64.xml        | 9 +++++++--
 tests/domaincapsdata/qemu_5.2.0-tcg.x86_64.xml        | 9 +++++++--
 tests/domaincapsdata/qemu_5.2.0.x86_64.xml            | 9 +++++++--
 tests/domaincapsdata/qemu_6.0.0-q35.x86_64.xml        | 9 +++++++--
 tests/domaincapsdata/qemu_6.0.0-tcg.x86_64.xml        | 9 +++++++--
 tests/domaincapsdata/qemu_6.0.0.x86_64.xml            | 9 +++++++--
 tests/domaincapsdata/qemu_6.1.0-q35.x86_64.xml        | 9 +++++++--
 tests/domaincapsdata/qemu_6.1.0-tcg.x86_64.xml        | 9 +++++++--
 tests/domaincapsdata/qemu_6.1.0.x86_64.xml            | 9 +++++++--
 tests/domaincapsdata/qemu_6.2.0-q35.x86_64.xml        | 9 +++++++--
 tests/domaincapsdata/qemu_6.2.0-tcg.x86_64.xml        | 9 +++++++--
 tests/domaincapsdata/qemu_6.2.0.x86_64.xml            | 9 +++++++--
 tests/domaincapsdata/qemu_7.0.0-q35.x86_64.xml        | 9 +++++++--
 tests/domaincapsdata/qemu_7.0.0-tcg.x86_64.xml        | 9 +++++++--
 tests/domaincapsdata/qemu_7.0.0.x86_64.xml            | 9 +++++++--
 tests/domaincapsdata/qemu_7.1.0-q35.x86_64.xml        | 9 +++++++--
 tests/domaincapsdata/qemu_7.1.0-tcg.x86_64.xml        | 9 +++++++--
 tests/domaincapsdata/qemu_7.1.0.x86_64.xml            | 9 +++++++--
 tests/domaincapsdata/qemu_7.2.0-q35.x86_64.xml        | 9 +++++++--
 tests/domaincapsdata/qemu_7.2.0-tcg.x86_64+hvf.xml    | 9 +++++++--
 tests/domaincapsdata/qemu_7.2.0-tcg.x86_64.xml        | 9 +++++++--
 tests/domaincapsdata/qemu_7.2.0.x86_64.xml            | 9 +++++++--
 tests/domaincapsdata/qemu_8.0.0-q35.x86_64.xml        | 9 +++++++--
 tests/domaincapsdata/qemu_8.0.0-tcg.x86_64.xml        | 9 +++++++--
 tests/domaincapsdata/qemu_8.0.0.x86_64.xml            | 9 +++++++--
 tests/domaincapsdata/qemu_8.1.0-q35.x86_64.xml        | 9 +++++++--
 tests/domaincapsdata/qemu_8.1.0-tcg.x86_64.xml        | 9 +++++++--
 tests/domaincapsdata/qemu_8.1.0.x86_64.xml            | 9 +++++++--
 tests/domaincapsdata/qemu_8.2.0-q35.x86_64.xml        | 9 +++++++--
 tests/domaincapsdata/qemu_8.2.0-tcg.x86_64.xml        | 9 +++++++--
 tests/domaincapsdata/qemu_8.2.0.x86_64.xml            | 9 +++++++--
 tests/domaincapsdata/qemu_9.0.0-q35.x86_64.xml        | 9 +++++++--
 tests/domaincapsdata/qemu_9.0.0-tcg.x86_64.xml        | 9 +++++++--
 tests/domaincapsdata/qemu_9.0.0.x86_64.xml            | 9 +++++++--
 tests/domaincapsdata/qemu_9.1.0-q35.x86_64.xml        | 9 +++++++--
 tests/domaincapsdata/qemu_9.1.0-tcg.x86_64.xml        | 9 +++++++--
 tests/domaincapsdata/qemu_9.1.0.x86_64.xml            | 9 +++++++--
 tests/domaincapsdata/qemu_9.2.0-q35.x86_64.xml        | 9 +++++++--
 tests/domaincapsdata/qemu_9.2.0-tcg.x86_64.xml        | 9 +++++++--
 tests/domaincapsdata/qemu_9.2.0.x86_64.xml            | 9 +++++++--
 49 files changed, 301 insertions(+), 85 deletions(-)
 create mode 100644 src/cpu_map/x86_Westmere-v1.xml
 create mode 100644 src/cpu_map/x86_Westmere-v2.xml

diff --git a/src/cpu_map/index.xml b/src/cpu_map/index.xml
index 0b003b7e5c..1160a99ccf 100644
--- a/src/cpu_map/index.xml
+++ b/src/cpu_map/index.xml
@@ -33,6 +33,8 @@
       <include filename='x86_Nehalem-IBRS.xml'/>
       <include filename='x86_Westmere.xml'/>
       <include filename='x86_Westmere-IBRS.xml'/>
+      <include filename='x86_Westmere-v1.xml'/>
+      <include filename='x86_Westmere-v2.xml'/>
       <include filename='x86_SandyBridge.xml'/>
       <include filename='x86_SandyBridge-IBRS.xml'/>
       <include filename='x86_SandyBridge-v1.xml'/>
diff --git a/src/cpu_map/meson.build b/src/cpu_map/meson.build
index de1eb8efbd..474f43fad5 100644
--- a/src/cpu_map/meson.build
+++ b/src/cpu_map/meson.build
@@ -129,6 +129,8 @@ cpumap_data = [
   'x86_Snowridge.xml',
   'x86_vendors.xml',
   'x86_Westmere-IBRS.xml',
+  'x86_Westmere-v1.xml',
+  'x86_Westmere-v2.xml',
   'x86_Westmere.xml',
 ]
 
diff --git a/src/cpu_map/x86_Westmere-v1.xml b/src/cpu_map/x86_Westmere-v1.xml
new file mode 100644
index 0000000000..e7554ba309
--- /dev/null
+++ b/src/cpu_map/x86_Westmere-v1.xml
@@ -0,0 +1,6 @@
+<cpus>
+  <model name='Westmere-v1'>
+    <decode host='on' guest='off'/>
+    <model name='Westmere'/>
+  </model>
+</cpus>
diff --git a/src/cpu_map/x86_Westmere-v2.xml b/src/cpu_map/x86_Westmere-v2.xml
new file mode 100644
index 0000000000..6107303790
--- /dev/null
+++ b/src/cpu_map/x86_Westmere-v2.xml
@@ -0,0 +1,6 @@
+<cpus>
+  <model name='Westmere-v2'>
+    <decode host='on' guest='off'/>
+    <model name='Westmere-IBRS'/>
+  </model>
+</cpus>
diff --git a/tests/cputestdata/x86_64-cpuid-Atom-P5362-host.xml b/tests/cputestdata/x86_64-cpuid-Atom-P5362-host.xml
index c830b8a649..98718a36a5 100644
--- a/tests/cputestdata/x86_64-cpuid-Atom-P5362-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Atom-P5362-host.xml
@@ -1,6 +1,6 @@
 <cpu>
   <arch>x86_64</arch>
-  <model>Westmere-IBRS</model>
+  <model>Westmere-v2</model>
   <vendor>Intel</vendor>
   <signature family='6' model='134' stepping='5'/>
   <feature name='pclmuldq'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i5-650-host.xml b/tests/cputestdata/x86_64-cpuid-Core-i5-650-host.xml
index c074a5c6ec..6d43353c87 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i5-650-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i5-650-host.xml
@@ -1,6 +1,6 @@
 <cpu>
   <arch>x86_64</arch>
-  <model>Westmere</model>
+  <model>Westmere-v1</model>
   <vendor>Intel</vendor>
   <signature family='6' model='37' stepping='2'/>
   <feature name='pclmuldq'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-4510U-host.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-4510U-host.xml
index 0e994e0623..43e0257a3f 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i7-4510U-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-4510U-host.xml
@@ -1,6 +1,6 @@
 <cpu>
   <arch>x86_64</arch>
-  <model>Westmere</model>
+  <model>Westmere-v1</model>
   <vendor>Intel</vendor>
   <signature family='6' model='69' stepping='1'/>
   <feature name='pclmuldq'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E7-4820-host.xml b/tests/cputestdata/x86_64-cpuid-Xeon-E7-4820-host.xml
index 728c9c4264..fb4f1efc92 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-E7-4820-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E7-4820-host.xml
@@ -1,6 +1,6 @@
 <cpu>
   <arch>x86_64</arch>
-  <model>Westmere</model>
+  <model>Westmere-v1</model>
   <vendor>Intel</vendor>
   <signature family='6' model='47' stepping='2'/>
   <feature name='pclmuldq'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E7-4830-host.xml b/tests/cputestdata/x86_64-cpuid-Xeon-E7-4830-host.xml
index 728c9c4264..fb4f1efc92 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-E7-4830-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E7-4830-host.xml
@@ -1,6 +1,6 @@
 <cpu>
   <arch>x86_64</arch>
-  <model>Westmere</model>
+  <model>Westmere-v1</model>
   <vendor>Intel</vendor>
   <signature family='6' model='47' stepping='2'/>
   <feature name='pclmuldq'/>
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 fef8d6b7e6..f28fc3588a 100644
--- a/tests/domaincapsdata/qemu_5.2.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_5.2.0-q35.x86_64.xml
@@ -724,11 +724,16 @@
         <feature name='spec-ctrl'/>
         <feature name='split-lock-detect'/>
       </blockers>
-      <model usable='yes' vendor='Intel'>Westmere</model>
-      <model usable='no' vendor='Intel'>Westmere-IBRS</model>
+      <model usable='yes' vendor='Intel' canonical='Westmere-v1'>Westmere</model>
+      <model usable='no' vendor='Intel' canonical='Westmere-v2'>Westmere-IBRS</model>
       <blockers model='Westmere-IBRS'>
         <feature name='spec-ctrl'/>
       </blockers>
+      <model usable='yes' vendor='Intel'>Westmere-v1</model>
+      <model usable='no' vendor='Intel'>Westmere-v2</model>
+      <blockers model='Westmere-v2'>
+        <feature name='spec-ctrl'/>
+      </blockers>
       <model usable='no' vendor='AMD'>athlon</model>
       <blockers model='athlon'>
         <feature name='3dnow'/>
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 ef6c42b26e..1a6022cf18 100644
--- a/tests/domaincapsdata/qemu_5.2.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_5.2.0-tcg.x86_64.xml
@@ -1240,11 +1240,16 @@
         <feature name='x2apic'/>
         <feature name='xsavec'/>
       </blockers>
-      <model usable='yes' vendor='Intel'>Westmere</model>
-      <model usable='no' vendor='Intel'>Westmere-IBRS</model>
+      <model usable='yes' vendor='Intel' canonical='Westmere-v1'>Westmere</model>
+      <model usable='no' vendor='Intel' canonical='Westmere-v2'>Westmere-IBRS</model>
       <blockers model='Westmere-IBRS'>
         <feature name='spec-ctrl'/>
       </blockers>
+      <model usable='yes' vendor='Intel'>Westmere-v1</model>
+      <model usable='no' vendor='Intel'>Westmere-v2</model>
+      <blockers model='Westmere-v2'>
+        <feature name='spec-ctrl'/>
+      </blockers>
       <model usable='yes' vendor='AMD'>athlon</model>
       <model usable='yes' vendor='Intel'>core2duo</model>
       <model usable='yes' vendor='Intel'>coreduo</model>
diff --git a/tests/domaincapsdata/qemu_5.2.0.x86_64.xml b/tests/domaincapsdata/qemu_5.2.0.x86_64.xml
index bf133ee52f..0ddb5d7411 100644
--- a/tests/domaincapsdata/qemu_5.2.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_5.2.0.x86_64.xml
@@ -723,11 +723,16 @@
         <feature name='spec-ctrl'/>
         <feature name='split-lock-detect'/>
       </blockers>
-      <model usable='yes' vendor='Intel'>Westmere</model>
-      <model usable='no' vendor='Intel'>Westmere-IBRS</model>
+      <model usable='yes' vendor='Intel' canonical='Westmere-v1'>Westmere</model>
+      <model usable='no' vendor='Intel' canonical='Westmere-v2'>Westmere-IBRS</model>
       <blockers model='Westmere-IBRS'>
         <feature name='spec-ctrl'/>
       </blockers>
+      <model usable='yes' vendor='Intel'>Westmere-v1</model>
+      <model usable='no' vendor='Intel'>Westmere-v2</model>
+      <blockers model='Westmere-v2'>
+        <feature name='spec-ctrl'/>
+      </blockers>
       <model usable='no' vendor='AMD'>athlon</model>
       <blockers model='athlon'>
         <feature name='3dnow'/>
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 4d70c4dff3..47fb80dbb5 100644
--- a/tests/domaincapsdata/qemu_6.0.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.0.0-q35.x86_64.xml
@@ -733,11 +733,16 @@
         <feature name='spec-ctrl'/>
         <feature name='split-lock-detect'/>
       </blockers>
-      <model usable='yes' vendor='Intel'>Westmere</model>
-      <model usable='no' vendor='Intel'>Westmere-IBRS</model>
+      <model usable='yes' vendor='Intel' canonical='Westmere-v1'>Westmere</model>
+      <model usable='no' vendor='Intel' canonical='Westmere-v2'>Westmere-IBRS</model>
       <blockers model='Westmere-IBRS'>
         <feature name='spec-ctrl'/>
       </blockers>
+      <model usable='yes' vendor='Intel'>Westmere-v1</model>
+      <model usable='no' vendor='Intel'>Westmere-v2</model>
+      <blockers model='Westmere-v2'>
+        <feature name='spec-ctrl'/>
+      </blockers>
       <model usable='no' vendor='AMD'>athlon</model>
       <blockers model='athlon'>
         <feature name='3dnow'/>
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 51c450070e..b0320b8bb0 100644
--- a/tests/domaincapsdata/qemu_6.0.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.0.0-tcg.x86_64.xml
@@ -1272,11 +1272,16 @@
         <feature name='x2apic'/>
         <feature name='xsavec'/>
       </blockers>
-      <model usable='yes' vendor='Intel'>Westmere</model>
-      <model usable='no' vendor='Intel'>Westmere-IBRS</model>
+      <model usable='yes' vendor='Intel' canonical='Westmere-v1'>Westmere</model>
+      <model usable='no' vendor='Intel' canonical='Westmere-v2'>Westmere-IBRS</model>
       <blockers model='Westmere-IBRS'>
         <feature name='spec-ctrl'/>
       </blockers>
+      <model usable='yes' vendor='Intel'>Westmere-v1</model>
+      <model usable='no' vendor='Intel'>Westmere-v2</model>
+      <blockers model='Westmere-v2'>
+        <feature name='spec-ctrl'/>
+      </blockers>
       <model usable='yes' vendor='AMD'>athlon</model>
       <model usable='yes' vendor='Intel'>core2duo</model>
       <model usable='yes' vendor='Intel'>coreduo</model>
diff --git a/tests/domaincapsdata/qemu_6.0.0.x86_64.xml b/tests/domaincapsdata/qemu_6.0.0.x86_64.xml
index 5aa253d292..0a04364785 100644
--- a/tests/domaincapsdata/qemu_6.0.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.0.0.x86_64.xml
@@ -732,11 +732,16 @@
         <feature name='spec-ctrl'/>
         <feature name='split-lock-detect'/>
       </blockers>
-      <model usable='yes' vendor='Intel'>Westmere</model>
-      <model usable='no' vendor='Intel'>Westmere-IBRS</model>
+      <model usable='yes' vendor='Intel' canonical='Westmere-v1'>Westmere</model>
+      <model usable='no' vendor='Intel' canonical='Westmere-v2'>Westmere-IBRS</model>
       <blockers model='Westmere-IBRS'>
         <feature name='spec-ctrl'/>
       </blockers>
+      <model usable='yes' vendor='Intel'>Westmere-v1</model>
+      <model usable='no' vendor='Intel'>Westmere-v2</model>
+      <blockers model='Westmere-v2'>
+        <feature name='spec-ctrl'/>
+      </blockers>
       <model usable='no' vendor='AMD'>athlon</model>
       <blockers model='athlon'>
         <feature name='3dnow'/>
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 8331b137a4..2ab2725264 100644
--- a/tests/domaincapsdata/qemu_6.1.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.1.0-q35.x86_64.xml
@@ -828,11 +828,16 @@
         <feature name='spec-ctrl'/>
         <feature name='split-lock-detect'/>
       </blockers>
-      <model usable='yes' vendor='Intel'>Westmere</model>
-      <model usable='no' vendor='Intel'>Westmere-IBRS</model>
+      <model usable='yes' vendor='Intel' canonical='Westmere-v1'>Westmere</model>
+      <model usable='no' vendor='Intel' canonical='Westmere-v2'>Westmere-IBRS</model>
       <blockers model='Westmere-IBRS'>
         <feature name='spec-ctrl'/>
       </blockers>
+      <model usable='yes' vendor='Intel'>Westmere-v1</model>
+      <model usable='no' vendor='Intel'>Westmere-v2</model>
+      <blockers model='Westmere-v2'>
+        <feature name='spec-ctrl'/>
+      </blockers>
       <model usable='no' vendor='AMD'>athlon</model>
       <blockers model='athlon'>
         <feature name='3dnow'/>
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 ffb6f8b8f5..01e3243839 100644
--- a/tests/domaincapsdata/qemu_6.1.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.1.0-tcg.x86_64.xml
@@ -1437,11 +1437,16 @@
         <feature name='xsavec'/>
         <feature name='xsaves'/>
       </blockers>
-      <model usable='yes' vendor='Intel'>Westmere</model>
-      <model usable='no' vendor='Intel'>Westmere-IBRS</model>
+      <model usable='yes' vendor='Intel' canonical='Westmere-v1'>Westmere</model>
+      <model usable='no' vendor='Intel' canonical='Westmere-v2'>Westmere-IBRS</model>
       <blockers model='Westmere-IBRS'>
         <feature name='spec-ctrl'/>
       </blockers>
+      <model usable='yes' vendor='Intel'>Westmere-v1</model>
+      <model usable='no' vendor='Intel'>Westmere-v2</model>
+      <blockers model='Westmere-v2'>
+        <feature name='spec-ctrl'/>
+      </blockers>
       <model usable='yes' vendor='AMD'>athlon</model>
       <model usable='yes' vendor='Intel'>core2duo</model>
       <model usable='yes' vendor='Intel'>coreduo</model>
diff --git a/tests/domaincapsdata/qemu_6.1.0.x86_64.xml b/tests/domaincapsdata/qemu_6.1.0.x86_64.xml
index 5d9e5e7d0a..a33227c9e7 100644
--- a/tests/domaincapsdata/qemu_6.1.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.1.0.x86_64.xml
@@ -827,11 +827,16 @@
         <feature name='spec-ctrl'/>
         <feature name='split-lock-detect'/>
       </blockers>
-      <model usable='yes' vendor='Intel'>Westmere</model>
-      <model usable='no' vendor='Intel'>Westmere-IBRS</model>
+      <model usable='yes' vendor='Intel' canonical='Westmere-v1'>Westmere</model>
+      <model usable='no' vendor='Intel' canonical='Westmere-v2'>Westmere-IBRS</model>
       <blockers model='Westmere-IBRS'>
         <feature name='spec-ctrl'/>
       </blockers>
+      <model usable='yes' vendor='Intel'>Westmere-v1</model>
+      <model usable='no' vendor='Intel'>Westmere-v2</model>
+      <blockers model='Westmere-v2'>
+        <feature name='spec-ctrl'/>
+      </blockers>
       <model usable='no' vendor='AMD'>athlon</model>
       <blockers model='athlon'>
         <feature name='3dnow'/>
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 8b5d68d86f..32d9396f7e 100644
--- a/tests/domaincapsdata/qemu_6.2.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.2.0-q35.x86_64.xml
@@ -834,11 +834,16 @@
         <feature name='movdiri'/>
         <feature name='spec-ctrl'/>
       </blockers>
-      <model usable='yes' vendor='Intel'>Westmere</model>
-      <model usable='no' vendor='Intel'>Westmere-IBRS</model>
+      <model usable='yes' vendor='Intel' canonical='Westmere-v1'>Westmere</model>
+      <model usable='no' vendor='Intel' canonical='Westmere-v2'>Westmere-IBRS</model>
       <blockers model='Westmere-IBRS'>
         <feature name='spec-ctrl'/>
       </blockers>
+      <model usable='yes' vendor='Intel'>Westmere-v1</model>
+      <model usable='no' vendor='Intel'>Westmere-v2</model>
+      <blockers model='Westmere-v2'>
+        <feature name='spec-ctrl'/>
+      </blockers>
       <model usable='no' vendor='AMD'>athlon</model>
       <blockers model='athlon'>
         <feature name='3dnow'/>
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 99aee06e01..4373491a96 100644
--- a/tests/domaincapsdata/qemu_6.2.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.2.0-tcg.x86_64.xml
@@ -1453,11 +1453,16 @@
         <feature name='xsavec'/>
         <feature name='xsaves'/>
       </blockers>
-      <model usable='yes' vendor='Intel'>Westmere</model>
-      <model usable='no' vendor='Intel'>Westmere-IBRS</model>
+      <model usable='yes' vendor='Intel' canonical='Westmere-v1'>Westmere</model>
+      <model usable='no' vendor='Intel' canonical='Westmere-v2'>Westmere-IBRS</model>
       <blockers model='Westmere-IBRS'>
         <feature name='spec-ctrl'/>
       </blockers>
+      <model usable='yes' vendor='Intel'>Westmere-v1</model>
+      <model usable='no' vendor='Intel'>Westmere-v2</model>
+      <blockers model='Westmere-v2'>
+        <feature name='spec-ctrl'/>
+      </blockers>
       <model usable='yes' vendor='AMD'>athlon</model>
       <model usable='yes' vendor='Intel'>core2duo</model>
       <model usable='yes' vendor='Intel'>coreduo</model>
diff --git a/tests/domaincapsdata/qemu_6.2.0.x86_64.xml b/tests/domaincapsdata/qemu_6.2.0.x86_64.xml
index eecf62e23c..df66a60087 100644
--- a/tests/domaincapsdata/qemu_6.2.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.2.0.x86_64.xml
@@ -833,11 +833,16 @@
         <feature name='movdiri'/>
         <feature name='spec-ctrl'/>
       </blockers>
-      <model usable='yes' vendor='Intel'>Westmere</model>
-      <model usable='no' vendor='Intel'>Westmere-IBRS</model>
+      <model usable='yes' vendor='Intel' canonical='Westmere-v1'>Westmere</model>
+      <model usable='no' vendor='Intel' canonical='Westmere-v2'>Westmere-IBRS</model>
       <blockers model='Westmere-IBRS'>
         <feature name='spec-ctrl'/>
       </blockers>
+      <model usable='yes' vendor='Intel'>Westmere-v1</model>
+      <model usable='no' vendor='Intel'>Westmere-v2</model>
+      <blockers model='Westmere-v2'>
+        <feature name='spec-ctrl'/>
+      </blockers>
       <model usable='no' vendor='AMD'>athlon</model>
       <blockers model='athlon'>
         <feature name='3dnow'/>
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 1594090e93..8e6af2e612 100644
--- a/tests/domaincapsdata/qemu_7.0.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_7.0.0-q35.x86_64.xml
@@ -861,11 +861,16 @@
         <feature name='movdiri'/>
         <feature name='spec-ctrl'/>
       </blockers>
-      <model usable='yes' vendor='Intel'>Westmere</model>
-      <model usable='no' vendor='Intel'>Westmere-IBRS</model>
+      <model usable='yes' vendor='Intel' canonical='Westmere-v1'>Westmere</model>
+      <model usable='no' vendor='Intel' canonical='Westmere-v2'>Westmere-IBRS</model>
       <blockers model='Westmere-IBRS'>
         <feature name='spec-ctrl'/>
       </blockers>
+      <model usable='yes' vendor='Intel'>Westmere-v1</model>
+      <model usable='no' vendor='Intel'>Westmere-v2</model>
+      <blockers model='Westmere-v2'>
+        <feature name='spec-ctrl'/>
+      </blockers>
       <model usable='no' vendor='AMD'>athlon</model>
       <blockers model='athlon'>
         <feature name='3dnow'/>
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 5cbef5a3d9..f3a17b9cdc 100644
--- a/tests/domaincapsdata/qemu_7.0.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_7.0.0-tcg.x86_64.xml
@@ -1480,11 +1480,16 @@
         <feature name='xsavec'/>
         <feature name='xsaves'/>
       </blockers>
-      <model usable='yes' vendor='Intel'>Westmere</model>
-      <model usable='no' vendor='Intel'>Westmere-IBRS</model>
+      <model usable='yes' vendor='Intel' canonical='Westmere-v1'>Westmere</model>
+      <model usable='no' vendor='Intel' canonical='Westmere-v2'>Westmere-IBRS</model>
       <blockers model='Westmere-IBRS'>
         <feature name='spec-ctrl'/>
       </blockers>
+      <model usable='yes' vendor='Intel'>Westmere-v1</model>
+      <model usable='no' vendor='Intel'>Westmere-v2</model>
+      <blockers model='Westmere-v2'>
+        <feature name='spec-ctrl'/>
+      </blockers>
       <model usable='yes' vendor='AMD'>athlon</model>
       <model usable='yes' vendor='Intel'>core2duo</model>
       <model usable='yes' vendor='Intel'>coreduo</model>
diff --git a/tests/domaincapsdata/qemu_7.0.0.x86_64.xml b/tests/domaincapsdata/qemu_7.0.0.x86_64.xml
index 7686d541af..35c97e9653 100644
--- a/tests/domaincapsdata/qemu_7.0.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_7.0.0.x86_64.xml
@@ -860,11 +860,16 @@
         <feature name='movdiri'/>
         <feature name='spec-ctrl'/>
       </blockers>
-      <model usable='yes' vendor='Intel'>Westmere</model>
-      <model usable='no' vendor='Intel'>Westmere-IBRS</model>
+      <model usable='yes' vendor='Intel' canonical='Westmere-v1'>Westmere</model>
+      <model usable='no' vendor='Intel' canonical='Westmere-v2'>Westmere-IBRS</model>
       <blockers model='Westmere-IBRS'>
         <feature name='spec-ctrl'/>
       </blockers>
+      <model usable='yes' vendor='Intel'>Westmere-v1</model>
+      <model usable='no' vendor='Intel'>Westmere-v2</model>
+      <blockers model='Westmere-v2'>
+        <feature name='spec-ctrl'/>
+      </blockers>
       <model usable='no' vendor='AMD'>athlon</model>
       <blockers model='athlon'>
         <feature name='3dnow'/>
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 64f907d402..d9941ac903 100644
--- a/tests/domaincapsdata/qemu_7.1.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_7.1.0-q35.x86_64.xml
@@ -828,11 +828,16 @@
         <feature name='movdiri'/>
         <feature name='spec-ctrl'/>
       </blockers>
-      <model usable='yes' vendor='Intel'>Westmere</model>
-      <model usable='no' vendor='Intel'>Westmere-IBRS</model>
+      <model usable='yes' vendor='Intel' canonical='Westmere-v1'>Westmere</model>
+      <model usable='no' vendor='Intel' canonical='Westmere-v2'>Westmere-IBRS</model>
       <blockers model='Westmere-IBRS'>
         <feature name='spec-ctrl'/>
       </blockers>
+      <model usable='yes' vendor='Intel'>Westmere-v1</model>
+      <model usable='no' vendor='Intel'>Westmere-v2</model>
+      <blockers model='Westmere-v2'>
+        <feature name='spec-ctrl'/>
+      </blockers>
       <model usable='no' vendor='AMD'>athlon</model>
       <blockers model='athlon'>
         <feature name='3dnow'/>
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 2c3d3c6831..2cb556304c 100644
--- a/tests/domaincapsdata/qemu_7.1.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_7.1.0-tcg.x86_64.xml
@@ -1428,11 +1428,16 @@
         <feature name='xsavec'/>
         <feature name='xsaves'/>
       </blockers>
-      <model usable='yes' vendor='Intel'>Westmere</model>
-      <model usable='no' vendor='Intel'>Westmere-IBRS</model>
+      <model usable='yes' vendor='Intel' canonical='Westmere-v1'>Westmere</model>
+      <model usable='no' vendor='Intel' canonical='Westmere-v2'>Westmere-IBRS</model>
       <blockers model='Westmere-IBRS'>
         <feature name='spec-ctrl'/>
       </blockers>
+      <model usable='yes' vendor='Intel'>Westmere-v1</model>
+      <model usable='no' vendor='Intel'>Westmere-v2</model>
+      <blockers model='Westmere-v2'>
+        <feature name='spec-ctrl'/>
+      </blockers>
       <model usable='yes' vendor='AMD'>athlon</model>
       <model usable='yes' vendor='Intel'>core2duo</model>
       <model usable='yes' vendor='Intel'>coreduo</model>
diff --git a/tests/domaincapsdata/qemu_7.1.0.x86_64.xml b/tests/domaincapsdata/qemu_7.1.0.x86_64.xml
index d44bbf5916..08f5223723 100644
--- a/tests/domaincapsdata/qemu_7.1.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_7.1.0.x86_64.xml
@@ -827,11 +827,16 @@
         <feature name='movdiri'/>
         <feature name='spec-ctrl'/>
       </blockers>
-      <model usable='yes' vendor='Intel'>Westmere</model>
-      <model usable='no' vendor='Intel'>Westmere-IBRS</model>
+      <model usable='yes' vendor='Intel' canonical='Westmere-v1'>Westmere</model>
+      <model usable='no' vendor='Intel' canonical='Westmere-v2'>Westmere-IBRS</model>
       <blockers model='Westmere-IBRS'>
         <feature name='spec-ctrl'/>
       </blockers>
+      <model usable='yes' vendor='Intel'>Westmere-v1</model>
+      <model usable='no' vendor='Intel'>Westmere-v2</model>
+      <blockers model='Westmere-v2'>
+        <feature name='spec-ctrl'/>
+      </blockers>
       <model usable='no' vendor='AMD'>athlon</model>
       <blockers model='athlon'>
         <feature name='3dnow'/>
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 0c80394deb..21e3d6cdd2 100644
--- a/tests/domaincapsdata/qemu_7.2.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_7.2.0-q35.x86_64.xml
@@ -833,11 +833,16 @@
         <feature name='movdiri'/>
         <feature name='spec-ctrl'/>
       </blockers>
-      <model usable='yes' vendor='Intel'>Westmere</model>
-      <model usable='no' vendor='Intel'>Westmere-IBRS</model>
+      <model usable='yes' vendor='Intel' canonical='Westmere-v1'>Westmere</model>
+      <model usable='no' vendor='Intel' canonical='Westmere-v2'>Westmere-IBRS</model>
       <blockers model='Westmere-IBRS'>
         <feature name='spec-ctrl'/>
       </blockers>
+      <model usable='yes' vendor='Intel'>Westmere-v1</model>
+      <model usable='no' vendor='Intel'>Westmere-v2</model>
+      <blockers model='Westmere-v2'>
+        <feature name='spec-ctrl'/>
+      </blockers>
       <model usable='no' vendor='AMD'>athlon</model>
       <blockers model='athlon'>
         <feature name='3dnow'/>
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 c0bccf6d63..8efb91b8d2 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
@@ -1177,11 +1177,16 @@
         <feature name='xsavec'/>
         <feature name='xsaves'/>
       </blockers>
-      <model usable='yes' vendor='Intel'>Westmere</model>
-      <model usable='no' vendor='Intel'>Westmere-IBRS</model>
+      <model usable='yes' vendor='Intel' canonical='Westmere-v1'>Westmere</model>
+      <model usable='no' vendor='Intel' canonical='Westmere-v2'>Westmere-IBRS</model>
       <blockers model='Westmere-IBRS'>
         <feature name='spec-ctrl'/>
       </blockers>
+      <model usable='yes' vendor='Intel'>Westmere-v1</model>
+      <model usable='no' vendor='Intel'>Westmere-v2</model>
+      <blockers model='Westmere-v2'>
+        <feature name='spec-ctrl'/>
+      </blockers>
       <model usable='yes' vendor='AMD'>athlon</model>
       <model usable='yes' vendor='Intel'>core2duo</model>
       <model usable='yes' vendor='Intel'>coreduo</model>
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 c0bccf6d63..8efb91b8d2 100644
--- a/tests/domaincapsdata/qemu_7.2.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_7.2.0-tcg.x86_64.xml
@@ -1177,11 +1177,16 @@
         <feature name='xsavec'/>
         <feature name='xsaves'/>
       </blockers>
-      <model usable='yes' vendor='Intel'>Westmere</model>
-      <model usable='no' vendor='Intel'>Westmere-IBRS</model>
+      <model usable='yes' vendor='Intel' canonical='Westmere-v1'>Westmere</model>
+      <model usable='no' vendor='Intel' canonical='Westmere-v2'>Westmere-IBRS</model>
       <blockers model='Westmere-IBRS'>
         <feature name='spec-ctrl'/>
       </blockers>
+      <model usable='yes' vendor='Intel'>Westmere-v1</model>
+      <model usable='no' vendor='Intel'>Westmere-v2</model>
+      <blockers model='Westmere-v2'>
+        <feature name='spec-ctrl'/>
+      </blockers>
       <model usable='yes' vendor='AMD'>athlon</model>
       <model usable='yes' vendor='Intel'>core2duo</model>
       <model usable='yes' vendor='Intel'>coreduo</model>
diff --git a/tests/domaincapsdata/qemu_7.2.0.x86_64.xml b/tests/domaincapsdata/qemu_7.2.0.x86_64.xml
index 495ff2a7a6..244c60638b 100644
--- a/tests/domaincapsdata/qemu_7.2.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_7.2.0.x86_64.xml
@@ -832,11 +832,16 @@
         <feature name='movdiri'/>
         <feature name='spec-ctrl'/>
       </blockers>
-      <model usable='yes' vendor='Intel'>Westmere</model>
-      <model usable='no' vendor='Intel'>Westmere-IBRS</model>
+      <model usable='yes' vendor='Intel' canonical='Westmere-v1'>Westmere</model>
+      <model usable='no' vendor='Intel' canonical='Westmere-v2'>Westmere-IBRS</model>
       <blockers model='Westmere-IBRS'>
         <feature name='spec-ctrl'/>
       </blockers>
+      <model usable='yes' vendor='Intel'>Westmere-v1</model>
+      <model usable='no' vendor='Intel'>Westmere-v2</model>
+      <blockers model='Westmere-v2'>
+        <feature name='spec-ctrl'/>
+      </blockers>
       <model usable='no' vendor='AMD'>athlon</model>
       <blockers model='athlon'>
         <feature name='3dnow'/>
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 14b575174e..4da4c9502b 100644
--- a/tests/domaincapsdata/qemu_8.0.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_8.0.0-q35.x86_64.xml
@@ -915,11 +915,16 @@
         <feature name='movdiri'/>
         <feature name='spec-ctrl'/>
       </blockers>
-      <model usable='yes' vendor='Intel'>Westmere</model>
-      <model usable='no' vendor='Intel'>Westmere-IBRS</model>
+      <model usable='yes' vendor='Intel' canonical='Westmere-v1'>Westmere</model>
+      <model usable='no' vendor='Intel' canonical='Westmere-v2'>Westmere-IBRS</model>
       <blockers model='Westmere-IBRS'>
         <feature name='spec-ctrl'/>
       </blockers>
+      <model usable='yes' vendor='Intel'>Westmere-v1</model>
+      <model usable='no' vendor='Intel'>Westmere-v2</model>
+      <blockers model='Westmere-v2'>
+        <feature name='spec-ctrl'/>
+      </blockers>
       <model usable='no' vendor='AMD'>athlon</model>
       <blockers model='athlon'>
         <feature name='3dnow'/>
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 5ea1d67be6..7a14b52628 100644
--- a/tests/domaincapsdata/qemu_8.0.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_8.0.0-tcg.x86_64.xml
@@ -1273,11 +1273,16 @@
         <feature name='xsavec'/>
         <feature name='xsaves'/>
       </blockers>
-      <model usable='yes' vendor='Intel'>Westmere</model>
-      <model usable='no' vendor='Intel'>Westmere-IBRS</model>
+      <model usable='yes' vendor='Intel' canonical='Westmere-v1'>Westmere</model>
+      <model usable='no' vendor='Intel' canonical='Westmere-v2'>Westmere-IBRS</model>
       <blockers model='Westmere-IBRS'>
         <feature name='spec-ctrl'/>
       </blockers>
+      <model usable='yes' vendor='Intel'>Westmere-v1</model>
+      <model usable='no' vendor='Intel'>Westmere-v2</model>
+      <blockers model='Westmere-v2'>
+        <feature name='spec-ctrl'/>
+      </blockers>
       <model usable='yes' vendor='AMD'>athlon</model>
       <model usable='yes' vendor='Intel'>core2duo</model>
       <model usable='yes' vendor='Intel'>coreduo</model>
diff --git a/tests/domaincapsdata/qemu_8.0.0.x86_64.xml b/tests/domaincapsdata/qemu_8.0.0.x86_64.xml
index 910375f2f9..bb63910270 100644
--- a/tests/domaincapsdata/qemu_8.0.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_8.0.0.x86_64.xml
@@ -914,11 +914,16 @@
         <feature name='movdiri'/>
         <feature name='spec-ctrl'/>
       </blockers>
-      <model usable='yes' vendor='Intel'>Westmere</model>
-      <model usable='no' vendor='Intel'>Westmere-IBRS</model>
+      <model usable='yes' vendor='Intel' canonical='Westmere-v1'>Westmere</model>
+      <model usable='no' vendor='Intel' canonical='Westmere-v2'>Westmere-IBRS</model>
       <blockers model='Westmere-IBRS'>
         <feature name='spec-ctrl'/>
       </blockers>
+      <model usable='yes' vendor='Intel'>Westmere-v1</model>
+      <model usable='no' vendor='Intel'>Westmere-v2</model>
+      <blockers model='Westmere-v2'>
+        <feature name='spec-ctrl'/>
+      </blockers>
       <model usable='no' vendor='AMD'>athlon</model>
       <blockers model='athlon'>
         <feature name='3dnow'/>
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 76d4068514..0590aadff0 100644
--- a/tests/domaincapsdata/qemu_8.1.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_8.1.0-q35.x86_64.xml
@@ -1104,11 +1104,16 @@
         <feature name='spec-ctrl'/>
         <feature name='xsaves'/>
       </blockers>
-      <model usable='yes' vendor='Intel'>Westmere</model>
-      <model usable='no' vendor='Intel'>Westmere-IBRS</model>
+      <model usable='yes' vendor='Intel' canonical='Westmere-v1'>Westmere</model>
+      <model usable='no' vendor='Intel' canonical='Westmere-v2'>Westmere-IBRS</model>
       <blockers model='Westmere-IBRS'>
         <feature name='spec-ctrl'/>
       </blockers>
+      <model usable='yes' vendor='Intel'>Westmere-v1</model>
+      <model usable='no' vendor='Intel'>Westmere-v2</model>
+      <blockers model='Westmere-v2'>
+        <feature name='spec-ctrl'/>
+      </blockers>
       <model usable='no' vendor='AMD'>athlon</model>
       <blockers model='athlon'>
         <feature name='3dnow'/>
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 85c1c55285..ddf0837a3e 100644
--- a/tests/domaincapsdata/qemu_8.1.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_8.1.0-tcg.x86_64.xml
@@ -1231,11 +1231,16 @@
         <feature name='xsavec'/>
         <feature name='xsaves'/>
       </blockers>
-      <model usable='yes' vendor='Intel'>Westmere</model>
-      <model usable='no' vendor='Intel'>Westmere-IBRS</model>
+      <model usable='yes' vendor='Intel' canonical='Westmere-v1'>Westmere</model>
+      <model usable='no' vendor='Intel' canonical='Westmere-v2'>Westmere-IBRS</model>
       <blockers model='Westmere-IBRS'>
         <feature name='spec-ctrl'/>
       </blockers>
+      <model usable='yes' vendor='Intel'>Westmere-v1</model>
+      <model usable='no' vendor='Intel'>Westmere-v2</model>
+      <blockers model='Westmere-v2'>
+        <feature name='spec-ctrl'/>
+      </blockers>
       <model usable='yes' vendor='AMD'>athlon</model>
       <model usable='yes' vendor='Intel'>core2duo</model>
       <model usable='yes' vendor='Intel'>coreduo</model>
diff --git a/tests/domaincapsdata/qemu_8.1.0.x86_64.xml b/tests/domaincapsdata/qemu_8.1.0.x86_64.xml
index 31faf3b348..cb7724308b 100644
--- a/tests/domaincapsdata/qemu_8.1.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_8.1.0.x86_64.xml
@@ -1103,11 +1103,16 @@
         <feature name='spec-ctrl'/>
         <feature name='xsaves'/>
       </blockers>
-      <model usable='yes' vendor='Intel'>Westmere</model>
-      <model usable='no' vendor='Intel'>Westmere-IBRS</model>
+      <model usable='yes' vendor='Intel' canonical='Westmere-v1'>Westmere</model>
+      <model usable='no' vendor='Intel' canonical='Westmere-v2'>Westmere-IBRS</model>
       <blockers model='Westmere-IBRS'>
         <feature name='spec-ctrl'/>
       </blockers>
+      <model usable='yes' vendor='Intel'>Westmere-v1</model>
+      <model usable='no' vendor='Intel'>Westmere-v2</model>
+      <blockers model='Westmere-v2'>
+        <feature name='spec-ctrl'/>
+      </blockers>
       <model usable='no' vendor='AMD'>athlon</model>
       <blockers model='athlon'>
         <feature name='3dnow'/>
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 b19817918f..ece4b0e9df 100644
--- a/tests/domaincapsdata/qemu_8.2.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_8.2.0-q35.x86_64.xml
@@ -1105,11 +1105,16 @@
         <feature name='spec-ctrl'/>
         <feature name='xsaves'/>
       </blockers>
-      <model usable='yes' vendor='Intel'>Westmere</model>
-      <model usable='no' vendor='Intel'>Westmere-IBRS</model>
+      <model usable='yes' vendor='Intel' canonical='Westmere-v1'>Westmere</model>
+      <model usable='no' vendor='Intel' canonical='Westmere-v2'>Westmere-IBRS</model>
       <blockers model='Westmere-IBRS'>
         <feature name='spec-ctrl'/>
       </blockers>
+      <model usable='yes' vendor='Intel'>Westmere-v1</model>
+      <model usable='no' vendor='Intel'>Westmere-v2</model>
+      <blockers model='Westmere-v2'>
+        <feature name='spec-ctrl'/>
+      </blockers>
       <model usable='no' vendor='AMD'>athlon</model>
       <blockers model='athlon'>
         <feature name='3dnow'/>
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 f5c4c5cde5..828cbe069a 100644
--- a/tests/domaincapsdata/qemu_8.2.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_8.2.0-tcg.x86_64.xml
@@ -1212,11 +1212,16 @@
         <feature name='xsavec'/>
         <feature name='xsaves'/>
       </blockers>
-      <model usable='yes' vendor='Intel'>Westmere</model>
-      <model usable='no' vendor='Intel'>Westmere-IBRS</model>
+      <model usable='yes' vendor='Intel' canonical='Westmere-v1'>Westmere</model>
+      <model usable='no' vendor='Intel' canonical='Westmere-v2'>Westmere-IBRS</model>
       <blockers model='Westmere-IBRS'>
         <feature name='spec-ctrl'/>
       </blockers>
+      <model usable='yes' vendor='Intel'>Westmere-v1</model>
+      <model usable='no' vendor='Intel'>Westmere-v2</model>
+      <blockers model='Westmere-v2'>
+        <feature name='spec-ctrl'/>
+      </blockers>
       <model usable='yes' vendor='AMD'>athlon</model>
       <model usable='yes' vendor='Intel'>core2duo</model>
       <model usable='yes' vendor='Intel'>coreduo</model>
diff --git a/tests/domaincapsdata/qemu_8.2.0.x86_64.xml b/tests/domaincapsdata/qemu_8.2.0.x86_64.xml
index 382c098a1a..da9d657b8e 100644
--- a/tests/domaincapsdata/qemu_8.2.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_8.2.0.x86_64.xml
@@ -1104,11 +1104,16 @@
         <feature name='spec-ctrl'/>
         <feature name='xsaves'/>
       </blockers>
-      <model usable='yes' vendor='Intel'>Westmere</model>
-      <model usable='no' vendor='Intel'>Westmere-IBRS</model>
+      <model usable='yes' vendor='Intel' canonical='Westmere-v1'>Westmere</model>
+      <model usable='no' vendor='Intel' canonical='Westmere-v2'>Westmere-IBRS</model>
       <blockers model='Westmere-IBRS'>
         <feature name='spec-ctrl'/>
       </blockers>
+      <model usable='yes' vendor='Intel'>Westmere-v1</model>
+      <model usable='no' vendor='Intel'>Westmere-v2</model>
+      <blockers model='Westmere-v2'>
+        <feature name='spec-ctrl'/>
+      </blockers>
       <model usable='no' vendor='AMD'>athlon</model>
       <blockers model='athlon'>
         <feature name='3dnow'/>
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 5e85710109..ac6b431057 100644
--- a/tests/domaincapsdata/qemu_9.0.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_9.0.0-q35.x86_64.xml
@@ -1105,11 +1105,16 @@
         <feature name='spec-ctrl'/>
         <feature name='xsaves'/>
       </blockers>
-      <model usable='yes' vendor='Intel'>Westmere</model>
-      <model usable='no' vendor='Intel'>Westmere-IBRS</model>
+      <model usable='yes' vendor='Intel' canonical='Westmere-v1'>Westmere</model>
+      <model usable='no' vendor='Intel' canonical='Westmere-v2'>Westmere-IBRS</model>
       <blockers model='Westmere-IBRS'>
         <feature name='spec-ctrl'/>
       </blockers>
+      <model usable='yes' vendor='Intel'>Westmere-v1</model>
+      <model usable='no' vendor='Intel'>Westmere-v2</model>
+      <blockers model='Westmere-v2'>
+        <feature name='spec-ctrl'/>
+      </blockers>
       <model usable='no' vendor='AMD'>athlon</model>
       <blockers model='athlon'>
         <feature name='3dnow'/>
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 003aca6d5a..a63f5a5060 100644
--- a/tests/domaincapsdata/qemu_9.0.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_9.0.0-tcg.x86_64.xml
@@ -1147,11 +1147,16 @@
         <feature name='xsavec'/>
         <feature name='xsaves'/>
       </blockers>
-      <model usable='yes' vendor='Intel'>Westmere</model>
-      <model usable='no' vendor='Intel'>Westmere-IBRS</model>
+      <model usable='yes' vendor='Intel' canonical='Westmere-v1'>Westmere</model>
+      <model usable='no' vendor='Intel' canonical='Westmere-v2'>Westmere-IBRS</model>
       <blockers model='Westmere-IBRS'>
         <feature name='spec-ctrl'/>
       </blockers>
+      <model usable='yes' vendor='Intel'>Westmere-v1</model>
+      <model usable='no' vendor='Intel'>Westmere-v2</model>
+      <blockers model='Westmere-v2'>
+        <feature name='spec-ctrl'/>
+      </blockers>
       <model usable='yes' vendor='AMD'>athlon</model>
       <model usable='yes' vendor='Intel'>core2duo</model>
       <model usable='yes' vendor='Intel'>coreduo</model>
diff --git a/tests/domaincapsdata/qemu_9.0.0.x86_64.xml b/tests/domaincapsdata/qemu_9.0.0.x86_64.xml
index be10184da3..ac2c018ccf 100644
--- a/tests/domaincapsdata/qemu_9.0.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_9.0.0.x86_64.xml
@@ -1104,11 +1104,16 @@
         <feature name='spec-ctrl'/>
         <feature name='xsaves'/>
       </blockers>
-      <model usable='yes' vendor='Intel'>Westmere</model>
-      <model usable='no' vendor='Intel'>Westmere-IBRS</model>
+      <model usable='yes' vendor='Intel' canonical='Westmere-v1'>Westmere</model>
+      <model usable='no' vendor='Intel' canonical='Westmere-v2'>Westmere-IBRS</model>
       <blockers model='Westmere-IBRS'>
         <feature name='spec-ctrl'/>
       </blockers>
+      <model usable='yes' vendor='Intel'>Westmere-v1</model>
+      <model usable='no' vendor='Intel'>Westmere-v2</model>
+      <blockers model='Westmere-v2'>
+        <feature name='spec-ctrl'/>
+      </blockers>
       <model usable='no' vendor='AMD'>athlon</model>
       <blockers model='athlon'>
         <feature name='3dnow'/>
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 eba43c60e4..cf24a98793 100644
--- a/tests/domaincapsdata/qemu_9.1.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_9.1.0-q35.x86_64.xml
@@ -1241,11 +1241,16 @@
         <feature name='spec-ctrl'/>
         <feature name='xsaves'/>
       </blockers>
-      <model usable='yes' vendor='Intel'>Westmere</model>
-      <model usable='no' vendor='Intel'>Westmere-IBRS</model>
+      <model usable='yes' vendor='Intel' canonical='Westmere-v1'>Westmere</model>
+      <model usable='no' vendor='Intel' canonical='Westmere-v2'>Westmere-IBRS</model>
       <blockers model='Westmere-IBRS'>
         <feature name='spec-ctrl'/>
       </blockers>
+      <model usable='yes' vendor='Intel'>Westmere-v1</model>
+      <model usable='no' vendor='Intel'>Westmere-v2</model>
+      <blockers model='Westmere-v2'>
+        <feature name='spec-ctrl'/>
+      </blockers>
       <model usable='no' vendor='AMD'>athlon</model>
       <blockers model='athlon'>
         <feature name='3dnow'/>
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 58bb4f9db6..c396fb8eed 100644
--- a/tests/domaincapsdata/qemu_9.1.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_9.1.0-tcg.x86_64.xml
@@ -1252,11 +1252,16 @@
         <feature name='xsavec'/>
         <feature name='xsaves'/>
       </blockers>
-      <model usable='yes' vendor='Intel'>Westmere</model>
-      <model usable='no' vendor='Intel'>Westmere-IBRS</model>
+      <model usable='yes' vendor='Intel' canonical='Westmere-v1'>Westmere</model>
+      <model usable='no' vendor='Intel' canonical='Westmere-v2'>Westmere-IBRS</model>
       <blockers model='Westmere-IBRS'>
         <feature name='spec-ctrl'/>
       </blockers>
+      <model usable='yes' vendor='Intel'>Westmere-v1</model>
+      <model usable='no' vendor='Intel'>Westmere-v2</model>
+      <blockers model='Westmere-v2'>
+        <feature name='spec-ctrl'/>
+      </blockers>
       <model usable='yes' vendor='AMD'>athlon</model>
       <model usable='yes' vendor='Intel'>core2duo</model>
       <model usable='yes' vendor='Intel'>coreduo</model>
diff --git a/tests/domaincapsdata/qemu_9.1.0.x86_64.xml b/tests/domaincapsdata/qemu_9.1.0.x86_64.xml
index e548534e1f..d6905fe903 100644
--- a/tests/domaincapsdata/qemu_9.1.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_9.1.0.x86_64.xml
@@ -1240,11 +1240,16 @@
         <feature name='spec-ctrl'/>
         <feature name='xsaves'/>
       </blockers>
-      <model usable='yes' vendor='Intel'>Westmere</model>
-      <model usable='no' vendor='Intel'>Westmere-IBRS</model>
+      <model usable='yes' vendor='Intel' canonical='Westmere-v1'>Westmere</model>
+      <model usable='no' vendor='Intel' canonical='Westmere-v2'>Westmere-IBRS</model>
       <blockers model='Westmere-IBRS'>
         <feature name='spec-ctrl'/>
       </blockers>
+      <model usable='yes' vendor='Intel'>Westmere-v1</model>
+      <model usable='no' vendor='Intel'>Westmere-v2</model>
+      <blockers model='Westmere-v2'>
+        <feature name='spec-ctrl'/>
+      </blockers>
       <model usable='no' vendor='AMD'>athlon</model>
       <blockers model='athlon'>
         <feature name='3dnow'/>
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 5be6724161..21affa5e67 100644
--- a/tests/domaincapsdata/qemu_9.2.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_9.2.0-q35.x86_64.xml
@@ -1241,11 +1241,16 @@
         <feature name='spec-ctrl'/>
         <feature name='xsaves'/>
       </blockers>
-      <model usable='yes' vendor='Intel'>Westmere</model>
-      <model usable='no' vendor='Intel'>Westmere-IBRS</model>
+      <model usable='yes' vendor='Intel' canonical='Westmere-v1'>Westmere</model>
+      <model usable='no' vendor='Intel' canonical='Westmere-v2'>Westmere-IBRS</model>
       <blockers model='Westmere-IBRS'>
         <feature name='spec-ctrl'/>
       </blockers>
+      <model usable='yes' vendor='Intel'>Westmere-v1</model>
+      <model usable='no' vendor='Intel'>Westmere-v2</model>
+      <blockers model='Westmere-v2'>
+        <feature name='spec-ctrl'/>
+      </blockers>
       <model usable='no' vendor='AMD'>athlon</model>
       <blockers model='athlon'>
         <feature name='3dnow'/>
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 1eec80af8d..c6f1732275 100644
--- a/tests/domaincapsdata/qemu_9.2.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_9.2.0-tcg.x86_64.xml
@@ -1252,11 +1252,16 @@
         <feature name='xsavec'/>
         <feature name='xsaves'/>
       </blockers>
-      <model usable='yes' vendor='Intel'>Westmere</model>
-      <model usable='no' vendor='Intel'>Westmere-IBRS</model>
+      <model usable='yes' vendor='Intel' canonical='Westmere-v1'>Westmere</model>
+      <model usable='no' vendor='Intel' canonical='Westmere-v2'>Westmere-IBRS</model>
       <blockers model='Westmere-IBRS'>
         <feature name='spec-ctrl'/>
       </blockers>
+      <model usable='yes' vendor='Intel'>Westmere-v1</model>
+      <model usable='no' vendor='Intel'>Westmere-v2</model>
+      <blockers model='Westmere-v2'>
+        <feature name='spec-ctrl'/>
+      </blockers>
       <model usable='yes' vendor='AMD'>athlon</model>
       <model usable='yes' vendor='Intel'>core2duo</model>
       <model usable='yes' vendor='Intel'>coreduo</model>
diff --git a/tests/domaincapsdata/qemu_9.2.0.x86_64.xml b/tests/domaincapsdata/qemu_9.2.0.x86_64.xml
index 0716a44ed5..ca506076a8 100644
--- a/tests/domaincapsdata/qemu_9.2.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_9.2.0.x86_64.xml
@@ -1240,11 +1240,16 @@
         <feature name='spec-ctrl'/>
         <feature name='xsaves'/>
       </blockers>
-      <model usable='yes' vendor='Intel'>Westmere</model>
-      <model usable='no' vendor='Intel'>Westmere-IBRS</model>
+      <model usable='yes' vendor='Intel' canonical='Westmere-v1'>Westmere</model>
+      <model usable='no' vendor='Intel' canonical='Westmere-v2'>Westmere-IBRS</model>
       <blockers model='Westmere-IBRS'>
         <feature name='spec-ctrl'/>
       </blockers>
+      <model usable='yes' vendor='Intel'>Westmere-v1</model>
+      <model usable='no' vendor='Intel'>Westmere-v2</model>
+      <blockers model='Westmere-v2'>
+        <feature name='spec-ctrl'/>
+      </blockers>
       <model usable='no' vendor='AMD'>athlon</model>
       <blockers model='athlon'>
         <feature name='3dnow'/>
-- 
2.47.0