[PATCH 32/32] cpu_map: Add versions of Dhyana CPU model

Jiri Denemark posted 32 patches 2 weeks ago
There is a newer version of this series
[PATCH 32/32] cpu_map: Add versions of Dhyana CPU model
Posted by Jiri Denemark 2 weeks ago
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
---
 src/cpu_map/index.xml                         |  2 +
 src/cpu_map/meson.build                       |  2 +
 src/cpu_map/x86_Dhyana-v1.xml                 |  6 ++
 src/cpu_map/x86_Dhyana-v2.xml                 | 73 +++++++++++++++++++
 ..._64-cpuid-Hygon-C86-7185-32-core-guest.xml |  5 +-
 ...6_64-cpuid-Hygon-C86-7185-32-core-host.xml |  5 +-
 ...6_64-cpuid-Hygon-C86-7185-32-core-json.xml |  6 +-
 .../domaincapsdata/qemu_5.2.0-q35.x86_64.xml  |  1 +
 .../domaincapsdata/qemu_5.2.0-tcg.x86_64.xml  | 16 ++++
 tests/domaincapsdata/qemu_5.2.0.x86_64.xml    |  1 +
 .../domaincapsdata/qemu_6.0.0-q35.x86_64.xml  |  1 +
 .../domaincapsdata/qemu_6.0.0-tcg.x86_64.xml  | 16 ++++
 tests/domaincapsdata/qemu_6.0.0.x86_64.xml    |  1 +
 .../domaincapsdata/qemu_6.1.0-q35.x86_64.xml  |  2 +
 .../domaincapsdata/qemu_6.1.0-tcg.x86_64.xml  | 33 +++++++++
 tests/domaincapsdata/qemu_6.1.0.x86_64.xml    |  2 +
 .../domaincapsdata/qemu_6.2.0-q35.x86_64.xml  |  2 +
 .../domaincapsdata/qemu_6.2.0-tcg.x86_64.xml  | 33 +++++++++
 tests/domaincapsdata/qemu_6.2.0.x86_64.xml    |  2 +
 .../domaincapsdata/qemu_7.0.0-q35.x86_64.xml  |  2 +
 .../domaincapsdata/qemu_7.0.0-tcg.x86_64.xml  | 33 +++++++++
 tests/domaincapsdata/qemu_7.0.0.x86_64.xml    |  2 +
 .../domaincapsdata/qemu_7.1.0-q35.x86_64.xml  |  2 +
 .../domaincapsdata/qemu_7.1.0-tcg.x86_64.xml  | 33 +++++++++
 tests/domaincapsdata/qemu_7.1.0.x86_64.xml    |  2 +
 .../domaincapsdata/qemu_7.2.0-q35.x86_64.xml  |  2 +
 .../qemu_7.2.0-tcg.x86_64+hvf.xml             | 25 +++++++
 .../domaincapsdata/qemu_7.2.0-tcg.x86_64.xml  | 25 +++++++
 tests/domaincapsdata/qemu_7.2.0.x86_64.xml    |  2 +
 .../domaincapsdata/qemu_8.0.0-q35.x86_64.xml  |  2 +
 .../domaincapsdata/qemu_8.0.0-tcg.x86_64.xml  | 25 +++++++
 tests/domaincapsdata/qemu_8.0.0.x86_64.xml    |  2 +
 .../domaincapsdata/qemu_8.1.0-q35.x86_64.xml  |  5 ++
 .../domaincapsdata/qemu_8.1.0-tcg.x86_64.xml  | 21 ++++++
 tests/domaincapsdata/qemu_8.1.0.x86_64.xml    |  5 ++
 .../domaincapsdata/qemu_8.2.0-q35.x86_64.xml  |  5 ++
 .../domaincapsdata/qemu_8.2.0-tcg.x86_64.xml  | 21 ++++++
 tests/domaincapsdata/qemu_8.2.0.x86_64.xml    |  5 ++
 .../domaincapsdata/qemu_9.0.0-q35.x86_64.xml  |  5 ++
 .../domaincapsdata/qemu_9.0.0-tcg.x86_64.xml  | 21 ++++++
 tests/domaincapsdata/qemu_9.0.0.x86_64.xml    |  5 ++
 .../domaincapsdata/qemu_9.1.0-q35.x86_64.xml  |  5 ++
 .../domaincapsdata/qemu_9.1.0-tcg.x86_64.xml  | 21 ++++++
 tests/domaincapsdata/qemu_9.1.0.x86_64.xml    |  5 ++
 .../domaincapsdata/qemu_9.2.0-q35.x86_64.xml  |  5 ++
 .../domaincapsdata/qemu_9.2.0-tcg.x86_64.xml  | 21 ++++++
 tests/domaincapsdata/qemu_9.2.0.x86_64.xml    |  5 ++
 47 files changed, 509 insertions(+), 12 deletions(-)
 create mode 100644 src/cpu_map/x86_Dhyana-v1.xml
 create mode 100644 src/cpu_map/x86_Dhyana-v2.xml

diff --git a/src/cpu_map/index.xml b/src/cpu_map/index.xml
index e50c2602e7..f594f4c02e 100644
--- a/src/cpu_map/index.xml
+++ b/src/cpu_map/index.xml
@@ -139,6 +139,8 @@
 
     <group vendor='Hygon'>
       <include filename='x86_Dhyana.xml'/>
+      <include filename='x86_Dhyana-v1.xml'/>
+      <include filename='x86_Dhyana-v2.xml'/>
     </group>
   </arch>
 
diff --git a/src/cpu_map/meson.build b/src/cpu_map/meson.build
index c7a7fc3c52..7892269c4c 100644
--- a/src/cpu_map/meson.build
+++ b/src/cpu_map/meson.build
@@ -47,6 +47,8 @@ cpumap_data = [
   'x86_coreduo.xml',
   'x86_cpu64-rhel5.xml',
   'x86_cpu64-rhel6.xml',
+  'x86_Dhyana-v1.xml',
+  'x86_Dhyana-v2.xml',
   'x86_Dhyana.xml',
   'x86_EPYC-IBPB.xml',
   'x86_EPYC-v1.xml',
diff --git a/src/cpu_map/x86_Dhyana-v1.xml b/src/cpu_map/x86_Dhyana-v1.xml
new file mode 100644
index 0000000000..e8c63e388e
--- /dev/null
+++ b/src/cpu_map/x86_Dhyana-v1.xml
@@ -0,0 +1,6 @@
+<cpus>
+  <model name='Dhyana-v1'>
+    <decode host='off' guest='off'/>
+    <model name='Dhyana'/>
+  </model>
+</cpus>
diff --git a/src/cpu_map/x86_Dhyana-v2.xml b/src/cpu_map/x86_Dhyana-v2.xml
new file mode 100644
index 0000000000..ee02eb2d23
--- /dev/null
+++ b/src/cpu_map/x86_Dhyana-v2.xml
@@ -0,0 +1,73 @@
+<cpus>
+  <model name='Dhyana-v2'>
+    <decode host='on' guest='on'/>
+    <signature family='24' model='0'/>
+    <vendor name='Hygon'/>
+    <feature name='3dnowprefetch'/>
+    <feature name='abm'/>
+    <feature name='adx'/>
+    <feature name='apic'/>
+    <feature name='arat'/>
+    <feature name='avx'/>
+    <feature name='avx2'/>
+    <feature name='bmi1'/>
+    <feature name='bmi2'/>
+    <feature name='clflush'/>
+    <feature name='clflushopt'/>
+    <feature name='cmov'/>
+    <feature name='cr8legacy'/>
+    <feature name='cx16'/>
+    <feature name='cx8'/>
+    <feature name='de'/>
+    <feature name='f16c'/>
+    <feature name='fma'/>
+    <feature name='fpu'/>
+    <feature name='fsgsbase'/>
+    <feature name='fxsr'/>
+    <feature name='fxsr_opt'/>
+    <feature name='ibpb'/>
+    <feature name='lahf_lm'/>
+    <feature name='lm'/>
+    <feature name='mca'/>
+    <feature name='mce'/>
+    <feature name='misalignsse'/>
+    <feature name='mmx'/>
+    <feature name='mmxext'/>
+    <feature name='movbe'/>
+    <feature name='msr'/>
+    <feature name='mtrr'/>
+    <feature name='npt'/>
+    <feature name='nrip-save'/>
+    <feature name='nx'/>
+    <feature name='osvw'/>
+    <feature name='pae'/>
+    <feature name='pat'/>
+    <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='smap'/>
+    <feature name='smep'/>
+    <feature name='sse'/>
+    <feature name='sse2'/>
+    <feature name='sse4.1'/>
+    <feature name='sse4.2'/>
+    <feature name='sse4a'/>
+    <feature name='ssse3'/>
+    <feature name='svm'/>
+    <feature name='syscall'/>
+    <feature name='tsc'/>
+    <feature name='vme'/>
+    <feature name='xgetbv1'/>
+    <feature name='xsave'/>
+    <feature name='xsavec'/>
+    <feature name='xsaveopt'/>
+    <feature name='xsaves'/>
+  </model>
+</cpus>
diff --git a/tests/cputestdata/x86_64-cpuid-Hygon-C86-7185-32-core-guest.xml b/tests/cputestdata/x86_64-cpuid-Hygon-C86-7185-32-core-guest.xml
index 15434a454b..0b519b3272 100644
--- a/tests/cputestdata/x86_64-cpuid-Hygon-C86-7185-32-core-guest.xml
+++ b/tests/cputestdata/x86_64-cpuid-Hygon-C86-7185-32-core-guest.xml
@@ -1,10 +1,9 @@
 <cpu mode='custom' match='exact'>
-  <model fallback='forbid'>Dhyana</model>
+  <model fallback='forbid'>Dhyana-v2</model>
   <vendor>Hygon</vendor>
   <feature policy='require' name='monitor'/>
   <feature policy='require' name='osxsave'/>
   <feature policy='require' name='ht'/>
-  <feature policy='require' name='xsaves'/>
   <feature policy='require' name='cmp_legacy'/>
   <feature policy='require' name='extapic'/>
   <feature policy='require' name='skinit'/>
@@ -18,10 +17,8 @@
   <feature policy='require' name='invtsc'/>
   <feature policy='require' name='clzero'/>
   <feature policy='require' name='xsaveerptr'/>
-  <feature policy='require' name='npt'/>
   <feature policy='require' name='lbrv'/>
   <feature policy='require' name='svm-lock'/>
-  <feature policy='require' name='nrip-save'/>
   <feature policy='require' name='tsc-scale'/>
   <feature policy='require' name='vmcb-clean'/>
   <feature policy='require' name='flushbyasid'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Hygon-C86-7185-32-core-host.xml b/tests/cputestdata/x86_64-cpuid-Hygon-C86-7185-32-core-host.xml
index 965bdf8a88..5d2aad5321 100644
--- a/tests/cputestdata/x86_64-cpuid-Hygon-C86-7185-32-core-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Hygon-C86-7185-32-core-host.xml
@@ -1,12 +1,11 @@
 <cpu>
   <arch>x86_64</arch>
-  <model>Dhyana</model>
+  <model>Dhyana-v2</model>
   <vendor>Hygon</vendor>
   <signature family='24' model='0' stepping='1'/>
   <feature name='monitor'/>
   <feature name='osxsave'/>
   <feature name='ht'/>
-  <feature name='xsaves'/>
   <feature name='cmp_legacy'/>
   <feature name='extapic'/>
   <feature name='skinit'/>
@@ -20,10 +19,8 @@
   <feature name='invtsc'/>
   <feature name='clzero'/>
   <feature name='xsaveerptr'/>
-  <feature name='npt'/>
   <feature name='lbrv'/>
   <feature name='svm-lock'/>
-  <feature name='nrip-save'/>
   <feature name='tsc-scale'/>
   <feature name='vmcb-clean'/>
   <feature name='flushbyasid'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Hygon-C86-7185-32-core-json.xml b/tests/cputestdata/x86_64-cpuid-Hygon-C86-7185-32-core-json.xml
index 0408d51c10..2ff92e2c15 100644
--- a/tests/cputestdata/x86_64-cpuid-Hygon-C86-7185-32-core-json.xml
+++ b/tests/cputestdata/x86_64-cpuid-Hygon-C86-7185-32-core-json.xml
@@ -1,5 +1,5 @@
 <cpu mode='custom' match='exact'>
-  <model fallback='forbid'>Dhyana</model>
+  <model fallback='forbid'>Dhyana-v2</model>
   <vendor>Hygon</vendor>
   <feature policy='require' name='x2apic'/>
   <feature policy='require' name='tsc-deadline'/>
@@ -7,8 +7,6 @@
   <feature policy='require' name='tsc_adjust'/>
   <feature policy='require' name='cmp_legacy'/>
   <feature policy='require' name='virt-ssbd'/>
-  <feature policy='require' name='npt'/>
-  <feature policy='require' name='nrip-save'/>
+  <feature policy='disable' name='xsaves'/>
   <feature policy='disable' name='svm'/>
-  <feature policy='disable' name='monitor'/>
 </cpu>
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 7a0ea15105..93bfbeea52 100644
--- a/tests/domaincapsdata/qemu_5.2.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_5.2.0-q35.x86_64.xml
@@ -257,6 +257,7 @@
         <feature name='taa-no'/>
       </blockers>
       <model usable='yes' vendor='Hygon'>Dhyana</model>
+      <model usable='yes' vendor='Hygon'>Dhyana-v1</model>
       <model usable='yes' vendor='AMD'>EPYC</model>
       <model usable='yes' vendor='AMD'>EPYC-IBPB</model>
       <model usable='yes' vendor='AMD'>EPYC-Rome</model>
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 4ce32a5cf4..8da8069207 100644
--- a/tests/domaincapsdata/qemu_5.2.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_5.2.0-tcg.x86_64.xml
@@ -432,6 +432,22 @@
         <feature name='topoext'/>
         <feature name='xsavec'/>
       </blockers>
+      <model usable='no' vendor='Hygon'>Dhyana-v1</model>
+      <blockers model='Dhyana-v1'>
+        <feature name='3dnowprefetch'/>
+        <feature name='avx'/>
+        <feature name='avx2'/>
+        <feature name='f16c'/>
+        <feature name='fma'/>
+        <feature name='fxsr_opt'/>
+        <feature name='ibpb'/>
+        <feature name='misalignsse'/>
+        <feature name='nrip-save'/>
+        <feature name='osvw'/>
+        <feature name='rdseed'/>
+        <feature name='topoext'/>
+        <feature name='xsavec'/>
+      </blockers>
       <model usable='no' vendor='AMD'>EPYC</model>
       <blockers model='EPYC'>
         <feature name='3dnowprefetch'/>
diff --git a/tests/domaincapsdata/qemu_5.2.0.x86_64.xml b/tests/domaincapsdata/qemu_5.2.0.x86_64.xml
index 027040cbb0..624086d01a 100644
--- a/tests/domaincapsdata/qemu_5.2.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_5.2.0.x86_64.xml
@@ -256,6 +256,7 @@
         <feature name='taa-no'/>
       </blockers>
       <model usable='yes' vendor='Hygon'>Dhyana</model>
+      <model usable='yes' vendor='Hygon'>Dhyana-v1</model>
       <model usable='yes' vendor='AMD'>EPYC</model>
       <model usable='yes' vendor='AMD'>EPYC-IBPB</model>
       <model usable='yes' vendor='AMD'>EPYC-Rome</model>
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 21d27d973b..db53536f22 100644
--- a/tests/domaincapsdata/qemu_6.0.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.0.0-q35.x86_64.xml
@@ -257,6 +257,7 @@
         <feature name='taa-no'/>
       </blockers>
       <model usable='yes' vendor='Hygon'>Dhyana</model>
+      <model usable='yes' vendor='Hygon'>Dhyana-v1</model>
       <model usable='yes' vendor='AMD'>EPYC</model>
       <model usable='yes' vendor='AMD'>EPYC-IBPB</model>
       <model usable='no' vendor='AMD'>EPYC-Milan</model>
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 4e817d4997..5ba476884a 100644
--- a/tests/domaincapsdata/qemu_6.0.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.0.0-tcg.x86_64.xml
@@ -433,6 +433,22 @@
         <feature name='topoext'/>
         <feature name='xsavec'/>
       </blockers>
+      <model usable='no' vendor='Hygon'>Dhyana-v1</model>
+      <blockers model='Dhyana-v1'>
+        <feature name='3dnowprefetch'/>
+        <feature name='avx'/>
+        <feature name='avx2'/>
+        <feature name='f16c'/>
+        <feature name='fma'/>
+        <feature name='fxsr_opt'/>
+        <feature name='ibpb'/>
+        <feature name='misalignsse'/>
+        <feature name='nrip-save'/>
+        <feature name='osvw'/>
+        <feature name='rdseed'/>
+        <feature name='topoext'/>
+        <feature name='xsavec'/>
+      </blockers>
       <model usable='no' vendor='AMD'>EPYC</model>
       <blockers model='EPYC'>
         <feature name='3dnowprefetch'/>
diff --git a/tests/domaincapsdata/qemu_6.0.0.x86_64.xml b/tests/domaincapsdata/qemu_6.0.0.x86_64.xml
index dc7d0e3fd4..d62fa47f3a 100644
--- a/tests/domaincapsdata/qemu_6.0.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.0.0.x86_64.xml
@@ -256,6 +256,7 @@
         <feature name='taa-no'/>
       </blockers>
       <model usable='yes' vendor='Hygon'>Dhyana</model>
+      <model usable='yes' vendor='Hygon'>Dhyana-v1</model>
       <model usable='yes' vendor='AMD'>EPYC</model>
       <model usable='yes' vendor='AMD'>EPYC-IBPB</model>
       <model usable='no' vendor='AMD'>EPYC-Milan</model>
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 f6e4456e8b..177735d97f 100644
--- a/tests/domaincapsdata/qemu_6.1.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.1.0-q35.x86_64.xml
@@ -295,6 +295,8 @@
         <feature name='taa-no'/>
       </blockers>
       <model usable='yes' vendor='Hygon'>Dhyana</model>
+      <model usable='yes' vendor='Hygon'>Dhyana-v1</model>
+      <model usable='yes' vendor='Hygon'>Dhyana-v2</model>
       <model usable='yes' vendor='AMD'>EPYC</model>
       <model usable='yes' vendor='AMD'>EPYC-IBPB</model>
       <model usable='no' vendor='AMD'>EPYC-Milan</model>
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 979354d36a..e060585653 100644
--- a/tests/domaincapsdata/qemu_6.1.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.1.0-tcg.x86_64.xml
@@ -498,6 +498,39 @@
         <feature name='topoext'/>
         <feature name='xsavec'/>
       </blockers>
+      <model usable='no' vendor='Hygon'>Dhyana-v1</model>
+      <blockers model='Dhyana-v1'>
+        <feature name='3dnowprefetch'/>
+        <feature name='avx'/>
+        <feature name='avx2'/>
+        <feature name='f16c'/>
+        <feature name='fma'/>
+        <feature name='fxsr_opt'/>
+        <feature name='ibpb'/>
+        <feature name='misalignsse'/>
+        <feature name='nrip-save'/>
+        <feature name='osvw'/>
+        <feature name='rdseed'/>
+        <feature name='topoext'/>
+        <feature name='xsavec'/>
+      </blockers>
+      <model usable='no' vendor='Hygon'>Dhyana-v2</model>
+      <blockers model='Dhyana-v2'>
+        <feature name='3dnowprefetch'/>
+        <feature name='avx'/>
+        <feature name='avx2'/>
+        <feature name='f16c'/>
+        <feature name='fma'/>
+        <feature name='fxsr_opt'/>
+        <feature name='ibpb'/>
+        <feature name='misalignsse'/>
+        <feature name='nrip-save'/>
+        <feature name='osvw'/>
+        <feature name='rdseed'/>
+        <feature name='topoext'/>
+        <feature name='xsavec'/>
+        <feature name='xsaves'/>
+      </blockers>
       <model usable='no' vendor='AMD'>EPYC</model>
       <blockers model='EPYC'>
         <feature name='3dnowprefetch'/>
diff --git a/tests/domaincapsdata/qemu_6.1.0.x86_64.xml b/tests/domaincapsdata/qemu_6.1.0.x86_64.xml
index 611bde05a2..1ef3cdbaf9 100644
--- a/tests/domaincapsdata/qemu_6.1.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.1.0.x86_64.xml
@@ -294,6 +294,8 @@
         <feature name='taa-no'/>
       </blockers>
       <model usable='yes' vendor='Hygon'>Dhyana</model>
+      <model usable='yes' vendor='Hygon'>Dhyana-v1</model>
+      <model usable='yes' vendor='Hygon'>Dhyana-v2</model>
       <model usable='yes' vendor='AMD'>EPYC</model>
       <model usable='yes' vendor='AMD'>EPYC-IBPB</model>
       <model usable='no' vendor='AMD'>EPYC-Milan</model>
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 259d76fdcc..f8cce3dd11 100644
--- a/tests/domaincapsdata/qemu_6.2.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.2.0-q35.x86_64.xml
@@ -292,6 +292,8 @@
         <feature name='taa-no'/>
       </blockers>
       <model usable='yes' vendor='Hygon'>Dhyana</model>
+      <model usable='yes' vendor='Hygon'>Dhyana-v1</model>
+      <model usable='yes' vendor='Hygon'>Dhyana-v2</model>
       <model usable='yes' vendor='AMD'>EPYC</model>
       <model usable='yes' vendor='AMD'>EPYC-IBPB</model>
       <model usable='no' vendor='AMD'>EPYC-Milan</model>
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 e0c8c59d35..6dd4e469f0 100644
--- a/tests/domaincapsdata/qemu_6.2.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.2.0-tcg.x86_64.xml
@@ -497,6 +497,39 @@
         <feature name='topoext'/>
         <feature name='xsavec'/>
       </blockers>
+      <model usable='no' vendor='Hygon'>Dhyana-v1</model>
+      <blockers model='Dhyana-v1'>
+        <feature name='3dnowprefetch'/>
+        <feature name='avx'/>
+        <feature name='avx2'/>
+        <feature name='f16c'/>
+        <feature name='fma'/>
+        <feature name='fxsr_opt'/>
+        <feature name='ibpb'/>
+        <feature name='misalignsse'/>
+        <feature name='nrip-save'/>
+        <feature name='osvw'/>
+        <feature name='rdseed'/>
+        <feature name='topoext'/>
+        <feature name='xsavec'/>
+      </blockers>
+      <model usable='no' vendor='Hygon'>Dhyana-v2</model>
+      <blockers model='Dhyana-v2'>
+        <feature name='3dnowprefetch'/>
+        <feature name='avx'/>
+        <feature name='avx2'/>
+        <feature name='f16c'/>
+        <feature name='fma'/>
+        <feature name='fxsr_opt'/>
+        <feature name='ibpb'/>
+        <feature name='misalignsse'/>
+        <feature name='nrip-save'/>
+        <feature name='osvw'/>
+        <feature name='rdseed'/>
+        <feature name='topoext'/>
+        <feature name='xsavec'/>
+        <feature name='xsaves'/>
+      </blockers>
       <model usable='no' vendor='AMD'>EPYC</model>
       <blockers model='EPYC'>
         <feature name='3dnowprefetch'/>
diff --git a/tests/domaincapsdata/qemu_6.2.0.x86_64.xml b/tests/domaincapsdata/qemu_6.2.0.x86_64.xml
index e910a892b1..a41a25ffe5 100644
--- a/tests/domaincapsdata/qemu_6.2.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.2.0.x86_64.xml
@@ -291,6 +291,8 @@
         <feature name='taa-no'/>
       </blockers>
       <model usable='yes' vendor='Hygon'>Dhyana</model>
+      <model usable='yes' vendor='Hygon'>Dhyana-v1</model>
+      <model usable='yes' vendor='Hygon'>Dhyana-v2</model>
       <model usable='yes' vendor='AMD'>EPYC</model>
       <model usable='yes' vendor='AMD'>EPYC-IBPB</model>
       <model usable='no' vendor='AMD'>EPYC-Milan</model>
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 f3a1902f3d..bf36827935 100644
--- a/tests/domaincapsdata/qemu_7.0.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_7.0.0-q35.x86_64.xml
@@ -293,6 +293,8 @@
         <feature name='taa-no'/>
       </blockers>
       <model usable='yes' vendor='Hygon'>Dhyana</model>
+      <model usable='yes' vendor='Hygon'>Dhyana-v1</model>
+      <model usable='yes' vendor='Hygon'>Dhyana-v2</model>
       <model usable='yes' vendor='AMD'>EPYC</model>
       <model usable='yes' vendor='AMD'>EPYC-IBPB</model>
       <model usable='no' vendor='AMD'>EPYC-Milan</model>
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 6d6fb30b82..8fbdcb8832 100644
--- a/tests/domaincapsdata/qemu_7.0.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_7.0.0-tcg.x86_64.xml
@@ -498,6 +498,39 @@
         <feature name='topoext'/>
         <feature name='xsavec'/>
       </blockers>
+      <model usable='no' vendor='Hygon'>Dhyana-v1</model>
+      <blockers model='Dhyana-v1'>
+        <feature name='3dnowprefetch'/>
+        <feature name='avx'/>
+        <feature name='avx2'/>
+        <feature name='f16c'/>
+        <feature name='fma'/>
+        <feature name='fxsr_opt'/>
+        <feature name='ibpb'/>
+        <feature name='misalignsse'/>
+        <feature name='nrip-save'/>
+        <feature name='osvw'/>
+        <feature name='rdseed'/>
+        <feature name='topoext'/>
+        <feature name='xsavec'/>
+      </blockers>
+      <model usable='no' vendor='Hygon'>Dhyana-v2</model>
+      <blockers model='Dhyana-v2'>
+        <feature name='3dnowprefetch'/>
+        <feature name='avx'/>
+        <feature name='avx2'/>
+        <feature name='f16c'/>
+        <feature name='fma'/>
+        <feature name='fxsr_opt'/>
+        <feature name='ibpb'/>
+        <feature name='misalignsse'/>
+        <feature name='nrip-save'/>
+        <feature name='osvw'/>
+        <feature name='rdseed'/>
+        <feature name='topoext'/>
+        <feature name='xsavec'/>
+        <feature name='xsaves'/>
+      </blockers>
       <model usable='no' vendor='AMD'>EPYC</model>
       <blockers model='EPYC'>
         <feature name='3dnowprefetch'/>
diff --git a/tests/domaincapsdata/qemu_7.0.0.x86_64.xml b/tests/domaincapsdata/qemu_7.0.0.x86_64.xml
index 3a1a978c23..e09ec98812 100644
--- a/tests/domaincapsdata/qemu_7.0.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_7.0.0.x86_64.xml
@@ -292,6 +292,8 @@
         <feature name='taa-no'/>
       </blockers>
       <model usable='yes' vendor='Hygon'>Dhyana</model>
+      <model usable='yes' vendor='Hygon'>Dhyana-v1</model>
+      <model usable='yes' vendor='Hygon'>Dhyana-v2</model>
       <model usable='yes' vendor='AMD'>EPYC</model>
       <model usable='yes' vendor='AMD'>EPYC-IBPB</model>
       <model usable='no' vendor='AMD'>EPYC-Milan</model>
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 098fbdca27..2e5d33077c 100644
--- a/tests/domaincapsdata/qemu_7.1.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_7.1.0-q35.x86_64.xml
@@ -294,6 +294,8 @@
         <feature name='taa-no'/>
       </blockers>
       <model usable='yes' vendor='Hygon'>Dhyana</model>
+      <model usable='yes' vendor='Hygon'>Dhyana-v1</model>
+      <model usable='yes' vendor='Hygon'>Dhyana-v2</model>
       <model usable='yes' vendor='AMD'>EPYC</model>
       <model usable='yes' vendor='AMD'>EPYC-IBPB</model>
       <model usable='no' vendor='AMD'>EPYC-Milan</model>
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 b85df16b90..d0bbbfb84c 100644
--- a/tests/domaincapsdata/qemu_7.1.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_7.1.0-tcg.x86_64.xml
@@ -498,6 +498,39 @@
         <feature name='topoext'/>
         <feature name='xsavec'/>
       </blockers>
+      <model usable='no' vendor='Hygon'>Dhyana-v1</model>
+      <blockers model='Dhyana-v1'>
+        <feature name='3dnowprefetch'/>
+        <feature name='avx'/>
+        <feature name='avx2'/>
+        <feature name='f16c'/>
+        <feature name='fma'/>
+        <feature name='fxsr_opt'/>
+        <feature name='ibpb'/>
+        <feature name='misalignsse'/>
+        <feature name='nrip-save'/>
+        <feature name='osvw'/>
+        <feature name='rdseed'/>
+        <feature name='topoext'/>
+        <feature name='xsavec'/>
+      </blockers>
+      <model usable='no' vendor='Hygon'>Dhyana-v2</model>
+      <blockers model='Dhyana-v2'>
+        <feature name='3dnowprefetch'/>
+        <feature name='avx'/>
+        <feature name='avx2'/>
+        <feature name='f16c'/>
+        <feature name='fma'/>
+        <feature name='fxsr_opt'/>
+        <feature name='ibpb'/>
+        <feature name='misalignsse'/>
+        <feature name='nrip-save'/>
+        <feature name='osvw'/>
+        <feature name='rdseed'/>
+        <feature name='topoext'/>
+        <feature name='xsavec'/>
+        <feature name='xsaves'/>
+      </blockers>
       <model usable='no' vendor='AMD'>EPYC</model>
       <blockers model='EPYC'>
         <feature name='3dnowprefetch'/>
diff --git a/tests/domaincapsdata/qemu_7.1.0.x86_64.xml b/tests/domaincapsdata/qemu_7.1.0.x86_64.xml
index 3a04e25551..7e70074801 100644
--- a/tests/domaincapsdata/qemu_7.1.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_7.1.0.x86_64.xml
@@ -293,6 +293,8 @@
         <feature name='taa-no'/>
       </blockers>
       <model usable='yes' vendor='Hygon'>Dhyana</model>
+      <model usable='yes' vendor='Hygon'>Dhyana-v1</model>
+      <model usable='yes' vendor='Hygon'>Dhyana-v2</model>
       <model usable='yes' vendor='AMD'>EPYC</model>
       <model usable='yes' vendor='AMD'>EPYC-IBPB</model>
       <model usable='no' vendor='AMD'>EPYC-Milan</model>
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 ec8423e43b..c82338a152 100644
--- a/tests/domaincapsdata/qemu_7.2.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_7.2.0-q35.x86_64.xml
@@ -299,6 +299,8 @@
         <feature name='taa-no'/>
       </blockers>
       <model usable='yes' vendor='Hygon'>Dhyana</model>
+      <model usable='yes' vendor='Hygon'>Dhyana-v1</model>
+      <model usable='yes' vendor='Hygon'>Dhyana-v2</model>
       <model usable='yes' vendor='AMD'>EPYC</model>
       <model usable='yes' vendor='AMD'>EPYC-IBPB</model>
       <model usable='no' vendor='AMD'>EPYC-Milan</model>
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 e168f79567..807921ded7 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
@@ -411,6 +411,31 @@
         <feature name='topoext'/>
         <feature name='xsavec'/>
       </blockers>
+      <model usable='no' vendor='Hygon'>Dhyana-v1</model>
+      <blockers model='Dhyana-v1'>
+        <feature name='3dnowprefetch'/>
+        <feature name='fxsr_opt'/>
+        <feature name='ibpb'/>
+        <feature name='misalignsse'/>
+        <feature name='nrip-save'/>
+        <feature name='osvw'/>
+        <feature name='rdseed'/>
+        <feature name='topoext'/>
+        <feature name='xsavec'/>
+      </blockers>
+      <model usable='no' vendor='Hygon'>Dhyana-v2</model>
+      <blockers model='Dhyana-v2'>
+        <feature name='3dnowprefetch'/>
+        <feature name='fxsr_opt'/>
+        <feature name='ibpb'/>
+        <feature name='misalignsse'/>
+        <feature name='nrip-save'/>
+        <feature name='osvw'/>
+        <feature name='rdseed'/>
+        <feature name='topoext'/>
+        <feature name='xsavec'/>
+        <feature name='xsaves'/>
+      </blockers>
       <model usable='no' vendor='AMD'>EPYC</model>
       <blockers model='EPYC'>
         <feature name='3dnowprefetch'/>
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 e168f79567..807921ded7 100644
--- a/tests/domaincapsdata/qemu_7.2.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_7.2.0-tcg.x86_64.xml
@@ -411,6 +411,31 @@
         <feature name='topoext'/>
         <feature name='xsavec'/>
       </blockers>
+      <model usable='no' vendor='Hygon'>Dhyana-v1</model>
+      <blockers model='Dhyana-v1'>
+        <feature name='3dnowprefetch'/>
+        <feature name='fxsr_opt'/>
+        <feature name='ibpb'/>
+        <feature name='misalignsse'/>
+        <feature name='nrip-save'/>
+        <feature name='osvw'/>
+        <feature name='rdseed'/>
+        <feature name='topoext'/>
+        <feature name='xsavec'/>
+      </blockers>
+      <model usable='no' vendor='Hygon'>Dhyana-v2</model>
+      <blockers model='Dhyana-v2'>
+        <feature name='3dnowprefetch'/>
+        <feature name='fxsr_opt'/>
+        <feature name='ibpb'/>
+        <feature name='misalignsse'/>
+        <feature name='nrip-save'/>
+        <feature name='osvw'/>
+        <feature name='rdseed'/>
+        <feature name='topoext'/>
+        <feature name='xsavec'/>
+        <feature name='xsaves'/>
+      </blockers>
       <model usable='no' vendor='AMD'>EPYC</model>
       <blockers model='EPYC'>
         <feature name='3dnowprefetch'/>
diff --git a/tests/domaincapsdata/qemu_7.2.0.x86_64.xml b/tests/domaincapsdata/qemu_7.2.0.x86_64.xml
index 75e02447fe..5777d97b0b 100644
--- a/tests/domaincapsdata/qemu_7.2.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_7.2.0.x86_64.xml
@@ -298,6 +298,8 @@
         <feature name='taa-no'/>
       </blockers>
       <model usable='yes' vendor='Hygon'>Dhyana</model>
+      <model usable='yes' vendor='Hygon'>Dhyana-v1</model>
+      <model usable='yes' vendor='Hygon'>Dhyana-v2</model>
       <model usable='yes' vendor='AMD'>EPYC</model>
       <model usable='yes' vendor='AMD'>EPYC-IBPB</model>
       <model usable='no' vendor='AMD'>EPYC-Milan</model>
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 5c07621f2c..f82602ad59 100644
--- a/tests/domaincapsdata/qemu_8.0.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_8.0.0-q35.x86_64.xml
@@ -299,6 +299,8 @@
         <feature name='taa-no'/>
       </blockers>
       <model usable='yes' vendor='Hygon'>Dhyana</model>
+      <model usable='yes' vendor='Hygon'>Dhyana-v1</model>
+      <model usable='yes' vendor='Hygon'>Dhyana-v2</model>
       <model usable='yes' vendor='AMD'>EPYC</model>
       <model usable='yes' vendor='AMD'>EPYC-IBPB</model>
       <model usable='no' vendor='AMD'>EPYC-Milan</model>
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 67472b8748..0c8c646225 100644
--- a/tests/domaincapsdata/qemu_8.0.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_8.0.0-tcg.x86_64.xml
@@ -415,6 +415,31 @@
         <feature name='topoext'/>
         <feature name='xsavec'/>
       </blockers>
+      <model usable='no' vendor='Hygon'>Dhyana-v1</model>
+      <blockers model='Dhyana-v1'>
+        <feature name='3dnowprefetch'/>
+        <feature name='fxsr_opt'/>
+        <feature name='ibpb'/>
+        <feature name='misalignsse'/>
+        <feature name='nrip-save'/>
+        <feature name='osvw'/>
+        <feature name='rdseed'/>
+        <feature name='topoext'/>
+        <feature name='xsavec'/>
+      </blockers>
+      <model usable='no' vendor='Hygon'>Dhyana-v2</model>
+      <blockers model='Dhyana-v2'>
+        <feature name='3dnowprefetch'/>
+        <feature name='fxsr_opt'/>
+        <feature name='ibpb'/>
+        <feature name='misalignsse'/>
+        <feature name='nrip-save'/>
+        <feature name='osvw'/>
+        <feature name='rdseed'/>
+        <feature name='topoext'/>
+        <feature name='xsavec'/>
+        <feature name='xsaves'/>
+      </blockers>
       <model usable='no' vendor='AMD'>EPYC</model>
       <blockers model='EPYC'>
         <feature name='3dnowprefetch'/>
diff --git a/tests/domaincapsdata/qemu_8.0.0.x86_64.xml b/tests/domaincapsdata/qemu_8.0.0.x86_64.xml
index 2d0a9adaca..70eae19ae8 100644
--- a/tests/domaincapsdata/qemu_8.0.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_8.0.0.x86_64.xml
@@ -298,6 +298,8 @@
         <feature name='taa-no'/>
       </blockers>
       <model usable='yes' vendor='Hygon'>Dhyana</model>
+      <model usable='yes' vendor='Hygon'>Dhyana-v1</model>
+      <model usable='yes' vendor='Hygon'>Dhyana-v2</model>
       <model usable='yes' vendor='AMD'>EPYC</model>
       <model usable='yes' vendor='AMD'>EPYC-IBPB</model>
       <model usable='no' vendor='AMD'>EPYC-Milan</model>
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 709d9e62d0..9927ec4c2d 100644
--- a/tests/domaincapsdata/qemu_8.1.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_8.1.0-q35.x86_64.xml
@@ -302,6 +302,11 @@
         <feature name='xsaves'/>
       </blockers>
       <model usable='yes' vendor='Hygon'>Dhyana</model>
+      <model usable='yes' vendor='Hygon'>Dhyana-v1</model>
+      <model usable='no' vendor='Hygon'>Dhyana-v2</model>
+      <blockers model='Dhyana-v2'>
+        <feature name='xsaves'/>
+      </blockers>
       <model usable='yes' vendor='AMD'>EPYC</model>
       <model usable='no' vendor='AMD'>EPYC-Genoa</model>
       <blockers model='EPYC-Genoa'>
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 33b9d64e41..4894fd23ea 100644
--- a/tests/domaincapsdata/qemu_8.1.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_8.1.0-tcg.x86_64.xml
@@ -340,6 +340,27 @@
         <feature name='topoext'/>
         <feature name='xsavec'/>
       </blockers>
+      <model usable='no' vendor='Hygon'>Dhyana-v1</model>
+      <blockers model='Dhyana-v1'>
+        <feature name='fxsr_opt'/>
+        <feature name='ibpb'/>
+        <feature name='misalignsse'/>
+        <feature name='nrip-save'/>
+        <feature name='osvw'/>
+        <feature name='topoext'/>
+        <feature name='xsavec'/>
+      </blockers>
+      <model usable='no' vendor='Hygon'>Dhyana-v2</model>
+      <blockers model='Dhyana-v2'>
+        <feature name='fxsr_opt'/>
+        <feature name='ibpb'/>
+        <feature name='misalignsse'/>
+        <feature name='nrip-save'/>
+        <feature name='osvw'/>
+        <feature name='topoext'/>
+        <feature name='xsavec'/>
+        <feature name='xsaves'/>
+      </blockers>
       <model usable='no' vendor='AMD'>EPYC</model>
       <blockers model='EPYC'>
         <feature name='fxsr_opt'/>
diff --git a/tests/domaincapsdata/qemu_8.1.0.x86_64.xml b/tests/domaincapsdata/qemu_8.1.0.x86_64.xml
index c222a8e73c..160014043c 100644
--- a/tests/domaincapsdata/qemu_8.1.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_8.1.0.x86_64.xml
@@ -301,6 +301,11 @@
         <feature name='xsaves'/>
       </blockers>
       <model usable='yes' vendor='Hygon'>Dhyana</model>
+      <model usable='yes' vendor='Hygon'>Dhyana-v1</model>
+      <model usable='no' vendor='Hygon'>Dhyana-v2</model>
+      <blockers model='Dhyana-v2'>
+        <feature name='xsaves'/>
+      </blockers>
       <model usable='yes' vendor='AMD'>EPYC</model>
       <model usable='no' vendor='AMD'>EPYC-Genoa</model>
       <blockers model='EPYC-Genoa'>
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 1026b39e47..ec07540e86 100644
--- a/tests/domaincapsdata/qemu_8.2.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_8.2.0-q35.x86_64.xml
@@ -303,6 +303,11 @@
         <feature name='xsaves'/>
       </blockers>
       <model usable='yes' vendor='Hygon'>Dhyana</model>
+      <model usable='yes' vendor='Hygon'>Dhyana-v1</model>
+      <model usable='no' vendor='Hygon'>Dhyana-v2</model>
+      <blockers model='Dhyana-v2'>
+        <feature name='xsaves'/>
+      </blockers>
       <model usable='yes' vendor='AMD'>EPYC</model>
       <model usable='no' vendor='AMD'>EPYC-Genoa</model>
       <blockers model='EPYC-Genoa'>
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 3eb98d85fb..e92f709cc4 100644
--- a/tests/domaincapsdata/qemu_8.2.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_8.2.0-tcg.x86_64.xml
@@ -339,6 +339,27 @@
         <feature name='topoext'/>
         <feature name='xsavec'/>
       </blockers>
+      <model usable='no' vendor='Hygon'>Dhyana-v1</model>
+      <blockers model='Dhyana-v1'>
+        <feature name='fxsr_opt'/>
+        <feature name='ibpb'/>
+        <feature name='misalignsse'/>
+        <feature name='nrip-save'/>
+        <feature name='osvw'/>
+        <feature name='topoext'/>
+        <feature name='xsavec'/>
+      </blockers>
+      <model usable='no' vendor='Hygon'>Dhyana-v2</model>
+      <blockers model='Dhyana-v2'>
+        <feature name='fxsr_opt'/>
+        <feature name='ibpb'/>
+        <feature name='misalignsse'/>
+        <feature name='nrip-save'/>
+        <feature name='osvw'/>
+        <feature name='topoext'/>
+        <feature name='xsavec'/>
+        <feature name='xsaves'/>
+      </blockers>
       <model usable='no' vendor='AMD'>EPYC</model>
       <blockers model='EPYC'>
         <feature name='fxsr_opt'/>
diff --git a/tests/domaincapsdata/qemu_8.2.0.x86_64.xml b/tests/domaincapsdata/qemu_8.2.0.x86_64.xml
index 1ab3f609dc..f19ddbb235 100644
--- a/tests/domaincapsdata/qemu_8.2.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_8.2.0.x86_64.xml
@@ -302,6 +302,11 @@
         <feature name='xsaves'/>
       </blockers>
       <model usable='yes' vendor='Hygon'>Dhyana</model>
+      <model usable='yes' vendor='Hygon'>Dhyana-v1</model>
+      <model usable='no' vendor='Hygon'>Dhyana-v2</model>
+      <blockers model='Dhyana-v2'>
+        <feature name='xsaves'/>
+      </blockers>
       <model usable='yes' vendor='AMD'>EPYC</model>
       <model usable='no' vendor='AMD'>EPYC-Genoa</model>
       <blockers model='EPYC-Genoa'>
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 56ce7c2724..40c9631d7a 100644
--- a/tests/domaincapsdata/qemu_9.0.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_9.0.0-q35.x86_64.xml
@@ -303,6 +303,11 @@
         <feature name='xsaves'/>
       </blockers>
       <model usable='yes' vendor='Hygon'>Dhyana</model>
+      <model usable='yes' vendor='Hygon'>Dhyana-v1</model>
+      <model usable='no' vendor='Hygon'>Dhyana-v2</model>
+      <blockers model='Dhyana-v2'>
+        <feature name='xsaves'/>
+      </blockers>
       <model usable='yes' vendor='AMD'>EPYC</model>
       <model usable='no' vendor='AMD'>EPYC-Genoa</model>
       <blockers model='EPYC-Genoa'>
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 5eda7e6b6a..2d54403aa3 100644
--- a/tests/domaincapsdata/qemu_9.0.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_9.0.0-tcg.x86_64.xml
@@ -323,6 +323,27 @@
         <feature name='topoext'/>
         <feature name='xsavec'/>
       </blockers>
+      <model usable='no' vendor='Hygon'>Dhyana-v1</model>
+      <blockers model='Dhyana-v1'>
+        <feature name='fxsr_opt'/>
+        <feature name='ibpb'/>
+        <feature name='misalignsse'/>
+        <feature name='nrip-save'/>
+        <feature name='osvw'/>
+        <feature name='topoext'/>
+        <feature name='xsavec'/>
+      </blockers>
+      <model usable='no' vendor='Hygon'>Dhyana-v2</model>
+      <blockers model='Dhyana-v2'>
+        <feature name='fxsr_opt'/>
+        <feature name='ibpb'/>
+        <feature name='misalignsse'/>
+        <feature name='nrip-save'/>
+        <feature name='osvw'/>
+        <feature name='topoext'/>
+        <feature name='xsavec'/>
+        <feature name='xsaves'/>
+      </blockers>
       <model usable='no' vendor='AMD'>EPYC</model>
       <blockers model='EPYC'>
         <feature name='fxsr_opt'/>
diff --git a/tests/domaincapsdata/qemu_9.0.0.x86_64.xml b/tests/domaincapsdata/qemu_9.0.0.x86_64.xml
index 976f596c15..cc7a9736c3 100644
--- a/tests/domaincapsdata/qemu_9.0.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_9.0.0.x86_64.xml
@@ -302,6 +302,11 @@
         <feature name='xsaves'/>
       </blockers>
       <model usable='yes' vendor='Hygon'>Dhyana</model>
+      <model usable='yes' vendor='Hygon'>Dhyana-v1</model>
+      <model usable='no' vendor='Hygon'>Dhyana-v2</model>
+      <blockers model='Dhyana-v2'>
+        <feature name='xsaves'/>
+      </blockers>
       <model usable='yes' vendor='AMD'>EPYC</model>
       <model usable='no' vendor='AMD'>EPYC-Genoa</model>
       <blockers model='EPYC-Genoa'>
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 c873a235ec..792d185461 100644
--- a/tests/domaincapsdata/qemu_9.1.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_9.1.0-q35.x86_64.xml
@@ -307,6 +307,11 @@
         <feature name='xsaves'/>
       </blockers>
       <model usable='yes' vendor='Hygon'>Dhyana</model>
+      <model usable='yes' vendor='Hygon'>Dhyana-v1</model>
+      <model usable='no' vendor='Hygon'>Dhyana-v2</model>
+      <blockers model='Dhyana-v2'>
+        <feature name='xsaves'/>
+      </blockers>
       <model usable='yes' vendor='AMD'>EPYC</model>
       <model usable='no' vendor='AMD'>EPYC-Genoa</model>
       <blockers model='EPYC-Genoa'>
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 d95d0ba293..849107d190 100644
--- a/tests/domaincapsdata/qemu_9.1.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_9.1.0-tcg.x86_64.xml
@@ -322,6 +322,27 @@
         <feature name='topoext'/>
         <feature name='xsavec'/>
       </blockers>
+      <model usable='no' vendor='Hygon'>Dhyana-v1</model>
+      <blockers model='Dhyana-v1'>
+        <feature name='fxsr_opt'/>
+        <feature name='ibpb'/>
+        <feature name='misalignsse'/>
+        <feature name='nrip-save'/>
+        <feature name='osvw'/>
+        <feature name='topoext'/>
+        <feature name='xsavec'/>
+      </blockers>
+      <model usable='no' vendor='Hygon'>Dhyana-v2</model>
+      <blockers model='Dhyana-v2'>
+        <feature name='fxsr_opt'/>
+        <feature name='ibpb'/>
+        <feature name='misalignsse'/>
+        <feature name='nrip-save'/>
+        <feature name='osvw'/>
+        <feature name='topoext'/>
+        <feature name='xsavec'/>
+        <feature name='xsaves'/>
+      </blockers>
       <model usable='no' vendor='AMD'>EPYC</model>
       <blockers model='EPYC'>
         <feature name='fxsr_opt'/>
diff --git a/tests/domaincapsdata/qemu_9.1.0.x86_64.xml b/tests/domaincapsdata/qemu_9.1.0.x86_64.xml
index 23693f8c7b..10970329ed 100644
--- a/tests/domaincapsdata/qemu_9.1.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_9.1.0.x86_64.xml
@@ -306,6 +306,11 @@
         <feature name='xsaves'/>
       </blockers>
       <model usable='yes' vendor='Hygon'>Dhyana</model>
+      <model usable='yes' vendor='Hygon'>Dhyana-v1</model>
+      <model usable='no' vendor='Hygon'>Dhyana-v2</model>
+      <blockers model='Dhyana-v2'>
+        <feature name='xsaves'/>
+      </blockers>
       <model usable='yes' vendor='AMD'>EPYC</model>
       <model usable='no' vendor='AMD'>EPYC-Genoa</model>
       <blockers model='EPYC-Genoa'>
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 fa59a9da8c..f6168900c1 100644
--- a/tests/domaincapsdata/qemu_9.2.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_9.2.0-q35.x86_64.xml
@@ -307,6 +307,11 @@
         <feature name='xsaves'/>
       </blockers>
       <model usable='yes' vendor='Hygon'>Dhyana</model>
+      <model usable='yes' vendor='Hygon'>Dhyana-v1</model>
+      <model usable='no' vendor='Hygon'>Dhyana-v2</model>
+      <blockers model='Dhyana-v2'>
+        <feature name='xsaves'/>
+      </blockers>
       <model usable='yes' vendor='AMD'>EPYC</model>
       <model usable='no' vendor='AMD'>EPYC-Genoa</model>
       <blockers model='EPYC-Genoa'>
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 66ab417d57..f64e7d4fea 100644
--- a/tests/domaincapsdata/qemu_9.2.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_9.2.0-tcg.x86_64.xml
@@ -322,6 +322,27 @@
         <feature name='topoext'/>
         <feature name='xsavec'/>
       </blockers>
+      <model usable='no' vendor='Hygon'>Dhyana-v1</model>
+      <blockers model='Dhyana-v1'>
+        <feature name='fxsr_opt'/>
+        <feature name='ibpb'/>
+        <feature name='misalignsse'/>
+        <feature name='nrip-save'/>
+        <feature name='osvw'/>
+        <feature name='topoext'/>
+        <feature name='xsavec'/>
+      </blockers>
+      <model usable='no' vendor='Hygon'>Dhyana-v2</model>
+      <blockers model='Dhyana-v2'>
+        <feature name='fxsr_opt'/>
+        <feature name='ibpb'/>
+        <feature name='misalignsse'/>
+        <feature name='nrip-save'/>
+        <feature name='osvw'/>
+        <feature name='topoext'/>
+        <feature name='xsavec'/>
+        <feature name='xsaves'/>
+      </blockers>
       <model usable='no' vendor='AMD'>EPYC</model>
       <blockers model='EPYC'>
         <feature name='fxsr_opt'/>
diff --git a/tests/domaincapsdata/qemu_9.2.0.x86_64.xml b/tests/domaincapsdata/qemu_9.2.0.x86_64.xml
index b85daad06a..0da1fcdab9 100644
--- a/tests/domaincapsdata/qemu_9.2.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_9.2.0.x86_64.xml
@@ -306,6 +306,11 @@
         <feature name='xsaves'/>
       </blockers>
       <model usable='yes' vendor='Hygon'>Dhyana</model>
+      <model usable='yes' vendor='Hygon'>Dhyana-v1</model>
+      <model usable='no' vendor='Hygon'>Dhyana-v2</model>
+      <blockers model='Dhyana-v2'>
+        <feature name='xsaves'/>
+      </blockers>
       <model usable='yes' vendor='AMD'>EPYC</model>
       <model usable='no' vendor='AMD'>EPYC-Genoa</model>
       <blockers model='EPYC-Genoa'>
-- 
2.47.0