Signed-off-by: Jiri Denemark <jdenemar(a)redhat.com>
---
Notes:
Version 2:
- EPYC-v2 defined as EPYC-IBPB
- <decode host='on' guest='off'/> for all versioned models
- canonical CPU models in domain capabilities
- CPU models are no longer canonicalized in post-parse
src/cpu_map/index.xml | 4 +
src/cpu_map/meson.build | 4 +
src/cpu_map/x86_EPYC-v1.xml | 6 ++
src/cpu_map/x86_EPYC-v2.xml | 6 ++
src/cpu_map/x86_EPYC-v3.xml | 79 +++++++++++++++++++
src/cpu_map/x86_EPYC-v4.xml | 79 +++++++++++++++++++
.../x86_64-cpuid-EPYC-7601-32-Core-host.xml | 2 +-
...6_64-cpuid-EPYC-7601-32-Core-ibpb-host.xml | 8 +-
...64-cpuid-Ryzen-7-1800X-Eight-Core-host.xml | 2 +-
.../domaincapsdata/qemu_5.2.0-q35.x86_64.xml | 7 +-
.../domaincapsdata/qemu_5.2.0-tcg.x86_64.xml | 58 +++++++++++++-
tests/domaincapsdata/qemu_5.2.0.x86_64.xml | 7 +-
.../domaincapsdata/qemu_6.0.0-q35.x86_64.xml | 7 +-
.../domaincapsdata/qemu_6.0.0-tcg.x86_64.xml | 58 +++++++++++++-
tests/domaincapsdata/qemu_6.0.0.x86_64.xml | 7 +-
.../domaincapsdata/qemu_6.1.0-q35.x86_64.xml | 7 +-
.../domaincapsdata/qemu_6.1.0-tcg.x86_64.xml | 58 +++++++++++++-
tests/domaincapsdata/qemu_6.1.0.x86_64.xml | 7 +-
.../domaincapsdata/qemu_6.2.0-q35.x86_64.xml | 7 +-
.../domaincapsdata/qemu_6.2.0-tcg.x86_64.xml | 58 +++++++++++++-
tests/domaincapsdata/qemu_6.2.0.x86_64.xml | 7 +-
.../domaincapsdata/qemu_7.0.0-q35.x86_64.xml | 7 +-
.../domaincapsdata/qemu_7.0.0-tcg.x86_64.xml | 58 +++++++++++++-
tests/domaincapsdata/qemu_7.0.0.x86_64.xml | 7 +-
.../domaincapsdata/qemu_7.1.0-q35.x86_64.xml | 7 +-
.../domaincapsdata/qemu_7.1.0-tcg.x86_64.xml | 58 +++++++++++++-
tests/domaincapsdata/qemu_7.1.0.x86_64.xml | 7 +-
.../domaincapsdata/qemu_7.2.0-q35.x86_64.xml | 7 +-
.../qemu_7.2.0-tcg.x86_64+hvf.xml | 46 ++++++++++-
.../domaincapsdata/qemu_7.2.0-tcg.x86_64.xml | 46 ++++++++++-
tests/domaincapsdata/qemu_7.2.0.x86_64.xml | 7 +-
.../domaincapsdata/qemu_8.0.0-q35.x86_64.xml | 7 +-
.../domaincapsdata/qemu_8.0.0-tcg.x86_64.xml | 46 ++++++++++-
tests/domaincapsdata/qemu_8.0.0.x86_64.xml | 7 +-
.../domaincapsdata/qemu_8.1.0-q35.x86_64.xml | 14 +++-
.../domaincapsdata/qemu_8.1.0-tcg.x86_64.xml | 53 ++++++++++++-
tests/domaincapsdata/qemu_8.1.0.x86_64.xml | 14 +++-
.../domaincapsdata/qemu_8.2.0-q35.x86_64.xml | 14 +++-
.../domaincapsdata/qemu_8.2.0-tcg.x86_64.xml | 49 +++++++++++-
tests/domaincapsdata/qemu_8.2.0.x86_64.xml | 14 +++-
.../domaincapsdata/qemu_9.0.0-q35.x86_64.xml | 14 +++-
.../domaincapsdata/qemu_9.0.0-tcg.x86_64.xml | 49 +++++++++++-
tests/domaincapsdata/qemu_9.0.0.x86_64.xml | 14 +++-
.../domaincapsdata/qemu_9.1.0-q35.x86_64.xml | 14 +++-
.../domaincapsdata/qemu_9.1.0-tcg.x86_64.xml | 49 +++++++++++-
tests/domaincapsdata/qemu_9.1.0.x86_64.xml | 14 +++-
.../domaincapsdata/qemu_9.2.0-q35.x86_64.xml | 14 +++-
.../domaincapsdata/qemu_9.2.0-tcg.x86_64.xml | 49 +++++++++++-
tests/domaincapsdata/qemu_9.2.0.x86_64.xml | 14 +++-
49 files changed, 1088 insertions(+), 89 deletions(-)
create mode 100644 src/cpu_map/x86_EPYC-v1.xml
create mode 100644 src/cpu_map/x86_EPYC-v2.xml
create mode 100644 src/cpu_map/x86_EPYC-v3.xml
create mode 100644 src/cpu_map/x86_EPYC-v4.xml
diff --git a/src/cpu_map/index.xml b/src/cpu_map/index.xml
index 9ea2b86bf7..182f78a31c 100644
--- a/src/cpu_map/index.xml
+++ b/src/cpu_map/index.xml
@@ -122,6 +122,10 @@
<include filename='x86_Opteron_G5.xml'/>
<include filename='x86_EPYC.xml'/>
<include filename='x86_EPYC-IBPB.xml'/>
+ <include filename='x86_EPYC-v1.xml'/>
+ <include filename='x86_EPYC-v2.xml'/>
+ <include filename='x86_EPYC-v3.xml'/>
+ <include filename='x86_EPYC-v4.xml'/>
<include filename='x86_EPYC-Rome.xml'/>
<include filename='x86_EPYC-Rome-v1.xml'/>
<include filename='x86_EPYC-Rome-v2.xml'/>
diff --git a/src/cpu_map/meson.build b/src/cpu_map/meson.build
index 912db3d2de..c7a7fc3c52 100644
--- a/src/cpu_map/meson.build
+++ b/src/cpu_map/meson.build
@@ -49,6 +49,10 @@ cpumap_data = [
'x86_cpu64-rhel6.xml',
'x86_Dhyana.xml',
'x86_EPYC-IBPB.xml',
+ 'x86_EPYC-v1.xml',
+ 'x86_EPYC-v2.xml',
+ 'x86_EPYC-v3.xml',
+ 'x86_EPYC-v4.xml',
'x86_EPYC.xml',
'x86_EPYC-Genoa.xml',
'x86_EPYC-Milan-v1.xml',
diff --git a/src/cpu_map/x86_EPYC-v1.xml b/src/cpu_map/x86_EPYC-v1.xml
new file mode 100644
index 0000000000..815a10d67e
--- /dev/null
+++ b/src/cpu_map/x86_EPYC-v1.xml
@@ -0,0 +1,6 @@
+<cpus>
+ <model name='EPYC-v1'>
+ <decode host='on' guest='off'/>
+ <model name='EPYC'/>
+ </model>
+</cpus>
diff --git a/src/cpu_map/x86_EPYC-v2.xml b/src/cpu_map/x86_EPYC-v2.xml
new file mode 100644
index 0000000000..a4e97e7cb6
--- /dev/null
+++ b/src/cpu_map/x86_EPYC-v2.xml
@@ -0,0 +1,6 @@
+<cpus>
+ <model name='EPYC-v2'>
+ <decode host='on' guest='off'/>
+ <model name='EPYC-IBPB'/>
+ </model>
+</cpus>
diff --git a/src/cpu_map/x86_EPYC-v3.xml b/src/cpu_map/x86_EPYC-v3.xml
new file mode 100644
index 0000000000..e8efea7406
--- /dev/null
+++ b/src/cpu_map/x86_EPYC-v3.xml
@@ -0,0 +1,79 @@
+<cpus>
+ <model name='EPYC-v3'>
+ <decode host='on' guest='off'/>
+ <signature family='23' model='1'/>
+ <vendor name='AMD'/>
+ <feature name='3dnowprefetch'/>
+ <feature name='abm'/>
+ <feature name='adx'/>
+ <feature name='aes'/>
+ <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='clzero'/>
+ <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='pclmuldq'/>
+ <feature name='pdpe1gb'/>
+ <feature name='perfctr_core'/>
+ <feature name='pge'/>
+ <feature name='pni'/>
+ <feature name='popcnt'/>
+ <feature name='pse'/>
+ <feature name='pse36'/>
+ <feature name='rdrand'/>
+ <feature name='rdseed'/>
+ <feature name='rdtscp'/>
+ <feature name='sep'/>
+ <feature name='sha-ni'/>
+ <feature name='smap'/>
+ <feature name='smep'/>
+ <feature name='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='xsaveerptr'/>
+ <feature name='xsaveopt'/>
+ <feature name='xsaves'/>
+ </model>
+</cpus>
diff --git a/src/cpu_map/x86_EPYC-v4.xml b/src/cpu_map/x86_EPYC-v4.xml
new file mode 100644
index 0000000000..c5701af1ca
--- /dev/null
+++ b/src/cpu_map/x86_EPYC-v4.xml
@@ -0,0 +1,79 @@
+<cpus>
+ <model name='EPYC-v4'>
+ <decode host='on' guest='off'/>
+ <signature family='23' model='1'/>
+ <vendor name='AMD'/>
+ <feature name='3dnowprefetch'/>
+ <feature name='abm'/>
+ <feature name='adx'/>
+ <feature name='aes'/>
+ <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='clzero'/>
+ <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='pclmuldq'/>
+ <feature name='pdpe1gb'/>
+ <feature name='perfctr_core'/>
+ <feature name='pge'/>
+ <feature name='pni'/>
+ <feature name='popcnt'/>
+ <feature name='pse'/>
+ <feature name='pse36'/>
+ <feature name='rdrand'/>
+ <feature name='rdseed'/>
+ <feature name='rdtscp'/>
+ <feature name='sep'/>
+ <feature name='sha-ni'/>
+ <feature name='smap'/>
+ <feature name='smep'/>
+ <feature name='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='xsaveerptr'/>
+ <feature name='xsaveopt'/>
+ <feature name='xsaves'/>
+ </model>
+</cpus>
diff --git a/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-host.xml
b/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-host.xml
index 1c3d935532..3646ed05a1 100644
--- a/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-host.xml
@@ -1,6 +1,6 @@
<cpu>
<arch>x86_64</arch>
- <model>EPYC</model>
+ <model>EPYC-v1</model>
<vendor>AMD</vendor>
<signature family='23' model='1' stepping='2'/>
<feature name='monitor'/>
diff --git a/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-ibpb-host.xml
b/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-ibpb-host.xml
index a438ac4db1..89a4c80691 100644
--- a/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-ibpb-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-ibpb-host.xml
@@ -1,29 +1,23 @@
<cpu>
<arch>x86_64</arch>
- <model>EPYC-IBPB</model>
+ <model>EPYC-v4</model>
<vendor>AMD</vendor>
<signature family='23' model='1' stepping='2'/>
<feature name='monitor'/>
<feature name='osxsave'/>
<feature name='ht'/>
- <feature name='xsaves'/>
<feature name='cmp_legacy'/>
<feature name='extapic'/>
<feature name='skinit'/>
<feature name='wdt'/>
<feature name='tce'/>
<feature name='topoext'/>
- <feature name='perfctr_core'/>
<feature name='perfctr_nb'/>
<feature name='overflow-recov'/>
<feature name='succor'/>
<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-Ryzen-7-1800X-Eight-Core-host.xml
b/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core-host.xml
index f711efd9f9..dd4b51796d 100644
--- a/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core-host.xml
@@ -1,6 +1,6 @@
<cpu>
<arch>x86_64</arch>
- <model>EPYC</model>
+ <model>EPYC-v1</model>
<vendor>AMD</vendor>
<signature family='23' model='1' stepping='1'/>
<feature name='monitor'/>
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 382a47b1eb..ce31b01600 100644
--- a/tests/domaincapsdata/qemu_5.2.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_5.2.0-q35.x86_64.xml
@@ -257,10 +257,13 @@
<feature name='taa-no'/>
</blockers>
<model usable='yes' vendor='Hygon'>Dhyana</model>
- <model usable='yes' vendor='AMD'>EPYC</model>
- <model usable='yes' vendor='AMD'>EPYC-IBPB</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>
<model usable='yes' vendor='AMD'>EPYC-Rome-v1</model>
+ <model usable='yes' vendor='AMD'>EPYC-v1</model>
+ <model usable='yes' vendor='AMD'>EPYC-v2</model>
+ <model usable='yes' vendor='AMD'>EPYC-v3</model>
<model usable='no' vendor='Intel'
canonical='Haswell-v1'>Haswell</model>
<blockers model='Haswell'>
<feature name='erms'/>
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 f8669af5d0..4e3e6c194f 100644
--- a/tests/domaincapsdata/qemu_5.2.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_5.2.0-tcg.x86_64.xml
@@ -432,7 +432,7 @@
<feature name='topoext'/>
<feature name='xsavec'/>
</blockers>
- <model usable='no' vendor='AMD'>EPYC</model>
+ <model usable='no' vendor='AMD'
canonical='EPYC-v1'>EPYC</model>
<blockers model='EPYC'>
<feature name='3dnowprefetch'/>
<feature name='avx'/>
@@ -448,7 +448,7 @@
<feature name='topoext'/>
<feature name='xsavec'/>
</blockers>
- <model usable='no' vendor='AMD'>EPYC-IBPB</model>
+ <model usable='no' vendor='AMD'
canonical='EPYC-v2'>EPYC-IBPB</model>
<blockers model='EPYC-IBPB'>
<feature name='3dnowprefetch'/>
<feature name='avx'/>
@@ -515,6 +515,60 @@
<feature name='xsaveerptr'/>
<feature name='xsaves'/>
</blockers>
+ <model usable='no' vendor='AMD'>EPYC-v1</model>
+ <blockers model='EPYC-v1'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='fxsr_opt'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='rdseed'/>
+ <feature name='sha-ni'/>
+ <feature name='topoext'/>
+ <feature name='xsavec'/>
+ </blockers>
+ <model usable='no' vendor='AMD'>EPYC-v2</model>
+ <blockers model='EPYC-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='sha-ni'/>
+ <feature name='topoext'/>
+ <feature name='xsavec'/>
+ </blockers>
+ <model usable='no' vendor='AMD'>EPYC-v3</model>
+ <blockers model='EPYC-v3'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='clzero'/>
+ <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='perfctr_core'/>
+ <feature name='rdseed'/>
+ <feature name='sha-ni'/>
+ <feature name='topoext'/>
+ <feature name='xsavec'/>
+ <feature name='xsaveerptr'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no' vendor='Intel'
canonical='Haswell-v1'>Haswell</model>
<blockers model='Haswell'>
<feature name='avx'/>
diff --git a/tests/domaincapsdata/qemu_5.2.0.x86_64.xml
b/tests/domaincapsdata/qemu_5.2.0.x86_64.xml
index 6b9bddd8b8..bf17e1504c 100644
--- a/tests/domaincapsdata/qemu_5.2.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_5.2.0.x86_64.xml
@@ -256,10 +256,13 @@
<feature name='taa-no'/>
</blockers>
<model usable='yes' vendor='Hygon'>Dhyana</model>
- <model usable='yes' vendor='AMD'>EPYC</model>
- <model usable='yes' vendor='AMD'>EPYC-IBPB</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>
<model usable='yes' vendor='AMD'>EPYC-Rome-v1</model>
+ <model usable='yes' vendor='AMD'>EPYC-v1</model>
+ <model usable='yes' vendor='AMD'>EPYC-v2</model>
+ <model usable='yes' vendor='AMD'>EPYC-v3</model>
<model usable='no' vendor='Intel'
canonical='Haswell-v1'>Haswell</model>
<blockers model='Haswell'>
<feature name='erms'/>
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 b63f66fb0b..2d612e907f 100644
--- a/tests/domaincapsdata/qemu_6.0.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.0.0-q35.x86_64.xml
@@ -257,8 +257,8 @@
<feature name='taa-no'/>
</blockers>
<model usable='yes' vendor='Hygon'>Dhyana</model>
- <model usable='yes' vendor='AMD'>EPYC</model>
- <model usable='yes' vendor='AMD'>EPYC-IBPB</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>
<blockers model='EPYC-Milan'>
<feature name='erms'/>
@@ -283,6 +283,9 @@
<blockers model='EPYC-Rome-v2'>
<feature name='ibrs'/>
</blockers>
+ <model usable='yes' vendor='AMD'>EPYC-v1</model>
+ <model usable='yes' vendor='AMD'>EPYC-v2</model>
+ <model usable='yes' vendor='AMD'>EPYC-v3</model>
<model usable='no' vendor='Intel'
canonical='Haswell-v1'>Haswell</model>
<blockers model='Haswell'>
<feature name='erms'/>
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 97fb021c94..51ed9249c8 100644
--- a/tests/domaincapsdata/qemu_6.0.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.0.0-tcg.x86_64.xml
@@ -433,7 +433,7 @@
<feature name='topoext'/>
<feature name='xsavec'/>
</blockers>
- <model usable='no' vendor='AMD'>EPYC</model>
+ <model usable='no' vendor='AMD'
canonical='EPYC-v1'>EPYC</model>
<blockers model='EPYC'>
<feature name='3dnowprefetch'/>
<feature name='avx'/>
@@ -449,7 +449,7 @@
<feature name='topoext'/>
<feature name='xsavec'/>
</blockers>
- <model usable='no' vendor='AMD'>EPYC-IBPB</model>
+ <model usable='no' vendor='AMD'
canonical='EPYC-v2'>EPYC-IBPB</model>
<blockers model='EPYC-IBPB'>
<feature name='3dnowprefetch'/>
<feature name='avx'/>
@@ -605,6 +605,60 @@
<feature name='xsaveerptr'/>
<feature name='xsaves'/>
</blockers>
+ <model usable='no' vendor='AMD'>EPYC-v1</model>
+ <blockers model='EPYC-v1'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='fxsr_opt'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='rdseed'/>
+ <feature name='sha-ni'/>
+ <feature name='topoext'/>
+ <feature name='xsavec'/>
+ </blockers>
+ <model usable='no' vendor='AMD'>EPYC-v2</model>
+ <blockers model='EPYC-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='sha-ni'/>
+ <feature name='topoext'/>
+ <feature name='xsavec'/>
+ </blockers>
+ <model usable='no' vendor='AMD'>EPYC-v3</model>
+ <blockers model='EPYC-v3'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='clzero'/>
+ <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='perfctr_core'/>
+ <feature name='rdseed'/>
+ <feature name='sha-ni'/>
+ <feature name='topoext'/>
+ <feature name='xsavec'/>
+ <feature name='xsaveerptr'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no' vendor='Intel'
canonical='Haswell-v1'>Haswell</model>
<blockers model='Haswell'>
<feature name='avx'/>
diff --git a/tests/domaincapsdata/qemu_6.0.0.x86_64.xml
b/tests/domaincapsdata/qemu_6.0.0.x86_64.xml
index fe6640357e..7265521af9 100644
--- a/tests/domaincapsdata/qemu_6.0.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.0.0.x86_64.xml
@@ -256,8 +256,8 @@
<feature name='taa-no'/>
</blockers>
<model usable='yes' vendor='Hygon'>Dhyana</model>
- <model usable='yes' vendor='AMD'>EPYC</model>
- <model usable='yes' vendor='AMD'>EPYC-IBPB</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>
<blockers model='EPYC-Milan'>
<feature name='erms'/>
@@ -282,6 +282,9 @@
<blockers model='EPYC-Rome-v2'>
<feature name='ibrs'/>
</blockers>
+ <model usable='yes' vendor='AMD'>EPYC-v1</model>
+ <model usable='yes' vendor='AMD'>EPYC-v2</model>
+ <model usable='yes' vendor='AMD'>EPYC-v3</model>
<model usable='no' vendor='Intel'
canonical='Haswell-v1'>Haswell</model>
<blockers model='Haswell'>
<feature name='erms'/>
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 a31f32d941..f560160fe8 100644
--- a/tests/domaincapsdata/qemu_6.1.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.1.0-q35.x86_64.xml
@@ -295,8 +295,8 @@
<feature name='taa-no'/>
</blockers>
<model usable='yes' vendor='Hygon'>Dhyana</model>
- <model usable='yes' vendor='AMD'>EPYC</model>
- <model usable='yes' vendor='AMD'>EPYC-IBPB</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>
<blockers model='EPYC-Milan'>
<feature name='erms'/>
@@ -321,6 +321,9 @@
<blockers model='EPYC-Rome-v2'>
<feature name='ibrs'/>
</blockers>
+ <model usable='yes' vendor='AMD'>EPYC-v1</model>
+ <model usable='yes' vendor='AMD'>EPYC-v2</model>
+ <model usable='yes' vendor='AMD'>EPYC-v3</model>
<model usable='no' vendor='Intel'
canonical='Haswell-v1'>Haswell</model>
<blockers model='Haswell'>
<feature name='erms'/>
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 83f3d85fbf..9e7d561505 100644
--- a/tests/domaincapsdata/qemu_6.1.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.1.0-tcg.x86_64.xml
@@ -498,7 +498,7 @@
<feature name='topoext'/>
<feature name='xsavec'/>
</blockers>
- <model usable='no' vendor='AMD'>EPYC</model>
+ <model usable='no' vendor='AMD'
canonical='EPYC-v1'>EPYC</model>
<blockers model='EPYC'>
<feature name='3dnowprefetch'/>
<feature name='avx'/>
@@ -514,7 +514,7 @@
<feature name='topoext'/>
<feature name='xsavec'/>
</blockers>
- <model usable='no' vendor='AMD'>EPYC-IBPB</model>
+ <model usable='no' vendor='AMD'
canonical='EPYC-v2'>EPYC-IBPB</model>
<blockers model='EPYC-IBPB'>
<feature name='3dnowprefetch'/>
<feature name='avx'/>
@@ -670,6 +670,60 @@
<feature name='xsaveerptr'/>
<feature name='xsaves'/>
</blockers>
+ <model usable='no' vendor='AMD'>EPYC-v1</model>
+ <blockers model='EPYC-v1'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='fxsr_opt'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='rdseed'/>
+ <feature name='sha-ni'/>
+ <feature name='topoext'/>
+ <feature name='xsavec'/>
+ </blockers>
+ <model usable='no' vendor='AMD'>EPYC-v2</model>
+ <blockers model='EPYC-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='sha-ni'/>
+ <feature name='topoext'/>
+ <feature name='xsavec'/>
+ </blockers>
+ <model usable='no' vendor='AMD'>EPYC-v3</model>
+ <blockers model='EPYC-v3'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='clzero'/>
+ <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='perfctr_core'/>
+ <feature name='rdseed'/>
+ <feature name='sha-ni'/>
+ <feature name='topoext'/>
+ <feature name='xsavec'/>
+ <feature name='xsaveerptr'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no' vendor='Intel'
canonical='Haswell-v1'>Haswell</model>
<blockers model='Haswell'>
<feature name='avx'/>
diff --git a/tests/domaincapsdata/qemu_6.1.0.x86_64.xml
b/tests/domaincapsdata/qemu_6.1.0.x86_64.xml
index 55490e84e2..7f688a81d2 100644
--- a/tests/domaincapsdata/qemu_6.1.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.1.0.x86_64.xml
@@ -294,8 +294,8 @@
<feature name='taa-no'/>
</blockers>
<model usable='yes' vendor='Hygon'>Dhyana</model>
- <model usable='yes' vendor='AMD'>EPYC</model>
- <model usable='yes' vendor='AMD'>EPYC-IBPB</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>
<blockers model='EPYC-Milan'>
<feature name='erms'/>
@@ -320,6 +320,9 @@
<blockers model='EPYC-Rome-v2'>
<feature name='ibrs'/>
</blockers>
+ <model usable='yes' vendor='AMD'>EPYC-v1</model>
+ <model usable='yes' vendor='AMD'>EPYC-v2</model>
+ <model usable='yes' vendor='AMD'>EPYC-v3</model>
<model usable='no' vendor='Intel'
canonical='Haswell-v1'>Haswell</model>
<blockers model='Haswell'>
<feature name='erms'/>
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 7c95a85710..50ec29a6e9 100644
--- a/tests/domaincapsdata/qemu_6.2.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.2.0-q35.x86_64.xml
@@ -292,8 +292,8 @@
<feature name='taa-no'/>
</blockers>
<model usable='yes' vendor='Hygon'>Dhyana</model>
- <model usable='yes' vendor='AMD'>EPYC</model>
- <model usable='yes' vendor='AMD'>EPYC-IBPB</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>
<blockers model='EPYC-Milan'>
<feature name='erms'/>
@@ -318,6 +318,9 @@
<blockers model='EPYC-Rome-v2'>
<feature name='ibrs'/>
</blockers>
+ <model usable='yes' vendor='AMD'>EPYC-v1</model>
+ <model usable='yes' vendor='AMD'>EPYC-v2</model>
+ <model usable='yes' vendor='AMD'>EPYC-v3</model>
<model usable='no' vendor='Intel'
canonical='Haswell-v1'>Haswell</model>
<blockers model='Haswell'>
<feature name='erms'/>
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 2bb7c6d3f0..cbec1913d2 100644
--- a/tests/domaincapsdata/qemu_6.2.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.2.0-tcg.x86_64.xml
@@ -497,7 +497,7 @@
<feature name='topoext'/>
<feature name='xsavec'/>
</blockers>
- <model usable='no' vendor='AMD'>EPYC</model>
+ <model usable='no' vendor='AMD'
canonical='EPYC-v1'>EPYC</model>
<blockers model='EPYC'>
<feature name='3dnowprefetch'/>
<feature name='avx'/>
@@ -513,7 +513,7 @@
<feature name='topoext'/>
<feature name='xsavec'/>
</blockers>
- <model usable='no' vendor='AMD'>EPYC-IBPB</model>
+ <model usable='no' vendor='AMD'
canonical='EPYC-v2'>EPYC-IBPB</model>
<blockers model='EPYC-IBPB'>
<feature name='3dnowprefetch'/>
<feature name='avx'/>
@@ -667,6 +667,60 @@
<feature name='xsaveerptr'/>
<feature name='xsaves'/>
</blockers>
+ <model usable='no' vendor='AMD'>EPYC-v1</model>
+ <blockers model='EPYC-v1'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='fxsr_opt'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='rdseed'/>
+ <feature name='sha-ni'/>
+ <feature name='topoext'/>
+ <feature name='xsavec'/>
+ </blockers>
+ <model usable='no' vendor='AMD'>EPYC-v2</model>
+ <blockers model='EPYC-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='sha-ni'/>
+ <feature name='topoext'/>
+ <feature name='xsavec'/>
+ </blockers>
+ <model usable='no' vendor='AMD'>EPYC-v3</model>
+ <blockers model='EPYC-v3'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='clzero'/>
+ <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='perfctr_core'/>
+ <feature name='rdseed'/>
+ <feature name='sha-ni'/>
+ <feature name='topoext'/>
+ <feature name='xsavec'/>
+ <feature name='xsaveerptr'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no' vendor='Intel'
canonical='Haswell-v1'>Haswell</model>
<blockers model='Haswell'>
<feature name='avx'/>
diff --git a/tests/domaincapsdata/qemu_6.2.0.x86_64.xml
b/tests/domaincapsdata/qemu_6.2.0.x86_64.xml
index 0bc265f553..08c95bcb4e 100644
--- a/tests/domaincapsdata/qemu_6.2.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.2.0.x86_64.xml
@@ -291,8 +291,8 @@
<feature name='taa-no'/>
</blockers>
<model usable='yes' vendor='Hygon'>Dhyana</model>
- <model usable='yes' vendor='AMD'>EPYC</model>
- <model usable='yes' vendor='AMD'>EPYC-IBPB</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>
<blockers model='EPYC-Milan'>
<feature name='erms'/>
@@ -317,6 +317,9 @@
<blockers model='EPYC-Rome-v2'>
<feature name='ibrs'/>
</blockers>
+ <model usable='yes' vendor='AMD'>EPYC-v1</model>
+ <model usable='yes' vendor='AMD'>EPYC-v2</model>
+ <model usable='yes' vendor='AMD'>EPYC-v3</model>
<model usable='no' vendor='Intel'
canonical='Haswell-v1'>Haswell</model>
<blockers model='Haswell'>
<feature name='erms'/>
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 7ca80c159a..378b628d4c 100644
--- a/tests/domaincapsdata/qemu_7.0.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_7.0.0-q35.x86_64.xml
@@ -293,8 +293,8 @@
<feature name='taa-no'/>
</blockers>
<model usable='yes' vendor='Hygon'>Dhyana</model>
- <model usable='yes' vendor='AMD'>EPYC</model>
- <model usable='yes' vendor='AMD'>EPYC-IBPB</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>
<blockers model='EPYC-Milan'>
<feature name='erms'/>
@@ -319,6 +319,9 @@
<blockers model='EPYC-Rome-v2'>
<feature name='ibrs'/>
</blockers>
+ <model usable='yes' vendor='AMD'>EPYC-v1</model>
+ <model usable='yes' vendor='AMD'>EPYC-v2</model>
+ <model usable='yes' vendor='AMD'>EPYC-v3</model>
<model usable='no' vendor='Intel'
canonical='Haswell-v1'>Haswell</model>
<blockers model='Haswell'>
<feature name='erms'/>
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 a69abcfb0c..ae042caffe 100644
--- a/tests/domaincapsdata/qemu_7.0.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_7.0.0-tcg.x86_64.xml
@@ -498,7 +498,7 @@
<feature name='topoext'/>
<feature name='xsavec'/>
</blockers>
- <model usable='no' vendor='AMD'>EPYC</model>
+ <model usable='no' vendor='AMD'
canonical='EPYC-v1'>EPYC</model>
<blockers model='EPYC'>
<feature name='3dnowprefetch'/>
<feature name='avx'/>
@@ -514,7 +514,7 @@
<feature name='topoext'/>
<feature name='xsavec'/>
</blockers>
- <model usable='no' vendor='AMD'>EPYC-IBPB</model>
+ <model usable='no' vendor='AMD'
canonical='EPYC-v2'>EPYC-IBPB</model>
<blockers model='EPYC-IBPB'>
<feature name='3dnowprefetch'/>
<feature name='avx'/>
@@ -663,6 +663,60 @@
<feature name='xsaveerptr'/>
<feature name='xsaves'/>
</blockers>
+ <model usable='no' vendor='AMD'>EPYC-v1</model>
+ <blockers model='EPYC-v1'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='fxsr_opt'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='rdseed'/>
+ <feature name='sha-ni'/>
+ <feature name='topoext'/>
+ <feature name='xsavec'/>
+ </blockers>
+ <model usable='no' vendor='AMD'>EPYC-v2</model>
+ <blockers model='EPYC-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='sha-ni'/>
+ <feature name='topoext'/>
+ <feature name='xsavec'/>
+ </blockers>
+ <model usable='no' vendor='AMD'>EPYC-v3</model>
+ <blockers model='EPYC-v3'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='clzero'/>
+ <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='perfctr_core'/>
+ <feature name='rdseed'/>
+ <feature name='sha-ni'/>
+ <feature name='topoext'/>
+ <feature name='xsavec'/>
+ <feature name='xsaveerptr'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no' vendor='Intel'
canonical='Haswell-v1'>Haswell</model>
<blockers model='Haswell'>
<feature name='avx'/>
diff --git a/tests/domaincapsdata/qemu_7.0.0.x86_64.xml
b/tests/domaincapsdata/qemu_7.0.0.x86_64.xml
index 09a9ea1792..50d86eac32 100644
--- a/tests/domaincapsdata/qemu_7.0.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_7.0.0.x86_64.xml
@@ -292,8 +292,8 @@
<feature name='taa-no'/>
</blockers>
<model usable='yes' vendor='Hygon'>Dhyana</model>
- <model usable='yes' vendor='AMD'>EPYC</model>
- <model usable='yes' vendor='AMD'>EPYC-IBPB</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>
<blockers model='EPYC-Milan'>
<feature name='erms'/>
@@ -318,6 +318,9 @@
<blockers model='EPYC-Rome-v2'>
<feature name='ibrs'/>
</blockers>
+ <model usable='yes' vendor='AMD'>EPYC-v1</model>
+ <model usable='yes' vendor='AMD'>EPYC-v2</model>
+ <model usable='yes' vendor='AMD'>EPYC-v3</model>
<model usable='no' vendor='Intel'
canonical='Haswell-v1'>Haswell</model>
<blockers model='Haswell'>
<feature name='erms'/>
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 a9bf1e222d..174df21fb9 100644
--- a/tests/domaincapsdata/qemu_7.1.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_7.1.0-q35.x86_64.xml
@@ -294,8 +294,8 @@
<feature name='taa-no'/>
</blockers>
<model usable='yes' vendor='Hygon'>Dhyana</model>
- <model usable='yes' vendor='AMD'>EPYC</model>
- <model usable='yes' vendor='AMD'>EPYC-IBPB</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>
<blockers model='EPYC-Milan'>
<feature name='erms'/>
@@ -320,6 +320,9 @@
<blockers model='EPYC-Rome-v2'>
<feature name='ibrs'/>
</blockers>
+ <model usable='yes' vendor='AMD'>EPYC-v1</model>
+ <model usable='yes' vendor='AMD'>EPYC-v2</model>
+ <model usable='yes' vendor='AMD'>EPYC-v3</model>
<model usable='no' vendor='Intel'
canonical='Haswell-v1'>Haswell</model>
<blockers model='Haswell'>
<feature name='erms'/>
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 94744c83d4..cc90068b2a 100644
--- a/tests/domaincapsdata/qemu_7.1.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_7.1.0-tcg.x86_64.xml
@@ -498,7 +498,7 @@
<feature name='topoext'/>
<feature name='xsavec'/>
</blockers>
- <model usable='no' vendor='AMD'>EPYC</model>
+ <model usable='no' vendor='AMD'
canonical='EPYC-v1'>EPYC</model>
<blockers model='EPYC'>
<feature name='3dnowprefetch'/>
<feature name='avx'/>
@@ -514,7 +514,7 @@
<feature name='topoext'/>
<feature name='xsavec'/>
</blockers>
- <model usable='no' vendor='AMD'>EPYC-IBPB</model>
+ <model usable='no' vendor='AMD'
canonical='EPYC-v2'>EPYC-IBPB</model>
<blockers model='EPYC-IBPB'>
<feature name='3dnowprefetch'/>
<feature name='avx'/>
@@ -663,6 +663,60 @@
<feature name='xsaveerptr'/>
<feature name='xsaves'/>
</blockers>
+ <model usable='no' vendor='AMD'>EPYC-v1</model>
+ <blockers model='EPYC-v1'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='fxsr_opt'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='rdseed'/>
+ <feature name='sha-ni'/>
+ <feature name='topoext'/>
+ <feature name='xsavec'/>
+ </blockers>
+ <model usable='no' vendor='AMD'>EPYC-v2</model>
+ <blockers model='EPYC-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='sha-ni'/>
+ <feature name='topoext'/>
+ <feature name='xsavec'/>
+ </blockers>
+ <model usable='no' vendor='AMD'>EPYC-v3</model>
+ <blockers model='EPYC-v3'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='clzero'/>
+ <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='perfctr_core'/>
+ <feature name='rdseed'/>
+ <feature name='sha-ni'/>
+ <feature name='topoext'/>
+ <feature name='xsavec'/>
+ <feature name='xsaveerptr'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no' vendor='Intel'
canonical='Haswell-v1'>Haswell</model>
<blockers model='Haswell'>
<feature name='avx'/>
diff --git a/tests/domaincapsdata/qemu_7.1.0.x86_64.xml
b/tests/domaincapsdata/qemu_7.1.0.x86_64.xml
index 3698fa6b95..b632a42369 100644
--- a/tests/domaincapsdata/qemu_7.1.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_7.1.0.x86_64.xml
@@ -293,8 +293,8 @@
<feature name='taa-no'/>
</blockers>
<model usable='yes' vendor='Hygon'>Dhyana</model>
- <model usable='yes' vendor='AMD'>EPYC</model>
- <model usable='yes' vendor='AMD'>EPYC-IBPB</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>
<blockers model='EPYC-Milan'>
<feature name='erms'/>
@@ -319,6 +319,9 @@
<blockers model='EPYC-Rome-v2'>
<feature name='ibrs'/>
</blockers>
+ <model usable='yes' vendor='AMD'>EPYC-v1</model>
+ <model usable='yes' vendor='AMD'>EPYC-v2</model>
+ <model usable='yes' vendor='AMD'>EPYC-v3</model>
<model usable='no' vendor='Intel'
canonical='Haswell-v1'>Haswell</model>
<blockers model='Haswell'>
<feature name='erms'/>
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 b628d0fbd7..b001cb4a5e 100644
--- a/tests/domaincapsdata/qemu_7.2.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_7.2.0-q35.x86_64.xml
@@ -299,8 +299,8 @@
<feature name='taa-no'/>
</blockers>
<model usable='yes' vendor='Hygon'>Dhyana</model>
- <model usable='yes' vendor='AMD'>EPYC</model>
- <model usable='yes' vendor='AMD'>EPYC-IBPB</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>
<blockers model='EPYC-Milan'>
<feature name='erms'/>
@@ -325,6 +325,9 @@
<blockers model='EPYC-Rome-v2'>
<feature name='ibrs'/>
</blockers>
+ <model usable='yes' vendor='AMD'>EPYC-v1</model>
+ <model usable='yes' vendor='AMD'>EPYC-v2</model>
+ <model usable='yes' vendor='AMD'>EPYC-v3</model>
<model usable='no' vendor='Intel'
canonical='Haswell-v1'>Haswell</model>
<blockers model='Haswell'>
<feature name='erms'/>
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 80e2034cdc..880699c148 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,7 +411,7 @@
<feature name='topoext'/>
<feature name='xsavec'/>
</blockers>
- <model usable='no' vendor='AMD'>EPYC</model>
+ <model usable='no' vendor='AMD'
canonical='EPYC-v1'>EPYC</model>
<blockers model='EPYC'>
<feature name='3dnowprefetch'/>
<feature name='fxsr_opt'/>
@@ -423,7 +423,7 @@
<feature name='topoext'/>
<feature name='xsavec'/>
</blockers>
- <model usable='no' vendor='AMD'>EPYC-IBPB</model>
+ <model usable='no' vendor='AMD'
canonical='EPYC-v2'>EPYC-IBPB</model>
<blockers model='EPYC-IBPB'>
<feature name='3dnowprefetch'/>
<feature name='fxsr_opt'/>
@@ -548,6 +548,48 @@
<feature name='xsaveerptr'/>
<feature name='xsaves'/>
</blockers>
+ <model usable='no' vendor='AMD'>EPYC-v1</model>
+ <blockers model='EPYC-v1'>
+ <feature name='3dnowprefetch'/>
+ <feature name='fxsr_opt'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='rdseed'/>
+ <feature name='sha-ni'/>
+ <feature name='topoext'/>
+ <feature name='xsavec'/>
+ </blockers>
+ <model usable='no' vendor='AMD'>EPYC-v2</model>
+ <blockers model='EPYC-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='sha-ni'/>
+ <feature name='topoext'/>
+ <feature name='xsavec'/>
+ </blockers>
+ <model usable='no' vendor='AMD'>EPYC-v3</model>
+ <blockers model='EPYC-v3'>
+ <feature name='3dnowprefetch'/>
+ <feature name='clzero'/>
+ <feature name='fxsr_opt'/>
+ <feature name='ibpb'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='perfctr_core'/>
+ <feature name='rdseed'/>
+ <feature name='sha-ni'/>
+ <feature name='topoext'/>
+ <feature name='xsavec'/>
+ <feature name='xsaveerptr'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no' vendor='Intel'
canonical='Haswell-v1'>Haswell</model>
<blockers model='Haswell'>
<feature name='hle'/>
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 80e2034cdc..880699c148 100644
--- a/tests/domaincapsdata/qemu_7.2.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_7.2.0-tcg.x86_64.xml
@@ -411,7 +411,7 @@
<feature name='topoext'/>
<feature name='xsavec'/>
</blockers>
- <model usable='no' vendor='AMD'>EPYC</model>
+ <model usable='no' vendor='AMD'
canonical='EPYC-v1'>EPYC</model>
<blockers model='EPYC'>
<feature name='3dnowprefetch'/>
<feature name='fxsr_opt'/>
@@ -423,7 +423,7 @@
<feature name='topoext'/>
<feature name='xsavec'/>
</blockers>
- <model usable='no' vendor='AMD'>EPYC-IBPB</model>
+ <model usable='no' vendor='AMD'
canonical='EPYC-v2'>EPYC-IBPB</model>
<blockers model='EPYC-IBPB'>
<feature name='3dnowprefetch'/>
<feature name='fxsr_opt'/>
@@ -548,6 +548,48 @@
<feature name='xsaveerptr'/>
<feature name='xsaves'/>
</blockers>
+ <model usable='no' vendor='AMD'>EPYC-v1</model>
+ <blockers model='EPYC-v1'>
+ <feature name='3dnowprefetch'/>
+ <feature name='fxsr_opt'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='rdseed'/>
+ <feature name='sha-ni'/>
+ <feature name='topoext'/>
+ <feature name='xsavec'/>
+ </blockers>
+ <model usable='no' vendor='AMD'>EPYC-v2</model>
+ <blockers model='EPYC-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='sha-ni'/>
+ <feature name='topoext'/>
+ <feature name='xsavec'/>
+ </blockers>
+ <model usable='no' vendor='AMD'>EPYC-v3</model>
+ <blockers model='EPYC-v3'>
+ <feature name='3dnowprefetch'/>
+ <feature name='clzero'/>
+ <feature name='fxsr_opt'/>
+ <feature name='ibpb'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='perfctr_core'/>
+ <feature name='rdseed'/>
+ <feature name='sha-ni'/>
+ <feature name='topoext'/>
+ <feature name='xsavec'/>
+ <feature name='xsaveerptr'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no' vendor='Intel'
canonical='Haswell-v1'>Haswell</model>
<blockers model='Haswell'>
<feature name='hle'/>
diff --git a/tests/domaincapsdata/qemu_7.2.0.x86_64.xml
b/tests/domaincapsdata/qemu_7.2.0.x86_64.xml
index a1235cc34f..10812e4a76 100644
--- a/tests/domaincapsdata/qemu_7.2.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_7.2.0.x86_64.xml
@@ -298,8 +298,8 @@
<feature name='taa-no'/>
</blockers>
<model usable='yes' vendor='Hygon'>Dhyana</model>
- <model usable='yes' vendor='AMD'>EPYC</model>
- <model usable='yes' vendor='AMD'>EPYC-IBPB</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>
<blockers model='EPYC-Milan'>
<feature name='erms'/>
@@ -324,6 +324,9 @@
<blockers model='EPYC-Rome-v2'>
<feature name='ibrs'/>
</blockers>
+ <model usable='yes' vendor='AMD'>EPYC-v1</model>
+ <model usable='yes' vendor='AMD'>EPYC-v2</model>
+ <model usable='yes' vendor='AMD'>EPYC-v3</model>
<model usable='no' vendor='Intel'
canonical='Haswell-v1'>Haswell</model>
<blockers model='Haswell'>
<feature name='erms'/>
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 8aec71596b..528ea3e587 100644
--- a/tests/domaincapsdata/qemu_8.0.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_8.0.0-q35.x86_64.xml
@@ -299,8 +299,8 @@
<feature name='taa-no'/>
</blockers>
<model usable='yes' vendor='Hygon'>Dhyana</model>
- <model usable='yes' vendor='AMD'>EPYC</model>
- <model usable='yes' vendor='AMD'>EPYC-IBPB</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>
<blockers model='EPYC-Milan'>
<feature name='erms'/>
@@ -325,6 +325,9 @@
<blockers model='EPYC-Rome-v2'>
<feature name='ibrs'/>
</blockers>
+ <model usable='yes' vendor='AMD'>EPYC-v1</model>
+ <model usable='yes' vendor='AMD'>EPYC-v2</model>
+ <model usable='yes' vendor='AMD'>EPYC-v3</model>
<model usable='no' vendor='Intel'
canonical='Haswell-v1'>Haswell</model>
<blockers model='Haswell'>
<feature name='erms'/>
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 ea81ce32d4..7f84682bce 100644
--- a/tests/domaincapsdata/qemu_8.0.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_8.0.0-tcg.x86_64.xml
@@ -415,7 +415,7 @@
<feature name='topoext'/>
<feature name='xsavec'/>
</blockers>
- <model usable='no' vendor='AMD'>EPYC</model>
+ <model usable='no' vendor='AMD'
canonical='EPYC-v1'>EPYC</model>
<blockers model='EPYC'>
<feature name='3dnowprefetch'/>
<feature name='fxsr_opt'/>
@@ -427,7 +427,7 @@
<feature name='topoext'/>
<feature name='xsavec'/>
</blockers>
- <model usable='no' vendor='AMD'>EPYC-IBPB</model>
+ <model usable='no' vendor='AMD'
canonical='EPYC-v2'>EPYC-IBPB</model>
<blockers model='EPYC-IBPB'>
<feature name='3dnowprefetch'/>
<feature name='fxsr_opt'/>
@@ -550,6 +550,48 @@
<feature name='xsaveerptr'/>
<feature name='xsaves'/>
</blockers>
+ <model usable='no' vendor='AMD'>EPYC-v1</model>
+ <blockers model='EPYC-v1'>
+ <feature name='3dnowprefetch'/>
+ <feature name='fxsr_opt'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='rdseed'/>
+ <feature name='sha-ni'/>
+ <feature name='topoext'/>
+ <feature name='xsavec'/>
+ </blockers>
+ <model usable='no' vendor='AMD'>EPYC-v2</model>
+ <blockers model='EPYC-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='sha-ni'/>
+ <feature name='topoext'/>
+ <feature name='xsavec'/>
+ </blockers>
+ <model usable='no' vendor='AMD'>EPYC-v3</model>
+ <blockers model='EPYC-v3'>
+ <feature name='3dnowprefetch'/>
+ <feature name='clzero'/>
+ <feature name='fxsr_opt'/>
+ <feature name='ibpb'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='perfctr_core'/>
+ <feature name='rdseed'/>
+ <feature name='sha-ni'/>
+ <feature name='topoext'/>
+ <feature name='xsavec'/>
+ <feature name='xsaveerptr'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no' vendor='Intel'
canonical='Haswell-v1'>Haswell</model>
<blockers model='Haswell'>
<feature name='hle'/>
diff --git a/tests/domaincapsdata/qemu_8.0.0.x86_64.xml
b/tests/domaincapsdata/qemu_8.0.0.x86_64.xml
index 8502f47d88..09226bc699 100644
--- a/tests/domaincapsdata/qemu_8.0.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_8.0.0.x86_64.xml
@@ -298,8 +298,8 @@
<feature name='taa-no'/>
</blockers>
<model usable='yes' vendor='Hygon'>Dhyana</model>
- <model usable='yes' vendor='AMD'>EPYC</model>
- <model usable='yes' vendor='AMD'>EPYC-IBPB</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>
<blockers model='EPYC-Milan'>
<feature name='erms'/>
@@ -324,6 +324,9 @@
<blockers model='EPYC-Rome-v2'>
<feature name='ibrs'/>
</blockers>
+ <model usable='yes' vendor='AMD'>EPYC-v1</model>
+ <model usable='yes' vendor='AMD'>EPYC-v2</model>
+ <model usable='yes' vendor='AMD'>EPYC-v3</model>
<model usable='no' vendor='Intel'
canonical='Haswell-v1'>Haswell</model>
<blockers model='Haswell'>
<feature name='erms'/>
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 d18568f3a6..f039bc6615 100644
--- a/tests/domaincapsdata/qemu_8.1.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_8.1.0-q35.x86_64.xml
@@ -303,7 +303,7 @@
<feature name='xsaves'/>
</blockers>
<model usable='yes' vendor='Hygon'>Dhyana</model>
- <model usable='yes' vendor='AMD'>EPYC</model>
+ <model usable='yes' vendor='AMD'
canonical='EPYC-v1'>EPYC</model>
<model usable='no' vendor='AMD'>EPYC-Genoa</model>
<blockers model='EPYC-Genoa'>
<feature name='amd-psfd'/>
@@ -334,7 +334,7 @@
<feature name='vpclmulqdq'/>
<feature name='xsaves'/>
</blockers>
- <model usable='yes' vendor='AMD'>EPYC-IBPB</model>
+ <model usable='yes' vendor='AMD'
canonical='EPYC-v2'>EPYC-IBPB</model>
<model usable='no' vendor='AMD'
canonical='EPYC-Milan-v1'>EPYC-Milan</model>
<blockers model='EPYC-Milan'>
<feature name='erms'/>
@@ -392,6 +392,16 @@
<blockers model='EPYC-Rome-v4'>
<feature name='ibrs'/>
</blockers>
+ <model usable='yes' vendor='AMD'>EPYC-v1</model>
+ <model usable='yes' vendor='AMD'>EPYC-v2</model>
+ <model usable='no' vendor='AMD'>EPYC-v3</model>
+ <blockers model='EPYC-v3'>
+ <feature name='xsaves'/>
+ </blockers>
+ <model usable='no' vendor='AMD'>EPYC-v4</model>
+ <blockers model='EPYC-v4'>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no' vendor='Intel'
canonical='GraniteRapids-v1'>GraniteRapids</model>
<blockers model='GraniteRapids'>
<feature name='amx-bf16'/>
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 66efea8372..b709406703 100644
--- a/tests/domaincapsdata/qemu_8.1.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_8.1.0-tcg.x86_64.xml
@@ -340,7 +340,7 @@
<feature name='topoext'/>
<feature name='xsavec'/>
</blockers>
- <model usable='no' vendor='AMD'>EPYC</model>
+ <model usable='no' vendor='AMD'
canonical='EPYC-v1'>EPYC</model>
<blockers model='EPYC'>
<feature name='fxsr_opt'/>
<feature name='misalignsse'/>
@@ -390,7 +390,7 @@
<feature name='xsavec'/>
<feature name='xsaves'/>
</blockers>
- <model usable='no' vendor='AMD'>EPYC-IBPB</model>
+ <model usable='no' vendor='AMD'
canonical='EPYC-v2'>EPYC-IBPB</model>
<blockers model='EPYC-IBPB'>
<feature name='fxsr_opt'/>
<feature name='ibpb'/>
@@ -544,6 +544,55 @@
<feature name='topoext'/>
<feature name='xsavec'/>
</blockers>
+ <model usable='no' vendor='AMD'>EPYC-v1</model>
+ <blockers model='EPYC-v1'>
+ <feature name='fxsr_opt'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='sha-ni'/>
+ <feature name='topoext'/>
+ <feature name='xsavec'/>
+ </blockers>
+ <model usable='no' vendor='AMD'>EPYC-v2</model>
+ <blockers model='EPYC-v2'>
+ <feature name='fxsr_opt'/>
+ <feature name='ibpb'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='sha-ni'/>
+ <feature name='topoext'/>
+ <feature name='xsavec'/>
+ </blockers>
+ <model usable='no' vendor='AMD'>EPYC-v3</model>
+ <blockers model='EPYC-v3'>
+ <feature name='clzero'/>
+ <feature name='fxsr_opt'/>
+ <feature name='ibpb'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='perfctr_core'/>
+ <feature name='sha-ni'/>
+ <feature name='topoext'/>
+ <feature name='xsavec'/>
+ <feature name='xsaves'/>
+ </blockers>
+ <model usable='no' vendor='AMD'>EPYC-v4</model>
+ <blockers model='EPYC-v4'>
+ <feature name='clzero'/>
+ <feature name='fxsr_opt'/>
+ <feature name='ibpb'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='perfctr_core'/>
+ <feature name='sha-ni'/>
+ <feature name='topoext'/>
+ <feature name='xsavec'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no' vendor='Intel'
canonical='GraniteRapids-v1'>GraniteRapids</model>
<blockers model='GraniteRapids'>
<feature name='amx-bf16'/>
diff --git a/tests/domaincapsdata/qemu_8.1.0.x86_64.xml
b/tests/domaincapsdata/qemu_8.1.0.x86_64.xml
index e32562a964..3af606f714 100644
--- a/tests/domaincapsdata/qemu_8.1.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_8.1.0.x86_64.xml
@@ -302,7 +302,7 @@
<feature name='xsaves'/>
</blockers>
<model usable='yes' vendor='Hygon'>Dhyana</model>
- <model usable='yes' vendor='AMD'>EPYC</model>
+ <model usable='yes' vendor='AMD'
canonical='EPYC-v1'>EPYC</model>
<model usable='no' vendor='AMD'>EPYC-Genoa</model>
<blockers model='EPYC-Genoa'>
<feature name='amd-psfd'/>
@@ -333,7 +333,7 @@
<feature name='vpclmulqdq'/>
<feature name='xsaves'/>
</blockers>
- <model usable='yes' vendor='AMD'>EPYC-IBPB</model>
+ <model usable='yes' vendor='AMD'
canonical='EPYC-v2'>EPYC-IBPB</model>
<model usable='no' vendor='AMD'
canonical='EPYC-Milan-v1'>EPYC-Milan</model>
<blockers model='EPYC-Milan'>
<feature name='erms'/>
@@ -391,6 +391,16 @@
<blockers model='EPYC-Rome-v4'>
<feature name='ibrs'/>
</blockers>
+ <model usable='yes' vendor='AMD'>EPYC-v1</model>
+ <model usable='yes' vendor='AMD'>EPYC-v2</model>
+ <model usable='no' vendor='AMD'>EPYC-v3</model>
+ <blockers model='EPYC-v3'>
+ <feature name='xsaves'/>
+ </blockers>
+ <model usable='no' vendor='AMD'>EPYC-v4</model>
+ <blockers model='EPYC-v4'>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no' vendor='Intel'
canonical='GraniteRapids-v1'>GraniteRapids</model>
<blockers model='GraniteRapids'>
<feature name='amx-bf16'/>
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 e92c85d74f..ce59c65721 100644
--- a/tests/domaincapsdata/qemu_8.2.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_8.2.0-q35.x86_64.xml
@@ -304,7 +304,7 @@
<feature name='xsaves'/>
</blockers>
<model usable='yes' vendor='Hygon'>Dhyana</model>
- <model usable='yes' vendor='AMD'>EPYC</model>
+ <model usable='yes' vendor='AMD'
canonical='EPYC-v1'>EPYC</model>
<model usable='no' vendor='AMD'>EPYC-Genoa</model>
<blockers model='EPYC-Genoa'>
<feature name='amd-psfd'/>
@@ -335,7 +335,7 @@
<feature name='vpclmulqdq'/>
<feature name='xsaves'/>
</blockers>
- <model usable='yes' vendor='AMD'>EPYC-IBPB</model>
+ <model usable='yes' vendor='AMD'
canonical='EPYC-v2'>EPYC-IBPB</model>
<model usable='no' vendor='AMD'
canonical='EPYC-Milan-v1'>EPYC-Milan</model>
<blockers model='EPYC-Milan'>
<feature name='erms'/>
@@ -393,6 +393,16 @@
<blockers model='EPYC-Rome-v4'>
<feature name='ibrs'/>
</blockers>
+ <model usable='yes' vendor='AMD'>EPYC-v1</model>
+ <model usable='yes' vendor='AMD'>EPYC-v2</model>
+ <model usable='no' vendor='AMD'>EPYC-v3</model>
+ <blockers model='EPYC-v3'>
+ <feature name='xsaves'/>
+ </blockers>
+ <model usable='no' vendor='AMD'>EPYC-v4</model>
+ <blockers model='EPYC-v4'>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no' vendor='Intel'
canonical='GraniteRapids-v1'>GraniteRapids</model>
<blockers model='GraniteRapids'>
<feature name='amx-bf16'/>
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 fdb16866fa..a3bdc02c81 100644
--- a/tests/domaincapsdata/qemu_8.2.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_8.2.0-tcg.x86_64.xml
@@ -339,7 +339,7 @@
<feature name='topoext'/>
<feature name='xsavec'/>
</blockers>
- <model usable='no' vendor='AMD'>EPYC</model>
+ <model usable='no' vendor='AMD'
canonical='EPYC-v1'>EPYC</model>
<blockers model='EPYC'>
<feature name='fxsr_opt'/>
<feature name='misalignsse'/>
@@ -387,7 +387,7 @@
<feature name='xsavec'/>
<feature name='xsaves'/>
</blockers>
- <model usable='no' vendor='AMD'>EPYC-IBPB</model>
+ <model usable='no' vendor='AMD'
canonical='EPYC-v2'>EPYC-IBPB</model>
<blockers model='EPYC-IBPB'>
<feature name='fxsr_opt'/>
<feature name='ibpb'/>
@@ -532,6 +532,51 @@
<feature name='topoext'/>
<feature name='xsavec'/>
</blockers>
+ <model usable='no' vendor='AMD'>EPYC-v1</model>
+ <blockers model='EPYC-v1'>
+ <feature name='fxsr_opt'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='topoext'/>
+ <feature name='xsavec'/>
+ </blockers>
+ <model usable='no' vendor='AMD'>EPYC-v2</model>
+ <blockers model='EPYC-v2'>
+ <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='AMD'>EPYC-v3</model>
+ <blockers model='EPYC-v3'>
+ <feature name='clzero'/>
+ <feature name='fxsr_opt'/>
+ <feature name='ibpb'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='perfctr_core'/>
+ <feature name='topoext'/>
+ <feature name='xsavec'/>
+ <feature name='xsaves'/>
+ </blockers>
+ <model usable='no' vendor='AMD'>EPYC-v4</model>
+ <blockers model='EPYC-v4'>
+ <feature name='clzero'/>
+ <feature name='fxsr_opt'/>
+ <feature name='ibpb'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='perfctr_core'/>
+ <feature name='topoext'/>
+ <feature name='xsavec'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no' vendor='Intel'
canonical='GraniteRapids-v1'>GraniteRapids</model>
<blockers model='GraniteRapids'>
<feature name='amx-bf16'/>
diff --git a/tests/domaincapsdata/qemu_8.2.0.x86_64.xml
b/tests/domaincapsdata/qemu_8.2.0.x86_64.xml
index 53dd6165f1..6f903dda95 100644
--- a/tests/domaincapsdata/qemu_8.2.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_8.2.0.x86_64.xml
@@ -303,7 +303,7 @@
<feature name='xsaves'/>
</blockers>
<model usable='yes' vendor='Hygon'>Dhyana</model>
- <model usable='yes' vendor='AMD'>EPYC</model>
+ <model usable='yes' vendor='AMD'
canonical='EPYC-v1'>EPYC</model>
<model usable='no' vendor='AMD'>EPYC-Genoa</model>
<blockers model='EPYC-Genoa'>
<feature name='amd-psfd'/>
@@ -334,7 +334,7 @@
<feature name='vpclmulqdq'/>
<feature name='xsaves'/>
</blockers>
- <model usable='yes' vendor='AMD'>EPYC-IBPB</model>
+ <model usable='yes' vendor='AMD'
canonical='EPYC-v2'>EPYC-IBPB</model>
<model usable='no' vendor='AMD'
canonical='EPYC-Milan-v1'>EPYC-Milan</model>
<blockers model='EPYC-Milan'>
<feature name='erms'/>
@@ -392,6 +392,16 @@
<blockers model='EPYC-Rome-v4'>
<feature name='ibrs'/>
</blockers>
+ <model usable='yes' vendor='AMD'>EPYC-v1</model>
+ <model usable='yes' vendor='AMD'>EPYC-v2</model>
+ <model usable='no' vendor='AMD'>EPYC-v3</model>
+ <blockers model='EPYC-v3'>
+ <feature name='xsaves'/>
+ </blockers>
+ <model usable='no' vendor='AMD'>EPYC-v4</model>
+ <blockers model='EPYC-v4'>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no' vendor='Intel'
canonical='GraniteRapids-v1'>GraniteRapids</model>
<blockers model='GraniteRapids'>
<feature name='amx-bf16'/>
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 a1710315a0..83b1f419db 100644
--- a/tests/domaincapsdata/qemu_9.0.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_9.0.0-q35.x86_64.xml
@@ -304,7 +304,7 @@
<feature name='xsaves'/>
</blockers>
<model usable='yes' vendor='Hygon'>Dhyana</model>
- <model usable='yes' vendor='AMD'>EPYC</model>
+ <model usable='yes' vendor='AMD'
canonical='EPYC-v1'>EPYC</model>
<model usable='no' vendor='AMD'>EPYC-Genoa</model>
<blockers model='EPYC-Genoa'>
<feature name='amd-psfd'/>
@@ -335,7 +335,7 @@
<feature name='vpclmulqdq'/>
<feature name='xsaves'/>
</blockers>
- <model usable='yes' vendor='AMD'>EPYC-IBPB</model>
+ <model usable='yes' vendor='AMD'
canonical='EPYC-v2'>EPYC-IBPB</model>
<model usable='no' vendor='AMD'
canonical='EPYC-Milan-v1'>EPYC-Milan</model>
<blockers model='EPYC-Milan'>
<feature name='erms'/>
@@ -393,6 +393,16 @@
<blockers model='EPYC-Rome-v4'>
<feature name='ibrs'/>
</blockers>
+ <model usable='yes' vendor='AMD'>EPYC-v1</model>
+ <model usable='yes' vendor='AMD'>EPYC-v2</model>
+ <model usable='no' vendor='AMD'>EPYC-v3</model>
+ <blockers model='EPYC-v3'>
+ <feature name='xsaves'/>
+ </blockers>
+ <model usable='no' vendor='AMD'>EPYC-v4</model>
+ <blockers model='EPYC-v4'>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no' vendor='Intel'
canonical='GraniteRapids-v1'>GraniteRapids</model>
<blockers model='GraniteRapids'>
<feature name='amx-bf16'/>
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 974a596dbb..46841fcb2d 100644
--- a/tests/domaincapsdata/qemu_9.0.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_9.0.0-tcg.x86_64.xml
@@ -323,7 +323,7 @@
<feature name='topoext'/>
<feature name='xsavec'/>
</blockers>
- <model usable='no' vendor='AMD'>EPYC</model>
+ <model usable='no' vendor='AMD'
canonical='EPYC-v1'>EPYC</model>
<blockers model='EPYC'>
<feature name='fxsr_opt'/>
<feature name='misalignsse'/>
@@ -371,7 +371,7 @@
<feature name='xsavec'/>
<feature name='xsaves'/>
</blockers>
- <model usable='no' vendor='AMD'>EPYC-IBPB</model>
+ <model usable='no' vendor='AMD'
canonical='EPYC-v2'>EPYC-IBPB</model>
<blockers model='EPYC-IBPB'>
<feature name='fxsr_opt'/>
<feature name='ibpb'/>
@@ -516,6 +516,51 @@
<feature name='topoext'/>
<feature name='xsavec'/>
</blockers>
+ <model usable='no' vendor='AMD'>EPYC-v1</model>
+ <blockers model='EPYC-v1'>
+ <feature name='fxsr_opt'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='topoext'/>
+ <feature name='xsavec'/>
+ </blockers>
+ <model usable='no' vendor='AMD'>EPYC-v2</model>
+ <blockers model='EPYC-v2'>
+ <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='AMD'>EPYC-v3</model>
+ <blockers model='EPYC-v3'>
+ <feature name='clzero'/>
+ <feature name='fxsr_opt'/>
+ <feature name='ibpb'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='perfctr_core'/>
+ <feature name='topoext'/>
+ <feature name='xsavec'/>
+ <feature name='xsaves'/>
+ </blockers>
+ <model usable='no' vendor='AMD'>EPYC-v4</model>
+ <blockers model='EPYC-v4'>
+ <feature name='clzero'/>
+ <feature name='fxsr_opt'/>
+ <feature name='ibpb'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='perfctr_core'/>
+ <feature name='topoext'/>
+ <feature name='xsavec'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no' vendor='Intel'
canonical='GraniteRapids-v1'>GraniteRapids</model>
<blockers model='GraniteRapids'>
<feature name='amx-bf16'/>
diff --git a/tests/domaincapsdata/qemu_9.0.0.x86_64.xml
b/tests/domaincapsdata/qemu_9.0.0.x86_64.xml
index 077fbfa679..7522de5d44 100644
--- a/tests/domaincapsdata/qemu_9.0.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_9.0.0.x86_64.xml
@@ -303,7 +303,7 @@
<feature name='xsaves'/>
</blockers>
<model usable='yes' vendor='Hygon'>Dhyana</model>
- <model usable='yes' vendor='AMD'>EPYC</model>
+ <model usable='yes' vendor='AMD'
canonical='EPYC-v1'>EPYC</model>
<model usable='no' vendor='AMD'>EPYC-Genoa</model>
<blockers model='EPYC-Genoa'>
<feature name='amd-psfd'/>
@@ -334,7 +334,7 @@
<feature name='vpclmulqdq'/>
<feature name='xsaves'/>
</blockers>
- <model usable='yes' vendor='AMD'>EPYC-IBPB</model>
+ <model usable='yes' vendor='AMD'
canonical='EPYC-v2'>EPYC-IBPB</model>
<model usable='no' vendor='AMD'
canonical='EPYC-Milan-v1'>EPYC-Milan</model>
<blockers model='EPYC-Milan'>
<feature name='erms'/>
@@ -392,6 +392,16 @@
<blockers model='EPYC-Rome-v4'>
<feature name='ibrs'/>
</blockers>
+ <model usable='yes' vendor='AMD'>EPYC-v1</model>
+ <model usable='yes' vendor='AMD'>EPYC-v2</model>
+ <model usable='no' vendor='AMD'>EPYC-v3</model>
+ <blockers model='EPYC-v3'>
+ <feature name='xsaves'/>
+ </blockers>
+ <model usable='no' vendor='AMD'>EPYC-v4</model>
+ <blockers model='EPYC-v4'>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no' vendor='Intel'
canonical='GraniteRapids-v1'>GraniteRapids</model>
<blockers model='GraniteRapids'>
<feature name='amx-bf16'/>
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 fe3ddbc371..4c348b0959 100644
--- a/tests/domaincapsdata/qemu_9.1.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_9.1.0-q35.x86_64.xml
@@ -308,7 +308,7 @@
<feature name='xsaves'/>
</blockers>
<model usable='yes' vendor='Hygon'>Dhyana</model>
- <model usable='yes' vendor='AMD'>EPYC</model>
+ <model usable='yes' vendor='AMD'
canonical='EPYC-v1'>EPYC</model>
<model usable='no' vendor='AMD'>EPYC-Genoa</model>
<blockers model='EPYC-Genoa'>
<feature name='amd-psfd'/>
@@ -339,7 +339,7 @@
<feature name='vpclmulqdq'/>
<feature name='xsaves'/>
</blockers>
- <model usable='yes' vendor='AMD'>EPYC-IBPB</model>
+ <model usable='yes' vendor='AMD'
canonical='EPYC-v2'>EPYC-IBPB</model>
<model usable='no' vendor='AMD'
canonical='EPYC-Milan-v1'>EPYC-Milan</model>
<blockers model='EPYC-Milan'>
<feature name='erms'/>
@@ -397,6 +397,16 @@
<blockers model='EPYC-Rome-v4'>
<feature name='ibrs'/>
</blockers>
+ <model usable='yes' vendor='AMD'>EPYC-v1</model>
+ <model usable='yes' vendor='AMD'>EPYC-v2</model>
+ <model usable='no' vendor='AMD'>EPYC-v3</model>
+ <blockers model='EPYC-v3'>
+ <feature name='xsaves'/>
+ </blockers>
+ <model usable='no' vendor='AMD'>EPYC-v4</model>
+ <blockers model='EPYC-v4'>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no' vendor='Intel'
canonical='GraniteRapids-v1'>GraniteRapids</model>
<blockers model='GraniteRapids'>
<feature name='amx-bf16'/>
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 9bef84873c..c2fa795f1e 100644
--- a/tests/domaincapsdata/qemu_9.1.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_9.1.0-tcg.x86_64.xml
@@ -322,7 +322,7 @@
<feature name='topoext'/>
<feature name='xsavec'/>
</blockers>
- <model usable='no' vendor='AMD'>EPYC</model>
+ <model usable='no' vendor='AMD'
canonical='EPYC-v1'>EPYC</model>
<blockers model='EPYC'>
<feature name='fxsr_opt'/>
<feature name='misalignsse'/>
@@ -370,7 +370,7 @@
<feature name='xsavec'/>
<feature name='xsaves'/>
</blockers>
- <model usable='no' vendor='AMD'>EPYC-IBPB</model>
+ <model usable='no' vendor='AMD'
canonical='EPYC-v2'>EPYC-IBPB</model>
<blockers model='EPYC-IBPB'>
<feature name='fxsr_opt'/>
<feature name='ibpb'/>
@@ -515,6 +515,51 @@
<feature name='topoext'/>
<feature name='xsavec'/>
</blockers>
+ <model usable='no' vendor='AMD'>EPYC-v1</model>
+ <blockers model='EPYC-v1'>
+ <feature name='fxsr_opt'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='topoext'/>
+ <feature name='xsavec'/>
+ </blockers>
+ <model usable='no' vendor='AMD'>EPYC-v2</model>
+ <blockers model='EPYC-v2'>
+ <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='AMD'>EPYC-v3</model>
+ <blockers model='EPYC-v3'>
+ <feature name='clzero'/>
+ <feature name='fxsr_opt'/>
+ <feature name='ibpb'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='perfctr_core'/>
+ <feature name='topoext'/>
+ <feature name='xsavec'/>
+ <feature name='xsaves'/>
+ </blockers>
+ <model usable='no' vendor='AMD'>EPYC-v4</model>
+ <blockers model='EPYC-v4'>
+ <feature name='clzero'/>
+ <feature name='fxsr_opt'/>
+ <feature name='ibpb'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='perfctr_core'/>
+ <feature name='topoext'/>
+ <feature name='xsavec'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no' vendor='Intel'
canonical='GraniteRapids-v1'>GraniteRapids</model>
<blockers model='GraniteRapids'>
<feature name='amx-bf16'/>
diff --git a/tests/domaincapsdata/qemu_9.1.0.x86_64.xml
b/tests/domaincapsdata/qemu_9.1.0.x86_64.xml
index a9bd9b8a89..2ad2bd6ba1 100644
--- a/tests/domaincapsdata/qemu_9.1.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_9.1.0.x86_64.xml
@@ -307,7 +307,7 @@
<feature name='xsaves'/>
</blockers>
<model usable='yes' vendor='Hygon'>Dhyana</model>
- <model usable='yes' vendor='AMD'>EPYC</model>
+ <model usable='yes' vendor='AMD'
canonical='EPYC-v1'>EPYC</model>
<model usable='no' vendor='AMD'>EPYC-Genoa</model>
<blockers model='EPYC-Genoa'>
<feature name='amd-psfd'/>
@@ -338,7 +338,7 @@
<feature name='vpclmulqdq'/>
<feature name='xsaves'/>
</blockers>
- <model usable='yes' vendor='AMD'>EPYC-IBPB</model>
+ <model usable='yes' vendor='AMD'
canonical='EPYC-v2'>EPYC-IBPB</model>
<model usable='no' vendor='AMD'
canonical='EPYC-Milan-v1'>EPYC-Milan</model>
<blockers model='EPYC-Milan'>
<feature name='erms'/>
@@ -396,6 +396,16 @@
<blockers model='EPYC-Rome-v4'>
<feature name='ibrs'/>
</blockers>
+ <model usable='yes' vendor='AMD'>EPYC-v1</model>
+ <model usable='yes' vendor='AMD'>EPYC-v2</model>
+ <model usable='no' vendor='AMD'>EPYC-v3</model>
+ <blockers model='EPYC-v3'>
+ <feature name='xsaves'/>
+ </blockers>
+ <model usable='no' vendor='AMD'>EPYC-v4</model>
+ <blockers model='EPYC-v4'>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no' vendor='Intel'
canonical='GraniteRapids-v1'>GraniteRapids</model>
<blockers model='GraniteRapids'>
<feature name='amx-bf16'/>
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 1df9ba1786..68bb1b3572 100644
--- a/tests/domaincapsdata/qemu_9.2.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_9.2.0-q35.x86_64.xml
@@ -308,7 +308,7 @@
<feature name='xsaves'/>
</blockers>
<model usable='yes' vendor='Hygon'>Dhyana</model>
- <model usable='yes' vendor='AMD'>EPYC</model>
+ <model usable='yes' vendor='AMD'
canonical='EPYC-v1'>EPYC</model>
<model usable='no' vendor='AMD'>EPYC-Genoa</model>
<blockers model='EPYC-Genoa'>
<feature name='amd-psfd'/>
@@ -339,7 +339,7 @@
<feature name='vpclmulqdq'/>
<feature name='xsaves'/>
</blockers>
- <model usable='yes' vendor='AMD'>EPYC-IBPB</model>
+ <model usable='yes' vendor='AMD'
canonical='EPYC-v2'>EPYC-IBPB</model>
<model usable='no' vendor='AMD'
canonical='EPYC-Milan-v1'>EPYC-Milan</model>
<blockers model='EPYC-Milan'>
<feature name='erms'/>
@@ -397,6 +397,16 @@
<blockers model='EPYC-Rome-v4'>
<feature name='ibrs'/>
</blockers>
+ <model usable='yes' vendor='AMD'>EPYC-v1</model>
+ <model usable='yes' vendor='AMD'>EPYC-v2</model>
+ <model usable='no' vendor='AMD'>EPYC-v3</model>
+ <blockers model='EPYC-v3'>
+ <feature name='xsaves'/>
+ </blockers>
+ <model usable='no' vendor='AMD'>EPYC-v4</model>
+ <blockers model='EPYC-v4'>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no' vendor='Intel'
canonical='GraniteRapids-v1'>GraniteRapids</model>
<blockers model='GraniteRapids'>
<feature name='amx-bf16'/>
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 be3a49c060..66547e4adc 100644
--- a/tests/domaincapsdata/qemu_9.2.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_9.2.0-tcg.x86_64.xml
@@ -322,7 +322,7 @@
<feature name='topoext'/>
<feature name='xsavec'/>
</blockers>
- <model usable='no' vendor='AMD'>EPYC</model>
+ <model usable='no' vendor='AMD'
canonical='EPYC-v1'>EPYC</model>
<blockers model='EPYC'>
<feature name='fxsr_opt'/>
<feature name='misalignsse'/>
@@ -370,7 +370,7 @@
<feature name='xsavec'/>
<feature name='xsaves'/>
</blockers>
- <model usable='no' vendor='AMD'>EPYC-IBPB</model>
+ <model usable='no' vendor='AMD'
canonical='EPYC-v2'>EPYC-IBPB</model>
<blockers model='EPYC-IBPB'>
<feature name='fxsr_opt'/>
<feature name='ibpb'/>
@@ -515,6 +515,51 @@
<feature name='topoext'/>
<feature name='xsavec'/>
</blockers>
+ <model usable='no' vendor='AMD'>EPYC-v1</model>
+ <blockers model='EPYC-v1'>
+ <feature name='fxsr_opt'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='topoext'/>
+ <feature name='xsavec'/>
+ </blockers>
+ <model usable='no' vendor='AMD'>EPYC-v2</model>
+ <blockers model='EPYC-v2'>
+ <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='AMD'>EPYC-v3</model>
+ <blockers model='EPYC-v3'>
+ <feature name='clzero'/>
+ <feature name='fxsr_opt'/>
+ <feature name='ibpb'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='perfctr_core'/>
+ <feature name='topoext'/>
+ <feature name='xsavec'/>
+ <feature name='xsaves'/>
+ </blockers>
+ <model usable='no' vendor='AMD'>EPYC-v4</model>
+ <blockers model='EPYC-v4'>
+ <feature name='clzero'/>
+ <feature name='fxsr_opt'/>
+ <feature name='ibpb'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='perfctr_core'/>
+ <feature name='topoext'/>
+ <feature name='xsavec'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no' vendor='Intel'
canonical='GraniteRapids-v1'>GraniteRapids</model>
<blockers model='GraniteRapids'>
<feature name='amx-bf16'/>
diff --git a/tests/domaincapsdata/qemu_9.2.0.x86_64.xml
b/tests/domaincapsdata/qemu_9.2.0.x86_64.xml
index ae1d858cd9..f757e52446 100644
--- a/tests/domaincapsdata/qemu_9.2.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_9.2.0.x86_64.xml
@@ -307,7 +307,7 @@
<feature name='xsaves'/>
</blockers>
<model usable='yes' vendor='Hygon'>Dhyana</model>
- <model usable='yes' vendor='AMD'>EPYC</model>
+ <model usable='yes' vendor='AMD'
canonical='EPYC-v1'>EPYC</model>
<model usable='no' vendor='AMD'>EPYC-Genoa</model>
<blockers model='EPYC-Genoa'>
<feature name='amd-psfd'/>
@@ -338,7 +338,7 @@
<feature name='vpclmulqdq'/>
<feature name='xsaves'/>
</blockers>
- <model usable='yes' vendor='AMD'>EPYC-IBPB</model>
+ <model usable='yes' vendor='AMD'
canonical='EPYC-v2'>EPYC-IBPB</model>
<model usable='no' vendor='AMD'
canonical='EPYC-Milan-v1'>EPYC-Milan</model>
<blockers model='EPYC-Milan'>
<feature name='erms'/>
@@ -396,6 +396,16 @@
<blockers model='EPYC-Rome-v4'>
<feature name='ibrs'/>
</blockers>
+ <model usable='yes' vendor='AMD'>EPYC-v1</model>
+ <model usable='yes' vendor='AMD'>EPYC-v2</model>
+ <model usable='no' vendor='AMD'>EPYC-v3</model>
+ <blockers model='EPYC-v3'>
+ <feature name='xsaves'/>
+ </blockers>
+ <model usable='no' vendor='AMD'>EPYC-v4</model>
+ <blockers model='EPYC-v4'>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no' vendor='Intel'
canonical='GraniteRapids-v1'>GraniteRapids</model>
<blockers model='GraniteRapids'>
<feature name='amx-bf16'/>
--
2.47.0