[PATCH 24/29] cpu_map: Add EPYC-Turin CPU model

Jiri Denemark via Devel posted 29 patches 2 weeks ago
[PATCH 24/29] cpu_map: Add EPYC-Turin CPU model
Posted by Jiri Denemark via Devel 2 weeks ago
From: Jiri Denemark <jdenemar@redhat.com>

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
---
 src/cpu_map/index.xml                         |   2 +
 src/cpu_map/meson.build                       |   2 +
 src/cpu_map/sync_qemu_models_i386.py          |   4 +
 src/cpu_map/x86_EPYC-Turin-v1.xml             |   6 +
 src/cpu_map/x86_EPYC-Turin.xml                | 135 ++++++++++++++++++
 ...6_64-cpuid-Ryzen-9-9950X-16-Core-guest.xml |  22 +--
 ...86_64-cpuid-Ryzen-9-9950X-16-Core-json.xml |  22 +--
 .../qemu_10.1.0-q35.x86_64+inteltdx.xml       |  50 +++++++
 .../domaincapsdata/qemu_10.1.0-q35.x86_64.xml |  78 ++++++++++
 .../qemu_10.1.0-tcg.x86_64+inteltdx.xml       | 112 +++++++++++++++
 .../domaincapsdata/qemu_10.1.0-tcg.x86_64.xml | 112 +++++++++++++++
 .../qemu_10.1.0.x86_64+inteltdx.xml           |  50 +++++++
 tests/domaincapsdata/qemu_10.1.0.x86_64.xml   |  78 ++++++++++
 .../domaincapsdata/qemu_10.2.0-q35.x86_64.xml |  32 ++---
 .../domaincapsdata/qemu_10.2.0-tcg.x86_64.xml | 112 +++++++++++++++
 tests/domaincapsdata/qemu_10.2.0.x86_64.xml   |  32 ++---
 ...host-model-fallback-kvm.x86_64-latest.args |   2 +-
 ...cpu-host-model-features.x86_64-latest.args |   2 +-
 .../cpu-host-model-kvm.x86_64-latest.args     |   2 +-
 ...st-model-nofallback-kvm.x86_64-latest.args |   2 +-
 20 files changed, 769 insertions(+), 88 deletions(-)
 create mode 100644 src/cpu_map/x86_EPYC-Turin-v1.xml
 create mode 100644 src/cpu_map/x86_EPYC-Turin.xml

diff --git a/src/cpu_map/index.xml b/src/cpu_map/index.xml
index e73e5d5ae8..a0985511f9 100644
--- a/src/cpu_map/index.xml
+++ b/src/cpu_map/index.xml
@@ -173,6 +173,8 @@
       <include filename='x86_EPYC-Genoa.xml'/>
       <include filename='x86_EPYC-Genoa-v1.xml'/>
       <include filename='x86_EPYC-Genoa-v2.xml'/>
+      <include filename='x86_EPYC-Turin.xml'/>
+      <include filename='x86_EPYC-Turin-v1.xml'/>
     </group>
 
     <group name='Hygon CPU models'>
diff --git a/src/cpu_map/meson.build b/src/cpu_map/meson.build
index 34b7bfac36..a623b51e09 100644
--- a/src/cpu_map/meson.build
+++ b/src/cpu_map/meson.build
@@ -78,6 +78,8 @@ cpumap_data = [
   'x86_EPYC-Rome-v4.xml',
   'x86_EPYC-Rome-v5.xml',
   'x86_EPYC-Rome.xml',
+  'x86_EPYC-Turin-v1.xml',
+  'x86_EPYC-Turin.xml',
   'x86_EPYC-v1.xml',
   'x86_EPYC-v2.xml',
   'x86_EPYC-v3.xml',
diff --git a/src/cpu_map/sync_qemu_models_i386.py b/src/cpu_map/sync_qemu_models_i386.py
index 6d577e7316..5b3656e4d7 100755
--- a/src/cpu_map/sync_qemu_models_i386.py
+++ b/src/cpu_map/sync_qemu_models_i386.py
@@ -81,6 +81,7 @@ def translate_feature(name, model):
         "CPUID_7_0_EDX_SPEC_CTRL_SSBD": "ssbd",
         "CPUID_7_0_EDX_STIBP": "stibp",
         "CPUID_7_0_EDX_TSX_LDTRK": "tsx-ldtrk",
+        "CPUID_7_0_EDX_AVX512_VP2INTERSECT": "avx512-vp2intersect",
         "CPUID_7_1_EAX_AMX_FP16": "amx-fp16",
         "CPUID_7_1_EAX_AVX512_BF16": "avx512-bf16",
         "CPUID_7_1_EAX_AVX_IFMA": "avx-ifma",
@@ -130,6 +131,9 @@ def translate_feature(name, model):
         "CPUID_8000_0021_EAX_VERW_CLEAR": "verw-clear",
         "CPUID_8000_0021_ECX_TSA_SQ_NO": "tsa-sq-no",
         "CPUID_8000_0021_ECX_TSA_L1_NO": "tsa-l1-no",
+        "CPUID_8000_0021_EAX_SBPB": "sbpb",
+        "CPUID_8000_0021_EAX_IBPB_BRTYPE": "ibpb-brtype",
+        "CPUID_8000_0021_EAX_SRSO_USER_KERNEL_NO": "srso-user-kernel-no",
         "CPUID_8000_0022_EAX_PERFMON_V2": "perfmon-v2",
         "CPUID_ACPI": "acpi",
         "CPUID_APIC": "apic",
diff --git a/src/cpu_map/x86_EPYC-Turin-v1.xml b/src/cpu_map/x86_EPYC-Turin-v1.xml
new file mode 100644
index 0000000000..0f7402f022
--- /dev/null
+++ b/src/cpu_map/x86_EPYC-Turin-v1.xml
@@ -0,0 +1,6 @@
+<cpus>
+  <model name='EPYC-Turin-v1'>
+    <decode host='on' guest='off'/>
+    <model name='EPYC-Turin'/>
+  </model>
+</cpus>
diff --git a/src/cpu_map/x86_EPYC-Turin.xml b/src/cpu_map/x86_EPYC-Turin.xml
new file mode 100644
index 0000000000..c7524da247
--- /dev/null
+++ b/src/cpu_map/x86_EPYC-Turin.xml
@@ -0,0 +1,135 @@
+<cpus>
+  <model name='EPYC-Turin'>
+    <decode host='on' guest='on'/>
+    <signature family='26' model='0'/>
+    <vendor name='AMD'/>
+    <feature name='3dnowprefetch'/>
+    <feature name='abm'/>
+    <feature name='adx'/>
+    <feature name='aes'/>
+    <feature name='amd-psfd'/>
+    <feature name='amd-ssbd'/>
+    <feature name='amd-stibp'/>
+    <feature name='apic'/>
+    <feature name='arat'/>
+    <feature name='auto-ibrs'/>
+    <feature name='avx'/>
+    <feature name='avx-vnni'/>
+    <feature name='avx2'/>
+    <feature name='avx512-bf16'/>
+    <feature name='avx512-vp2intersect'/>
+    <feature name='avx512-vpopcntdq'/>
+    <feature name='avx512bitalg'/>
+    <feature name='avx512bw'/>
+    <feature name='avx512cd'/>
+    <feature name='avx512dq'/>
+    <feature name='avx512f'/>
+    <feature name='avx512ifma'/>
+    <feature name='avx512vbmi'/>
+    <feature name='avx512vbmi2'/>
+    <feature name='avx512vl'/>
+    <feature name='avx512vnni'/>
+    <feature name='bmi1'/>
+    <feature name='bmi2'/>
+    <feature name='clflush'/>
+    <feature name='clflushopt'/>
+    <feature name='clwb'/>
+    <feature name='clzero'/>
+    <feature name='cmov'/>
+    <feature name='cr8legacy'/>
+    <feature name='cx16'/>
+    <feature name='cx8'/>
+    <feature name='de'/>
+    <feature name='erms'/>
+    <feature name='f16c'/>
+    <feature name='flushbyasid'/>
+    <feature name='fma'/>
+    <feature name='fpu'/>
+    <feature name='fs-gs-base-ns'/>
+    <feature name='fsgsbase'/>
+    <feature name='fsrm'/>
+    <feature name='fxsr'/>
+    <feature name='fxsr_opt'/>
+    <feature name='gfni'/>
+    <feature name='ibpb'/>
+    <feature name='ibpb-brtype'/>
+    <feature name='ibrs'/>
+    <feature name='invpcid'/>
+    <feature name='la57'/>
+    <feature name='lahf_lm'/>
+    <feature name='lbrv'/>
+    <feature name='lfence-always-serializing'/>
+    <feature name='lm'/>
+    <feature name='mca'/>
+    <feature name='mce'/>
+    <feature name='misalignsse'/>
+    <feature name='mmx'/>
+    <feature name='mmxext'/>
+    <feature name='movbe'/>
+    <feature name='movdir64b'/>
+    <feature name='movdiri'/>
+    <feature name='msr'/>
+    <feature name='mtrr'/>
+    <feature name='no-nested-data-bp'/>
+    <feature name='npt'/>
+    <feature name='nrip-save'/>
+    <feature name='null-sel-clr-base'/>
+    <feature name='nx'/>
+    <feature name='osvw'/>
+    <feature name='overflow-recov'/>
+    <feature name='pae'/>
+    <feature name='pat'/>
+    <feature name='pause-filter'/>
+    <feature name='pcid'/>
+    <feature name='pclmuldq'/>
+    <feature name='pdpe1gb'/>
+    <feature name='perfctr_core'/>
+    <feature name='perfmon-v2'/>
+    <feature name='pfthreshold'/>
+    <feature name='pge'/>
+    <feature name='pku'/>
+    <feature name='pni'/>
+    <feature name='popcnt'/>
+    <feature name='prefetchi'/>
+    <feature name='pse'/>
+    <feature name='pse36'/>
+    <feature name='rdpid'/>
+    <feature name='rdrand'/>
+    <feature name='rdseed'/>
+    <feature name='rdtscp'/>
+    <feature name='sbpb'/>
+    <feature name='sep'/>
+    <feature name='sha-ni'/>
+    <feature name='smap'/>
+    <feature name='smep'/>
+    <feature name='srso-user-kernel-no'/>
+    <feature name='sse'/>
+    <feature name='sse2'/>
+    <feature name='sse4.1'/>
+    <feature name='sse4.2'/>
+    <feature name='sse4a'/>
+    <feature name='ssse3'/>
+    <feature name='stibp-always-on'/>
+    <feature name='succor'/>
+    <feature name='svm'/>
+    <feature name='svme-addr-chk'/>
+    <feature name='syscall'/>
+    <feature name='tsc'/>
+    <feature name='tsc-scale'/>
+    <feature name='umip'/>
+    <feature name='v-vmsave-vmload'/>
+    <feature name='vaes'/>
+    <feature name='vgif'/>
+    <feature name='vmcb-clean'/>
+    <feature name='vme'/>
+    <feature name='vnmi'/>
+    <feature name='vpclmulqdq'/>
+    <feature name='wbnoinvd'/>
+    <feature name='xgetbv1'/>
+    <feature name='xsave'/>
+    <feature name='xsavec'/>
+    <feature name='xsaveerptr'/>
+    <feature name='xsaveopt'/>
+    <feature name='xsaves'/>
+  </model>
+</cpus>
diff --git a/tests/cputestdata/x86_64-cpuid-Ryzen-9-9950X-16-Core-guest.xml b/tests/cputestdata/x86_64-cpuid-Ryzen-9-9950X-16-Core-guest.xml
index 19f2abdbc9..c685a4d34b 100644
--- a/tests/cputestdata/x86_64-cpuid-Ryzen-9-9950X-16-Core-guest.xml
+++ b/tests/cputestdata/x86_64-cpuid-Ryzen-9-9950X-16-Core-guest.xml
@@ -1,5 +1,5 @@
 <cpu mode='custom' match='exact'>
-  <model fallback='forbid'>EPYC-Genoa</model>
+  <model fallback='forbid'>EPYC-Turin</model>
   <vendor>AMD</vendor>
   <feature policy='require' name='monitor'/>
   <feature policy='require' name='osxsave'/>
@@ -8,11 +8,7 @@
   <feature policy='require' name='cmt'/>
   <feature policy='require' name='ospke'/>
   <feature policy='require' name='bus-lock-detect'/>
-  <feature policy='require' name='movdiri'/>
-  <feature policy='require' name='movdir64b'/>
-  <feature policy='require' name='avx512-vp2intersect'/>
   <feature policy='require' name='flush-l1d'/>
-  <feature policy='require' name='avx-vnni'/>
   <feature policy='require' name='mbm_total'/>
   <feature policy='require' name='mbm_local'/>
   <feature policy='require' name='cmp_legacy'/>
@@ -23,27 +19,11 @@
   <feature policy='require' name='tce'/>
   <feature policy='require' name='topoext'/>
   <feature policy='require' name='perfctr_nb'/>
-  <feature policy='require' name='overflow-recov'/>
-  <feature policy='require' name='succor'/>
   <feature policy='require' name='invtsc'/>
-  <feature policy='require' name='lbrv'/>
   <feature policy='require' name='svm-lock'/>
-  <feature policy='require' name='tsc-scale'/>
-  <feature policy='require' name='vmcb-clean'/>
-  <feature policy='require' name='flushbyasid'/>
   <feature policy='require' name='decodeassists'/>
-  <feature policy='require' name='pause-filter'/>
-  <feature policy='require' name='pfthreshold'/>
   <feature policy='require' name='avic'/>
-  <feature policy='require' name='v-vmsave-vmload'/>
-  <feature policy='require' name='vgif'/>
-  <feature policy='require' name='fs-gs-base-ns'/>
-  <feature policy='require' name='prefetchi'/>
   <feature policy='require' name='eraps'/>
-  <feature policy='require' name='sbpb'/>
-  <feature policy='require' name='ibpb-brtype'/>
-  <feature policy='require' name='srso-user-kernel-no'/>
-  <feature policy='require' name='perfmon-v2'/>
   <feature policy='require' name='rdctl-no'/>
   <feature policy='require' name='skip-l1dfl-vmentry'/>
   <feature policy='require' name='mds-no'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Ryzen-9-9950X-16-Core-json.xml b/tests/cputestdata/x86_64-cpuid-Ryzen-9-9950X-16-Core-json.xml
index a37180d4b2..1718323541 100644
--- a/tests/cputestdata/x86_64-cpuid-Ryzen-9-9950X-16-Core-json.xml
+++ b/tests/cputestdata/x86_64-cpuid-Ryzen-9-9950X-16-Core-json.xml
@@ -1,36 +1,16 @@
 <cpu mode='custom' match='exact'>
-  <model fallback='forbid'>EPYC-Genoa</model>
+  <model fallback='forbid'>EPYC-Turin</model>
   <vendor>AMD</vendor>
   <feature policy='require' name='x2apic'/>
   <feature policy='require' name='tsc-deadline'/>
   <feature policy='require' name='hypervisor'/>
   <feature policy='require' name='tsc_adjust'/>
-  <feature policy='require' name='movdiri'/>
-  <feature policy='require' name='movdir64b'/>
-  <feature policy='require' name='avx512-vp2intersect'/>
   <feature policy='require' name='spec-ctrl'/>
   <feature policy='require' name='stibp'/>
   <feature policy='require' name='flush-l1d'/>
   <feature policy='require' name='ssbd'/>
-  <feature policy='require' name='avx-vnni'/>
   <feature policy='require' name='cmp_legacy'/>
-  <feature policy='require' name='overflow-recov'/>
-  <feature policy='require' name='succor'/>
   <feature policy='require' name='virt-ssbd'/>
-  <feature policy='require' name='lbrv'/>
-  <feature policy='require' name='tsc-scale'/>
-  <feature policy='require' name='vmcb-clean'/>
-  <feature policy='require' name='flushbyasid'/>
-  <feature policy='require' name='pause-filter'/>
-  <feature policy='require' name='pfthreshold'/>
-  <feature policy='require' name='v-vmsave-vmload'/>
-  <feature policy='require' name='vgif'/>
-  <feature policy='require' name='fs-gs-base-ns'/>
-  <feature policy='require' name='prefetchi'/>
-  <feature policy='require' name='sbpb'/>
-  <feature policy='require' name='ibpb-brtype'/>
-  <feature policy='require' name='srso-user-kernel-no'/>
-  <feature policy='require' name='perfmon-v2'/>
   <feature policy='disable' name='pcid'/>
   <feature policy='disable' name='la57'/>
 </cpu>
diff --git a/tests/domaincapsdata/qemu_10.1.0-q35.x86_64+inteltdx.xml b/tests/domaincapsdata/qemu_10.1.0-q35.x86_64+inteltdx.xml
index ffee527ff4..ae7c20c4cb 100644
--- a/tests/domaincapsdata/qemu_10.1.0-q35.x86_64+inteltdx.xml
+++ b/tests/domaincapsdata/qemu_10.1.0-q35.x86_64+inteltdx.xml
@@ -387,6 +387,56 @@
         <feature name='sse4a'/>
         <feature name='xsaveerptr'/>
       </blockers>
+      <model usable='no' vendor='AMD' canonical='EPYC-Turin-v1'>EPYC-Turin</model>
+      <blockers model='EPYC-Turin'>
+        <feature name='amd-psfd'/>
+        <feature name='auto-ibrs'/>
+        <feature name='avx512-vp2intersect'/>
+        <feature name='clzero'/>
+        <feature name='cr8legacy'/>
+        <feature name='fs-gs-base-ns'/>
+        <feature name='fxsr_opt'/>
+        <feature name='ibpb-brtype'/>
+        <feature name='lfence-always-serializing'/>
+        <feature name='misalignsse'/>
+        <feature name='mmxext'/>
+        <feature name='no-nested-data-bp'/>
+        <feature name='null-sel-clr-base'/>
+        <feature name='osvw'/>
+        <feature name='perfctr_core'/>
+        <feature name='perfmon-v2'/>
+        <feature name='prefetchi'/>
+        <feature name='sbpb'/>
+        <feature name='srso-user-kernel-no'/>
+        <feature name='sse4a'/>
+        <feature name='stibp-always-on'/>
+        <feature name='xsaveerptr'/>
+      </blockers>
+      <model usable='no' vendor='AMD'>EPYC-Turin-v1</model>
+      <blockers model='EPYC-Turin-v1'>
+        <feature name='amd-psfd'/>
+        <feature name='auto-ibrs'/>
+        <feature name='avx512-vp2intersect'/>
+        <feature name='clzero'/>
+        <feature name='cr8legacy'/>
+        <feature name='fs-gs-base-ns'/>
+        <feature name='fxsr_opt'/>
+        <feature name='ibpb-brtype'/>
+        <feature name='lfence-always-serializing'/>
+        <feature name='misalignsse'/>
+        <feature name='mmxext'/>
+        <feature name='no-nested-data-bp'/>
+        <feature name='null-sel-clr-base'/>
+        <feature name='osvw'/>
+        <feature name='perfctr_core'/>
+        <feature name='perfmon-v2'/>
+        <feature name='prefetchi'/>
+        <feature name='sbpb'/>
+        <feature name='srso-user-kernel-no'/>
+        <feature name='sse4a'/>
+        <feature name='stibp-always-on'/>
+        <feature name='xsaveerptr'/>
+      </blockers>
       <model usable='no' vendor='AMD'>EPYC-v1</model>
       <blockers model='EPYC-v1'>
         <feature name='cr8legacy'/>
diff --git a/tests/domaincapsdata/qemu_10.1.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_10.1.0-q35.x86_64.xml
index b5d745c4ec..503429daa5 100644
--- a/tests/domaincapsdata/qemu_10.1.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_10.1.0-q35.x86_64.xml
@@ -602,6 +602,84 @@
       <blockers model='EPYC-Rome-v5'>
         <feature name='ibrs'/>
       </blockers>
+      <model usable='no' vendor='AMD' canonical='EPYC-Turin-v1'>EPYC-Turin</model>
+      <blockers model='EPYC-Turin'>
+        <feature name='amd-psfd'/>
+        <feature name='auto-ibrs'/>
+        <feature name='avx-vnni'/>
+        <feature name='avx512-bf16'/>
+        <feature name='avx512-vp2intersect'/>
+        <feature name='avx512-vpopcntdq'/>
+        <feature name='avx512bitalg'/>
+        <feature name='avx512bw'/>
+        <feature name='avx512cd'/>
+        <feature name='avx512dq'/>
+        <feature name='avx512f'/>
+        <feature name='avx512ifma'/>
+        <feature name='avx512vbmi'/>
+        <feature name='avx512vbmi2'/>
+        <feature name='avx512vl'/>
+        <feature name='avx512vnni'/>
+        <feature name='erms'/>
+        <feature name='fs-gs-base-ns'/>
+        <feature name='fsrm'/>
+        <feature name='gfni'/>
+        <feature name='ibrs'/>
+        <feature name='invpcid'/>
+        <feature name='la57'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='no-nested-data-bp'/>
+        <feature name='pcid'/>
+        <feature name='perfmon-v2'/>
+        <feature name='pku'/>
+        <feature name='prefetchi'/>
+        <feature name='sbpb'/>
+        <feature name='srso-user-kernel-no'/>
+        <feature name='stibp-always-on'/>
+        <feature name='vaes'/>
+        <feature name='vpclmulqdq'/>
+        <feature name='xsaves'/>
+      </blockers>
+      <model usable='no' vendor='AMD'>EPYC-Turin-v1</model>
+      <blockers model='EPYC-Turin-v1'>
+        <feature name='amd-psfd'/>
+        <feature name='auto-ibrs'/>
+        <feature name='avx-vnni'/>
+        <feature name='avx512-bf16'/>
+        <feature name='avx512-vp2intersect'/>
+        <feature name='avx512-vpopcntdq'/>
+        <feature name='avx512bitalg'/>
+        <feature name='avx512bw'/>
+        <feature name='avx512cd'/>
+        <feature name='avx512dq'/>
+        <feature name='avx512f'/>
+        <feature name='avx512ifma'/>
+        <feature name='avx512vbmi'/>
+        <feature name='avx512vbmi2'/>
+        <feature name='avx512vl'/>
+        <feature name='avx512vnni'/>
+        <feature name='erms'/>
+        <feature name='fs-gs-base-ns'/>
+        <feature name='fsrm'/>
+        <feature name='gfni'/>
+        <feature name='ibrs'/>
+        <feature name='invpcid'/>
+        <feature name='la57'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='no-nested-data-bp'/>
+        <feature name='pcid'/>
+        <feature name='perfmon-v2'/>
+        <feature name='pku'/>
+        <feature name='prefetchi'/>
+        <feature name='sbpb'/>
+        <feature name='srso-user-kernel-no'/>
+        <feature name='stibp-always-on'/>
+        <feature name='vaes'/>
+        <feature name='vpclmulqdq'/>
+        <feature name='xsaves'/>
+      </blockers>
       <model usable='yes' vendor='AMD'>EPYC-v1</model>
       <model usable='yes' vendor='AMD'>EPYC-v2</model>
       <model usable='no' vendor='AMD'>EPYC-v3</model>
diff --git a/tests/domaincapsdata/qemu_10.1.0-tcg.x86_64+inteltdx.xml b/tests/domaincapsdata/qemu_10.1.0-tcg.x86_64+inteltdx.xml
index 2d40cf5228..fd1740133c 100644
--- a/tests/domaincapsdata/qemu_10.1.0-tcg.x86_64+inteltdx.xml
+++ b/tests/domaincapsdata/qemu_10.1.0-tcg.x86_64+inteltdx.xml
@@ -780,6 +780,118 @@
         <feature name='vmcb-clean'/>
         <feature name='xsavec'/>
       </blockers>
+      <model usable='no' vendor='AMD' canonical='EPYC-Turin-v1'>EPYC-Turin</model>
+      <blockers model='EPYC-Turin'>
+        <feature name='amd-psfd'/>
+        <feature name='amd-ssbd'/>
+        <feature name='amd-stibp'/>
+        <feature name='auto-ibrs'/>
+        <feature name='avx-vnni'/>
+        <feature name='avx512-bf16'/>
+        <feature name='avx512-vp2intersect'/>
+        <feature name='avx512-vpopcntdq'/>
+        <feature name='avx512bitalg'/>
+        <feature name='avx512bw'/>
+        <feature name='avx512cd'/>
+        <feature name='avx512dq'/>
+        <feature name='avx512f'/>
+        <feature name='avx512ifma'/>
+        <feature name='avx512vbmi'/>
+        <feature name='avx512vbmi2'/>
+        <feature name='avx512vl'/>
+        <feature name='avx512vnni'/>
+        <feature name='clzero'/>
+        <feature name='flushbyasid'/>
+        <feature name='fs-gs-base-ns'/>
+        <feature name='fxsr_opt'/>
+        <feature name='gfni'/>
+        <feature name='ibpb'/>
+        <feature name='ibpb-brtype'/>
+        <feature name='ibrs'/>
+        <feature name='invpcid'/>
+        <feature name='lbrv'/>
+        <feature name='lfence-always-serializing'/>
+        <feature name='misalignsse'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='nrip-save'/>
+        <feature name='osvw'/>
+        <feature name='overflow-recov'/>
+        <feature name='pause-filter'/>
+        <feature name='pcid'/>
+        <feature name='perfctr_core'/>
+        <feature name='perfmon-v2'/>
+        <feature name='pfthreshold'/>
+        <feature name='prefetchi'/>
+        <feature name='sbpb'/>
+        <feature name='srso-user-kernel-no'/>
+        <feature name='stibp-always-on'/>
+        <feature name='succor'/>
+        <feature name='topoext'/>
+        <feature name='tsc-scale'/>
+        <feature name='v-vmsave-vmload'/>
+        <feature name='vmcb-clean'/>
+        <feature name='vnmi'/>
+        <feature name='vpclmulqdq'/>
+        <feature name='xsavec'/>
+        <feature name='xsaves'/>
+      </blockers>
+      <model usable='no' vendor='AMD'>EPYC-Turin-v1</model>
+      <blockers model='EPYC-Turin-v1'>
+        <feature name='amd-psfd'/>
+        <feature name='amd-ssbd'/>
+        <feature name='amd-stibp'/>
+        <feature name='auto-ibrs'/>
+        <feature name='avx-vnni'/>
+        <feature name='avx512-bf16'/>
+        <feature name='avx512-vp2intersect'/>
+        <feature name='avx512-vpopcntdq'/>
+        <feature name='avx512bitalg'/>
+        <feature name='avx512bw'/>
+        <feature name='avx512cd'/>
+        <feature name='avx512dq'/>
+        <feature name='avx512f'/>
+        <feature name='avx512ifma'/>
+        <feature name='avx512vbmi'/>
+        <feature name='avx512vbmi2'/>
+        <feature name='avx512vl'/>
+        <feature name='avx512vnni'/>
+        <feature name='clzero'/>
+        <feature name='flushbyasid'/>
+        <feature name='fs-gs-base-ns'/>
+        <feature name='fxsr_opt'/>
+        <feature name='gfni'/>
+        <feature name='ibpb'/>
+        <feature name='ibpb-brtype'/>
+        <feature name='ibrs'/>
+        <feature name='invpcid'/>
+        <feature name='lbrv'/>
+        <feature name='lfence-always-serializing'/>
+        <feature name='misalignsse'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='nrip-save'/>
+        <feature name='osvw'/>
+        <feature name='overflow-recov'/>
+        <feature name='pause-filter'/>
+        <feature name='pcid'/>
+        <feature name='perfctr_core'/>
+        <feature name='perfmon-v2'/>
+        <feature name='pfthreshold'/>
+        <feature name='prefetchi'/>
+        <feature name='sbpb'/>
+        <feature name='srso-user-kernel-no'/>
+        <feature name='stibp-always-on'/>
+        <feature name='succor'/>
+        <feature name='topoext'/>
+        <feature name='tsc-scale'/>
+        <feature name='v-vmsave-vmload'/>
+        <feature name='vmcb-clean'/>
+        <feature name='vnmi'/>
+        <feature name='vpclmulqdq'/>
+        <feature name='xsavec'/>
+        <feature name='xsaves'/>
+      </blockers>
       <model usable='no' vendor='AMD'>EPYC-v1</model>
       <blockers model='EPYC-v1'>
         <feature name='fxsr_opt'/>
diff --git a/tests/domaincapsdata/qemu_10.1.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_10.1.0-tcg.x86_64.xml
index 6bb394c533..289ecc903d 100644
--- a/tests/domaincapsdata/qemu_10.1.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_10.1.0-tcg.x86_64.xml
@@ -780,6 +780,118 @@
         <feature name='vmcb-clean'/>
         <feature name='xsavec'/>
       </blockers>
+      <model usable='no' vendor='AMD' canonical='EPYC-Turin-v1'>EPYC-Turin</model>
+      <blockers model='EPYC-Turin'>
+        <feature name='amd-psfd'/>
+        <feature name='amd-ssbd'/>
+        <feature name='amd-stibp'/>
+        <feature name='auto-ibrs'/>
+        <feature name='avx-vnni'/>
+        <feature name='avx512-bf16'/>
+        <feature name='avx512-vp2intersect'/>
+        <feature name='avx512-vpopcntdq'/>
+        <feature name='avx512bitalg'/>
+        <feature name='avx512bw'/>
+        <feature name='avx512cd'/>
+        <feature name='avx512dq'/>
+        <feature name='avx512f'/>
+        <feature name='avx512ifma'/>
+        <feature name='avx512vbmi'/>
+        <feature name='avx512vbmi2'/>
+        <feature name='avx512vl'/>
+        <feature name='avx512vnni'/>
+        <feature name='clzero'/>
+        <feature name='flushbyasid'/>
+        <feature name='fs-gs-base-ns'/>
+        <feature name='fxsr_opt'/>
+        <feature name='gfni'/>
+        <feature name='ibpb'/>
+        <feature name='ibpb-brtype'/>
+        <feature name='ibrs'/>
+        <feature name='invpcid'/>
+        <feature name='lbrv'/>
+        <feature name='lfence-always-serializing'/>
+        <feature name='misalignsse'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='nrip-save'/>
+        <feature name='osvw'/>
+        <feature name='overflow-recov'/>
+        <feature name='pause-filter'/>
+        <feature name='pcid'/>
+        <feature name='perfctr_core'/>
+        <feature name='perfmon-v2'/>
+        <feature name='pfthreshold'/>
+        <feature name='prefetchi'/>
+        <feature name='sbpb'/>
+        <feature name='srso-user-kernel-no'/>
+        <feature name='stibp-always-on'/>
+        <feature name='succor'/>
+        <feature name='topoext'/>
+        <feature name='tsc-scale'/>
+        <feature name='v-vmsave-vmload'/>
+        <feature name='vmcb-clean'/>
+        <feature name='vnmi'/>
+        <feature name='vpclmulqdq'/>
+        <feature name='xsavec'/>
+        <feature name='xsaves'/>
+      </blockers>
+      <model usable='no' vendor='AMD'>EPYC-Turin-v1</model>
+      <blockers model='EPYC-Turin-v1'>
+        <feature name='amd-psfd'/>
+        <feature name='amd-ssbd'/>
+        <feature name='amd-stibp'/>
+        <feature name='auto-ibrs'/>
+        <feature name='avx-vnni'/>
+        <feature name='avx512-bf16'/>
+        <feature name='avx512-vp2intersect'/>
+        <feature name='avx512-vpopcntdq'/>
+        <feature name='avx512bitalg'/>
+        <feature name='avx512bw'/>
+        <feature name='avx512cd'/>
+        <feature name='avx512dq'/>
+        <feature name='avx512f'/>
+        <feature name='avx512ifma'/>
+        <feature name='avx512vbmi'/>
+        <feature name='avx512vbmi2'/>
+        <feature name='avx512vl'/>
+        <feature name='avx512vnni'/>
+        <feature name='clzero'/>
+        <feature name='flushbyasid'/>
+        <feature name='fs-gs-base-ns'/>
+        <feature name='fxsr_opt'/>
+        <feature name='gfni'/>
+        <feature name='ibpb'/>
+        <feature name='ibpb-brtype'/>
+        <feature name='ibrs'/>
+        <feature name='invpcid'/>
+        <feature name='lbrv'/>
+        <feature name='lfence-always-serializing'/>
+        <feature name='misalignsse'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='nrip-save'/>
+        <feature name='osvw'/>
+        <feature name='overflow-recov'/>
+        <feature name='pause-filter'/>
+        <feature name='pcid'/>
+        <feature name='perfctr_core'/>
+        <feature name='perfmon-v2'/>
+        <feature name='pfthreshold'/>
+        <feature name='prefetchi'/>
+        <feature name='sbpb'/>
+        <feature name='srso-user-kernel-no'/>
+        <feature name='stibp-always-on'/>
+        <feature name='succor'/>
+        <feature name='topoext'/>
+        <feature name='tsc-scale'/>
+        <feature name='v-vmsave-vmload'/>
+        <feature name='vmcb-clean'/>
+        <feature name='vnmi'/>
+        <feature name='vpclmulqdq'/>
+        <feature name='xsavec'/>
+        <feature name='xsaves'/>
+      </blockers>
       <model usable='no' vendor='AMD'>EPYC-v1</model>
       <blockers model='EPYC-v1'>
         <feature name='fxsr_opt'/>
diff --git a/tests/domaincapsdata/qemu_10.1.0.x86_64+inteltdx.xml b/tests/domaincapsdata/qemu_10.1.0.x86_64+inteltdx.xml
index 7e1ec7e590..cdf4390c6c 100644
--- a/tests/domaincapsdata/qemu_10.1.0.x86_64+inteltdx.xml
+++ b/tests/domaincapsdata/qemu_10.1.0.x86_64+inteltdx.xml
@@ -386,6 +386,56 @@
         <feature name='sse4a'/>
         <feature name='xsaveerptr'/>
       </blockers>
+      <model usable='no' vendor='AMD' canonical='EPYC-Turin-v1'>EPYC-Turin</model>
+      <blockers model='EPYC-Turin'>
+        <feature name='amd-psfd'/>
+        <feature name='auto-ibrs'/>
+        <feature name='avx512-vp2intersect'/>
+        <feature name='clzero'/>
+        <feature name='cr8legacy'/>
+        <feature name='fs-gs-base-ns'/>
+        <feature name='fxsr_opt'/>
+        <feature name='ibpb-brtype'/>
+        <feature name='lfence-always-serializing'/>
+        <feature name='misalignsse'/>
+        <feature name='mmxext'/>
+        <feature name='no-nested-data-bp'/>
+        <feature name='null-sel-clr-base'/>
+        <feature name='osvw'/>
+        <feature name='perfctr_core'/>
+        <feature name='perfmon-v2'/>
+        <feature name='prefetchi'/>
+        <feature name='sbpb'/>
+        <feature name='srso-user-kernel-no'/>
+        <feature name='sse4a'/>
+        <feature name='stibp-always-on'/>
+        <feature name='xsaveerptr'/>
+      </blockers>
+      <model usable='no' vendor='AMD'>EPYC-Turin-v1</model>
+      <blockers model='EPYC-Turin-v1'>
+        <feature name='amd-psfd'/>
+        <feature name='auto-ibrs'/>
+        <feature name='avx512-vp2intersect'/>
+        <feature name='clzero'/>
+        <feature name='cr8legacy'/>
+        <feature name='fs-gs-base-ns'/>
+        <feature name='fxsr_opt'/>
+        <feature name='ibpb-brtype'/>
+        <feature name='lfence-always-serializing'/>
+        <feature name='misalignsse'/>
+        <feature name='mmxext'/>
+        <feature name='no-nested-data-bp'/>
+        <feature name='null-sel-clr-base'/>
+        <feature name='osvw'/>
+        <feature name='perfctr_core'/>
+        <feature name='perfmon-v2'/>
+        <feature name='prefetchi'/>
+        <feature name='sbpb'/>
+        <feature name='srso-user-kernel-no'/>
+        <feature name='sse4a'/>
+        <feature name='stibp-always-on'/>
+        <feature name='xsaveerptr'/>
+      </blockers>
       <model usable='no' vendor='AMD'>EPYC-v1</model>
       <blockers model='EPYC-v1'>
         <feature name='cr8legacy'/>
diff --git a/tests/domaincapsdata/qemu_10.1.0.x86_64.xml b/tests/domaincapsdata/qemu_10.1.0.x86_64.xml
index af75d3fd36..645f4c83ab 100644
--- a/tests/domaincapsdata/qemu_10.1.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_10.1.0.x86_64.xml
@@ -601,6 +601,84 @@
       <blockers model='EPYC-Rome-v5'>
         <feature name='ibrs'/>
       </blockers>
+      <model usable='no' vendor='AMD' canonical='EPYC-Turin-v1'>EPYC-Turin</model>
+      <blockers model='EPYC-Turin'>
+        <feature name='amd-psfd'/>
+        <feature name='auto-ibrs'/>
+        <feature name='avx-vnni'/>
+        <feature name='avx512-bf16'/>
+        <feature name='avx512-vp2intersect'/>
+        <feature name='avx512-vpopcntdq'/>
+        <feature name='avx512bitalg'/>
+        <feature name='avx512bw'/>
+        <feature name='avx512cd'/>
+        <feature name='avx512dq'/>
+        <feature name='avx512f'/>
+        <feature name='avx512ifma'/>
+        <feature name='avx512vbmi'/>
+        <feature name='avx512vbmi2'/>
+        <feature name='avx512vl'/>
+        <feature name='avx512vnni'/>
+        <feature name='erms'/>
+        <feature name='fs-gs-base-ns'/>
+        <feature name='fsrm'/>
+        <feature name='gfni'/>
+        <feature name='ibrs'/>
+        <feature name='invpcid'/>
+        <feature name='la57'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='no-nested-data-bp'/>
+        <feature name='pcid'/>
+        <feature name='perfmon-v2'/>
+        <feature name='pku'/>
+        <feature name='prefetchi'/>
+        <feature name='sbpb'/>
+        <feature name='srso-user-kernel-no'/>
+        <feature name='stibp-always-on'/>
+        <feature name='vaes'/>
+        <feature name='vpclmulqdq'/>
+        <feature name='xsaves'/>
+      </blockers>
+      <model usable='no' vendor='AMD'>EPYC-Turin-v1</model>
+      <blockers model='EPYC-Turin-v1'>
+        <feature name='amd-psfd'/>
+        <feature name='auto-ibrs'/>
+        <feature name='avx-vnni'/>
+        <feature name='avx512-bf16'/>
+        <feature name='avx512-vp2intersect'/>
+        <feature name='avx512-vpopcntdq'/>
+        <feature name='avx512bitalg'/>
+        <feature name='avx512bw'/>
+        <feature name='avx512cd'/>
+        <feature name='avx512dq'/>
+        <feature name='avx512f'/>
+        <feature name='avx512ifma'/>
+        <feature name='avx512vbmi'/>
+        <feature name='avx512vbmi2'/>
+        <feature name='avx512vl'/>
+        <feature name='avx512vnni'/>
+        <feature name='erms'/>
+        <feature name='fs-gs-base-ns'/>
+        <feature name='fsrm'/>
+        <feature name='gfni'/>
+        <feature name='ibrs'/>
+        <feature name='invpcid'/>
+        <feature name='la57'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='no-nested-data-bp'/>
+        <feature name='pcid'/>
+        <feature name='perfmon-v2'/>
+        <feature name='pku'/>
+        <feature name='prefetchi'/>
+        <feature name='sbpb'/>
+        <feature name='srso-user-kernel-no'/>
+        <feature name='stibp-always-on'/>
+        <feature name='vaes'/>
+        <feature name='vpclmulqdq'/>
+        <feature name='xsaves'/>
+      </blockers>
       <model usable='yes' vendor='AMD'>EPYC-v1</model>
       <model usable='yes' vendor='AMD'>EPYC-v2</model>
       <model usable='no' vendor='AMD'>EPYC-v3</model>
diff --git a/tests/domaincapsdata/qemu_10.2.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_10.2.0-q35.x86_64.xml
index 39c65c061b..b5881d5ba4 100644
--- a/tests/domaincapsdata/qemu_10.2.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_10.2.0-q35.x86_64.xml
@@ -41,42 +41,22 @@
       </enum>
     </mode>
     <mode name='host-model' supported='yes'>
-      <model fallback='forbid'>EPYC-Genoa</model>
+      <model fallback='forbid'>EPYC-Turin</model>
       <vendor>AMD</vendor>
       <maxphysaddr mode='passthrough' limit='64'/>
       <feature policy='require' name='x2apic'/>
       <feature policy='require' name='tsc-deadline'/>
       <feature policy='require' name='hypervisor'/>
       <feature policy='require' name='tsc_adjust'/>
-      <feature policy='require' name='movdiri'/>
-      <feature policy='require' name='movdir64b'/>
-      <feature policy='require' name='avx512-vp2intersect'/>
       <feature policy='require' name='spec-ctrl'/>
       <feature policy='require' name='stibp'/>
       <feature policy='require' name='flush-l1d'/>
       <feature policy='require' name='ssbd'/>
-      <feature policy='require' name='avx-vnni'/>
       <feature policy='require' name='cmp_legacy'/>
-      <feature policy='require' name='overflow-recov'/>
-      <feature policy='require' name='succor'/>
       <feature policy='require' name='invtsc'/>
       <feature policy='require' name='virt-ssbd'/>
-      <feature policy='require' name='lbrv'/>
-      <feature policy='require' name='tsc-scale'/>
-      <feature policy='require' name='vmcb-clean'/>
-      <feature policy='require' name='flushbyasid'/>
-      <feature policy='require' name='pause-filter'/>
-      <feature policy='require' name='pfthreshold'/>
-      <feature policy='require' name='v-vmsave-vmload'/>
-      <feature policy='require' name='vgif'/>
-      <feature policy='require' name='fs-gs-base-ns'/>
-      <feature policy='require' name='prefetchi'/>
-      <feature policy='require' name='sbpb'/>
-      <feature policy='require' name='ibpb-brtype'/>
-      <feature policy='require' name='srso-user-kernel-no'/>
       <feature policy='require' name='tsa-sq-no'/>
       <feature policy='require' name='tsa-l1-no'/>
-      <feature policy='require' name='perfmon-v2'/>
       <feature policy='disable' name='pcid'/>
       <feature policy='disable' name='la57'/>
     </mode>
@@ -302,6 +282,16 @@
       <model usable='yes' vendor='AMD'>EPYC-Rome-v3</model>
       <model usable='yes' vendor='AMD'>EPYC-Rome-v4</model>
       <model usable='yes' vendor='AMD'>EPYC-Rome-v5</model>
+      <model usable='no' vendor='AMD' canonical='EPYC-Turin-v1'>EPYC-Turin</model>
+      <blockers model='EPYC-Turin'>
+        <feature name='la57'/>
+        <feature name='pcid'/>
+      </blockers>
+      <model usable='no' vendor='AMD'>EPYC-Turin-v1</model>
+      <blockers model='EPYC-Turin-v1'>
+        <feature name='la57'/>
+        <feature name='pcid'/>
+      </blockers>
       <model usable='yes' vendor='AMD'>EPYC-v1</model>
       <model usable='yes' vendor='AMD'>EPYC-v2</model>
       <model usable='yes' vendor='AMD'>EPYC-v3</model>
diff --git a/tests/domaincapsdata/qemu_10.2.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_10.2.0-tcg.x86_64.xml
index 4cb64e95df..802c8f3a51 100644
--- a/tests/domaincapsdata/qemu_10.2.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_10.2.0-tcg.x86_64.xml
@@ -780,6 +780,118 @@
         <feature name='vmcb-clean'/>
         <feature name='xsavec'/>
       </blockers>
+      <model usable='no' vendor='AMD' canonical='EPYC-Turin-v1'>EPYC-Turin</model>
+      <blockers model='EPYC-Turin'>
+        <feature name='amd-psfd'/>
+        <feature name='amd-ssbd'/>
+        <feature name='amd-stibp'/>
+        <feature name='auto-ibrs'/>
+        <feature name='avx-vnni'/>
+        <feature name='avx512-bf16'/>
+        <feature name='avx512-vp2intersect'/>
+        <feature name='avx512-vpopcntdq'/>
+        <feature name='avx512bitalg'/>
+        <feature name='avx512bw'/>
+        <feature name='avx512cd'/>
+        <feature name='avx512dq'/>
+        <feature name='avx512f'/>
+        <feature name='avx512ifma'/>
+        <feature name='avx512vbmi'/>
+        <feature name='avx512vbmi2'/>
+        <feature name='avx512vl'/>
+        <feature name='avx512vnni'/>
+        <feature name='clzero'/>
+        <feature name='flushbyasid'/>
+        <feature name='fs-gs-base-ns'/>
+        <feature name='fxsr_opt'/>
+        <feature name='gfni'/>
+        <feature name='ibpb'/>
+        <feature name='ibpb-brtype'/>
+        <feature name='ibrs'/>
+        <feature name='invpcid'/>
+        <feature name='lbrv'/>
+        <feature name='lfence-always-serializing'/>
+        <feature name='misalignsse'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='nrip-save'/>
+        <feature name='osvw'/>
+        <feature name='overflow-recov'/>
+        <feature name='pause-filter'/>
+        <feature name='pcid'/>
+        <feature name='perfctr_core'/>
+        <feature name='perfmon-v2'/>
+        <feature name='pfthreshold'/>
+        <feature name='prefetchi'/>
+        <feature name='sbpb'/>
+        <feature name='srso-user-kernel-no'/>
+        <feature name='stibp-always-on'/>
+        <feature name='succor'/>
+        <feature name='topoext'/>
+        <feature name='tsc-scale'/>
+        <feature name='v-vmsave-vmload'/>
+        <feature name='vmcb-clean'/>
+        <feature name='vnmi'/>
+        <feature name='vpclmulqdq'/>
+        <feature name='xsavec'/>
+        <feature name='xsaves'/>
+      </blockers>
+      <model usable='no' vendor='AMD'>EPYC-Turin-v1</model>
+      <blockers model='EPYC-Turin-v1'>
+        <feature name='amd-psfd'/>
+        <feature name='amd-ssbd'/>
+        <feature name='amd-stibp'/>
+        <feature name='auto-ibrs'/>
+        <feature name='avx-vnni'/>
+        <feature name='avx512-bf16'/>
+        <feature name='avx512-vp2intersect'/>
+        <feature name='avx512-vpopcntdq'/>
+        <feature name='avx512bitalg'/>
+        <feature name='avx512bw'/>
+        <feature name='avx512cd'/>
+        <feature name='avx512dq'/>
+        <feature name='avx512f'/>
+        <feature name='avx512ifma'/>
+        <feature name='avx512vbmi'/>
+        <feature name='avx512vbmi2'/>
+        <feature name='avx512vl'/>
+        <feature name='avx512vnni'/>
+        <feature name='clzero'/>
+        <feature name='flushbyasid'/>
+        <feature name='fs-gs-base-ns'/>
+        <feature name='fxsr_opt'/>
+        <feature name='gfni'/>
+        <feature name='ibpb'/>
+        <feature name='ibpb-brtype'/>
+        <feature name='ibrs'/>
+        <feature name='invpcid'/>
+        <feature name='lbrv'/>
+        <feature name='lfence-always-serializing'/>
+        <feature name='misalignsse'/>
+        <feature name='movdir64b'/>
+        <feature name='movdiri'/>
+        <feature name='nrip-save'/>
+        <feature name='osvw'/>
+        <feature name='overflow-recov'/>
+        <feature name='pause-filter'/>
+        <feature name='pcid'/>
+        <feature name='perfctr_core'/>
+        <feature name='perfmon-v2'/>
+        <feature name='pfthreshold'/>
+        <feature name='prefetchi'/>
+        <feature name='sbpb'/>
+        <feature name='srso-user-kernel-no'/>
+        <feature name='stibp-always-on'/>
+        <feature name='succor'/>
+        <feature name='topoext'/>
+        <feature name='tsc-scale'/>
+        <feature name='v-vmsave-vmload'/>
+        <feature name='vmcb-clean'/>
+        <feature name='vnmi'/>
+        <feature name='vpclmulqdq'/>
+        <feature name='xsavec'/>
+        <feature name='xsaves'/>
+      </blockers>
       <model usable='no' vendor='AMD'>EPYC-v1</model>
       <blockers model='EPYC-v1'>
         <feature name='fxsr_opt'/>
diff --git a/tests/domaincapsdata/qemu_10.2.0.x86_64.xml b/tests/domaincapsdata/qemu_10.2.0.x86_64.xml
index 71c1767f1b..d196ab09f9 100644
--- a/tests/domaincapsdata/qemu_10.2.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_10.2.0.x86_64.xml
@@ -40,42 +40,22 @@
       </enum>
     </mode>
     <mode name='host-model' supported='yes'>
-      <model fallback='forbid'>EPYC-Genoa</model>
+      <model fallback='forbid'>EPYC-Turin</model>
       <vendor>AMD</vendor>
       <maxphysaddr mode='passthrough' limit='64'/>
       <feature policy='require' name='x2apic'/>
       <feature policy='require' name='tsc-deadline'/>
       <feature policy='require' name='hypervisor'/>
       <feature policy='require' name='tsc_adjust'/>
-      <feature policy='require' name='movdiri'/>
-      <feature policy='require' name='movdir64b'/>
-      <feature policy='require' name='avx512-vp2intersect'/>
       <feature policy='require' name='spec-ctrl'/>
       <feature policy='require' name='stibp'/>
       <feature policy='require' name='flush-l1d'/>
       <feature policy='require' name='ssbd'/>
-      <feature policy='require' name='avx-vnni'/>
       <feature policy='require' name='cmp_legacy'/>
-      <feature policy='require' name='overflow-recov'/>
-      <feature policy='require' name='succor'/>
       <feature policy='require' name='invtsc'/>
       <feature policy='require' name='virt-ssbd'/>
-      <feature policy='require' name='lbrv'/>
-      <feature policy='require' name='tsc-scale'/>
-      <feature policy='require' name='vmcb-clean'/>
-      <feature policy='require' name='flushbyasid'/>
-      <feature policy='require' name='pause-filter'/>
-      <feature policy='require' name='pfthreshold'/>
-      <feature policy='require' name='v-vmsave-vmload'/>
-      <feature policy='require' name='vgif'/>
-      <feature policy='require' name='fs-gs-base-ns'/>
-      <feature policy='require' name='prefetchi'/>
-      <feature policy='require' name='sbpb'/>
-      <feature policy='require' name='ibpb-brtype'/>
-      <feature policy='require' name='srso-user-kernel-no'/>
       <feature policy='require' name='tsa-sq-no'/>
       <feature policy='require' name='tsa-l1-no'/>
-      <feature policy='require' name='perfmon-v2'/>
       <feature policy='disable' name='pcid'/>
       <feature policy='disable' name='la57'/>
     </mode>
@@ -301,6 +281,16 @@
       <model usable='yes' vendor='AMD'>EPYC-Rome-v3</model>
       <model usable='yes' vendor='AMD'>EPYC-Rome-v4</model>
       <model usable='yes' vendor='AMD'>EPYC-Rome-v5</model>
+      <model usable='no' vendor='AMD' canonical='EPYC-Turin-v1'>EPYC-Turin</model>
+      <blockers model='EPYC-Turin'>
+        <feature name='la57'/>
+        <feature name='pcid'/>
+      </blockers>
+      <model usable='no' vendor='AMD'>EPYC-Turin-v1</model>
+      <blockers model='EPYC-Turin-v1'>
+        <feature name='la57'/>
+        <feature name='pcid'/>
+      </blockers>
       <model usable='yes' vendor='AMD'>EPYC-v1</model>
       <model usable='yes' vendor='AMD'>EPYC-v2</model>
       <model usable='yes' vendor='AMD'>EPYC-v3</model>
diff --git a/tests/qemuxmlconfdata/cpu-host-model-fallback-kvm.x86_64-latest.args b/tests/qemuxmlconfdata/cpu-host-model-fallback-kvm.x86_64-latest.args
index b25f7ee787..6afa8a4c2d 100644
--- a/tests/qemuxmlconfdata/cpu-host-model-fallback-kvm.x86_64-latest.args
+++ b/tests/qemuxmlconfdata/cpu-host-model-fallback-kvm.x86_64-latest.args
@@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \
 -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes"}' \
 -machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram,acpi=off \
 -accel kvm \
--cpu EPYC-Genoa,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,movdiri=on,movdir64b=on,avx512-vp2intersect=on,spec-ctrl=on,stibp=on,flush-l1d=on,ssbd=on,avx-vnni=on,cmp-legacy=on,overflow-recov=on,succor=on,virt-ssbd=on,lbrv=on,tsc-scale=on,vmcb-clean=on,flushbyasid=on,pause-filter=on,pfthreshold=on,v-vmsave-vmload=on,vgif=on,fs-gs-base-ns=on,prefetchi=on,sbpb=on,ibpb-brtype=on,srso-user-kernel-no=on,tsa-sq-no=on,tsa-l1-no=on,perfmon-v2=on,pcid=off,la57=off \
+-cpu EPYC-Turin,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,spec-ctrl=on,stibp=on,flush-l1d=on,ssbd=on,cmp-legacy=on,virt-ssbd=on,tsa-sq-no=on,tsa-l1-no=on,pcid=off,la57=off \
 -m size=219136k \
 -object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \
 -overcommit mem-lock=off \
diff --git a/tests/qemuxmlconfdata/cpu-host-model-features.x86_64-latest.args b/tests/qemuxmlconfdata/cpu-host-model-features.x86_64-latest.args
index e9225ea0fa..ce60a39acc 100644
--- a/tests/qemuxmlconfdata/cpu-host-model-features.x86_64-latest.args
+++ b/tests/qemuxmlconfdata/cpu-host-model-features.x86_64-latest.args
@@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \
 -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes"}' \
 -machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram,acpi=off \
 -accel kvm \
--cpu EPYC-Genoa,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,movdiri=on,movdir64b=on,avx512-vp2intersect=on,spec-ctrl=on,stibp=on,flush-l1d=on,ssbd=on,avx-vnni=on,cmp-legacy=on,overflow-recov=on,succor=on,virt-ssbd=on,lbrv=on,tsc-scale=on,vmcb-clean=on,flushbyasid=on,pause-filter=on,pfthreshold=on,v-vmsave-vmload=on,vgif=on,fs-gs-base-ns=on,prefetchi=on,sbpb=on,ibpb-brtype=on,srso-user-kernel-no=on,tsa-sq-no=on,tsa-l1-no=on,perfmon-v2=on,pcid=off,la57=off,abm=on,ds=on,invtsc=off \
+-cpu EPYC-Turin,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,spec-ctrl=on,stibp=on,flush-l1d=on,ssbd=on,cmp-legacy=on,virt-ssbd=on,tsa-sq-no=on,tsa-l1-no=on,pcid=off,la57=off,abm=on,ds=on,invtsc=off \
 -m size=219136k \
 -object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \
 -overcommit mem-lock=off \
diff --git a/tests/qemuxmlconfdata/cpu-host-model-kvm.x86_64-latest.args b/tests/qemuxmlconfdata/cpu-host-model-kvm.x86_64-latest.args
index 345babd056..2bf920b9c7 100644
--- a/tests/qemuxmlconfdata/cpu-host-model-kvm.x86_64-latest.args
+++ b/tests/qemuxmlconfdata/cpu-host-model-kvm.x86_64-latest.args
@@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \
 -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes"}' \
 -machine q35,usb=off,dump-guest-core=off,memory-backend=pc.ram,acpi=off \
 -accel kvm \
--cpu EPYC-Genoa,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,movdiri=on,movdir64b=on,avx512-vp2intersect=on,spec-ctrl=on,stibp=on,flush-l1d=on,ssbd=on,avx-vnni=on,cmp-legacy=on,overflow-recov=on,succor=on,virt-ssbd=on,lbrv=on,tsc-scale=on,vmcb-clean=on,flushbyasid=on,pause-filter=on,pfthreshold=on,v-vmsave-vmload=on,vgif=on,fs-gs-base-ns=on,prefetchi=on,sbpb=on,ibpb-brtype=on,srso-user-kernel-no=on,tsa-sq-no=on,tsa-l1-no=on,perfmon-v2=on,pcid=off,la57=off \
+-cpu EPYC-Turin,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,spec-ctrl=on,stibp=on,flush-l1d=on,ssbd=on,cmp-legacy=on,virt-ssbd=on,tsa-sq-no=on,tsa-l1-no=on,pcid=off,la57=off \
 -m size=219136k \
 -object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \
 -overcommit mem-lock=off \
diff --git a/tests/qemuxmlconfdata/cpu-host-model-nofallback-kvm.x86_64-latest.args b/tests/qemuxmlconfdata/cpu-host-model-nofallback-kvm.x86_64-latest.args
index b25f7ee787..6afa8a4c2d 100644
--- a/tests/qemuxmlconfdata/cpu-host-model-nofallback-kvm.x86_64-latest.args
+++ b/tests/qemuxmlconfdata/cpu-host-model-nofallback-kvm.x86_64-latest.args
@@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \
 -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes"}' \
 -machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram,acpi=off \
 -accel kvm \
--cpu EPYC-Genoa,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,movdiri=on,movdir64b=on,avx512-vp2intersect=on,spec-ctrl=on,stibp=on,flush-l1d=on,ssbd=on,avx-vnni=on,cmp-legacy=on,overflow-recov=on,succor=on,virt-ssbd=on,lbrv=on,tsc-scale=on,vmcb-clean=on,flushbyasid=on,pause-filter=on,pfthreshold=on,v-vmsave-vmload=on,vgif=on,fs-gs-base-ns=on,prefetchi=on,sbpb=on,ibpb-brtype=on,srso-user-kernel-no=on,tsa-sq-no=on,tsa-l1-no=on,perfmon-v2=on,pcid=off,la57=off \
+-cpu EPYC-Turin,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,spec-ctrl=on,stibp=on,flush-l1d=on,ssbd=on,cmp-legacy=on,virt-ssbd=on,tsa-sq-no=on,tsa-l1-no=on,pcid=off,la57=off \
 -m size=219136k \
 -object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \
 -overcommit mem-lock=off \
-- 
2.51.0