Signed-off-by: Jiri Denemark <jdenemar(a)redhat.com>
---
Notes:
Version 2:
- <decode host='on' guest='off'/> for all versioned models
- canonical CPU models in domain capabilities
src/cpu_map/index.xml | 2 +
src/cpu_map/meson.build | 2 +
src/cpu_map/x86_Dhyana-v1.xml | 6 ++
src/cpu_map/x86_Dhyana-v2.xml | 73 +++++++++++++++++++
...6_64-cpuid-Hygon-C86-7185-32-core-host.xml | 5 +-
.../domaincapsdata/qemu_5.2.0-q35.x86_64.xml | 3 +-
.../domaincapsdata/qemu_5.2.0-tcg.x86_64.xml | 18 ++++-
tests/domaincapsdata/qemu_5.2.0.x86_64.xml | 3 +-
.../domaincapsdata/qemu_6.0.0-q35.x86_64.xml | 3 +-
.../domaincapsdata/qemu_6.0.0-tcg.x86_64.xml | 18 ++++-
tests/domaincapsdata/qemu_6.0.0.x86_64.xml | 3 +-
.../domaincapsdata/qemu_6.1.0-q35.x86_64.xml | 4 +-
.../domaincapsdata/qemu_6.1.0-tcg.x86_64.xml | 35 ++++++++-
tests/domaincapsdata/qemu_6.1.0.x86_64.xml | 4 +-
.../domaincapsdata/qemu_6.2.0-q35.x86_64.xml | 4 +-
.../domaincapsdata/qemu_6.2.0-tcg.x86_64.xml | 35 ++++++++-
tests/domaincapsdata/qemu_6.2.0.x86_64.xml | 4 +-
.../domaincapsdata/qemu_7.0.0-q35.x86_64.xml | 4 +-
.../domaincapsdata/qemu_7.0.0-tcg.x86_64.xml | 35 ++++++++-
tests/domaincapsdata/qemu_7.0.0.x86_64.xml | 4 +-
.../domaincapsdata/qemu_7.1.0-q35.x86_64.xml | 4 +-
.../domaincapsdata/qemu_7.1.0-tcg.x86_64.xml | 35 ++++++++-
tests/domaincapsdata/qemu_7.1.0.x86_64.xml | 4 +-
.../domaincapsdata/qemu_7.2.0-q35.x86_64.xml | 4 +-
.../qemu_7.2.0-tcg.x86_64+hvf.xml | 27 ++++++-
.../domaincapsdata/qemu_7.2.0-tcg.x86_64.xml | 27 ++++++-
tests/domaincapsdata/qemu_7.2.0.x86_64.xml | 4 +-
.../domaincapsdata/qemu_8.0.0-q35.x86_64.xml | 4 +-
.../domaincapsdata/qemu_8.0.0-tcg.x86_64.xml | 27 ++++++-
tests/domaincapsdata/qemu_8.0.0.x86_64.xml | 4 +-
.../domaincapsdata/qemu_8.1.0-q35.x86_64.xml | 7 +-
.../domaincapsdata/qemu_8.1.0-tcg.x86_64.xml | 23 +++++-
tests/domaincapsdata/qemu_8.1.0.x86_64.xml | 7 +-
.../domaincapsdata/qemu_8.2.0-q35.x86_64.xml | 7 +-
.../domaincapsdata/qemu_8.2.0-tcg.x86_64.xml | 23 +++++-
tests/domaincapsdata/qemu_8.2.0.x86_64.xml | 7 +-
.../domaincapsdata/qemu_9.0.0-q35.x86_64.xml | 7 +-
.../domaincapsdata/qemu_9.0.0-tcg.x86_64.xml | 23 +++++-
tests/domaincapsdata/qemu_9.0.0.x86_64.xml | 7 +-
.../domaincapsdata/qemu_9.1.0-q35.x86_64.xml | 7 +-
.../domaincapsdata/qemu_9.1.0-tcg.x86_64.xml | 23 +++++-
tests/domaincapsdata/qemu_9.1.0.x86_64.xml | 7 +-
.../domaincapsdata/qemu_9.2.0-q35.x86_64.xml | 7 +-
.../domaincapsdata/qemu_9.2.0-tcg.x86_64.xml | 23 +++++-
tests/domaincapsdata/qemu_9.2.0.x86_64.xml | 7 +-
45 files changed, 546 insertions(+), 44 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 182f78a31c..3d407856f2 100644
--- a/src/cpu_map/index.xml
+++ b/src/cpu_map/index.xml
@@ -139,6 +139,8 @@
<group name='Hygon CPU models'>
<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..e66ba6cce0
--- /dev/null
+++ b/src/cpu_map/x86_Dhyana-v1.xml
@@ -0,0 +1,6 @@
+<cpus>
+ <model name='Dhyana-v1'>
+ <decode host='on' 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..725c61641d
--- /dev/null
+++ b/src/cpu_map/x86_Dhyana-v2.xml
@@ -0,0 +1,73 @@
+<cpus>
+ <model name='Dhyana-v2'>
+ <decode host='on' guest='off'/>
+ <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-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/domaincapsdata/qemu_5.2.0-q35.x86_64.xml
b/tests/domaincapsdata/qemu_5.2.0-q35.x86_64.xml
index ce31b01600..98e582a3fa 100644
--- a/tests/domaincapsdata/qemu_5.2.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_5.2.0-q35.x86_64.xml
@@ -256,7 +256,8 @@
<feature name='spec-ctrl'/>
<feature name='taa-no'/>
</blockers>
- <model usable='yes' vendor='Hygon'>Dhyana</model>
+ <model usable='yes' vendor='Hygon'
canonical='Dhyana-v1'>Dhyana</model>
+ <model usable='yes' vendor='Hygon'>Dhyana-v1</model>
<model usable='yes' vendor='AMD'
canonical='EPYC-v1'>EPYC</model>
<model usable='yes' vendor='AMD'
canonical='EPYC-v2'>EPYC-IBPB</model>
<model usable='yes' vendor='AMD'
canonical='EPYC-Rome-v1'>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 4e3e6c194f..117afc9e3d 100644
--- a/tests/domaincapsdata/qemu_5.2.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_5.2.0-tcg.x86_64.xml
@@ -416,7 +416,7 @@
<feature name='x2apic'/>
<feature name='xsavec'/>
</blockers>
- <model usable='no' vendor='Hygon'>Dhyana</model>
+ <model usable='no' vendor='Hygon'
canonical='Dhyana-v1'>Dhyana</model>
<blockers model='Dhyana'>
<feature name='3dnowprefetch'/>
<feature name='avx'/>
@@ -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'
canonical='EPYC-v1'>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 bf17e1504c..4fdcad62a0 100644
--- a/tests/domaincapsdata/qemu_5.2.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_5.2.0.x86_64.xml
@@ -255,7 +255,8 @@
<feature name='spec-ctrl'/>
<feature name='taa-no'/>
</blockers>
- <model usable='yes' vendor='Hygon'>Dhyana</model>
+ <model usable='yes' vendor='Hygon'
canonical='Dhyana-v1'>Dhyana</model>
+ <model usable='yes' vendor='Hygon'>Dhyana-v1</model>
<model usable='yes' vendor='AMD'
canonical='EPYC-v1'>EPYC</model>
<model usable='yes' vendor='AMD'
canonical='EPYC-v2'>EPYC-IBPB</model>
<model usable='yes' vendor='AMD'
canonical='EPYC-Rome-v1'>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 2d612e907f..b87ee141c5 100644
--- a/tests/domaincapsdata/qemu_6.0.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.0.0-q35.x86_64.xml
@@ -256,7 +256,8 @@
<feature name='spec-ctrl'/>
<feature name='taa-no'/>
</blockers>
- <model usable='yes' vendor='Hygon'>Dhyana</model>
+ <model usable='yes' vendor='Hygon'
canonical='Dhyana-v1'>Dhyana</model>
+ <model usable='yes' vendor='Hygon'>Dhyana-v1</model>
<model usable='yes' vendor='AMD'
canonical='EPYC-v1'>EPYC</model>
<model usable='yes' vendor='AMD'
canonical='EPYC-v2'>EPYC-IBPB</model>
<model usable='no' vendor='AMD'
canonical='EPYC-Milan-v1'>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 51ed9249c8..e3e8183706 100644
--- a/tests/domaincapsdata/qemu_6.0.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.0.0-tcg.x86_64.xml
@@ -417,7 +417,7 @@
<feature name='x2apic'/>
<feature name='xsavec'/>
</blockers>
- <model usable='no' vendor='Hygon'>Dhyana</model>
+ <model usable='no' vendor='Hygon'
canonical='Dhyana-v1'>Dhyana</model>
<blockers model='Dhyana'>
<feature name='3dnowprefetch'/>
<feature name='avx'/>
@@ -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'
canonical='EPYC-v1'>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 7265521af9..061443eed5 100644
--- a/tests/domaincapsdata/qemu_6.0.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.0.0.x86_64.xml
@@ -255,7 +255,8 @@
<feature name='spec-ctrl'/>
<feature name='taa-no'/>
</blockers>
- <model usable='yes' vendor='Hygon'>Dhyana</model>
+ <model usable='yes' vendor='Hygon'
canonical='Dhyana-v1'>Dhyana</model>
+ <model usable='yes' vendor='Hygon'>Dhyana-v1</model>
<model usable='yes' vendor='AMD'
canonical='EPYC-v1'>EPYC</model>
<model usable='yes' vendor='AMD'
canonical='EPYC-v2'>EPYC-IBPB</model>
<model usable='no' vendor='AMD'
canonical='EPYC-Milan-v1'>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 f560160fe8..1b8adc0a72 100644
--- a/tests/domaincapsdata/qemu_6.1.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.1.0-q35.x86_64.xml
@@ -294,7 +294,9 @@
<feature name='spec-ctrl'/>
<feature name='taa-no'/>
</blockers>
- <model usable='yes' vendor='Hygon'>Dhyana</model>
+ <model usable='yes' vendor='Hygon'
canonical='Dhyana-v1'>Dhyana</model>
+ <model usable='yes' vendor='Hygon'>Dhyana-v1</model>
+ <model usable='yes' vendor='Hygon'>Dhyana-v2</model>
<model usable='yes' vendor='AMD'
canonical='EPYC-v1'>EPYC</model>
<model usable='yes' vendor='AMD'
canonical='EPYC-v2'>EPYC-IBPB</model>
<model usable='no' vendor='AMD'
canonical='EPYC-Milan-v1'>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 9e7d561505..d701015606 100644
--- a/tests/domaincapsdata/qemu_6.1.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.1.0-tcg.x86_64.xml
@@ -482,7 +482,7 @@
<feature name='xsavec'/>
<feature name='xsaves'/>
</blockers>
- <model usable='no' vendor='Hygon'>Dhyana</model>
+ <model usable='no' vendor='Hygon'
canonical='Dhyana-v1'>Dhyana</model>
<blockers model='Dhyana'>
<feature name='3dnowprefetch'/>
<feature name='avx'/>
@@ -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'
canonical='EPYC-v1'>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 7f688a81d2..29d0301445 100644
--- a/tests/domaincapsdata/qemu_6.1.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.1.0.x86_64.xml
@@ -293,7 +293,9 @@
<feature name='spec-ctrl'/>
<feature name='taa-no'/>
</blockers>
- <model usable='yes' vendor='Hygon'>Dhyana</model>
+ <model usable='yes' vendor='Hygon'
canonical='Dhyana-v1'>Dhyana</model>
+ <model usable='yes' vendor='Hygon'>Dhyana-v1</model>
+ <model usable='yes' vendor='Hygon'>Dhyana-v2</model>
<model usable='yes' vendor='AMD'
canonical='EPYC-v1'>EPYC</model>
<model usable='yes' vendor='AMD'
canonical='EPYC-v2'>EPYC-IBPB</model>
<model usable='no' vendor='AMD'
canonical='EPYC-Milan-v1'>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 50ec29a6e9..0f64e1e753 100644
--- a/tests/domaincapsdata/qemu_6.2.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.2.0-q35.x86_64.xml
@@ -291,7 +291,9 @@
<feature name='spec-ctrl'/>
<feature name='taa-no'/>
</blockers>
- <model usable='yes' vendor='Hygon'>Dhyana</model>
+ <model usable='yes' vendor='Hygon'
canonical='Dhyana-v1'>Dhyana</model>
+ <model usable='yes' vendor='Hygon'>Dhyana-v1</model>
+ <model usable='yes' vendor='Hygon'>Dhyana-v2</model>
<model usable='yes' vendor='AMD'
canonical='EPYC-v1'>EPYC</model>
<model usable='yes' vendor='AMD'
canonical='EPYC-v2'>EPYC-IBPB</model>
<model usable='no' vendor='AMD'
canonical='EPYC-Milan-v1'>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 cbec1913d2..0d362cdc6e 100644
--- a/tests/domaincapsdata/qemu_6.2.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.2.0-tcg.x86_64.xml
@@ -481,7 +481,7 @@
<feature name='xsavec'/>
<feature name='xsaves'/>
</blockers>
- <model usable='no' vendor='Hygon'>Dhyana</model>
+ <model usable='no' vendor='Hygon'
canonical='Dhyana-v1'>Dhyana</model>
<blockers model='Dhyana'>
<feature name='3dnowprefetch'/>
<feature name='avx'/>
@@ -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'
canonical='EPYC-v1'>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 08c95bcb4e..b52eaf845a 100644
--- a/tests/domaincapsdata/qemu_6.2.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.2.0.x86_64.xml
@@ -290,7 +290,9 @@
<feature name='spec-ctrl'/>
<feature name='taa-no'/>
</blockers>
- <model usable='yes' vendor='Hygon'>Dhyana</model>
+ <model usable='yes' vendor='Hygon'
canonical='Dhyana-v1'>Dhyana</model>
+ <model usable='yes' vendor='Hygon'>Dhyana-v1</model>
+ <model usable='yes' vendor='Hygon'>Dhyana-v2</model>
<model usable='yes' vendor='AMD'
canonical='EPYC-v1'>EPYC</model>
<model usable='yes' vendor='AMD'
canonical='EPYC-v2'>EPYC-IBPB</model>
<model usable='no' vendor='AMD'
canonical='EPYC-Milan-v1'>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 378b628d4c..bb10641bad 100644
--- a/tests/domaincapsdata/qemu_7.0.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_7.0.0-q35.x86_64.xml
@@ -292,7 +292,9 @@
<feature name='spec-ctrl'/>
<feature name='taa-no'/>
</blockers>
- <model usable='yes' vendor='Hygon'>Dhyana</model>
+ <model usable='yes' vendor='Hygon'
canonical='Dhyana-v1'>Dhyana</model>
+ <model usable='yes' vendor='Hygon'>Dhyana-v1</model>
+ <model usable='yes' vendor='Hygon'>Dhyana-v2</model>
<model usable='yes' vendor='AMD'
canonical='EPYC-v1'>EPYC</model>
<model usable='yes' vendor='AMD'
canonical='EPYC-v2'>EPYC-IBPB</model>
<model usable='no' vendor='AMD'
canonical='EPYC-Milan-v1'>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 ae042caffe..a1815a02d4 100644
--- a/tests/domaincapsdata/qemu_7.0.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_7.0.0-tcg.x86_64.xml
@@ -482,7 +482,7 @@
<feature name='xsavec'/>
<feature name='xsaves'/>
</blockers>
- <model usable='no' vendor='Hygon'>Dhyana</model>
+ <model usable='no' vendor='Hygon'
canonical='Dhyana-v1'>Dhyana</model>
<blockers model='Dhyana'>
<feature name='3dnowprefetch'/>
<feature name='avx'/>
@@ -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'
canonical='EPYC-v1'>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 50d86eac32..07066fa172 100644
--- a/tests/domaincapsdata/qemu_7.0.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_7.0.0.x86_64.xml
@@ -291,7 +291,9 @@
<feature name='spec-ctrl'/>
<feature name='taa-no'/>
</blockers>
- <model usable='yes' vendor='Hygon'>Dhyana</model>
+ <model usable='yes' vendor='Hygon'
canonical='Dhyana-v1'>Dhyana</model>
+ <model usable='yes' vendor='Hygon'>Dhyana-v1</model>
+ <model usable='yes' vendor='Hygon'>Dhyana-v2</model>
<model usable='yes' vendor='AMD'
canonical='EPYC-v1'>EPYC</model>
<model usable='yes' vendor='AMD'
canonical='EPYC-v2'>EPYC-IBPB</model>
<model usable='no' vendor='AMD'
canonical='EPYC-Milan-v1'>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 174df21fb9..f9cac9b1b1 100644
--- a/tests/domaincapsdata/qemu_7.1.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_7.1.0-q35.x86_64.xml
@@ -293,7 +293,9 @@
<feature name='spec-ctrl'/>
<feature name='taa-no'/>
</blockers>
- <model usable='yes' vendor='Hygon'>Dhyana</model>
+ <model usable='yes' vendor='Hygon'
canonical='Dhyana-v1'>Dhyana</model>
+ <model usable='yes' vendor='Hygon'>Dhyana-v1</model>
+ <model usable='yes' vendor='Hygon'>Dhyana-v2</model>
<model usable='yes' vendor='AMD'
canonical='EPYC-v1'>EPYC</model>
<model usable='yes' vendor='AMD'
canonical='EPYC-v2'>EPYC-IBPB</model>
<model usable='no' vendor='AMD'
canonical='EPYC-Milan-v1'>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 cc90068b2a..7dfd3fd953 100644
--- a/tests/domaincapsdata/qemu_7.1.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_7.1.0-tcg.x86_64.xml
@@ -482,7 +482,7 @@
<feature name='xsavec'/>
<feature name='xsaves'/>
</blockers>
- <model usable='no' vendor='Hygon'>Dhyana</model>
+ <model usable='no' vendor='Hygon'
canonical='Dhyana-v1'>Dhyana</model>
<blockers model='Dhyana'>
<feature name='3dnowprefetch'/>
<feature name='avx'/>
@@ -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'
canonical='EPYC-v1'>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 b632a42369..9f274cbe82 100644
--- a/tests/domaincapsdata/qemu_7.1.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_7.1.0.x86_64.xml
@@ -292,7 +292,9 @@
<feature name='spec-ctrl'/>
<feature name='taa-no'/>
</blockers>
- <model usable='yes' vendor='Hygon'>Dhyana</model>
+ <model usable='yes' vendor='Hygon'
canonical='Dhyana-v1'>Dhyana</model>
+ <model usable='yes' vendor='Hygon'>Dhyana-v1</model>
+ <model usable='yes' vendor='Hygon'>Dhyana-v2</model>
<model usable='yes' vendor='AMD'
canonical='EPYC-v1'>EPYC</model>
<model usable='yes' vendor='AMD'
canonical='EPYC-v2'>EPYC-IBPB</model>
<model usable='no' vendor='AMD'
canonical='EPYC-Milan-v1'>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 b001cb4a5e..db43a92b4a 100644
--- a/tests/domaincapsdata/qemu_7.2.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_7.2.0-q35.x86_64.xml
@@ -298,7 +298,9 @@
<feature name='spec-ctrl'/>
<feature name='taa-no'/>
</blockers>
- <model usable='yes' vendor='Hygon'>Dhyana</model>
+ <model usable='yes' vendor='Hygon'
canonical='Dhyana-v1'>Dhyana</model>
+ <model usable='yes' vendor='Hygon'>Dhyana-v1</model>
+ <model usable='yes' vendor='Hygon'>Dhyana-v2</model>
<model usable='yes' vendor='AMD'
canonical='EPYC-v1'>EPYC</model>
<model usable='yes' vendor='AMD'
canonical='EPYC-v2'>EPYC-IBPB</model>
<model usable='no' vendor='AMD'
canonical='EPYC-Milan-v1'>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 880699c148..a698de759e 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
@@ -399,7 +399,7 @@
<feature name='xsavec'/>
<feature name='xsaves'/>
</blockers>
- <model usable='no' vendor='Hygon'>Dhyana</model>
+ <model usable='no' vendor='Hygon'
canonical='Dhyana-v1'>Dhyana</model>
<blockers model='Dhyana'>
<feature name='3dnowprefetch'/>
<feature name='fxsr_opt'/>
@@ -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'
canonical='EPYC-v1'>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 880699c148..a698de759e 100644
--- a/tests/domaincapsdata/qemu_7.2.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_7.2.0-tcg.x86_64.xml
@@ -399,7 +399,7 @@
<feature name='xsavec'/>
<feature name='xsaves'/>
</blockers>
- <model usable='no' vendor='Hygon'>Dhyana</model>
+ <model usable='no' vendor='Hygon'
canonical='Dhyana-v1'>Dhyana</model>
<blockers model='Dhyana'>
<feature name='3dnowprefetch'/>
<feature name='fxsr_opt'/>
@@ -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'
canonical='EPYC-v1'>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 10812e4a76..cee9d73d5f 100644
--- a/tests/domaincapsdata/qemu_7.2.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_7.2.0.x86_64.xml
@@ -297,7 +297,9 @@
<feature name='spec-ctrl'/>
<feature name='taa-no'/>
</blockers>
- <model usable='yes' vendor='Hygon'>Dhyana</model>
+ <model usable='yes' vendor='Hygon'
canonical='Dhyana-v1'>Dhyana</model>
+ <model usable='yes' vendor='Hygon'>Dhyana-v1</model>
+ <model usable='yes' vendor='Hygon'>Dhyana-v2</model>
<model usable='yes' vendor='AMD'
canonical='EPYC-v1'>EPYC</model>
<model usable='yes' vendor='AMD'
canonical='EPYC-v2'>EPYC-IBPB</model>
<model usable='no' vendor='AMD'
canonical='EPYC-Milan-v1'>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 528ea3e587..04b7da20dd 100644
--- a/tests/domaincapsdata/qemu_8.0.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_8.0.0-q35.x86_64.xml
@@ -298,7 +298,9 @@
<feature name='spec-ctrl'/>
<feature name='taa-no'/>
</blockers>
- <model usable='yes' vendor='Hygon'>Dhyana</model>
+ <model usable='yes' vendor='Hygon'
canonical='Dhyana-v1'>Dhyana</model>
+ <model usable='yes' vendor='Hygon'>Dhyana-v1</model>
+ <model usable='yes' vendor='Hygon'>Dhyana-v2</model>
<model usable='yes' vendor='AMD'
canonical='EPYC-v1'>EPYC</model>
<model usable='yes' vendor='AMD'
canonical='EPYC-v2'>EPYC-IBPB</model>
<model usable='no' vendor='AMD'
canonical='EPYC-Milan-v1'>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 7f84682bce..dd94e659ff 100644
--- a/tests/domaincapsdata/qemu_8.0.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_8.0.0-tcg.x86_64.xml
@@ -403,7 +403,7 @@
<feature name='xsavec'/>
<feature name='xsaves'/>
</blockers>
- <model usable='no' vendor='Hygon'>Dhyana</model>
+ <model usable='no' vendor='Hygon'
canonical='Dhyana-v1'>Dhyana</model>
<blockers model='Dhyana'>
<feature name='3dnowprefetch'/>
<feature name='fxsr_opt'/>
@@ -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'
canonical='EPYC-v1'>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 09226bc699..8aa2143683 100644
--- a/tests/domaincapsdata/qemu_8.0.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_8.0.0.x86_64.xml
@@ -297,7 +297,9 @@
<feature name='spec-ctrl'/>
<feature name='taa-no'/>
</blockers>
- <model usable='yes' vendor='Hygon'>Dhyana</model>
+ <model usable='yes' vendor='Hygon'
canonical='Dhyana-v1'>Dhyana</model>
+ <model usable='yes' vendor='Hygon'>Dhyana-v1</model>
+ <model usable='yes' vendor='Hygon'>Dhyana-v2</model>
<model usable='yes' vendor='AMD'
canonical='EPYC-v1'>EPYC</model>
<model usable='yes' vendor='AMD'
canonical='EPYC-v2'>EPYC-IBPB</model>
<model usable='no' vendor='AMD'
canonical='EPYC-Milan-v1'>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 f039bc6615..29d516ff63 100644
--- a/tests/domaincapsdata/qemu_8.1.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_8.1.0-q35.x86_64.xml
@@ -302,7 +302,12 @@
<feature name='taa-no'/>
<feature name='xsaves'/>
</blockers>
- <model usable='yes' vendor='Hygon'>Dhyana</model>
+ <model usable='yes' vendor='Hygon'
canonical='Dhyana-v1'>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'
canonical='EPYC-v1'>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 b709406703..069bdcbc94 100644
--- a/tests/domaincapsdata/qemu_8.1.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_8.1.0-tcg.x86_64.xml
@@ -330,7 +330,7 @@
<feature name='xsavec'/>
<feature name='xsaves'/>
</blockers>
- <model usable='no' vendor='Hygon'>Dhyana</model>
+ <model usable='no' vendor='Hygon'
canonical='Dhyana-v1'>Dhyana</model>
<blockers model='Dhyana'>
<feature name='fxsr_opt'/>
<feature name='ibpb'/>
@@ -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'
canonical='EPYC-v1'>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 3af606f714..a230a2871a 100644
--- a/tests/domaincapsdata/qemu_8.1.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_8.1.0.x86_64.xml
@@ -301,7 +301,12 @@
<feature name='taa-no'/>
<feature name='xsaves'/>
</blockers>
- <model usable='yes' vendor='Hygon'>Dhyana</model>
+ <model usable='yes' vendor='Hygon'
canonical='Dhyana-v1'>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'
canonical='EPYC-v1'>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 ce59c65721..802b2da614 100644
--- a/tests/domaincapsdata/qemu_8.2.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_8.2.0-q35.x86_64.xml
@@ -303,7 +303,12 @@
<feature name='taa-no'/>
<feature name='xsaves'/>
</blockers>
- <model usable='yes' vendor='Hygon'>Dhyana</model>
+ <model usable='yes' vendor='Hygon'
canonical='Dhyana-v1'>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'
canonical='EPYC-v1'>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 a3bdc02c81..7820f8abf6 100644
--- a/tests/domaincapsdata/qemu_8.2.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_8.2.0-tcg.x86_64.xml
@@ -329,7 +329,7 @@
<feature name='xsavec'/>
<feature name='xsaves'/>
</blockers>
- <model usable='no' vendor='Hygon'>Dhyana</model>
+ <model usable='no' vendor='Hygon'
canonical='Dhyana-v1'>Dhyana</model>
<blockers model='Dhyana'>
<feature name='fxsr_opt'/>
<feature name='ibpb'/>
@@ -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'
canonical='EPYC-v1'>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 6f903dda95..1bcde20491 100644
--- a/tests/domaincapsdata/qemu_8.2.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_8.2.0.x86_64.xml
@@ -302,7 +302,12 @@
<feature name='taa-no'/>
<feature name='xsaves'/>
</blockers>
- <model usable='yes' vendor='Hygon'>Dhyana</model>
+ <model usable='yes' vendor='Hygon'
canonical='Dhyana-v1'>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'
canonical='EPYC-v1'>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 83b1f419db..4e930aa816 100644
--- a/tests/domaincapsdata/qemu_9.0.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_9.0.0-q35.x86_64.xml
@@ -303,7 +303,12 @@
<feature name='taa-no'/>
<feature name='xsaves'/>
</blockers>
- <model usable='yes' vendor='Hygon'>Dhyana</model>
+ <model usable='yes' vendor='Hygon'
canonical='Dhyana-v1'>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'
canonical='EPYC-v1'>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 46841fcb2d..c5b9ae2c72 100644
--- a/tests/domaincapsdata/qemu_9.0.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_9.0.0-tcg.x86_64.xml
@@ -313,7 +313,7 @@
<feature name='xsavec'/>
<feature name='xsaves'/>
</blockers>
- <model usable='no' vendor='Hygon'>Dhyana</model>
+ <model usable='no' vendor='Hygon'
canonical='Dhyana-v1'>Dhyana</model>
<blockers model='Dhyana'>
<feature name='fxsr_opt'/>
<feature name='ibpb'/>
@@ -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'
canonical='EPYC-v1'>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 7522de5d44..3698ada044 100644
--- a/tests/domaincapsdata/qemu_9.0.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_9.0.0.x86_64.xml
@@ -302,7 +302,12 @@
<feature name='taa-no'/>
<feature name='xsaves'/>
</blockers>
- <model usable='yes' vendor='Hygon'>Dhyana</model>
+ <model usable='yes' vendor='Hygon'
canonical='Dhyana-v1'>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'
canonical='EPYC-v1'>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 4c348b0959..7641d2a036 100644
--- a/tests/domaincapsdata/qemu_9.1.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_9.1.0-q35.x86_64.xml
@@ -307,7 +307,12 @@
<feature name='taa-no'/>
<feature name='xsaves'/>
</blockers>
- <model usable='yes' vendor='Hygon'>Dhyana</model>
+ <model usable='yes' vendor='Hygon'
canonical='Dhyana-v1'>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'
canonical='EPYC-v1'>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 c2fa795f1e..de8157fb95 100644
--- a/tests/domaincapsdata/qemu_9.1.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_9.1.0-tcg.x86_64.xml
@@ -312,7 +312,7 @@
<feature name='xsavec'/>
<feature name='xsaves'/>
</blockers>
- <model usable='no' vendor='Hygon'>Dhyana</model>
+ <model usable='no' vendor='Hygon'
canonical='Dhyana-v1'>Dhyana</model>
<blockers model='Dhyana'>
<feature name='fxsr_opt'/>
<feature name='ibpb'/>
@@ -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'
canonical='EPYC-v1'>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 2ad2bd6ba1..d9aa3a5e7d 100644
--- a/tests/domaincapsdata/qemu_9.1.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_9.1.0.x86_64.xml
@@ -306,7 +306,12 @@
<feature name='taa-no'/>
<feature name='xsaves'/>
</blockers>
- <model usable='yes' vendor='Hygon'>Dhyana</model>
+ <model usable='yes' vendor='Hygon'
canonical='Dhyana-v1'>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'
canonical='EPYC-v1'>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 68bb1b3572..582b57b013 100644
--- a/tests/domaincapsdata/qemu_9.2.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_9.2.0-q35.x86_64.xml
@@ -307,7 +307,12 @@
<feature name='taa-no'/>
<feature name='xsaves'/>
</blockers>
- <model usable='yes' vendor='Hygon'>Dhyana</model>
+ <model usable='yes' vendor='Hygon'
canonical='Dhyana-v1'>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'
canonical='EPYC-v1'>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 66547e4adc..5bb387d434 100644
--- a/tests/domaincapsdata/qemu_9.2.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_9.2.0-tcg.x86_64.xml
@@ -312,7 +312,7 @@
<feature name='xsavec'/>
<feature name='xsaves'/>
</blockers>
- <model usable='no' vendor='Hygon'>Dhyana</model>
+ <model usable='no' vendor='Hygon'
canonical='Dhyana-v1'>Dhyana</model>
<blockers model='Dhyana'>
<feature name='fxsr_opt'/>
<feature name='ibpb'/>
@@ -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'
canonical='EPYC-v1'>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 f757e52446..0d1837bc2c 100644
--- a/tests/domaincapsdata/qemu_9.2.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_9.2.0.x86_64.xml
@@ -306,7 +306,12 @@
<feature name='taa-no'/>
<feature name='xsaves'/>
</blockers>
- <model usable='yes' vendor='Hygon'>Dhyana</model>
+ <model usable='yes' vendor='Hygon'
canonical='Dhyana-v1'>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'
canonical='EPYC-v1'>EPYC</model>
<model usable='no' vendor='AMD'>EPYC-Genoa</model>
<blockers model='EPYC-Genoa'>
--
2.47.0