[PATCH v2 19/36] cpu_map: Add versions of Snowridge CPU model

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

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

 src/cpu_map/index.xml                         |   4 +
 src/cpu_map/meson.build                       |   4 +
 src/cpu_map/x86_Snowridge-v1.xml              |   6 +
 src/cpu_map/x86_Snowridge-v2.xml              | 143 +++++++++++++++++
 src/cpu_map/x86_Snowridge-v3.xml              | 145 ++++++++++++++++++
 src/cpu_map/x86_Snowridge-v4.xml              | 143 +++++++++++++++++
 .../domaincapsdata/qemu_5.2.0-q35.x86_64.xml  |  25 ++-
 .../domaincapsdata/qemu_5.2.0-tcg.x86_64.xml  |  40 ++++-
 tests/domaincapsdata/qemu_5.2.0.x86_64.xml    |  25 ++-
 .../domaincapsdata/qemu_6.0.0-q35.x86_64.xml  |  25 ++-
 .../domaincapsdata/qemu_6.0.0-tcg.x86_64.xml  |  40 ++++-
 tests/domaincapsdata/qemu_6.0.0.x86_64.xml    |  25 ++-
 .../domaincapsdata/qemu_6.1.0-q35.x86_64.xml  |  36 ++++-
 .../domaincapsdata/qemu_6.1.0-tcg.x86_64.xml  |  60 +++++++-
 tests/domaincapsdata/qemu_6.1.0.x86_64.xml    |  36 ++++-
 .../domaincapsdata/qemu_6.2.0-q35.x86_64.xml  |  45 +++++-
 .../domaincapsdata/qemu_6.2.0-tcg.x86_64.xml  |  78 +++++++++-
 tests/domaincapsdata/qemu_6.2.0.x86_64.xml    |  45 +++++-
 .../domaincapsdata/qemu_7.0.0-q35.x86_64.xml  |  45 +++++-
 .../domaincapsdata/qemu_7.0.0-tcg.x86_64.xml  |  74 ++++++++-
 tests/domaincapsdata/qemu_7.0.0.x86_64.xml    |  45 +++++-
 .../domaincapsdata/qemu_7.1.0-q35.x86_64.xml  |  45 +++++-
 .../domaincapsdata/qemu_7.1.0-tcg.x86_64.xml  |  74 ++++++++-
 tests/domaincapsdata/qemu_7.1.0.x86_64.xml    |  45 +++++-
 .../domaincapsdata/qemu_7.2.0-q35.x86_64.xml  |  45 +++++-
 .../qemu_7.2.0-tcg.x86_64+hvf.xml             |  74 ++++++++-
 .../domaincapsdata/qemu_7.2.0-tcg.x86_64.xml  |  74 ++++++++-
 tests/domaincapsdata/qemu_7.2.0.x86_64.xml    |  45 +++++-
 .../domaincapsdata/qemu_8.0.0-q35.x86_64.xml  |  45 +++++-
 .../domaincapsdata/qemu_8.0.0-tcg.x86_64.xml  |  74 ++++++++-
 tests/domaincapsdata/qemu_8.0.0.x86_64.xml    |  45 +++++-
 .../domaincapsdata/qemu_8.1.0-q35.x86_64.xml  |  47 +++++-
 .../domaincapsdata/qemu_8.1.0-tcg.x86_64.xml  |  66 +++++++-
 tests/domaincapsdata/qemu_8.1.0.x86_64.xml    |  47 +++++-
 .../domaincapsdata/qemu_8.2.0-q35.x86_64.xml  |  47 +++++-
 .../domaincapsdata/qemu_8.2.0-tcg.x86_64.xml  |  62 +++++++-
 tests/domaincapsdata/qemu_8.2.0.x86_64.xml    |  47 +++++-
 .../domaincapsdata/qemu_9.0.0-q35.x86_64.xml  |  47 +++++-
 .../domaincapsdata/qemu_9.0.0-tcg.x86_64.xml  |  58 ++++++-
 tests/domaincapsdata/qemu_9.0.0.x86_64.xml    |  47 +++++-
 .../domaincapsdata/qemu_9.1.0-q35.x86_64.xml  |  47 +++++-
 .../domaincapsdata/qemu_9.1.0-tcg.x86_64.xml  |  58 ++++++-
 tests/domaincapsdata/qemu_9.1.0.x86_64.xml    |  47 +++++-
 .../domaincapsdata/qemu_9.2.0-q35.x86_64.xml  |  47 +++++-
 .../domaincapsdata/qemu_9.2.0-tcg.x86_64.xml  |  58 ++++++-
 tests/domaincapsdata/qemu_9.2.0.x86_64.xml    |  47 +++++-
 46 files changed, 2387 insertions(+), 40 deletions(-)
 create mode 100644 src/cpu_map/x86_Snowridge-v1.xml
 create mode 100644 src/cpu_map/x86_Snowridge-v2.xml
 create mode 100644 src/cpu_map/x86_Snowridge-v3.xml
 create mode 100644 src/cpu_map/x86_Snowridge-v4.xml

diff --git a/src/cpu_map/index.xml b/src/cpu_map/index.xml
index 81cdea3441..d35eb80d03 100644
--- a/src/cpu_map/index.xml
+++ b/src/cpu_map/index.xml
@@ -59,6 +59,10 @@
       <include filename='x86_Icelake-Server-noTSX.xml'/>
       <include filename='x86_Cooperlake.xml'/>
       <include filename='x86_Snowridge.xml'/>
+      <include filename='x86_Snowridge-v1.xml'/>
+      <include filename='x86_Snowridge-v2.xml'/>
+      <include filename='x86_Snowridge-v3.xml'/>
+      <include filename='x86_Snowridge-v4.xml'/>
       <include filename='x86_SapphireRapids.xml'/>
       <include filename='x86_SapphireRapids-v1.xml'/>
       <include filename='x86_SapphireRapids-v2.xml'/>
diff --git a/src/cpu_map/meson.build b/src/cpu_map/meson.build
index b023ed03c4..cecb6d1d83 100644
--- a/src/cpu_map/meson.build
+++ b/src/cpu_map/meson.build
@@ -87,6 +87,10 @@ cpumap_data = [
   'x86_Skylake-Server-IBRS.xml',
   'x86_Skylake-Server-noTSX-IBRS.xml',
   'x86_Skylake-Server.xml',
+  'x86_Snowridge-v1.xml',
+  'x86_Snowridge-v2.xml',
+  'x86_Snowridge-v3.xml',
+  'x86_Snowridge-v4.xml',
   'x86_Snowridge.xml',
   'x86_vendors.xml',
   'x86_Westmere-IBRS.xml',
diff --git a/src/cpu_map/x86_Snowridge-v1.xml b/src/cpu_map/x86_Snowridge-v1.xml
new file mode 100644
index 0000000000..01c6fc68ff
--- /dev/null
+++ b/src/cpu_map/x86_Snowridge-v1.xml
@@ -0,0 +1,6 @@
+<cpus>
+  <model name='Snowridge-v1'>
+    <decode host='on' guest='off'/>
+    <model name='Snowridge'/>
+  </model>
+</cpus>
diff --git a/src/cpu_map/x86_Snowridge-v2.xml b/src/cpu_map/x86_Snowridge-v2.xml
new file mode 100644
index 0000000000..b299598be9
--- /dev/null
+++ b/src/cpu_map/x86_Snowridge-v2.xml
@@ -0,0 +1,143 @@
+<cpus>
+  <model name='Snowridge-v2'>
+    <decode host='on' guest='off'/>
+    <signature family='6' model='134'/>
+    <vendor name='Intel'/>
+    <feature name='3dnowprefetch'/>
+    <feature name='aes'/>
+    <feature name='apic'/>
+    <feature name='arat'/>
+    <feature name='arch-capabilities'/>
+    <feature name='cldemote'/>
+    <feature name='clflush'/>
+    <feature name='clflushopt'/>
+    <feature name='clwb'/>
+    <feature name='cmov'/>
+    <feature name='core-capability'/>
+    <feature name='cx16'/>
+    <feature name='cx8'/>
+    <feature name='de'/>
+    <feature name='erms'/>
+    <feature name='fpu'/>
+    <feature name='fsgsbase'/>
+    <feature name='fxsr'/>
+    <feature name='gfni'/>
+    <feature name='lahf_lm'/>
+    <feature name='lm'/>
+    <feature name='mca'/>
+    <feature name='mce'/>
+    <feature name='mmx'/>
+    <feature name='movbe'/>
+    <feature name='movdir64b'/>
+    <feature name='movdiri'/>
+    <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='sha-ni'/>
+    <feature name='smap'/>
+    <feature name='smep'/>
+    <feature name='spec-ctrl'/>
+    <feature name='split-lock-detect'/>
+    <feature name='ssbd'/>
+    <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='umip'/>
+    <feature name='vme'/>
+    <feature name='vmx-activity-hlt'/>
+    <feature name='vmx-apicv-register'/>
+    <feature name='vmx-apicv-vid'/>
+    <feature name='vmx-apicv-x2apic'/>
+    <feature name='vmx-apicv-xapic'/>
+    <feature name='vmx-cr3-load-noexit'/>
+    <feature name='vmx-cr3-store-noexit'/>
+    <feature name='vmx-cr8-load-exit'/>
+    <feature name='vmx-cr8-store-exit'/>
+    <feature name='vmx-desc-exit'/>
+    <feature name='vmx-entry-ia32e-mode'/>
+    <feature name='vmx-entry-load-efer'/>
+    <feature name='vmx-entry-load-pat'/>
+    <feature name='vmx-entry-load-perf-global-ctrl'/>
+    <feature name='vmx-entry-noload-debugctl'/>
+    <feature name='vmx-ept'/>
+    <feature name='vmx-ept-1gb'/>
+    <feature name='vmx-ept-2mb'/>
+    <feature name='vmx-ept-execonly'/>
+    <feature name='vmx-eptad'/>
+    <feature name='vmx-eptp-switching'/>
+    <feature name='vmx-exit-ack-intr'/>
+    <feature name='vmx-exit-load-efer'/>
+    <feature name='vmx-exit-load-pat'/>
+    <feature name='vmx-exit-load-perf-global-ctrl'/>
+    <feature name='vmx-exit-nosave-debugctl'/>
+    <feature name='vmx-exit-save-efer'/>
+    <feature name='vmx-exit-save-pat'/>
+    <feature name='vmx-exit-save-preemption-timer'/>
+    <feature name='vmx-flexpriority'/>
+    <feature name='vmx-hlt-exit'/>
+    <feature name='vmx-ins-outs'/>
+    <feature name='vmx-intr-exit'/>
+    <feature name='vmx-invept'/>
+    <feature name='vmx-invept-all-context'/>
+    <feature name='vmx-invept-single-context'/>
+    <feature name='vmx-invlpg-exit'/>
+    <feature name='vmx-invpcid-exit'/>
+    <feature name='vmx-invvpid-all-context'/>
+    <feature name='vmx-invvpid-single-addr'/>
+    <feature name='vmx-invvpid-single-context-noglobals'/>
+    <feature name='vmx-io-bitmap'/>
+    <feature name='vmx-io-exit'/>
+    <feature name='vmx-monitor-exit'/>
+    <feature name='vmx-movdr-exit'/>
+    <feature name='vmx-msr-bitmap'/>
+    <feature name='vmx-mtf'/>
+    <feature name='vmx-mwait-exit'/>
+    <feature name='vmx-nmi-exit'/>
+    <feature name='vmx-page-walk-4'/>
+    <feature name='vmx-pause-exit'/>
+    <feature name='vmx-pml'/>
+    <feature name='vmx-posted-intr'/>
+    <feature name='vmx-preemption-timer'/>
+    <feature name='vmx-rdpmc-exit'/>
+    <feature name='vmx-rdrand-exit'/>
+    <feature name='vmx-rdseed-exit'/>
+    <feature name='vmx-rdtsc-exit'/>
+    <feature name='vmx-rdtscp-exit'/>
+    <feature name='vmx-secondary-ctls'/>
+    <feature name='vmx-shadow-vmcs'/>
+    <feature name='vmx-store-lma'/>
+    <feature name='vmx-true-ctls'/>
+    <feature name='vmx-tsc-offset'/>
+    <feature name='vmx-unrestricted-guest'/>
+    <feature name='vmx-vintr-pending'/>
+    <feature name='vmx-vmfunc'/>
+    <feature name='vmx-vmwrite-vmexit-fields'/>
+    <feature name='vmx-vnmi'/>
+    <feature name='vmx-vnmi-pending'/>
+    <feature name='vmx-vpid'/>
+    <feature name='vmx-wbinvd-exit'/>
+    <feature name='x2apic'/>
+    <feature name='xgetbv1'/>
+    <feature name='xsave'/>
+    <feature name='xsavec'/>
+    <feature name='xsaveopt'/>
+  </model>
+</cpus>
diff --git a/src/cpu_map/x86_Snowridge-v3.xml b/src/cpu_map/x86_Snowridge-v3.xml
new file mode 100644
index 0000000000..11967f814b
--- /dev/null
+++ b/src/cpu_map/x86_Snowridge-v3.xml
@@ -0,0 +1,145 @@
+<cpus>
+  <model name='Snowridge-v3'>
+    <decode host='on' guest='off'/>
+    <signature family='6' model='134'/>
+    <vendor name='Intel'/>
+    <feature name='3dnowprefetch'/>
+    <feature name='aes'/>
+    <feature name='apic'/>
+    <feature name='arat'/>
+    <feature name='arch-capabilities'/>
+    <feature name='cldemote'/>
+    <feature name='clflush'/>
+    <feature name='clflushopt'/>
+    <feature name='clwb'/>
+    <feature name='cmov'/>
+    <feature name='core-capability'/>
+    <feature name='cx16'/>
+    <feature name='cx8'/>
+    <feature name='de'/>
+    <feature name='erms'/>
+    <feature name='fpu'/>
+    <feature name='fsgsbase'/>
+    <feature name='fxsr'/>
+    <feature name='gfni'/>
+    <feature name='lahf_lm'/>
+    <feature name='lm'/>
+    <feature name='mca'/>
+    <feature name='mce'/>
+    <feature name='mmx'/>
+    <feature name='movbe'/>
+    <feature name='movdir64b'/>
+    <feature name='movdiri'/>
+    <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='sha-ni'/>
+    <feature name='smap'/>
+    <feature name='smep'/>
+    <feature name='spec-ctrl'/>
+    <feature name='split-lock-detect'/>
+    <feature name='ssbd'/>
+    <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='umip'/>
+    <feature name='vme'/>
+    <feature name='vmx-activity-hlt'/>
+    <feature name='vmx-apicv-register'/>
+    <feature name='vmx-apicv-vid'/>
+    <feature name='vmx-apicv-x2apic'/>
+    <feature name='vmx-apicv-xapic'/>
+    <feature name='vmx-cr3-load-noexit'/>
+    <feature name='vmx-cr3-store-noexit'/>
+    <feature name='vmx-cr8-load-exit'/>
+    <feature name='vmx-cr8-store-exit'/>
+    <feature name='vmx-desc-exit'/>
+    <feature name='vmx-entry-ia32e-mode'/>
+    <feature name='vmx-entry-load-efer'/>
+    <feature name='vmx-entry-load-pat'/>
+    <feature name='vmx-entry-load-perf-global-ctrl'/>
+    <feature name='vmx-entry-noload-debugctl'/>
+    <feature name='vmx-ept'/>
+    <feature name='vmx-ept-1gb'/>
+    <feature name='vmx-ept-2mb'/>
+    <feature name='vmx-ept-execonly'/>
+    <feature name='vmx-eptad'/>
+    <feature name='vmx-eptp-switching'/>
+    <feature name='vmx-exit-ack-intr'/>
+    <feature name='vmx-exit-load-efer'/>
+    <feature name='vmx-exit-load-pat'/>
+    <feature name='vmx-exit-load-perf-global-ctrl'/>
+    <feature name='vmx-exit-nosave-debugctl'/>
+    <feature name='vmx-exit-save-efer'/>
+    <feature name='vmx-exit-save-pat'/>
+    <feature name='vmx-exit-save-preemption-timer'/>
+    <feature name='vmx-flexpriority'/>
+    <feature name='vmx-hlt-exit'/>
+    <feature name='vmx-ins-outs'/>
+    <feature name='vmx-intr-exit'/>
+    <feature name='vmx-invept'/>
+    <feature name='vmx-invept-all-context'/>
+    <feature name='vmx-invept-single-context'/>
+    <feature name='vmx-invlpg-exit'/>
+    <feature name='vmx-invpcid-exit'/>
+    <feature name='vmx-invvpid-all-context'/>
+    <feature name='vmx-invvpid-single-addr'/>
+    <feature name='vmx-invvpid-single-context-noglobals'/>
+    <feature name='vmx-io-bitmap'/>
+    <feature name='vmx-io-exit'/>
+    <feature name='vmx-monitor-exit'/>
+    <feature name='vmx-movdr-exit'/>
+    <feature name='vmx-msr-bitmap'/>
+    <feature name='vmx-mtf'/>
+    <feature name='vmx-mwait-exit'/>
+    <feature name='vmx-nmi-exit'/>
+    <feature name='vmx-page-walk-4'/>
+    <feature name='vmx-pause-exit'/>
+    <feature name='vmx-pml'/>
+    <feature name='vmx-posted-intr'/>
+    <feature name='vmx-preemption-timer'/>
+    <feature name='vmx-rdpmc-exit'/>
+    <feature name='vmx-rdrand-exit'/>
+    <feature name='vmx-rdseed-exit'/>
+    <feature name='vmx-rdtsc-exit'/>
+    <feature name='vmx-rdtscp-exit'/>
+    <feature name='vmx-secondary-ctls'/>
+    <feature name='vmx-shadow-vmcs'/>
+    <feature name='vmx-store-lma'/>
+    <feature name='vmx-true-ctls'/>
+    <feature name='vmx-tsc-offset'/>
+    <feature name='vmx-unrestricted-guest'/>
+    <feature name='vmx-vintr-pending'/>
+    <feature name='vmx-vmfunc'/>
+    <feature name='vmx-vmwrite-vmexit-fields'/>
+    <feature name='vmx-vnmi'/>
+    <feature name='vmx-vnmi-pending'/>
+    <feature name='vmx-vpid'/>
+    <feature name='vmx-wbinvd-exit'/>
+    <feature name='vmx-xsaves'/>
+    <feature name='x2apic'/>
+    <feature name='xgetbv1'/>
+    <feature name='xsave'/>
+    <feature name='xsavec'/>
+    <feature name='xsaveopt'/>
+    <feature name='xsaves'/>
+  </model>
+</cpus>
diff --git a/src/cpu_map/x86_Snowridge-v4.xml b/src/cpu_map/x86_Snowridge-v4.xml
new file mode 100644
index 0000000000..5d11c94d97
--- /dev/null
+++ b/src/cpu_map/x86_Snowridge-v4.xml
@@ -0,0 +1,143 @@
+<cpus>
+  <model name='Snowridge-v4'>
+    <decode host='on' guest='off'/>
+    <signature family='6' model='134'/>
+    <vendor name='Intel'/>
+    <feature name='3dnowprefetch'/>
+    <feature name='aes'/>
+    <feature name='apic'/>
+    <feature name='arat'/>
+    <feature name='arch-capabilities'/>
+    <feature name='cldemote'/>
+    <feature name='clflush'/>
+    <feature name='clflushopt'/>
+    <feature name='clwb'/>
+    <feature name='cmov'/>
+    <feature name='cx16'/>
+    <feature name='cx8'/>
+    <feature name='de'/>
+    <feature name='erms'/>
+    <feature name='fpu'/>
+    <feature name='fsgsbase'/>
+    <feature name='fxsr'/>
+    <feature name='gfni'/>
+    <feature name='lahf_lm'/>
+    <feature name='lm'/>
+    <feature name='mca'/>
+    <feature name='mce'/>
+    <feature name='mmx'/>
+    <feature name='movbe'/>
+    <feature name='movdir64b'/>
+    <feature name='movdiri'/>
+    <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='sha-ni'/>
+    <feature name='smap'/>
+    <feature name='smep'/>
+    <feature name='spec-ctrl'/>
+    <feature name='ssbd'/>
+    <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='umip'/>
+    <feature name='vme'/>
+    <feature name='vmx-activity-hlt'/>
+    <feature name='vmx-apicv-register'/>
+    <feature name='vmx-apicv-vid'/>
+    <feature name='vmx-apicv-x2apic'/>
+    <feature name='vmx-apicv-xapic'/>
+    <feature name='vmx-cr3-load-noexit'/>
+    <feature name='vmx-cr3-store-noexit'/>
+    <feature name='vmx-cr8-load-exit'/>
+    <feature name='vmx-cr8-store-exit'/>
+    <feature name='vmx-desc-exit'/>
+    <feature name='vmx-entry-ia32e-mode'/>
+    <feature name='vmx-entry-load-efer'/>
+    <feature name='vmx-entry-load-pat'/>
+    <feature name='vmx-entry-load-perf-global-ctrl'/>
+    <feature name='vmx-entry-noload-debugctl'/>
+    <feature name='vmx-ept'/>
+    <feature name='vmx-ept-1gb'/>
+    <feature name='vmx-ept-2mb'/>
+    <feature name='vmx-ept-execonly'/>
+    <feature name='vmx-eptad'/>
+    <feature name='vmx-eptp-switching'/>
+    <feature name='vmx-exit-ack-intr'/>
+    <feature name='vmx-exit-load-efer'/>
+    <feature name='vmx-exit-load-pat'/>
+    <feature name='vmx-exit-load-perf-global-ctrl'/>
+    <feature name='vmx-exit-nosave-debugctl'/>
+    <feature name='vmx-exit-save-efer'/>
+    <feature name='vmx-exit-save-pat'/>
+    <feature name='vmx-exit-save-preemption-timer'/>
+    <feature name='vmx-flexpriority'/>
+    <feature name='vmx-hlt-exit'/>
+    <feature name='vmx-ins-outs'/>
+    <feature name='vmx-intr-exit'/>
+    <feature name='vmx-invept'/>
+    <feature name='vmx-invept-all-context'/>
+    <feature name='vmx-invept-single-context'/>
+    <feature name='vmx-invlpg-exit'/>
+    <feature name='vmx-invpcid-exit'/>
+    <feature name='vmx-invvpid-all-context'/>
+    <feature name='vmx-invvpid-single-addr'/>
+    <feature name='vmx-invvpid-single-context-noglobals'/>
+    <feature name='vmx-io-bitmap'/>
+    <feature name='vmx-io-exit'/>
+    <feature name='vmx-monitor-exit'/>
+    <feature name='vmx-movdr-exit'/>
+    <feature name='vmx-msr-bitmap'/>
+    <feature name='vmx-mtf'/>
+    <feature name='vmx-mwait-exit'/>
+    <feature name='vmx-nmi-exit'/>
+    <feature name='vmx-page-walk-4'/>
+    <feature name='vmx-pause-exit'/>
+    <feature name='vmx-pml'/>
+    <feature name='vmx-posted-intr'/>
+    <feature name='vmx-preemption-timer'/>
+    <feature name='vmx-rdpmc-exit'/>
+    <feature name='vmx-rdrand-exit'/>
+    <feature name='vmx-rdseed-exit'/>
+    <feature name='vmx-rdtsc-exit'/>
+    <feature name='vmx-rdtscp-exit'/>
+    <feature name='vmx-secondary-ctls'/>
+    <feature name='vmx-shadow-vmcs'/>
+    <feature name='vmx-store-lma'/>
+    <feature name='vmx-true-ctls'/>
+    <feature name='vmx-tsc-offset'/>
+    <feature name='vmx-unrestricted-guest'/>
+    <feature name='vmx-vintr-pending'/>
+    <feature name='vmx-vmfunc'/>
+    <feature name='vmx-vmwrite-vmexit-fields'/>
+    <feature name='vmx-vnmi'/>
+    <feature name='vmx-vnmi-pending'/>
+    <feature name='vmx-vpid'/>
+    <feature name='vmx-wbinvd-exit'/>
+    <feature name='vmx-xsaves'/>
+    <feature name='x2apic'/>
+    <feature name='xgetbv1'/>
+    <feature name='xsave'/>
+    <feature name='xsavec'/>
+    <feature name='xsaveopt'/>
+    <feature name='xsaves'/>
+  </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 5579ad3fc2..6d0d347cd0 100644
--- a/tests/domaincapsdata/qemu_5.2.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_5.2.0-q35.x86_64.xml
@@ -358,7 +358,7 @@
         <feature name='pku'/>
         <feature name='spec-ctrl'/>
       </blockers>
-      <model usable='no' vendor='Intel'>Snowridge</model>
+      <model usable='no' vendor='Intel' canonical='Snowridge-v1'>Snowridge</model>
       <blockers model='Snowridge'>
         <feature name='cldemote'/>
         <feature name='core-capability'/>
@@ -370,6 +370,29 @@
         <feature name='spec-ctrl'/>
         <feature name='split-lock-detect'/>
       </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v1</model>
+      <blockers model='Snowridge-v1'>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='erms'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='mpx'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+      </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v2</model>
+      <blockers model='Snowridge-v2'>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='erms'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <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>
       <blockers model='Westmere-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 a111a8d751..3fff90679f 100644
--- a/tests/domaincapsdata/qemu_5.2.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_5.2.0-tcg.x86_64.xml
@@ -632,7 +632,7 @@
         <feature name='x2apic'/>
         <feature name='xsavec'/>
       </blockers>
-      <model usable='no' vendor='Intel'>Snowridge</model>
+      <model usable='no' vendor='Intel' canonical='Snowridge-v1'>Snowridge</model>
       <blockers model='Snowridge'>
         <feature name='3dnowprefetch'/>
         <feature name='arch-capabilities'/>
@@ -651,6 +651,44 @@
         <feature name='x2apic'/>
         <feature name='xsavec'/>
       </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v1</model>
+      <blockers model='Snowridge-v1'>
+        <feature name='3dnowprefetch'/>
+        <feature name='arch-capabilities'/>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='rdseed'/>
+        <feature name='sha-ni'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+        <feature name='ssbd'/>
+        <feature name='tsc-deadline'/>
+        <feature name='umip'/>
+        <feature name='x2apic'/>
+        <feature name='xsavec'/>
+      </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v2</model>
+      <blockers model='Snowridge-v2'>
+        <feature name='3dnowprefetch'/>
+        <feature name='arch-capabilities'/>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='rdseed'/>
+        <feature name='sha-ni'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+        <feature name='ssbd'/>
+        <feature name='tsc-deadline'/>
+        <feature name='umip'/>
+        <feature name='x2apic'/>
+        <feature name='xsavec'/>
+      </blockers>
       <model usable='yes' vendor='Intel'>Westmere</model>
       <model usable='no' vendor='Intel'>Westmere-IBRS</model>
       <blockers model='Westmere-IBRS'>
diff --git a/tests/domaincapsdata/qemu_5.2.0.x86_64.xml b/tests/domaincapsdata/qemu_5.2.0.x86_64.xml
index 8882b9c8a7..155affd7a2 100644
--- a/tests/domaincapsdata/qemu_5.2.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_5.2.0.x86_64.xml
@@ -357,7 +357,7 @@
         <feature name='pku'/>
         <feature name='spec-ctrl'/>
       </blockers>
-      <model usable='no' vendor='Intel'>Snowridge</model>
+      <model usable='no' vendor='Intel' canonical='Snowridge-v1'>Snowridge</model>
       <blockers model='Snowridge'>
         <feature name='cldemote'/>
         <feature name='core-capability'/>
@@ -369,6 +369,29 @@
         <feature name='spec-ctrl'/>
         <feature name='split-lock-detect'/>
       </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v1</model>
+      <blockers model='Snowridge-v1'>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='erms'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='mpx'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+      </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v2</model>
+      <blockers model='Snowridge-v2'>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='erms'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <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>
       <blockers model='Westmere-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 b0a4bce914..97c2f3f216 100644
--- a/tests/domaincapsdata/qemu_6.0.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.0.0-q35.x86_64.xml
@@ -367,7 +367,7 @@
         <feature name='pku'/>
         <feature name='spec-ctrl'/>
       </blockers>
-      <model usable='no' vendor='Intel'>Snowridge</model>
+      <model usable='no' vendor='Intel' canonical='Snowridge-v1'>Snowridge</model>
       <blockers model='Snowridge'>
         <feature name='cldemote'/>
         <feature name='core-capability'/>
@@ -379,6 +379,29 @@
         <feature name='spec-ctrl'/>
         <feature name='split-lock-detect'/>
       </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v1</model>
+      <blockers model='Snowridge-v1'>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='erms'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='mpx'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+      </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v2</model>
+      <blockers model='Snowridge-v2'>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='erms'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <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>
       <blockers model='Westmere-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 334a523179..4f5abc3c87 100644
--- a/tests/domaincapsdata/qemu_6.0.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.0.0-tcg.x86_64.xml
@@ -664,7 +664,7 @@
         <feature name='x2apic'/>
         <feature name='xsavec'/>
       </blockers>
-      <model usable='no' vendor='Intel'>Snowridge</model>
+      <model usable='no' vendor='Intel' canonical='Snowridge-v1'>Snowridge</model>
       <blockers model='Snowridge'>
         <feature name='3dnowprefetch'/>
         <feature name='arch-capabilities'/>
@@ -683,6 +683,44 @@
         <feature name='x2apic'/>
         <feature name='xsavec'/>
       </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v1</model>
+      <blockers model='Snowridge-v1'>
+        <feature name='3dnowprefetch'/>
+        <feature name='arch-capabilities'/>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='rdseed'/>
+        <feature name='sha-ni'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+        <feature name='ssbd'/>
+        <feature name='tsc-deadline'/>
+        <feature name='umip'/>
+        <feature name='x2apic'/>
+        <feature name='xsavec'/>
+      </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v2</model>
+      <blockers model='Snowridge-v2'>
+        <feature name='3dnowprefetch'/>
+        <feature name='arch-capabilities'/>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='rdseed'/>
+        <feature name='sha-ni'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+        <feature name='ssbd'/>
+        <feature name='tsc-deadline'/>
+        <feature name='umip'/>
+        <feature name='x2apic'/>
+        <feature name='xsavec'/>
+      </blockers>
       <model usable='yes' vendor='Intel'>Westmere</model>
       <model usable='no' vendor='Intel'>Westmere-IBRS</model>
       <blockers model='Westmere-IBRS'>
diff --git a/tests/domaincapsdata/qemu_6.0.0.x86_64.xml b/tests/domaincapsdata/qemu_6.0.0.x86_64.xml
index 30e5686593..1e7d5acadd 100644
--- a/tests/domaincapsdata/qemu_6.0.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.0.0.x86_64.xml
@@ -366,7 +366,7 @@
         <feature name='pku'/>
         <feature name='spec-ctrl'/>
       </blockers>
-      <model usable='no' vendor='Intel'>Snowridge</model>
+      <model usable='no' vendor='Intel' canonical='Snowridge-v1'>Snowridge</model>
       <blockers model='Snowridge'>
         <feature name='cldemote'/>
         <feature name='core-capability'/>
@@ -378,6 +378,29 @@
         <feature name='spec-ctrl'/>
         <feature name='split-lock-detect'/>
       </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v1</model>
+      <blockers model='Snowridge-v1'>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='erms'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='mpx'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+      </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v2</model>
+      <blockers model='Snowridge-v2'>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='erms'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <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>
       <blockers model='Westmere-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 777b7c5198..931c1ccfa8 100644
--- a/tests/domaincapsdata/qemu_6.1.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.1.0-q35.x86_64.xml
@@ -369,7 +369,7 @@
         <feature name='pku'/>
         <feature name='spec-ctrl'/>
       </blockers>
-      <model usable='no' vendor='Intel'>Snowridge</model>
+      <model usable='no' vendor='Intel' canonical='Snowridge-v1'>Snowridge</model>
       <blockers model='Snowridge'>
         <feature name='cldemote'/>
         <feature name='core-capability'/>
@@ -381,6 +381,40 @@
         <feature name='spec-ctrl'/>
         <feature name='split-lock-detect'/>
       </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v1</model>
+      <blockers model='Snowridge-v1'>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='erms'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='mpx'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+      </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v2</model>
+      <blockers model='Snowridge-v2'>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='erms'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+      </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v3</model>
+      <blockers model='Snowridge-v3'>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='erms'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <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>
       <blockers model='Westmere-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 6c58d132d9..c381827ef1 100644
--- a/tests/domaincapsdata/qemu_6.1.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.1.0-tcg.x86_64.xml
@@ -665,7 +665,7 @@
         <feature name='x2apic'/>
         <feature name='xsavec'/>
       </blockers>
-      <model usable='no' vendor='Intel'>Snowridge</model>
+      <model usable='no' vendor='Intel' canonical='Snowridge-v1'>Snowridge</model>
       <blockers model='Snowridge'>
         <feature name='3dnowprefetch'/>
         <feature name='arch-capabilities'/>
@@ -684,6 +684,64 @@
         <feature name='x2apic'/>
         <feature name='xsavec'/>
       </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v1</model>
+      <blockers model='Snowridge-v1'>
+        <feature name='3dnowprefetch'/>
+        <feature name='arch-capabilities'/>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='rdseed'/>
+        <feature name='sha-ni'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+        <feature name='ssbd'/>
+        <feature name='tsc-deadline'/>
+        <feature name='umip'/>
+        <feature name='x2apic'/>
+        <feature name='xsavec'/>
+      </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v2</model>
+      <blockers model='Snowridge-v2'>
+        <feature name='3dnowprefetch'/>
+        <feature name='arch-capabilities'/>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='rdseed'/>
+        <feature name='sha-ni'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+        <feature name='ssbd'/>
+        <feature name='tsc-deadline'/>
+        <feature name='umip'/>
+        <feature name='x2apic'/>
+        <feature name='xsavec'/>
+      </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v3</model>
+      <blockers model='Snowridge-v3'>
+        <feature name='3dnowprefetch'/>
+        <feature name='arch-capabilities'/>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='rdseed'/>
+        <feature name='sha-ni'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+        <feature name='ssbd'/>
+        <feature name='tsc-deadline'/>
+        <feature name='umip'/>
+        <feature name='x2apic'/>
+        <feature name='xsavec'/>
+        <feature name='xsaves'/>
+      </blockers>
       <model usable='yes' vendor='Intel'>Westmere</model>
       <model usable='no' vendor='Intel'>Westmere-IBRS</model>
       <blockers model='Westmere-IBRS'>
diff --git a/tests/domaincapsdata/qemu_6.1.0.x86_64.xml b/tests/domaincapsdata/qemu_6.1.0.x86_64.xml
index 68b0a658dd..92507c01e6 100644
--- a/tests/domaincapsdata/qemu_6.1.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.1.0.x86_64.xml
@@ -368,7 +368,7 @@
         <feature name='pku'/>
         <feature name='spec-ctrl'/>
       </blockers>
-      <model usable='no' vendor='Intel'>Snowridge</model>
+      <model usable='no' vendor='Intel' canonical='Snowridge-v1'>Snowridge</model>
       <blockers model='Snowridge'>
         <feature name='cldemote'/>
         <feature name='core-capability'/>
@@ -380,6 +380,40 @@
         <feature name='spec-ctrl'/>
         <feature name='split-lock-detect'/>
       </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v1</model>
+      <blockers model='Snowridge-v1'>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='erms'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='mpx'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+      </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v2</model>
+      <blockers model='Snowridge-v2'>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='erms'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+      </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v3</model>
+      <blockers model='Snowridge-v3'>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='erms'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <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>
       <blockers model='Westmere-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 4a055e19ec..002004001a 100644
--- a/tests/domaincapsdata/qemu_6.2.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.2.0-q35.x86_64.xml
@@ -368,7 +368,7 @@
         <feature name='pku'/>
         <feature name='spec-ctrl'/>
       </blockers>
-      <model usable='no' vendor='Intel'>Snowridge</model>
+      <model usable='no' vendor='Intel' canonical='Snowridge-v1'>Snowridge</model>
       <blockers model='Snowridge'>
         <feature name='cldemote'/>
         <feature name='core-capability'/>
@@ -380,6 +380,49 @@
         <feature name='spec-ctrl'/>
         <feature name='split-lock-detect'/>
       </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v1</model>
+      <blockers model='Snowridge-v1'>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='erms'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='mpx'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+      </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v2</model>
+      <blockers model='Snowridge-v2'>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='erms'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+      </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v3</model>
+      <blockers model='Snowridge-v3'>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='erms'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+      </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v4</model>
+      <blockers model='Snowridge-v4'>
+        <feature name='cldemote'/>
+        <feature name='erms'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='spec-ctrl'/>
+      </blockers>
       <model usable='yes' vendor='Intel'>Westmere</model>
       <model usable='no' vendor='Intel'>Westmere-IBRS</model>
       <blockers model='Westmere-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 91dbb8ff78..7ec91e11d3 100644
--- a/tests/domaincapsdata/qemu_6.2.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.2.0-tcg.x86_64.xml
@@ -665,7 +665,7 @@
         <feature name='x2apic'/>
         <feature name='xsavec'/>
       </blockers>
-      <model usable='no' vendor='Intel'>Snowridge</model>
+      <model usable='no' vendor='Intel' canonical='Snowridge-v1'>Snowridge</model>
       <blockers model='Snowridge'>
         <feature name='3dnowprefetch'/>
         <feature name='arch-capabilities'/>
@@ -684,6 +684,82 @@
         <feature name='x2apic'/>
         <feature name='xsavec'/>
       </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v1</model>
+      <blockers model='Snowridge-v1'>
+        <feature name='3dnowprefetch'/>
+        <feature name='arch-capabilities'/>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='rdseed'/>
+        <feature name='sha-ni'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+        <feature name='ssbd'/>
+        <feature name='tsc-deadline'/>
+        <feature name='umip'/>
+        <feature name='x2apic'/>
+        <feature name='xsavec'/>
+      </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v2</model>
+      <blockers model='Snowridge-v2'>
+        <feature name='3dnowprefetch'/>
+        <feature name='arch-capabilities'/>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='rdseed'/>
+        <feature name='sha-ni'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+        <feature name='ssbd'/>
+        <feature name='tsc-deadline'/>
+        <feature name='umip'/>
+        <feature name='x2apic'/>
+        <feature name='xsavec'/>
+      </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v3</model>
+      <blockers model='Snowridge-v3'>
+        <feature name='3dnowprefetch'/>
+        <feature name='arch-capabilities'/>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='rdseed'/>
+        <feature name='sha-ni'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+        <feature name='ssbd'/>
+        <feature name='tsc-deadline'/>
+        <feature name='umip'/>
+        <feature name='x2apic'/>
+        <feature name='xsavec'/>
+        <feature name='xsaves'/>
+      </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v4</model>
+      <blockers model='Snowridge-v4'>
+        <feature name='3dnowprefetch'/>
+        <feature name='arch-capabilities'/>
+        <feature name='cldemote'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='rdseed'/>
+        <feature name='sha-ni'/>
+        <feature name='spec-ctrl'/>
+        <feature name='ssbd'/>
+        <feature name='tsc-deadline'/>
+        <feature name='umip'/>
+        <feature name='x2apic'/>
+        <feature name='xsavec'/>
+        <feature name='xsaves'/>
+      </blockers>
       <model usable='yes' vendor='Intel'>Westmere</model>
       <model usable='no' vendor='Intel'>Westmere-IBRS</model>
       <blockers model='Westmere-IBRS'>
diff --git a/tests/domaincapsdata/qemu_6.2.0.x86_64.xml b/tests/domaincapsdata/qemu_6.2.0.x86_64.xml
index 466be5c7a0..3b449eec8d 100644
--- a/tests/domaincapsdata/qemu_6.2.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.2.0.x86_64.xml
@@ -367,7 +367,7 @@
         <feature name='pku'/>
         <feature name='spec-ctrl'/>
       </blockers>
-      <model usable='no' vendor='Intel'>Snowridge</model>
+      <model usable='no' vendor='Intel' canonical='Snowridge-v1'>Snowridge</model>
       <blockers model='Snowridge'>
         <feature name='cldemote'/>
         <feature name='core-capability'/>
@@ -379,6 +379,49 @@
         <feature name='spec-ctrl'/>
         <feature name='split-lock-detect'/>
       </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v1</model>
+      <blockers model='Snowridge-v1'>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='erms'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='mpx'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+      </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v2</model>
+      <blockers model='Snowridge-v2'>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='erms'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+      </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v3</model>
+      <blockers model='Snowridge-v3'>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='erms'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+      </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v4</model>
+      <blockers model='Snowridge-v4'>
+        <feature name='cldemote'/>
+        <feature name='erms'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='spec-ctrl'/>
+      </blockers>
       <model usable='yes' vendor='Intel'>Westmere</model>
       <model usable='no' vendor='Intel'>Westmere-IBRS</model>
       <blockers model='Westmere-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 637579d6ec..bc603035fe 100644
--- a/tests/domaincapsdata/qemu_7.0.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_7.0.0-q35.x86_64.xml
@@ -369,7 +369,7 @@
         <feature name='pku'/>
         <feature name='spec-ctrl'/>
       </blockers>
-      <model usable='no' vendor='Intel'>Snowridge</model>
+      <model usable='no' vendor='Intel' canonical='Snowridge-v1'>Snowridge</model>
       <blockers model='Snowridge'>
         <feature name='cldemote'/>
         <feature name='core-capability'/>
@@ -381,6 +381,49 @@
         <feature name='spec-ctrl'/>
         <feature name='split-lock-detect'/>
       </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v1</model>
+      <blockers model='Snowridge-v1'>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='erms'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='mpx'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+      </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v2</model>
+      <blockers model='Snowridge-v2'>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='erms'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+      </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v3</model>
+      <blockers model='Snowridge-v3'>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='erms'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+      </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v4</model>
+      <blockers model='Snowridge-v4'>
+        <feature name='cldemote'/>
+        <feature name='erms'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='spec-ctrl'/>
+      </blockers>
       <model usable='yes' vendor='Intel'>Westmere</model>
       <model usable='no' vendor='Intel'>Westmere-IBRS</model>
       <blockers model='Westmere-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 1ed0cef05b..8e545b5e9d 100644
--- a/tests/domaincapsdata/qemu_7.0.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_7.0.0-tcg.x86_64.xml
@@ -660,7 +660,7 @@
         <feature name='x2apic'/>
         <feature name='xsavec'/>
       </blockers>
-      <model usable='no' vendor='Intel'>Snowridge</model>
+      <model usable='no' vendor='Intel' canonical='Snowridge-v1'>Snowridge</model>
       <blockers model='Snowridge'>
         <feature name='3dnowprefetch'/>
         <feature name='arch-capabilities'/>
@@ -678,6 +678,78 @@
         <feature name='x2apic'/>
         <feature name='xsavec'/>
       </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v1</model>
+      <blockers model='Snowridge-v1'>
+        <feature name='3dnowprefetch'/>
+        <feature name='arch-capabilities'/>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='rdseed'/>
+        <feature name='sha-ni'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+        <feature name='ssbd'/>
+        <feature name='tsc-deadline'/>
+        <feature name='x2apic'/>
+        <feature name='xsavec'/>
+      </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v2</model>
+      <blockers model='Snowridge-v2'>
+        <feature name='3dnowprefetch'/>
+        <feature name='arch-capabilities'/>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='rdseed'/>
+        <feature name='sha-ni'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+        <feature name='ssbd'/>
+        <feature name='tsc-deadline'/>
+        <feature name='x2apic'/>
+        <feature name='xsavec'/>
+      </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v3</model>
+      <blockers model='Snowridge-v3'>
+        <feature name='3dnowprefetch'/>
+        <feature name='arch-capabilities'/>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='rdseed'/>
+        <feature name='sha-ni'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+        <feature name='ssbd'/>
+        <feature name='tsc-deadline'/>
+        <feature name='x2apic'/>
+        <feature name='xsavec'/>
+        <feature name='xsaves'/>
+      </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v4</model>
+      <blockers model='Snowridge-v4'>
+        <feature name='3dnowprefetch'/>
+        <feature name='arch-capabilities'/>
+        <feature name='cldemote'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='rdseed'/>
+        <feature name='sha-ni'/>
+        <feature name='spec-ctrl'/>
+        <feature name='ssbd'/>
+        <feature name='tsc-deadline'/>
+        <feature name='x2apic'/>
+        <feature name='xsavec'/>
+        <feature name='xsaves'/>
+      </blockers>
       <model usable='yes' vendor='Intel'>Westmere</model>
       <model usable='no' vendor='Intel'>Westmere-IBRS</model>
       <blockers model='Westmere-IBRS'>
diff --git a/tests/domaincapsdata/qemu_7.0.0.x86_64.xml b/tests/domaincapsdata/qemu_7.0.0.x86_64.xml
index acde0c66d9..e2b164f6f2 100644
--- a/tests/domaincapsdata/qemu_7.0.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_7.0.0.x86_64.xml
@@ -368,7 +368,7 @@
         <feature name='pku'/>
         <feature name='spec-ctrl'/>
       </blockers>
-      <model usable='no' vendor='Intel'>Snowridge</model>
+      <model usable='no' vendor='Intel' canonical='Snowridge-v1'>Snowridge</model>
       <blockers model='Snowridge'>
         <feature name='cldemote'/>
         <feature name='core-capability'/>
@@ -380,6 +380,49 @@
         <feature name='spec-ctrl'/>
         <feature name='split-lock-detect'/>
       </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v1</model>
+      <blockers model='Snowridge-v1'>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='erms'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='mpx'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+      </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v2</model>
+      <blockers model='Snowridge-v2'>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='erms'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+      </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v3</model>
+      <blockers model='Snowridge-v3'>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='erms'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+      </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v4</model>
+      <blockers model='Snowridge-v4'>
+        <feature name='cldemote'/>
+        <feature name='erms'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='spec-ctrl'/>
+      </blockers>
       <model usable='yes' vendor='Intel'>Westmere</model>
       <model usable='no' vendor='Intel'>Westmere-IBRS</model>
       <blockers model='Westmere-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 591e15ab24..be1c10ba88 100644
--- a/tests/domaincapsdata/qemu_7.1.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_7.1.0-q35.x86_64.xml
@@ -336,7 +336,7 @@
         <feature name='pku'/>
         <feature name='spec-ctrl'/>
       </blockers>
-      <model usable='no' vendor='Intel'>Snowridge</model>
+      <model usable='no' vendor='Intel' canonical='Snowridge-v1'>Snowridge</model>
       <blockers model='Snowridge'>
         <feature name='cldemote'/>
         <feature name='core-capability'/>
@@ -348,6 +348,49 @@
         <feature name='spec-ctrl'/>
         <feature name='split-lock-detect'/>
       </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v1</model>
+      <blockers model='Snowridge-v1'>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='erms'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='mpx'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+      </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v2</model>
+      <blockers model='Snowridge-v2'>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='erms'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+      </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v3</model>
+      <blockers model='Snowridge-v3'>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='erms'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+      </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v4</model>
+      <blockers model='Snowridge-v4'>
+        <feature name='cldemote'/>
+        <feature name='erms'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='spec-ctrl'/>
+      </blockers>
       <model usable='yes' vendor='Intel'>Westmere</model>
       <model usable='no' vendor='Intel'>Westmere-IBRS</model>
       <blockers model='Westmere-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 52086550db..d43ed80338 100644
--- a/tests/domaincapsdata/qemu_7.1.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_7.1.0-tcg.x86_64.xml
@@ -608,7 +608,7 @@
         <feature name='x2apic'/>
         <feature name='xsavec'/>
       </blockers>
-      <model usable='no' vendor='Intel'>Snowridge</model>
+      <model usable='no' vendor='Intel' canonical='Snowridge-v1'>Snowridge</model>
       <blockers model='Snowridge'>
         <feature name='3dnowprefetch'/>
         <feature name='arch-capabilities'/>
@@ -626,6 +626,78 @@
         <feature name='x2apic'/>
         <feature name='xsavec'/>
       </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v1</model>
+      <blockers model='Snowridge-v1'>
+        <feature name='3dnowprefetch'/>
+        <feature name='arch-capabilities'/>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='rdseed'/>
+        <feature name='sha-ni'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+        <feature name='ssbd'/>
+        <feature name='tsc-deadline'/>
+        <feature name='x2apic'/>
+        <feature name='xsavec'/>
+      </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v2</model>
+      <blockers model='Snowridge-v2'>
+        <feature name='3dnowprefetch'/>
+        <feature name='arch-capabilities'/>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='rdseed'/>
+        <feature name='sha-ni'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+        <feature name='ssbd'/>
+        <feature name='tsc-deadline'/>
+        <feature name='x2apic'/>
+        <feature name='xsavec'/>
+      </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v3</model>
+      <blockers model='Snowridge-v3'>
+        <feature name='3dnowprefetch'/>
+        <feature name='arch-capabilities'/>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='rdseed'/>
+        <feature name='sha-ni'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+        <feature name='ssbd'/>
+        <feature name='tsc-deadline'/>
+        <feature name='x2apic'/>
+        <feature name='xsavec'/>
+        <feature name='xsaves'/>
+      </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v4</model>
+      <blockers model='Snowridge-v4'>
+        <feature name='3dnowprefetch'/>
+        <feature name='arch-capabilities'/>
+        <feature name='cldemote'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='rdseed'/>
+        <feature name='sha-ni'/>
+        <feature name='spec-ctrl'/>
+        <feature name='ssbd'/>
+        <feature name='tsc-deadline'/>
+        <feature name='x2apic'/>
+        <feature name='xsavec'/>
+        <feature name='xsaves'/>
+      </blockers>
       <model usable='yes' vendor='Intel'>Westmere</model>
       <model usable='no' vendor='Intel'>Westmere-IBRS</model>
       <blockers model='Westmere-IBRS'>
diff --git a/tests/domaincapsdata/qemu_7.1.0.x86_64.xml b/tests/domaincapsdata/qemu_7.1.0.x86_64.xml
index 1170d8ed2c..c8f74ea60e 100644
--- a/tests/domaincapsdata/qemu_7.1.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_7.1.0.x86_64.xml
@@ -335,7 +335,7 @@
         <feature name='pku'/>
         <feature name='spec-ctrl'/>
       </blockers>
-      <model usable='no' vendor='Intel'>Snowridge</model>
+      <model usable='no' vendor='Intel' canonical='Snowridge-v1'>Snowridge</model>
       <blockers model='Snowridge'>
         <feature name='cldemote'/>
         <feature name='core-capability'/>
@@ -347,6 +347,49 @@
         <feature name='spec-ctrl'/>
         <feature name='split-lock-detect'/>
       </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v1</model>
+      <blockers model='Snowridge-v1'>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='erms'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='mpx'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+      </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v2</model>
+      <blockers model='Snowridge-v2'>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='erms'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+      </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v3</model>
+      <blockers model='Snowridge-v3'>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='erms'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+      </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v4</model>
+      <blockers model='Snowridge-v4'>
+        <feature name='cldemote'/>
+        <feature name='erms'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='spec-ctrl'/>
+      </blockers>
       <model usable='yes' vendor='Intel'>Westmere</model>
       <model usable='no' vendor='Intel'>Westmere-IBRS</model>
       <blockers model='Westmere-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 653a7a7bac..890b8ec2e9 100644
--- a/tests/domaincapsdata/qemu_7.2.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_7.2.0-q35.x86_64.xml
@@ -341,7 +341,7 @@
         <feature name='pku'/>
         <feature name='spec-ctrl'/>
       </blockers>
-      <model usable='no' vendor='Intel'>Snowridge</model>
+      <model usable='no' vendor='Intel' canonical='Snowridge-v1'>Snowridge</model>
       <blockers model='Snowridge'>
         <feature name='cldemote'/>
         <feature name='core-capability'/>
@@ -353,6 +353,49 @@
         <feature name='spec-ctrl'/>
         <feature name='split-lock-detect'/>
       </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v1</model>
+      <blockers model='Snowridge-v1'>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='erms'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='mpx'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+      </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v2</model>
+      <blockers model='Snowridge-v2'>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='erms'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+      </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v3</model>
+      <blockers model='Snowridge-v3'>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='erms'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+      </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v4</model>
+      <blockers model='Snowridge-v4'>
+        <feature name='cldemote'/>
+        <feature name='erms'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='spec-ctrl'/>
+      </blockers>
       <model usable='yes' vendor='Intel'>Westmere</model>
       <model usable='no' vendor='Intel'>Westmere-IBRS</model>
       <blockers model='Westmere-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 779bdddad6..fb20353bbf 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
@@ -489,7 +489,7 @@
         <feature name='x2apic'/>
         <feature name='xsavec'/>
       </blockers>
-      <model usable='no' vendor='Intel'>Snowridge</model>
+      <model usable='no' vendor='Intel' canonical='Snowridge-v1'>Snowridge</model>
       <blockers model='Snowridge'>
         <feature name='3dnowprefetch'/>
         <feature name='arch-capabilities'/>
@@ -507,6 +507,78 @@
         <feature name='x2apic'/>
         <feature name='xsavec'/>
       </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v1</model>
+      <blockers model='Snowridge-v1'>
+        <feature name='3dnowprefetch'/>
+        <feature name='arch-capabilities'/>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='rdseed'/>
+        <feature name='sha-ni'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+        <feature name='ssbd'/>
+        <feature name='tsc-deadline'/>
+        <feature name='x2apic'/>
+        <feature name='xsavec'/>
+      </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v2</model>
+      <blockers model='Snowridge-v2'>
+        <feature name='3dnowprefetch'/>
+        <feature name='arch-capabilities'/>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='rdseed'/>
+        <feature name='sha-ni'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+        <feature name='ssbd'/>
+        <feature name='tsc-deadline'/>
+        <feature name='x2apic'/>
+        <feature name='xsavec'/>
+      </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v3</model>
+      <blockers model='Snowridge-v3'>
+        <feature name='3dnowprefetch'/>
+        <feature name='arch-capabilities'/>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='rdseed'/>
+        <feature name='sha-ni'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+        <feature name='ssbd'/>
+        <feature name='tsc-deadline'/>
+        <feature name='x2apic'/>
+        <feature name='xsavec'/>
+        <feature name='xsaves'/>
+      </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v4</model>
+      <blockers model='Snowridge-v4'>
+        <feature name='3dnowprefetch'/>
+        <feature name='arch-capabilities'/>
+        <feature name='cldemote'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='rdseed'/>
+        <feature name='sha-ni'/>
+        <feature name='spec-ctrl'/>
+        <feature name='ssbd'/>
+        <feature name='tsc-deadline'/>
+        <feature name='x2apic'/>
+        <feature name='xsavec'/>
+        <feature name='xsaves'/>
+      </blockers>
       <model usable='yes' vendor='Intel'>Westmere</model>
       <model usable='no' vendor='Intel'>Westmere-IBRS</model>
       <blockers model='Westmere-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 779bdddad6..fb20353bbf 100644
--- a/tests/domaincapsdata/qemu_7.2.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_7.2.0-tcg.x86_64.xml
@@ -489,7 +489,7 @@
         <feature name='x2apic'/>
         <feature name='xsavec'/>
       </blockers>
-      <model usable='no' vendor='Intel'>Snowridge</model>
+      <model usable='no' vendor='Intel' canonical='Snowridge-v1'>Snowridge</model>
       <blockers model='Snowridge'>
         <feature name='3dnowprefetch'/>
         <feature name='arch-capabilities'/>
@@ -507,6 +507,78 @@
         <feature name='x2apic'/>
         <feature name='xsavec'/>
       </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v1</model>
+      <blockers model='Snowridge-v1'>
+        <feature name='3dnowprefetch'/>
+        <feature name='arch-capabilities'/>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='rdseed'/>
+        <feature name='sha-ni'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+        <feature name='ssbd'/>
+        <feature name='tsc-deadline'/>
+        <feature name='x2apic'/>
+        <feature name='xsavec'/>
+      </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v2</model>
+      <blockers model='Snowridge-v2'>
+        <feature name='3dnowprefetch'/>
+        <feature name='arch-capabilities'/>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='rdseed'/>
+        <feature name='sha-ni'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+        <feature name='ssbd'/>
+        <feature name='tsc-deadline'/>
+        <feature name='x2apic'/>
+        <feature name='xsavec'/>
+      </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v3</model>
+      <blockers model='Snowridge-v3'>
+        <feature name='3dnowprefetch'/>
+        <feature name='arch-capabilities'/>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='rdseed'/>
+        <feature name='sha-ni'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+        <feature name='ssbd'/>
+        <feature name='tsc-deadline'/>
+        <feature name='x2apic'/>
+        <feature name='xsavec'/>
+        <feature name='xsaves'/>
+      </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v4</model>
+      <blockers model='Snowridge-v4'>
+        <feature name='3dnowprefetch'/>
+        <feature name='arch-capabilities'/>
+        <feature name='cldemote'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='rdseed'/>
+        <feature name='sha-ni'/>
+        <feature name='spec-ctrl'/>
+        <feature name='ssbd'/>
+        <feature name='tsc-deadline'/>
+        <feature name='x2apic'/>
+        <feature name='xsavec'/>
+        <feature name='xsaves'/>
+      </blockers>
       <model usable='yes' vendor='Intel'>Westmere</model>
       <model usable='no' vendor='Intel'>Westmere-IBRS</model>
       <blockers model='Westmere-IBRS'>
diff --git a/tests/domaincapsdata/qemu_7.2.0.x86_64.xml b/tests/domaincapsdata/qemu_7.2.0.x86_64.xml
index 72d4e7be39..02406d697a 100644
--- a/tests/domaincapsdata/qemu_7.2.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_7.2.0.x86_64.xml
@@ -340,7 +340,7 @@
         <feature name='pku'/>
         <feature name='spec-ctrl'/>
       </blockers>
-      <model usable='no' vendor='Intel'>Snowridge</model>
+      <model usable='no' vendor='Intel' canonical='Snowridge-v1'>Snowridge</model>
       <blockers model='Snowridge'>
         <feature name='cldemote'/>
         <feature name='core-capability'/>
@@ -352,6 +352,49 @@
         <feature name='spec-ctrl'/>
         <feature name='split-lock-detect'/>
       </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v1</model>
+      <blockers model='Snowridge-v1'>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='erms'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='mpx'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+      </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v2</model>
+      <blockers model='Snowridge-v2'>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='erms'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+      </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v3</model>
+      <blockers model='Snowridge-v3'>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='erms'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+      </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v4</model>
+      <blockers model='Snowridge-v4'>
+        <feature name='cldemote'/>
+        <feature name='erms'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='spec-ctrl'/>
+      </blockers>
       <model usable='yes' vendor='Intel'>Westmere</model>
       <model usable='no' vendor='Intel'>Westmere-IBRS</model>
       <blockers model='Westmere-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 c1776af083..4e70aee549 100644
--- a/tests/domaincapsdata/qemu_8.0.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_8.0.0-q35.x86_64.xml
@@ -423,7 +423,7 @@
         <feature name='pku'/>
         <feature name='spec-ctrl'/>
       </blockers>
-      <model usable='no' vendor='Intel'>Snowridge</model>
+      <model usable='no' vendor='Intel' canonical='Snowridge-v1'>Snowridge</model>
       <blockers model='Snowridge'>
         <feature name='cldemote'/>
         <feature name='core-capability'/>
@@ -435,6 +435,49 @@
         <feature name='spec-ctrl'/>
         <feature name='split-lock-detect'/>
       </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v1</model>
+      <blockers model='Snowridge-v1'>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='erms'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='mpx'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+      </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v2</model>
+      <blockers model='Snowridge-v2'>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='erms'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+      </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v3</model>
+      <blockers model='Snowridge-v3'>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='erms'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+      </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v4</model>
+      <blockers model='Snowridge-v4'>
+        <feature name='cldemote'/>
+        <feature name='erms'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='spec-ctrl'/>
+      </blockers>
       <model usable='yes' vendor='Intel'>Westmere</model>
       <model usable='no' vendor='Intel'>Westmere-IBRS</model>
       <blockers model='Westmere-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 d6f4e79806..25c522f8d6 100644
--- a/tests/domaincapsdata/qemu_8.0.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_8.0.0-tcg.x86_64.xml
@@ -588,7 +588,7 @@
         <feature name='x2apic'/>
         <feature name='xsavec'/>
       </blockers>
-      <model usable='no' vendor='Intel'>Snowridge</model>
+      <model usable='no' vendor='Intel' canonical='Snowridge-v1'>Snowridge</model>
       <blockers model='Snowridge'>
         <feature name='3dnowprefetch'/>
         <feature name='arch-capabilities'/>
@@ -606,6 +606,78 @@
         <feature name='x2apic'/>
         <feature name='xsavec'/>
       </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v1</model>
+      <blockers model='Snowridge-v1'>
+        <feature name='3dnowprefetch'/>
+        <feature name='arch-capabilities'/>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='rdseed'/>
+        <feature name='sha-ni'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+        <feature name='ssbd'/>
+        <feature name='tsc-deadline'/>
+        <feature name='x2apic'/>
+        <feature name='xsavec'/>
+      </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v2</model>
+      <blockers model='Snowridge-v2'>
+        <feature name='3dnowprefetch'/>
+        <feature name='arch-capabilities'/>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='rdseed'/>
+        <feature name='sha-ni'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+        <feature name='ssbd'/>
+        <feature name='tsc-deadline'/>
+        <feature name='x2apic'/>
+        <feature name='xsavec'/>
+      </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v3</model>
+      <blockers model='Snowridge-v3'>
+        <feature name='3dnowprefetch'/>
+        <feature name='arch-capabilities'/>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='rdseed'/>
+        <feature name='sha-ni'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+        <feature name='ssbd'/>
+        <feature name='tsc-deadline'/>
+        <feature name='x2apic'/>
+        <feature name='xsavec'/>
+        <feature name='xsaves'/>
+      </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v4</model>
+      <blockers model='Snowridge-v4'>
+        <feature name='3dnowprefetch'/>
+        <feature name='arch-capabilities'/>
+        <feature name='cldemote'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='rdseed'/>
+        <feature name='sha-ni'/>
+        <feature name='spec-ctrl'/>
+        <feature name='ssbd'/>
+        <feature name='tsc-deadline'/>
+        <feature name='x2apic'/>
+        <feature name='xsavec'/>
+        <feature name='xsaves'/>
+      </blockers>
       <model usable='yes' vendor='Intel'>Westmere</model>
       <model usable='no' vendor='Intel'>Westmere-IBRS</model>
       <blockers model='Westmere-IBRS'>
diff --git a/tests/domaincapsdata/qemu_8.0.0.x86_64.xml b/tests/domaincapsdata/qemu_8.0.0.x86_64.xml
index 27beded8ea..d8ef35e83f 100644
--- a/tests/domaincapsdata/qemu_8.0.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_8.0.0.x86_64.xml
@@ -422,7 +422,7 @@
         <feature name='pku'/>
         <feature name='spec-ctrl'/>
       </blockers>
-      <model usable='no' vendor='Intel'>Snowridge</model>
+      <model usable='no' vendor='Intel' canonical='Snowridge-v1'>Snowridge</model>
       <blockers model='Snowridge'>
         <feature name='cldemote'/>
         <feature name='core-capability'/>
@@ -434,6 +434,49 @@
         <feature name='spec-ctrl'/>
         <feature name='split-lock-detect'/>
       </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v1</model>
+      <blockers model='Snowridge-v1'>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='erms'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='mpx'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+      </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v2</model>
+      <blockers model='Snowridge-v2'>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='erms'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+      </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v3</model>
+      <blockers model='Snowridge-v3'>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='erms'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+      </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v4</model>
+      <blockers model='Snowridge-v4'>
+        <feature name='cldemote'/>
+        <feature name='erms'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='spec-ctrl'/>
+      </blockers>
       <model usable='yes' vendor='Intel'>Westmere</model>
       <model usable='no' vendor='Intel'>Westmere-IBRS</model>
       <blockers model='Westmere-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 ce04180999..b63775042f 100644
--- a/tests/domaincapsdata/qemu_8.1.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_8.1.0-q35.x86_64.xml
@@ -604,7 +604,7 @@
         <feature name='pku'/>
         <feature name='spec-ctrl'/>
       </blockers>
-      <model usable='no' vendor='Intel'>Snowridge</model>
+      <model usable='no' vendor='Intel' canonical='Snowridge-v1'>Snowridge</model>
       <blockers model='Snowridge'>
         <feature name='cldemote'/>
         <feature name='core-capability'/>
@@ -616,6 +616,51 @@
         <feature name='spec-ctrl'/>
         <feature name='split-lock-detect'/>
       </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v1</model>
+      <blockers model='Snowridge-v1'>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='erms'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='mpx'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+      </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v2</model>
+      <blockers model='Snowridge-v2'>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='erms'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+      </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v3</model>
+      <blockers model='Snowridge-v3'>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='erms'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+        <feature name='xsaves'/>
+      </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v4</model>
+      <blockers model='Snowridge-v4'>
+        <feature name='cldemote'/>
+        <feature name='erms'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='spec-ctrl'/>
+        <feature name='xsaves'/>
+      </blockers>
       <model usable='yes' vendor='Intel'>Westmere</model>
       <model usable='no' vendor='Intel'>Westmere-IBRS</model>
       <blockers model='Westmere-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 1836c786dc..b08763142e 100644
--- a/tests/domaincapsdata/qemu_8.1.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_8.1.0-tcg.x86_64.xml
@@ -669,7 +669,7 @@
         <feature name='x2apic'/>
         <feature name='xsavec'/>
       </blockers>
-      <model usable='no' vendor='Intel'>Snowridge</model>
+      <model usable='no' vendor='Intel' canonical='Snowridge-v1'>Snowridge</model>
       <blockers model='Snowridge'>
         <feature name='arch-capabilities'/>
         <feature name='cldemote'/>
@@ -685,6 +685,70 @@
         <feature name='x2apic'/>
         <feature name='xsavec'/>
       </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v1</model>
+      <blockers model='Snowridge-v1'>
+        <feature name='arch-capabilities'/>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='sha-ni'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+        <feature name='ssbd'/>
+        <feature name='tsc-deadline'/>
+        <feature name='x2apic'/>
+        <feature name='xsavec'/>
+      </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v2</model>
+      <blockers model='Snowridge-v2'>
+        <feature name='arch-capabilities'/>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='sha-ni'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+        <feature name='ssbd'/>
+        <feature name='tsc-deadline'/>
+        <feature name='x2apic'/>
+        <feature name='xsavec'/>
+      </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v3</model>
+      <blockers model='Snowridge-v3'>
+        <feature name='arch-capabilities'/>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='sha-ni'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+        <feature name='ssbd'/>
+        <feature name='tsc-deadline'/>
+        <feature name='x2apic'/>
+        <feature name='xsavec'/>
+        <feature name='xsaves'/>
+      </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v4</model>
+      <blockers model='Snowridge-v4'>
+        <feature name='arch-capabilities'/>
+        <feature name='cldemote'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='sha-ni'/>
+        <feature name='spec-ctrl'/>
+        <feature name='ssbd'/>
+        <feature name='tsc-deadline'/>
+        <feature name='x2apic'/>
+        <feature name='xsavec'/>
+        <feature name='xsaves'/>
+      </blockers>
       <model usable='yes' vendor='Intel'>Westmere</model>
       <model usable='no' vendor='Intel'>Westmere-IBRS</model>
       <blockers model='Westmere-IBRS'>
diff --git a/tests/domaincapsdata/qemu_8.1.0.x86_64.xml b/tests/domaincapsdata/qemu_8.1.0.x86_64.xml
index c64f62b14e..f235e3ca55 100644
--- a/tests/domaincapsdata/qemu_8.1.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_8.1.0.x86_64.xml
@@ -603,7 +603,7 @@
         <feature name='pku'/>
         <feature name='spec-ctrl'/>
       </blockers>
-      <model usable='no' vendor='Intel'>Snowridge</model>
+      <model usable='no' vendor='Intel' canonical='Snowridge-v1'>Snowridge</model>
       <blockers model='Snowridge'>
         <feature name='cldemote'/>
         <feature name='core-capability'/>
@@ -615,6 +615,51 @@
         <feature name='spec-ctrl'/>
         <feature name='split-lock-detect'/>
       </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v1</model>
+      <blockers model='Snowridge-v1'>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='erms'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='mpx'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+      </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v2</model>
+      <blockers model='Snowridge-v2'>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='erms'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+      </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v3</model>
+      <blockers model='Snowridge-v3'>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='erms'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+        <feature name='xsaves'/>
+      </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v4</model>
+      <blockers model='Snowridge-v4'>
+        <feature name='cldemote'/>
+        <feature name='erms'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='spec-ctrl'/>
+        <feature name='xsaves'/>
+      </blockers>
       <model usable='yes' vendor='Intel'>Westmere</model>
       <model usable='no' vendor='Intel'>Westmere-IBRS</model>
       <blockers model='Westmere-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 ab3d52deb2..db5e71cae3 100644
--- a/tests/domaincapsdata/qemu_8.2.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_8.2.0-q35.x86_64.xml
@@ -605,7 +605,7 @@
         <feature name='pku'/>
         <feature name='spec-ctrl'/>
       </blockers>
-      <model usable='no' vendor='Intel'>Snowridge</model>
+      <model usable='no' vendor='Intel' canonical='Snowridge-v1'>Snowridge</model>
       <blockers model='Snowridge'>
         <feature name='cldemote'/>
         <feature name='core-capability'/>
@@ -617,6 +617,51 @@
         <feature name='spec-ctrl'/>
         <feature name='split-lock-detect'/>
       </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v1</model>
+      <blockers model='Snowridge-v1'>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='erms'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='mpx'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+      </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v2</model>
+      <blockers model='Snowridge-v2'>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='erms'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+      </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v3</model>
+      <blockers model='Snowridge-v3'>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='erms'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+        <feature name='xsaves'/>
+      </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v4</model>
+      <blockers model='Snowridge-v4'>
+        <feature name='cldemote'/>
+        <feature name='erms'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='spec-ctrl'/>
+        <feature name='xsaves'/>
+      </blockers>
       <model usable='yes' vendor='Intel'>Westmere</model>
       <model usable='no' vendor='Intel'>Westmere-IBRS</model>
       <blockers model='Westmere-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 2d22fd32dd..bc1c8b629c 100644
--- a/tests/domaincapsdata/qemu_8.2.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_8.2.0-tcg.x86_64.xml
@@ -658,7 +658,7 @@
         <feature name='x2apic'/>
         <feature name='xsavec'/>
       </blockers>
-      <model usable='no' vendor='Intel'>Snowridge</model>
+      <model usable='no' vendor='Intel' canonical='Snowridge-v1'>Snowridge</model>
       <blockers model='Snowridge'>
         <feature name='arch-capabilities'/>
         <feature name='cldemote'/>
@@ -673,6 +673,66 @@
         <feature name='x2apic'/>
         <feature name='xsavec'/>
       </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v1</model>
+      <blockers model='Snowridge-v1'>
+        <feature name='arch-capabilities'/>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+        <feature name='ssbd'/>
+        <feature name='tsc-deadline'/>
+        <feature name='x2apic'/>
+        <feature name='xsavec'/>
+      </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v2</model>
+      <blockers model='Snowridge-v2'>
+        <feature name='arch-capabilities'/>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+        <feature name='ssbd'/>
+        <feature name='tsc-deadline'/>
+        <feature name='x2apic'/>
+        <feature name='xsavec'/>
+      </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v3</model>
+      <blockers model='Snowridge-v3'>
+        <feature name='arch-capabilities'/>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+        <feature name='ssbd'/>
+        <feature name='tsc-deadline'/>
+        <feature name='x2apic'/>
+        <feature name='xsavec'/>
+        <feature name='xsaves'/>
+      </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v4</model>
+      <blockers model='Snowridge-v4'>
+        <feature name='arch-capabilities'/>
+        <feature name='cldemote'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='spec-ctrl'/>
+        <feature name='ssbd'/>
+        <feature name='tsc-deadline'/>
+        <feature name='x2apic'/>
+        <feature name='xsavec'/>
+        <feature name='xsaves'/>
+      </blockers>
       <model usable='yes' vendor='Intel'>Westmere</model>
       <model usable='no' vendor='Intel'>Westmere-IBRS</model>
       <blockers model='Westmere-IBRS'>
diff --git a/tests/domaincapsdata/qemu_8.2.0.x86_64.xml b/tests/domaincapsdata/qemu_8.2.0.x86_64.xml
index a9b5f5efcb..4092b0cbaf 100644
--- a/tests/domaincapsdata/qemu_8.2.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_8.2.0.x86_64.xml
@@ -604,7 +604,7 @@
         <feature name='pku'/>
         <feature name='spec-ctrl'/>
       </blockers>
-      <model usable='no' vendor='Intel'>Snowridge</model>
+      <model usable='no' vendor='Intel' canonical='Snowridge-v1'>Snowridge</model>
       <blockers model='Snowridge'>
         <feature name='cldemote'/>
         <feature name='core-capability'/>
@@ -616,6 +616,51 @@
         <feature name='spec-ctrl'/>
         <feature name='split-lock-detect'/>
       </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v1</model>
+      <blockers model='Snowridge-v1'>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='erms'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='mpx'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+      </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v2</model>
+      <blockers model='Snowridge-v2'>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='erms'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+      </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v3</model>
+      <blockers model='Snowridge-v3'>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='erms'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+        <feature name='xsaves'/>
+      </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v4</model>
+      <blockers model='Snowridge-v4'>
+        <feature name='cldemote'/>
+        <feature name='erms'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='spec-ctrl'/>
+        <feature name='xsaves'/>
+      </blockers>
       <model usable='yes' vendor='Intel'>Westmere</model>
       <model usable='no' vendor='Intel'>Westmere-IBRS</model>
       <blockers model='Westmere-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 705e61e950..46cdc98b04 100644
--- a/tests/domaincapsdata/qemu_9.0.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_9.0.0-q35.x86_64.xml
@@ -605,7 +605,7 @@
         <feature name='pku'/>
         <feature name='spec-ctrl'/>
       </blockers>
-      <model usable='no' vendor='Intel'>Snowridge</model>
+      <model usable='no' vendor='Intel' canonical='Snowridge-v1'>Snowridge</model>
       <blockers model='Snowridge'>
         <feature name='cldemote'/>
         <feature name='core-capability'/>
@@ -617,6 +617,51 @@
         <feature name='spec-ctrl'/>
         <feature name='split-lock-detect'/>
       </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v1</model>
+      <blockers model='Snowridge-v1'>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='erms'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='mpx'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+      </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v2</model>
+      <blockers model='Snowridge-v2'>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='erms'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+      </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v3</model>
+      <blockers model='Snowridge-v3'>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='erms'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+        <feature name='xsaves'/>
+      </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v4</model>
+      <blockers model='Snowridge-v4'>
+        <feature name='cldemote'/>
+        <feature name='erms'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='spec-ctrl'/>
+        <feature name='xsaves'/>
+      </blockers>
       <model usable='yes' vendor='Intel'>Westmere</model>
       <model usable='no' vendor='Intel'>Westmere-IBRS</model>
       <blockers model='Westmere-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 65ce9690a2..52ce59c185 100644
--- a/tests/domaincapsdata/qemu_9.0.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_9.0.0-tcg.x86_64.xml
@@ -632,7 +632,7 @@
         <feature name='tsc-deadline'/>
         <feature name='xsavec'/>
       </blockers>
-      <model usable='no' vendor='Intel'>Snowridge</model>
+      <model usable='no' vendor='Intel' canonical='Snowridge-v1'>Snowridge</model>
       <blockers model='Snowridge'>
         <feature name='arch-capabilities'/>
         <feature name='cldemote'/>
@@ -646,6 +646,62 @@
         <feature name='tsc-deadline'/>
         <feature name='xsavec'/>
       </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v1</model>
+      <blockers model='Snowridge-v1'>
+        <feature name='arch-capabilities'/>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+        <feature name='ssbd'/>
+        <feature name='tsc-deadline'/>
+        <feature name='xsavec'/>
+      </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v2</model>
+      <blockers model='Snowridge-v2'>
+        <feature name='arch-capabilities'/>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+        <feature name='ssbd'/>
+        <feature name='tsc-deadline'/>
+        <feature name='xsavec'/>
+      </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v3</model>
+      <blockers model='Snowridge-v3'>
+        <feature name='arch-capabilities'/>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+        <feature name='ssbd'/>
+        <feature name='tsc-deadline'/>
+        <feature name='xsavec'/>
+        <feature name='xsaves'/>
+      </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v4</model>
+      <blockers model='Snowridge-v4'>
+        <feature name='arch-capabilities'/>
+        <feature name='cldemote'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='spec-ctrl'/>
+        <feature name='ssbd'/>
+        <feature name='tsc-deadline'/>
+        <feature name='xsavec'/>
+        <feature name='xsaves'/>
+      </blockers>
       <model usable='yes' vendor='Intel'>Westmere</model>
       <model usable='no' vendor='Intel'>Westmere-IBRS</model>
       <blockers model='Westmere-IBRS'>
diff --git a/tests/domaincapsdata/qemu_9.0.0.x86_64.xml b/tests/domaincapsdata/qemu_9.0.0.x86_64.xml
index 062f47aa34..f7716b5c10 100644
--- a/tests/domaincapsdata/qemu_9.0.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_9.0.0.x86_64.xml
@@ -604,7 +604,7 @@
         <feature name='pku'/>
         <feature name='spec-ctrl'/>
       </blockers>
-      <model usable='no' vendor='Intel'>Snowridge</model>
+      <model usable='no' vendor='Intel' canonical='Snowridge-v1'>Snowridge</model>
       <blockers model='Snowridge'>
         <feature name='cldemote'/>
         <feature name='core-capability'/>
@@ -616,6 +616,51 @@
         <feature name='spec-ctrl'/>
         <feature name='split-lock-detect'/>
       </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v1</model>
+      <blockers model='Snowridge-v1'>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='erms'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='mpx'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+      </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v2</model>
+      <blockers model='Snowridge-v2'>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='erms'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+      </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v3</model>
+      <blockers model='Snowridge-v3'>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='erms'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+        <feature name='xsaves'/>
+      </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v4</model>
+      <blockers model='Snowridge-v4'>
+        <feature name='cldemote'/>
+        <feature name='erms'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='spec-ctrl'/>
+        <feature name='xsaves'/>
+      </blockers>
       <model usable='yes' vendor='Intel'>Westmere</model>
       <model usable='no' vendor='Intel'>Westmere-IBRS</model>
       <blockers model='Westmere-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 889d50f4ca..16e5de9503 100644
--- a/tests/domaincapsdata/qemu_9.1.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_9.1.0-q35.x86_64.xml
@@ -712,7 +712,7 @@
         <feature name='pku'/>
         <feature name='spec-ctrl'/>
       </blockers>
-      <model usable='no' vendor='Intel'>Snowridge</model>
+      <model usable='no' vendor='Intel' canonical='Snowridge-v1'>Snowridge</model>
       <blockers model='Snowridge'>
         <feature name='cldemote'/>
         <feature name='core-capability'/>
@@ -724,6 +724,51 @@
         <feature name='spec-ctrl'/>
         <feature name='split-lock-detect'/>
       </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v1</model>
+      <blockers model='Snowridge-v1'>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='erms'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='mpx'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+      </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v2</model>
+      <blockers model='Snowridge-v2'>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='erms'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+      </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v3</model>
+      <blockers model='Snowridge-v3'>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='erms'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+        <feature name='xsaves'/>
+      </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v4</model>
+      <blockers model='Snowridge-v4'>
+        <feature name='cldemote'/>
+        <feature name='erms'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='spec-ctrl'/>
+        <feature name='xsaves'/>
+      </blockers>
       <model usable='yes' vendor='Intel'>Westmere</model>
       <model usable='no' vendor='Intel'>Westmere-IBRS</model>
       <blockers model='Westmere-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 f180ad3f9f..b0a266f649 100644
--- a/tests/domaincapsdata/qemu_9.1.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_9.1.0-tcg.x86_64.xml
@@ -711,7 +711,7 @@
         <feature name='tsc-deadline'/>
         <feature name='xsavec'/>
       </blockers>
-      <model usable='no' vendor='Intel'>Snowridge</model>
+      <model usable='no' vendor='Intel' canonical='Snowridge-v1'>Snowridge</model>
       <blockers model='Snowridge'>
         <feature name='arch-capabilities'/>
         <feature name='cldemote'/>
@@ -725,6 +725,62 @@
         <feature name='tsc-deadline'/>
         <feature name='xsavec'/>
       </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v1</model>
+      <blockers model='Snowridge-v1'>
+        <feature name='arch-capabilities'/>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+        <feature name='ssbd'/>
+        <feature name='tsc-deadline'/>
+        <feature name='xsavec'/>
+      </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v2</model>
+      <blockers model='Snowridge-v2'>
+        <feature name='arch-capabilities'/>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+        <feature name='ssbd'/>
+        <feature name='tsc-deadline'/>
+        <feature name='xsavec'/>
+      </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v3</model>
+      <blockers model='Snowridge-v3'>
+        <feature name='arch-capabilities'/>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+        <feature name='ssbd'/>
+        <feature name='tsc-deadline'/>
+        <feature name='xsavec'/>
+        <feature name='xsaves'/>
+      </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v4</model>
+      <blockers model='Snowridge-v4'>
+        <feature name='arch-capabilities'/>
+        <feature name='cldemote'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='spec-ctrl'/>
+        <feature name='ssbd'/>
+        <feature name='tsc-deadline'/>
+        <feature name='xsavec'/>
+        <feature name='xsaves'/>
+      </blockers>
       <model usable='yes' vendor='Intel'>Westmere</model>
       <model usable='no' vendor='Intel'>Westmere-IBRS</model>
       <blockers model='Westmere-IBRS'>
diff --git a/tests/domaincapsdata/qemu_9.1.0.x86_64.xml b/tests/domaincapsdata/qemu_9.1.0.x86_64.xml
index 81aeb37353..a948cd9173 100644
--- a/tests/domaincapsdata/qemu_9.1.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_9.1.0.x86_64.xml
@@ -711,7 +711,7 @@
         <feature name='pku'/>
         <feature name='spec-ctrl'/>
       </blockers>
-      <model usable='no' vendor='Intel'>Snowridge</model>
+      <model usable='no' vendor='Intel' canonical='Snowridge-v1'>Snowridge</model>
       <blockers model='Snowridge'>
         <feature name='cldemote'/>
         <feature name='core-capability'/>
@@ -723,6 +723,51 @@
         <feature name='spec-ctrl'/>
         <feature name='split-lock-detect'/>
       </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v1</model>
+      <blockers model='Snowridge-v1'>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='erms'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='mpx'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+      </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v2</model>
+      <blockers model='Snowridge-v2'>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='erms'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+      </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v3</model>
+      <blockers model='Snowridge-v3'>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='erms'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+        <feature name='xsaves'/>
+      </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v4</model>
+      <blockers model='Snowridge-v4'>
+        <feature name='cldemote'/>
+        <feature name='erms'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='spec-ctrl'/>
+        <feature name='xsaves'/>
+      </blockers>
       <model usable='yes' vendor='Intel'>Westmere</model>
       <model usable='no' vendor='Intel'>Westmere-IBRS</model>
       <blockers model='Westmere-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 7201a84435..a986a09589 100644
--- a/tests/domaincapsdata/qemu_9.2.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_9.2.0-q35.x86_64.xml
@@ -712,7 +712,7 @@
         <feature name='pku'/>
         <feature name='spec-ctrl'/>
       </blockers>
-      <model usable='no' vendor='Intel'>Snowridge</model>
+      <model usable='no' vendor='Intel' canonical='Snowridge-v1'>Snowridge</model>
       <blockers model='Snowridge'>
         <feature name='cldemote'/>
         <feature name='core-capability'/>
@@ -724,6 +724,51 @@
         <feature name='spec-ctrl'/>
         <feature name='split-lock-detect'/>
       </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v1</model>
+      <blockers model='Snowridge-v1'>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='erms'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='mpx'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+      </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v2</model>
+      <blockers model='Snowridge-v2'>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='erms'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+      </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v3</model>
+      <blockers model='Snowridge-v3'>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='erms'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+        <feature name='xsaves'/>
+      </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v4</model>
+      <blockers model='Snowridge-v4'>
+        <feature name='cldemote'/>
+        <feature name='erms'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='spec-ctrl'/>
+        <feature name='xsaves'/>
+      </blockers>
       <model usable='yes' vendor='Intel'>Westmere</model>
       <model usable='no' vendor='Intel'>Westmere-IBRS</model>
       <blockers model='Westmere-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 958f389aa6..1ad4b0a9f3 100644
--- a/tests/domaincapsdata/qemu_9.2.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_9.2.0-tcg.x86_64.xml
@@ -711,7 +711,7 @@
         <feature name='tsc-deadline'/>
         <feature name='xsavec'/>
       </blockers>
-      <model usable='no' vendor='Intel'>Snowridge</model>
+      <model usable='no' vendor='Intel' canonical='Snowridge-v1'>Snowridge</model>
       <blockers model='Snowridge'>
         <feature name='arch-capabilities'/>
         <feature name='cldemote'/>
@@ -725,6 +725,62 @@
         <feature name='tsc-deadline'/>
         <feature name='xsavec'/>
       </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v1</model>
+      <blockers model='Snowridge-v1'>
+        <feature name='arch-capabilities'/>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+        <feature name='ssbd'/>
+        <feature name='tsc-deadline'/>
+        <feature name='xsavec'/>
+      </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v2</model>
+      <blockers model='Snowridge-v2'>
+        <feature name='arch-capabilities'/>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+        <feature name='ssbd'/>
+        <feature name='tsc-deadline'/>
+        <feature name='xsavec'/>
+      </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v3</model>
+      <blockers model='Snowridge-v3'>
+        <feature name='arch-capabilities'/>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+        <feature name='ssbd'/>
+        <feature name='tsc-deadline'/>
+        <feature name='xsavec'/>
+        <feature name='xsaves'/>
+      </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v4</model>
+      <blockers model='Snowridge-v4'>
+        <feature name='arch-capabilities'/>
+        <feature name='cldemote'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='spec-ctrl'/>
+        <feature name='ssbd'/>
+        <feature name='tsc-deadline'/>
+        <feature name='xsavec'/>
+        <feature name='xsaves'/>
+      </blockers>
       <model usable='yes' vendor='Intel'>Westmere</model>
       <model usable='no' vendor='Intel'>Westmere-IBRS</model>
       <blockers model='Westmere-IBRS'>
diff --git a/tests/domaincapsdata/qemu_9.2.0.x86_64.xml b/tests/domaincapsdata/qemu_9.2.0.x86_64.xml
index ade2798f6a..8051bf82a3 100644
--- a/tests/domaincapsdata/qemu_9.2.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_9.2.0.x86_64.xml
@@ -711,7 +711,7 @@
         <feature name='pku'/>
         <feature name='spec-ctrl'/>
       </blockers>
-      <model usable='no' vendor='Intel'>Snowridge</model>
+      <model usable='no' vendor='Intel' canonical='Snowridge-v1'>Snowridge</model>
       <blockers model='Snowridge'>
         <feature name='cldemote'/>
         <feature name='core-capability'/>
@@ -723,6 +723,51 @@
         <feature name='spec-ctrl'/>
         <feature name='split-lock-detect'/>
       </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v1</model>
+      <blockers model='Snowridge-v1'>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='erms'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='mpx'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+      </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v2</model>
+      <blockers model='Snowridge-v2'>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='erms'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+      </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v3</model>
+      <blockers model='Snowridge-v3'>
+        <feature name='cldemote'/>
+        <feature name='core-capability'/>
+        <feature name='erms'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='spec-ctrl'/>
+        <feature name='split-lock-detect'/>
+        <feature name='xsaves'/>
+      </blockers>
+      <model usable='no' vendor='Intel'>Snowridge-v4</model>
+      <blockers model='Snowridge-v4'>
+        <feature name='cldemote'/>
+        <feature name='erms'/>
+        <feature name='gfni'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='spec-ctrl'/>
+        <feature name='xsaves'/>
+      </blockers>
       <model usable='yes' vendor='Intel'>Westmere</model>
       <model usable='no' vendor='Intel'>Westmere-IBRS</model>
       <blockers model='Westmere-IBRS'>
-- 
2.47.0