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
- CPU models are no longer canonicalized in post-parse
src/cpu_map/index.xml | 2 +
src/cpu_map/meson.build | 2 +
src/cpu_map/x86_EPYC-Milan-v1.xml | 6 ++
src/cpu_map/x86_EPYC-Milan-v2.xml | 99 +++++++++++++++++++
.../domaincapsdata/qemu_6.0.0-q35.x86_64.xml | 11 ++-
.../domaincapsdata/qemu_6.0.0-tcg.x86_64.xml | 33 ++++++-
tests/domaincapsdata/qemu_6.0.0.x86_64.xml | 11 ++-
.../domaincapsdata/qemu_6.1.0-q35.x86_64.xml | 11 ++-
.../domaincapsdata/qemu_6.1.0-tcg.x86_64.xml | 33 ++++++-
tests/domaincapsdata/qemu_6.1.0.x86_64.xml | 11 ++-
.../domaincapsdata/qemu_6.2.0-q35.x86_64.xml | 11 ++-
.../domaincapsdata/qemu_6.2.0-tcg.x86_64.xml | 32 +++++-
tests/domaincapsdata/qemu_6.2.0.x86_64.xml | 11 ++-
.../domaincapsdata/qemu_7.0.0-q35.x86_64.xml | 11 ++-
.../domaincapsdata/qemu_7.0.0-tcg.x86_64.xml | 31 +++++-
tests/domaincapsdata/qemu_7.0.0.x86_64.xml | 11 ++-
.../domaincapsdata/qemu_7.1.0-q35.x86_64.xml | 11 ++-
.../domaincapsdata/qemu_7.1.0-tcg.x86_64.xml | 31 +++++-
tests/domaincapsdata/qemu_7.1.0.x86_64.xml | 11 ++-
.../domaincapsdata/qemu_7.2.0-q35.x86_64.xml | 11 ++-
.../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 | 11 ++-
.../domaincapsdata/qemu_8.0.0-q35.x86_64.xml | 11 ++-
.../domaincapsdata/qemu_8.0.0-tcg.x86_64.xml | 26 ++++-
tests/domaincapsdata/qemu_8.0.0.x86_64.xml | 11 ++-
.../domaincapsdata/qemu_8.1.0-q35.x86_64.xml | 27 ++++-
.../domaincapsdata/qemu_8.1.0-tcg.x86_64.xml | 46 ++++++++-
tests/domaincapsdata/qemu_8.1.0.x86_64.xml | 27 ++++-
.../domaincapsdata/qemu_8.2.0-q35.x86_64.xml | 27 ++++-
.../domaincapsdata/qemu_8.2.0-tcg.x86_64.xml | 44 ++++++++-
tests/domaincapsdata/qemu_8.2.0.x86_64.xml | 27 ++++-
.../domaincapsdata/qemu_9.0.0-q35.x86_64.xml | 27 ++++-
.../domaincapsdata/qemu_9.0.0-tcg.x86_64.xml | 44 ++++++++-
tests/domaincapsdata/qemu_9.0.0.x86_64.xml | 27 ++++-
.../domaincapsdata/qemu_9.1.0-q35.x86_64.xml | 27 ++++-
.../domaincapsdata/qemu_9.1.0-tcg.x86_64.xml | 44 ++++++++-
tests/domaincapsdata/qemu_9.1.0.x86_64.xml | 27 ++++-
.../domaincapsdata/qemu_9.2.0-q35.x86_64.xml | 27 ++++-
.../domaincapsdata/qemu_9.2.0-tcg.x86_64.xml | 44 ++++++++-
tests/domaincapsdata/qemu_9.2.0.x86_64.xml | 27 ++++-
41 files changed, 958 insertions(+), 37 deletions(-)
create mode 100644 src/cpu_map/x86_EPYC-Milan-v1.xml
create mode 100644 src/cpu_map/x86_EPYC-Milan-v2.xml
diff --git a/src/cpu_map/index.xml b/src/cpu_map/index.xml
index 1aa1d52f7a..5a1a4aa691 100644
--- a/src/cpu_map/index.xml
+++ b/src/cpu_map/index.xml
@@ -124,6 +124,8 @@
<include filename='x86_EPYC-IBPB.xml'/>
<include filename='x86_EPYC-Rome.xml'/>
<include filename='x86_EPYC-Milan.xml'/>
+ <include filename='x86_EPYC-Milan-v1.xml'/>
+ <include filename='x86_EPYC-Milan-v2.xml'/>
<include filename='x86_EPYC-Genoa.xml'/>
</group>
diff --git a/src/cpu_map/meson.build b/src/cpu_map/meson.build
index 9accba9936..5baf6543dd 100644
--- a/src/cpu_map/meson.build
+++ b/src/cpu_map/meson.build
@@ -51,6 +51,8 @@ cpumap_data = [
'x86_EPYC-IBPB.xml',
'x86_EPYC.xml',
'x86_EPYC-Genoa.xml',
+ 'x86_EPYC-Milan-v1.xml',
+ 'x86_EPYC-Milan-v2.xml',
'x86_EPYC-Milan.xml',
'x86_EPYC-Rome.xml',
'x86_features.xml',
diff --git a/src/cpu_map/x86_EPYC-Milan-v1.xml b/src/cpu_map/x86_EPYC-Milan-v1.xml
new file mode 100644
index 0000000000..ac1e9f7fb4
--- /dev/null
+++ b/src/cpu_map/x86_EPYC-Milan-v1.xml
@@ -0,0 +1,6 @@
+<cpus>
+ <model name='EPYC-Milan-v1'>
+ <decode host='on' guest='off'/>
+ <model name='EPYC-Milan'/>
+ </model>
+</cpus>
diff --git a/src/cpu_map/x86_EPYC-Milan-v2.xml b/src/cpu_map/x86_EPYC-Milan-v2.xml
new file mode 100644
index 0000000000..1a8969ef34
--- /dev/null
+++ b/src/cpu_map/x86_EPYC-Milan-v2.xml
@@ -0,0 +1,99 @@
+<cpus>
+ <model name='EPYC-Milan-v2'>
+ <decode host='on' guest='off'/>
+ <signature family='25' model='1'/>
+ <vendor name='AMD'/>
+ <feature name='3dnowprefetch'/>
+ <feature name='abm'/>
+ <feature name='adx'/>
+ <feature name='aes'/>
+ <feature name='amd-psfd'/>
+ <feature name='amd-ssbd'/>
+ <feature name='amd-stibp'/>
+ <feature name='apic'/>
+ <feature name='arat'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='bmi1'/>
+ <feature name='bmi2'/>
+ <feature name='clflush'/>
+ <feature name='clflushopt'/>
+ <feature name='clwb'/>
+ <feature name='clzero'/>
+ <feature name='cmov'/>
+ <feature name='cr8legacy'/>
+ <feature name='cx16'/>
+ <feature name='cx8'/>
+ <feature name='de'/>
+ <feature name='erms'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='fpu'/>
+ <feature name='fsgsbase'/>
+ <feature name='fsrm'/>
+ <feature name='fxsr'/>
+ <feature name='fxsr_opt'/>
+ <feature name='ibpb'/>
+ <feature name='ibrs'/>
+ <feature name='invpcid'/>
+ <feature name='lahf_lm'/>
+ <feature name='lfence-always-serializing'/>
+ <feature name='lm'/>
+ <feature name='mca'/>
+ <feature name='mce'/>
+ <feature name='misalignsse'/>
+ <feature name='mmx'/>
+ <feature name='mmxext'/>
+ <feature name='movbe'/>
+ <feature name='msr'/>
+ <feature name='mtrr'/>
+ <feature name='no-nested-data-bp'/>
+ <feature name='npt'/>
+ <feature name='nrip-save'/>
+ <feature name='null-sel-clr-base'/>
+ <feature name='nx'/>
+ <feature name='osvw'/>
+ <feature name='pae'/>
+ <feature name='pat'/>
+ <feature name='pcid'/>
+ <feature name='pclmuldq'/>
+ <feature name='pdpe1gb'/>
+ <feature name='perfctr_core'/>
+ <feature name='pge'/>
+ <feature name='pku'/>
+ <feature name='pni'/>
+ <feature name='popcnt'/>
+ <feature name='pse'/>
+ <feature name='pse36'/>
+ <feature name='rdpid'/>
+ <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='stibp-always-on'/>
+ <feature name='svm'/>
+ <feature name='svme-addr-chk'/>
+ <feature name='syscall'/>
+ <feature name='tsc'/>
+ <feature name='umip'/>
+ <feature name='vaes'/>
+ <feature name='vme'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='wbnoinvd'/>
+ <feature name='xgetbv1'/>
+ <feature name='xsave'/>
+ <feature name='xsavec'/>
+ <feature name='xsaveerptr'/>
+ <feature name='xsaveopt'/>
+ <feature name='xsaves'/>
+ </model>
+</cpus>
diff --git a/tests/domaincapsdata/qemu_6.0.0-q35.x86_64.xml
b/tests/domaincapsdata/qemu_6.0.0-q35.x86_64.xml
index 589daac924..7f55b528e6 100644
--- a/tests/domaincapsdata/qemu_6.0.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.0.0-q35.x86_64.xml
@@ -259,7 +259,7 @@
<model usable='yes' vendor='Hygon'>Dhyana</model>
<model usable='yes' vendor='AMD'>EPYC</model>
<model usable='yes' vendor='AMD'>EPYC-IBPB</model>
- <model usable='no' vendor='AMD'>EPYC-Milan</model>
+ <model usable='no' vendor='AMD'
canonical='EPYC-Milan-v1'>EPYC-Milan</model>
<blockers model='EPYC-Milan'>
<feature name='erms'/>
<feature name='fsrm'/>
@@ -268,6 +268,15 @@
<feature name='pcid'/>
<feature name='pku'/>
</blockers>
+ <model usable='no' vendor='AMD'>EPYC-Milan-v1</model>
+ <blockers model='EPYC-Milan-v1'>
+ <feature name='erms'/>
+ <feature name='fsrm'/>
+ <feature name='ibrs'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ </blockers>
<model usable='yes' vendor='AMD'>EPYC-Rome</model>
<model usable='no' vendor='Intel'
canonical='Haswell-v1'>Haswell</model>
<blockers model='Haswell'>
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 4678c6dd21..4de66b9fc1 100644
--- a/tests/domaincapsdata/qemu_6.0.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.0.0-tcg.x86_64.xml
@@ -466,7 +466,7 @@
<feature name='topoext'/>
<feature name='xsavec'/>
</blockers>
- <model usable='no' vendor='AMD'>EPYC-Milan</model>
+ <model usable='no' vendor='AMD'
canonical='EPYC-Milan-v1'>EPYC-Milan</model>
<blockers model='EPYC-Milan'>
<feature name='3dnowprefetch'/>
<feature name='amd-ssbd'/>
@@ -497,6 +497,37 @@
<feature name='xsaveerptr'/>
<feature name='xsaves'/>
</blockers>
+ <model usable='no' vendor='AMD'>EPYC-Milan-v1</model>
+ <blockers model='EPYC-Milan-v1'>
+ <feature name='3dnowprefetch'/>
+ <feature name='amd-ssbd'/>
+ <feature name='amd-stibp'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='clzero'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='fsrm'/>
+ <feature name='fxsr_opt'/>
+ <feature name='ibpb'/>
+ <feature name='ibrs'/>
+ <feature name='invpcid'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='pcid'/>
+ <feature name='perfctr_core'/>
+ <feature name='rdpid'/>
+ <feature name='rdseed'/>
+ <feature name='sha-ni'/>
+ <feature name='svme-addr-chk'/>
+ <feature name='topoext'/>
+ <feature name='umip'/>
+ <feature name='wbnoinvd'/>
+ <feature name='xsavec'/>
+ <feature name='xsaveerptr'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no' vendor='AMD'>EPYC-Rome</model>
<blockers model='EPYC-Rome'>
<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 50d2aa6690..5c9d38ca08 100644
--- a/tests/domaincapsdata/qemu_6.0.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.0.0.x86_64.xml
@@ -258,7 +258,7 @@
<model usable='yes' vendor='Hygon'>Dhyana</model>
<model usable='yes' vendor='AMD'>EPYC</model>
<model usable='yes' vendor='AMD'>EPYC-IBPB</model>
- <model usable='no' vendor='AMD'>EPYC-Milan</model>
+ <model usable='no' vendor='AMD'
canonical='EPYC-Milan-v1'>EPYC-Milan</model>
<blockers model='EPYC-Milan'>
<feature name='erms'/>
<feature name='fsrm'/>
@@ -267,6 +267,15 @@
<feature name='pcid'/>
<feature name='pku'/>
</blockers>
+ <model usable='no' vendor='AMD'>EPYC-Milan-v1</model>
+ <blockers model='EPYC-Milan-v1'>
+ <feature name='erms'/>
+ <feature name='fsrm'/>
+ <feature name='ibrs'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ </blockers>
<model usable='yes' vendor='AMD'>EPYC-Rome</model>
<model usable='no' vendor='Intel'
canonical='Haswell-v1'>Haswell</model>
<blockers model='Haswell'>
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 7ae20c1b2a..9d6d6ccdf7 100644
--- a/tests/domaincapsdata/qemu_6.1.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.1.0-q35.x86_64.xml
@@ -297,7 +297,7 @@
<model usable='yes' vendor='Hygon'>Dhyana</model>
<model usable='yes' vendor='AMD'>EPYC</model>
<model usable='yes' vendor='AMD'>EPYC-IBPB</model>
- <model usable='no' vendor='AMD'>EPYC-Milan</model>
+ <model usable='no' vendor='AMD'
canonical='EPYC-Milan-v1'>EPYC-Milan</model>
<blockers model='EPYC-Milan'>
<feature name='erms'/>
<feature name='fsrm'/>
@@ -306,6 +306,15 @@
<feature name='pcid'/>
<feature name='pku'/>
</blockers>
+ <model usable='no' vendor='AMD'>EPYC-Milan-v1</model>
+ <blockers model='EPYC-Milan-v1'>
+ <feature name='erms'/>
+ <feature name='fsrm'/>
+ <feature name='ibrs'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ </blockers>
<model usable='yes' vendor='AMD'>EPYC-Rome</model>
<model usable='no' vendor='Intel'
canonical='Haswell-v1'>Haswell</model>
<blockers model='Haswell'>
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 e1a4dbbbf2..ab6728b6f3 100644
--- a/tests/domaincapsdata/qemu_6.1.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.1.0-tcg.x86_64.xml
@@ -531,7 +531,7 @@
<feature name='topoext'/>
<feature name='xsavec'/>
</blockers>
- <model usable='no' vendor='AMD'>EPYC-Milan</model>
+ <model usable='no' vendor='AMD'
canonical='EPYC-Milan-v1'>EPYC-Milan</model>
<blockers model='EPYC-Milan'>
<feature name='3dnowprefetch'/>
<feature name='amd-ssbd'/>
@@ -562,6 +562,37 @@
<feature name='xsaveerptr'/>
<feature name='xsaves'/>
</blockers>
+ <model usable='no' vendor='AMD'>EPYC-Milan-v1</model>
+ <blockers model='EPYC-Milan-v1'>
+ <feature name='3dnowprefetch'/>
+ <feature name='amd-ssbd'/>
+ <feature name='amd-stibp'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='clzero'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='fsrm'/>
+ <feature name='fxsr_opt'/>
+ <feature name='ibpb'/>
+ <feature name='ibrs'/>
+ <feature name='invpcid'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='pcid'/>
+ <feature name='perfctr_core'/>
+ <feature name='rdpid'/>
+ <feature name='rdseed'/>
+ <feature name='sha-ni'/>
+ <feature name='svme-addr-chk'/>
+ <feature name='topoext'/>
+ <feature name='umip'/>
+ <feature name='wbnoinvd'/>
+ <feature name='xsavec'/>
+ <feature name='xsaveerptr'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no' vendor='AMD'>EPYC-Rome</model>
<blockers model='EPYC-Rome'>
<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 a1e9e227f7..ea112f1748 100644
--- a/tests/domaincapsdata/qemu_6.1.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.1.0.x86_64.xml
@@ -296,7 +296,7 @@
<model usable='yes' vendor='Hygon'>Dhyana</model>
<model usable='yes' vendor='AMD'>EPYC</model>
<model usable='yes' vendor='AMD'>EPYC-IBPB</model>
- <model usable='no' vendor='AMD'>EPYC-Milan</model>
+ <model usable='no' vendor='AMD'
canonical='EPYC-Milan-v1'>EPYC-Milan</model>
<blockers model='EPYC-Milan'>
<feature name='erms'/>
<feature name='fsrm'/>
@@ -305,6 +305,15 @@
<feature name='pcid'/>
<feature name='pku'/>
</blockers>
+ <model usable='no' vendor='AMD'>EPYC-Milan-v1</model>
+ <blockers model='EPYC-Milan-v1'>
+ <feature name='erms'/>
+ <feature name='fsrm'/>
+ <feature name='ibrs'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ </blockers>
<model usable='yes' vendor='AMD'>EPYC-Rome</model>
<model usable='no' vendor='Intel'
canonical='Haswell-v1'>Haswell</model>
<blockers model='Haswell'>
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 da015ee336..dec6db99f0 100644
--- a/tests/domaincapsdata/qemu_6.2.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.2.0-q35.x86_64.xml
@@ -294,7 +294,7 @@
<model usable='yes' vendor='Hygon'>Dhyana</model>
<model usable='yes' vendor='AMD'>EPYC</model>
<model usable='yes' vendor='AMD'>EPYC-IBPB</model>
- <model usable='no' vendor='AMD'>EPYC-Milan</model>
+ <model usable='no' vendor='AMD'
canonical='EPYC-Milan-v1'>EPYC-Milan</model>
<blockers model='EPYC-Milan'>
<feature name='erms'/>
<feature name='fsrm'/>
@@ -303,6 +303,15 @@
<feature name='pcid'/>
<feature name='pku'/>
</blockers>
+ <model usable='no' vendor='AMD'>EPYC-Milan-v1</model>
+ <blockers model='EPYC-Milan-v1'>
+ <feature name='erms'/>
+ <feature name='fsrm'/>
+ <feature name='ibrs'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ </blockers>
<model usable='yes' vendor='AMD'>EPYC-Rome</model>
<model usable='no' vendor='Intel'
canonical='Haswell-v1'>Haswell</model>
<blockers model='Haswell'>
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 1734f2a315..8b15c74e33 100644
--- a/tests/domaincapsdata/qemu_6.2.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.2.0-tcg.x86_64.xml
@@ -530,7 +530,7 @@
<feature name='topoext'/>
<feature name='xsavec'/>
</blockers>
- <model usable='no' vendor='AMD'>EPYC-Milan</model>
+ <model usable='no' vendor='AMD'
canonical='EPYC-Milan-v1'>EPYC-Milan</model>
<blockers model='EPYC-Milan'>
<feature name='3dnowprefetch'/>
<feature name='amd-ssbd'/>
@@ -560,6 +560,36 @@
<feature name='xsaveerptr'/>
<feature name='xsaves'/>
</blockers>
+ <model usable='no' vendor='AMD'>EPYC-Milan-v1</model>
+ <blockers model='EPYC-Milan-v1'>
+ <feature name='3dnowprefetch'/>
+ <feature name='amd-ssbd'/>
+ <feature name='amd-stibp'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='clzero'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='fsrm'/>
+ <feature name='fxsr_opt'/>
+ <feature name='ibpb'/>
+ <feature name='ibrs'/>
+ <feature name='invpcid'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='pcid'/>
+ <feature name='perfctr_core'/>
+ <feature name='rdpid'/>
+ <feature name='rdseed'/>
+ <feature name='sha-ni'/>
+ <feature name='topoext'/>
+ <feature name='umip'/>
+ <feature name='wbnoinvd'/>
+ <feature name='xsavec'/>
+ <feature name='xsaveerptr'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no' vendor='AMD'>EPYC-Rome</model>
<blockers model='EPYC-Rome'>
<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 342cfcb031..b136ce847c 100644
--- a/tests/domaincapsdata/qemu_6.2.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.2.0.x86_64.xml
@@ -293,7 +293,7 @@
<model usable='yes' vendor='Hygon'>Dhyana</model>
<model usable='yes' vendor='AMD'>EPYC</model>
<model usable='yes' vendor='AMD'>EPYC-IBPB</model>
- <model usable='no' vendor='AMD'>EPYC-Milan</model>
+ <model usable='no' vendor='AMD'
canonical='EPYC-Milan-v1'>EPYC-Milan</model>
<blockers model='EPYC-Milan'>
<feature name='erms'/>
<feature name='fsrm'/>
@@ -302,6 +302,15 @@
<feature name='pcid'/>
<feature name='pku'/>
</blockers>
+ <model usable='no' vendor='AMD'>EPYC-Milan-v1</model>
+ <blockers model='EPYC-Milan-v1'>
+ <feature name='erms'/>
+ <feature name='fsrm'/>
+ <feature name='ibrs'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ </blockers>
<model usable='yes' vendor='AMD'>EPYC-Rome</model>
<model usable='no' vendor='Intel'
canonical='Haswell-v1'>Haswell</model>
<blockers model='Haswell'>
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 9f98e0ecf3..8a5dd3af81 100644
--- a/tests/domaincapsdata/qemu_7.0.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_7.0.0-q35.x86_64.xml
@@ -295,7 +295,7 @@
<model usable='yes' vendor='Hygon'>Dhyana</model>
<model usable='yes' vendor='AMD'>EPYC</model>
<model usable='yes' vendor='AMD'>EPYC-IBPB</model>
- <model usable='no' vendor='AMD'>EPYC-Milan</model>
+ <model usable='no' vendor='AMD'
canonical='EPYC-Milan-v1'>EPYC-Milan</model>
<blockers model='EPYC-Milan'>
<feature name='erms'/>
<feature name='fsrm'/>
@@ -304,6 +304,15 @@
<feature name='pcid'/>
<feature name='pku'/>
</blockers>
+ <model usable='no' vendor='AMD'>EPYC-Milan-v1</model>
+ <blockers model='EPYC-Milan-v1'>
+ <feature name='erms'/>
+ <feature name='fsrm'/>
+ <feature name='ibrs'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ </blockers>
<model usable='yes' vendor='AMD'>EPYC-Rome</model>
<model usable='no' vendor='Intel'
canonical='Haswell-v1'>Haswell</model>
<blockers model='Haswell'>
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 0b852acde0..cee1f740d4 100644
--- a/tests/domaincapsdata/qemu_7.0.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_7.0.0-tcg.x86_64.xml
@@ -531,7 +531,7 @@
<feature name='topoext'/>
<feature name='xsavec'/>
</blockers>
- <model usable='no' vendor='AMD'>EPYC-Milan</model>
+ <model usable='no' vendor='AMD'
canonical='EPYC-Milan-v1'>EPYC-Milan</model>
<blockers model='EPYC-Milan'>
<feature name='3dnowprefetch'/>
<feature name='amd-ssbd'/>
@@ -560,6 +560,35 @@
<feature name='xsaveerptr'/>
<feature name='xsaves'/>
</blockers>
+ <model usable='no' vendor='AMD'>EPYC-Milan-v1</model>
+ <blockers model='EPYC-Milan-v1'>
+ <feature name='3dnowprefetch'/>
+ <feature name='amd-ssbd'/>
+ <feature name='amd-stibp'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='clzero'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='fsrm'/>
+ <feature name='fxsr_opt'/>
+ <feature name='ibpb'/>
+ <feature name='ibrs'/>
+ <feature name='invpcid'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='pcid'/>
+ <feature name='perfctr_core'/>
+ <feature name='rdpid'/>
+ <feature name='rdseed'/>
+ <feature name='sha-ni'/>
+ <feature name='topoext'/>
+ <feature name='wbnoinvd'/>
+ <feature name='xsavec'/>
+ <feature name='xsaveerptr'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no' vendor='AMD'>EPYC-Rome</model>
<blockers model='EPYC-Rome'>
<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 2f6bfe14a5..15be5d34e0 100644
--- a/tests/domaincapsdata/qemu_7.0.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_7.0.0.x86_64.xml
@@ -294,7 +294,7 @@
<model usable='yes' vendor='Hygon'>Dhyana</model>
<model usable='yes' vendor='AMD'>EPYC</model>
<model usable='yes' vendor='AMD'>EPYC-IBPB</model>
- <model usable='no' vendor='AMD'>EPYC-Milan</model>
+ <model usable='no' vendor='AMD'
canonical='EPYC-Milan-v1'>EPYC-Milan</model>
<blockers model='EPYC-Milan'>
<feature name='erms'/>
<feature name='fsrm'/>
@@ -303,6 +303,15 @@
<feature name='pcid'/>
<feature name='pku'/>
</blockers>
+ <model usable='no' vendor='AMD'>EPYC-Milan-v1</model>
+ <blockers model='EPYC-Milan-v1'>
+ <feature name='erms'/>
+ <feature name='fsrm'/>
+ <feature name='ibrs'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ </blockers>
<model usable='yes' vendor='AMD'>EPYC-Rome</model>
<model usable='no' vendor='Intel'
canonical='Haswell-v1'>Haswell</model>
<blockers model='Haswell'>
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 2a07eb4442..e70d3c7498 100644
--- a/tests/domaincapsdata/qemu_7.1.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_7.1.0-q35.x86_64.xml
@@ -296,7 +296,7 @@
<model usable='yes' vendor='Hygon'>Dhyana</model>
<model usable='yes' vendor='AMD'>EPYC</model>
<model usable='yes' vendor='AMD'>EPYC-IBPB</model>
- <model usable='no' vendor='AMD'>EPYC-Milan</model>
+ <model usable='no' vendor='AMD'
canonical='EPYC-Milan-v1'>EPYC-Milan</model>
<blockers model='EPYC-Milan'>
<feature name='erms'/>
<feature name='fsrm'/>
@@ -305,6 +305,15 @@
<feature name='pcid'/>
<feature name='pku'/>
</blockers>
+ <model usable='no' vendor='AMD'>EPYC-Milan-v1</model>
+ <blockers model='EPYC-Milan-v1'>
+ <feature name='erms'/>
+ <feature name='fsrm'/>
+ <feature name='ibrs'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ </blockers>
<model usable='yes' vendor='AMD'>EPYC-Rome</model>
<model usable='no' vendor='Intel'
canonical='Haswell-v1'>Haswell</model>
<blockers model='Haswell'>
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 da183f31f2..676d13fb3b 100644
--- a/tests/domaincapsdata/qemu_7.1.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_7.1.0-tcg.x86_64.xml
@@ -531,7 +531,7 @@
<feature name='topoext'/>
<feature name='xsavec'/>
</blockers>
- <model usable='no' vendor='AMD'>EPYC-Milan</model>
+ <model usable='no' vendor='AMD'
canonical='EPYC-Milan-v1'>EPYC-Milan</model>
<blockers model='EPYC-Milan'>
<feature name='3dnowprefetch'/>
<feature name='amd-ssbd'/>
@@ -560,6 +560,35 @@
<feature name='xsaveerptr'/>
<feature name='xsaves'/>
</blockers>
+ <model usable='no' vendor='AMD'>EPYC-Milan-v1</model>
+ <blockers model='EPYC-Milan-v1'>
+ <feature name='3dnowprefetch'/>
+ <feature name='amd-ssbd'/>
+ <feature name='amd-stibp'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='clzero'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='fsrm'/>
+ <feature name='fxsr_opt'/>
+ <feature name='ibpb'/>
+ <feature name='ibrs'/>
+ <feature name='invpcid'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='pcid'/>
+ <feature name='perfctr_core'/>
+ <feature name='rdpid'/>
+ <feature name='rdseed'/>
+ <feature name='sha-ni'/>
+ <feature name='topoext'/>
+ <feature name='wbnoinvd'/>
+ <feature name='xsavec'/>
+ <feature name='xsaveerptr'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no' vendor='AMD'>EPYC-Rome</model>
<blockers model='EPYC-Rome'>
<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 4d54e4f5f4..6859c4de66 100644
--- a/tests/domaincapsdata/qemu_7.1.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_7.1.0.x86_64.xml
@@ -295,7 +295,7 @@
<model usable='yes' vendor='Hygon'>Dhyana</model>
<model usable='yes' vendor='AMD'>EPYC</model>
<model usable='yes' vendor='AMD'>EPYC-IBPB</model>
- <model usable='no' vendor='AMD'>EPYC-Milan</model>
+ <model usable='no' vendor='AMD'
canonical='EPYC-Milan-v1'>EPYC-Milan</model>
<blockers model='EPYC-Milan'>
<feature name='erms'/>
<feature name='fsrm'/>
@@ -304,6 +304,15 @@
<feature name='pcid'/>
<feature name='pku'/>
</blockers>
+ <model usable='no' vendor='AMD'>EPYC-Milan-v1</model>
+ <blockers model='EPYC-Milan-v1'>
+ <feature name='erms'/>
+ <feature name='fsrm'/>
+ <feature name='ibrs'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ </blockers>
<model usable='yes' vendor='AMD'>EPYC-Rome</model>
<model usable='no' vendor='Intel'
canonical='Haswell-v1'>Haswell</model>
<blockers model='Haswell'>
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 19adea1842..a2be591f11 100644
--- a/tests/domaincapsdata/qemu_7.2.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_7.2.0-q35.x86_64.xml
@@ -301,7 +301,7 @@
<model usable='yes' vendor='Hygon'>Dhyana</model>
<model usable='yes' vendor='AMD'>EPYC</model>
<model usable='yes' vendor='AMD'>EPYC-IBPB</model>
- <model usable='no' vendor='AMD'>EPYC-Milan</model>
+ <model usable='no' vendor='AMD'
canonical='EPYC-Milan-v1'>EPYC-Milan</model>
<blockers model='EPYC-Milan'>
<feature name='erms'/>
<feature name='fsrm'/>
@@ -310,6 +310,15 @@
<feature name='pcid'/>
<feature name='pku'/>
</blockers>
+ <model usable='no' vendor='AMD'>EPYC-Milan-v1</model>
+ <blockers model='EPYC-Milan-v1'>
+ <feature name='erms'/>
+ <feature name='fsrm'/>
+ <feature name='ibrs'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ </blockers>
<model usable='yes' vendor='AMD'>EPYC-Rome</model>
<model usable='no' vendor='Intel'
canonical='Haswell-v1'>Haswell</model>
<blockers model='Haswell'>
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 c223cb4d79..cecfdf6b5e 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
@@ -436,7 +436,7 @@
<feature name='topoext'/>
<feature name='xsavec'/>
</blockers>
- <model usable='no' vendor='AMD'>EPYC-Milan</model>
+ <model usable='no' vendor='AMD'
canonical='EPYC-Milan-v1'>EPYC-Milan</model>
<blockers model='EPYC-Milan'>
<feature name='3dnowprefetch'/>
<feature name='amd-ssbd'/>
@@ -461,6 +461,31 @@
<feature name='xsaveerptr'/>
<feature name='xsaves'/>
</blockers>
+ <model usable='no' vendor='AMD'>EPYC-Milan-v1</model>
+ <blockers model='EPYC-Milan-v1'>
+ <feature name='3dnowprefetch'/>
+ <feature name='amd-ssbd'/>
+ <feature name='amd-stibp'/>
+ <feature name='clzero'/>
+ <feature name='fsrm'/>
+ <feature name='fxsr_opt'/>
+ <feature name='ibpb'/>
+ <feature name='ibrs'/>
+ <feature name='invpcid'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='pcid'/>
+ <feature name='perfctr_core'/>
+ <feature name='rdpid'/>
+ <feature name='rdseed'/>
+ <feature name='sha-ni'/>
+ <feature name='topoext'/>
+ <feature name='wbnoinvd'/>
+ <feature name='xsavec'/>
+ <feature name='xsaveerptr'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no' vendor='AMD'>EPYC-Rome</model>
<blockers model='EPYC-Rome'>
<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 c223cb4d79..cecfdf6b5e 100644
--- a/tests/domaincapsdata/qemu_7.2.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_7.2.0-tcg.x86_64.xml
@@ -436,7 +436,7 @@
<feature name='topoext'/>
<feature name='xsavec'/>
</blockers>
- <model usable='no' vendor='AMD'>EPYC-Milan</model>
+ <model usable='no' vendor='AMD'
canonical='EPYC-Milan-v1'>EPYC-Milan</model>
<blockers model='EPYC-Milan'>
<feature name='3dnowprefetch'/>
<feature name='amd-ssbd'/>
@@ -461,6 +461,31 @@
<feature name='xsaveerptr'/>
<feature name='xsaves'/>
</blockers>
+ <model usable='no' vendor='AMD'>EPYC-Milan-v1</model>
+ <blockers model='EPYC-Milan-v1'>
+ <feature name='3dnowprefetch'/>
+ <feature name='amd-ssbd'/>
+ <feature name='amd-stibp'/>
+ <feature name='clzero'/>
+ <feature name='fsrm'/>
+ <feature name='fxsr_opt'/>
+ <feature name='ibpb'/>
+ <feature name='ibrs'/>
+ <feature name='invpcid'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='pcid'/>
+ <feature name='perfctr_core'/>
+ <feature name='rdpid'/>
+ <feature name='rdseed'/>
+ <feature name='sha-ni'/>
+ <feature name='topoext'/>
+ <feature name='wbnoinvd'/>
+ <feature name='xsavec'/>
+ <feature name='xsaveerptr'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no' vendor='AMD'>EPYC-Rome</model>
<blockers model='EPYC-Rome'>
<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 a557ffa7da..2aecbb33bc 100644
--- a/tests/domaincapsdata/qemu_7.2.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_7.2.0.x86_64.xml
@@ -300,7 +300,7 @@
<model usable='yes' vendor='Hygon'>Dhyana</model>
<model usable='yes' vendor='AMD'>EPYC</model>
<model usable='yes' vendor='AMD'>EPYC-IBPB</model>
- <model usable='no' vendor='AMD'>EPYC-Milan</model>
+ <model usable='no' vendor='AMD'
canonical='EPYC-Milan-v1'>EPYC-Milan</model>
<blockers model='EPYC-Milan'>
<feature name='erms'/>
<feature name='fsrm'/>
@@ -309,6 +309,15 @@
<feature name='pcid'/>
<feature name='pku'/>
</blockers>
+ <model usable='no' vendor='AMD'>EPYC-Milan-v1</model>
+ <blockers model='EPYC-Milan-v1'>
+ <feature name='erms'/>
+ <feature name='fsrm'/>
+ <feature name='ibrs'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ </blockers>
<model usable='yes' vendor='AMD'>EPYC-Rome</model>
<model usable='no' vendor='Intel'
canonical='Haswell-v1'>Haswell</model>
<blockers model='Haswell'>
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 0aa4cbc785..2640491c43 100644
--- a/tests/domaincapsdata/qemu_8.0.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_8.0.0-q35.x86_64.xml
@@ -301,7 +301,7 @@
<model usable='yes' vendor='Hygon'>Dhyana</model>
<model usable='yes' vendor='AMD'>EPYC</model>
<model usable='yes' vendor='AMD'>EPYC-IBPB</model>
- <model usable='no' vendor='AMD'>EPYC-Milan</model>
+ <model usable='no' vendor='AMD'
canonical='EPYC-Milan-v1'>EPYC-Milan</model>
<blockers model='EPYC-Milan'>
<feature name='erms'/>
<feature name='fsrm'/>
@@ -310,6 +310,15 @@
<feature name='pcid'/>
<feature name='pku'/>
</blockers>
+ <model usable='no' vendor='AMD'>EPYC-Milan-v1</model>
+ <blockers model='EPYC-Milan-v1'>
+ <feature name='erms'/>
+ <feature name='fsrm'/>
+ <feature name='ibrs'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ </blockers>
<model usable='yes' vendor='AMD'>EPYC-Rome</model>
<model usable='no' vendor='Intel'
canonical='Haswell-v1'>Haswell</model>
<blockers model='Haswell'>
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 c88b68e566..489085a666 100644
--- a/tests/domaincapsdata/qemu_8.0.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_8.0.0-tcg.x86_64.xml
@@ -440,7 +440,7 @@
<feature name='topoext'/>
<feature name='xsavec'/>
</blockers>
- <model usable='no' vendor='AMD'>EPYC-Milan</model>
+ <model usable='no' vendor='AMD'
canonical='EPYC-Milan-v1'>EPYC-Milan</model>
<blockers model='EPYC-Milan'>
<feature name='3dnowprefetch'/>
<feature name='amd-ssbd'/>
@@ -464,6 +464,30 @@
<feature name='xsaveerptr'/>
<feature name='xsaves'/>
</blockers>
+ <model usable='no' vendor='AMD'>EPYC-Milan-v1</model>
+ <blockers model='EPYC-Milan-v1'>
+ <feature name='3dnowprefetch'/>
+ <feature name='amd-ssbd'/>
+ <feature name='amd-stibp'/>
+ <feature name='clzero'/>
+ <feature name='fxsr_opt'/>
+ <feature name='ibpb'/>
+ <feature name='ibrs'/>
+ <feature name='invpcid'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='pcid'/>
+ <feature name='perfctr_core'/>
+ <feature name='rdpid'/>
+ <feature name='rdseed'/>
+ <feature name='sha-ni'/>
+ <feature name='topoext'/>
+ <feature name='wbnoinvd'/>
+ <feature name='xsavec'/>
+ <feature name='xsaveerptr'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no' vendor='AMD'>EPYC-Rome</model>
<blockers model='EPYC-Rome'>
<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 6815648b70..a8027a43e9 100644
--- a/tests/domaincapsdata/qemu_8.0.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_8.0.0.x86_64.xml
@@ -300,7 +300,7 @@
<model usable='yes' vendor='Hygon'>Dhyana</model>
<model usable='yes' vendor='AMD'>EPYC</model>
<model usable='yes' vendor='AMD'>EPYC-IBPB</model>
- <model usable='no' vendor='AMD'>EPYC-Milan</model>
+ <model usable='no' vendor='AMD'
canonical='EPYC-Milan-v1'>EPYC-Milan</model>
<blockers model='EPYC-Milan'>
<feature name='erms'/>
<feature name='fsrm'/>
@@ -309,6 +309,15 @@
<feature name='pcid'/>
<feature name='pku'/>
</blockers>
+ <model usable='no' vendor='AMD'>EPYC-Milan-v1</model>
+ <blockers model='EPYC-Milan-v1'>
+ <feature name='erms'/>
+ <feature name='fsrm'/>
+ <feature name='ibrs'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ </blockers>
<model usable='yes' vendor='AMD'>EPYC-Rome</model>
<model usable='no' vendor='Intel'
canonical='Haswell-v1'>Haswell</model>
<blockers model='Haswell'>
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 67cd483a1f..aa179c38f6 100644
--- a/tests/domaincapsdata/qemu_8.1.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_8.1.0-q35.x86_64.xml
@@ -335,7 +335,7 @@
<feature name='xsaves'/>
</blockers>
<model usable='yes' vendor='AMD'>EPYC-IBPB</model>
- <model usable='no' vendor='AMD'>EPYC-Milan</model>
+ <model usable='no' vendor='AMD'
canonical='EPYC-Milan-v1'>EPYC-Milan</model>
<blockers model='EPYC-Milan'>
<feature name='erms'/>
<feature name='fsrm'/>
@@ -345,6 +345,31 @@
<feature name='pku'/>
<feature name='xsaves'/>
</blockers>
+ <model usable='no' vendor='AMD'>EPYC-Milan-v1</model>
+ <blockers model='EPYC-Milan-v1'>
+ <feature name='erms'/>
+ <feature name='fsrm'/>
+ <feature name='ibrs'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='xsaves'/>
+ </blockers>
+ <model usable='no' vendor='AMD'>EPYC-Milan-v2</model>
+ <blockers model='EPYC-Milan-v2'>
+ <feature name='amd-psfd'/>
+ <feature name='erms'/>
+ <feature name='fsrm'/>
+ <feature name='ibrs'/>
+ <feature name='invpcid'/>
+ <feature name='no-nested-data-bp'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='stibp-always-on'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no' vendor='AMD'>EPYC-Rome</model>
<blockers model='EPYC-Rome'>
<feature name='xsaves'/>
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 04dcadb6e5..cac6a73071 100644
--- a/tests/domaincapsdata/qemu_8.1.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_8.1.0-tcg.x86_64.xml
@@ -401,7 +401,7 @@
<feature name='topoext'/>
<feature name='xsavec'/>
</blockers>
- <model usable='no' vendor='AMD'>EPYC-Milan</model>
+ <model usable='no' vendor='AMD'
canonical='EPYC-Milan-v1'>EPYC-Milan</model>
<blockers model='EPYC-Milan'>
<feature name='amd-ssbd'/>
<feature name='amd-stibp'/>
@@ -420,6 +420,50 @@
<feature name='xsavec'/>
<feature name='xsaves'/>
</blockers>
+ <model usable='no' vendor='AMD'>EPYC-Milan-v1</model>
+ <blockers model='EPYC-Milan-v1'>
+ <feature name='amd-ssbd'/>
+ <feature name='amd-stibp'/>
+ <feature name='clzero'/>
+ <feature name='fxsr_opt'/>
+ <feature name='ibpb'/>
+ <feature name='ibrs'/>
+ <feature name='invpcid'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='pcid'/>
+ <feature name='perfctr_core'/>
+ <feature name='sha-ni'/>
+ <feature name='topoext'/>
+ <feature name='xsavec'/>
+ <feature name='xsaves'/>
+ </blockers>
+ <model usable='no' vendor='AMD'>EPYC-Milan-v2</model>
+ <blockers model='EPYC-Milan-v2'>
+ <feature name='amd-psfd'/>
+ <feature name='amd-ssbd'/>
+ <feature name='amd-stibp'/>
+ <feature name='clzero'/>
+ <feature name='fxsr_opt'/>
+ <feature name='ibpb'/>
+ <feature name='ibrs'/>
+ <feature name='invpcid'/>
+ <feature name='lfence-always-serializing'/>
+ <feature name='misalignsse'/>
+ <feature name='no-nested-data-bp'/>
+ <feature name='nrip-save'/>
+ <feature name='null-sel-clr-base'/>
+ <feature name='osvw'/>
+ <feature name='pcid'/>
+ <feature name='perfctr_core'/>
+ <feature name='sha-ni'/>
+ <feature name='stibp-always-on'/>
+ <feature name='topoext'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='xsavec'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no' vendor='AMD'>EPYC-Rome</model>
<blockers model='EPYC-Rome'>
<feature name='amd-stibp'/>
diff --git a/tests/domaincapsdata/qemu_8.1.0.x86_64.xml
b/tests/domaincapsdata/qemu_8.1.0.x86_64.xml
index 5355c72af5..1f996902da 100644
--- a/tests/domaincapsdata/qemu_8.1.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_8.1.0.x86_64.xml
@@ -334,7 +334,7 @@
<feature name='xsaves'/>
</blockers>
<model usable='yes' vendor='AMD'>EPYC-IBPB</model>
- <model usable='no' vendor='AMD'>EPYC-Milan</model>
+ <model usable='no' vendor='AMD'
canonical='EPYC-Milan-v1'>EPYC-Milan</model>
<blockers model='EPYC-Milan'>
<feature name='erms'/>
<feature name='fsrm'/>
@@ -344,6 +344,31 @@
<feature name='pku'/>
<feature name='xsaves'/>
</blockers>
+ <model usable='no' vendor='AMD'>EPYC-Milan-v1</model>
+ <blockers model='EPYC-Milan-v1'>
+ <feature name='erms'/>
+ <feature name='fsrm'/>
+ <feature name='ibrs'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='xsaves'/>
+ </blockers>
+ <model usable='no' vendor='AMD'>EPYC-Milan-v2</model>
+ <blockers model='EPYC-Milan-v2'>
+ <feature name='amd-psfd'/>
+ <feature name='erms'/>
+ <feature name='fsrm'/>
+ <feature name='ibrs'/>
+ <feature name='invpcid'/>
+ <feature name='no-nested-data-bp'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='stibp-always-on'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no' vendor='AMD'>EPYC-Rome</model>
<blockers model='EPYC-Rome'>
<feature name='xsaves'/>
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 fd02445887..9038f79bb2 100644
--- a/tests/domaincapsdata/qemu_8.2.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_8.2.0-q35.x86_64.xml
@@ -336,7 +336,7 @@
<feature name='xsaves'/>
</blockers>
<model usable='yes' vendor='AMD'>EPYC-IBPB</model>
- <model usable='no' vendor='AMD'>EPYC-Milan</model>
+ <model usable='no' vendor='AMD'
canonical='EPYC-Milan-v1'>EPYC-Milan</model>
<blockers model='EPYC-Milan'>
<feature name='erms'/>
<feature name='fsrm'/>
@@ -346,6 +346,31 @@
<feature name='pku'/>
<feature name='xsaves'/>
</blockers>
+ <model usable='no' vendor='AMD'>EPYC-Milan-v1</model>
+ <blockers model='EPYC-Milan-v1'>
+ <feature name='erms'/>
+ <feature name='fsrm'/>
+ <feature name='ibrs'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='xsaves'/>
+ </blockers>
+ <model usable='no' vendor='AMD'>EPYC-Milan-v2</model>
+ <blockers model='EPYC-Milan-v2'>
+ <feature name='amd-psfd'/>
+ <feature name='erms'/>
+ <feature name='fsrm'/>
+ <feature name='ibrs'/>
+ <feature name='invpcid'/>
+ <feature name='no-nested-data-bp'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='stibp-always-on'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no' vendor='AMD'>EPYC-Rome</model>
<blockers model='EPYC-Rome'>
<feature name='xsaves'/>
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 0ec33d8429..7574fb3d27 100644
--- a/tests/domaincapsdata/qemu_8.2.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_8.2.0-tcg.x86_64.xml
@@ -397,7 +397,7 @@
<feature name='topoext'/>
<feature name='xsavec'/>
</blockers>
- <model usable='no' vendor='AMD'>EPYC-Milan</model>
+ <model usable='no' vendor='AMD'
canonical='EPYC-Milan-v1'>EPYC-Milan</model>
<blockers model='EPYC-Milan'>
<feature name='amd-ssbd'/>
<feature name='amd-stibp'/>
@@ -415,6 +415,48 @@
<feature name='xsavec'/>
<feature name='xsaves'/>
</blockers>
+ <model usable='no' vendor='AMD'>EPYC-Milan-v1</model>
+ <blockers model='EPYC-Milan-v1'>
+ <feature name='amd-ssbd'/>
+ <feature name='amd-stibp'/>
+ <feature name='clzero'/>
+ <feature name='fxsr_opt'/>
+ <feature name='ibpb'/>
+ <feature name='ibrs'/>
+ <feature name='invpcid'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='pcid'/>
+ <feature name='perfctr_core'/>
+ <feature name='topoext'/>
+ <feature name='xsavec'/>
+ <feature name='xsaves'/>
+ </blockers>
+ <model usable='no' vendor='AMD'>EPYC-Milan-v2</model>
+ <blockers model='EPYC-Milan-v2'>
+ <feature name='amd-psfd'/>
+ <feature name='amd-ssbd'/>
+ <feature name='amd-stibp'/>
+ <feature name='clzero'/>
+ <feature name='fxsr_opt'/>
+ <feature name='ibpb'/>
+ <feature name='ibrs'/>
+ <feature name='invpcid'/>
+ <feature name='lfence-always-serializing'/>
+ <feature name='misalignsse'/>
+ <feature name='no-nested-data-bp'/>
+ <feature name='nrip-save'/>
+ <feature name='null-sel-clr-base'/>
+ <feature name='osvw'/>
+ <feature name='pcid'/>
+ <feature name='perfctr_core'/>
+ <feature name='stibp-always-on'/>
+ <feature name='topoext'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='xsavec'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no' vendor='AMD'>EPYC-Rome</model>
<blockers model='EPYC-Rome'>
<feature name='amd-stibp'/>
diff --git a/tests/domaincapsdata/qemu_8.2.0.x86_64.xml
b/tests/domaincapsdata/qemu_8.2.0.x86_64.xml
index a23befe2f1..5b06b58bdd 100644
--- a/tests/domaincapsdata/qemu_8.2.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_8.2.0.x86_64.xml
@@ -335,7 +335,7 @@
<feature name='xsaves'/>
</blockers>
<model usable='yes' vendor='AMD'>EPYC-IBPB</model>
- <model usable='no' vendor='AMD'>EPYC-Milan</model>
+ <model usable='no' vendor='AMD'
canonical='EPYC-Milan-v1'>EPYC-Milan</model>
<blockers model='EPYC-Milan'>
<feature name='erms'/>
<feature name='fsrm'/>
@@ -345,6 +345,31 @@
<feature name='pku'/>
<feature name='xsaves'/>
</blockers>
+ <model usable='no' vendor='AMD'>EPYC-Milan-v1</model>
+ <blockers model='EPYC-Milan-v1'>
+ <feature name='erms'/>
+ <feature name='fsrm'/>
+ <feature name='ibrs'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='xsaves'/>
+ </blockers>
+ <model usable='no' vendor='AMD'>EPYC-Milan-v2</model>
+ <blockers model='EPYC-Milan-v2'>
+ <feature name='amd-psfd'/>
+ <feature name='erms'/>
+ <feature name='fsrm'/>
+ <feature name='ibrs'/>
+ <feature name='invpcid'/>
+ <feature name='no-nested-data-bp'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='stibp-always-on'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no' vendor='AMD'>EPYC-Rome</model>
<blockers model='EPYC-Rome'>
<feature name='xsaves'/>
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 b023d610ef..1f01a23a96 100644
--- a/tests/domaincapsdata/qemu_9.0.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_9.0.0-q35.x86_64.xml
@@ -336,7 +336,7 @@
<feature name='xsaves'/>
</blockers>
<model usable='yes' vendor='AMD'>EPYC-IBPB</model>
- <model usable='no' vendor='AMD'>EPYC-Milan</model>
+ <model usable='no' vendor='AMD'
canonical='EPYC-Milan-v1'>EPYC-Milan</model>
<blockers model='EPYC-Milan'>
<feature name='erms'/>
<feature name='fsrm'/>
@@ -346,6 +346,31 @@
<feature name='pku'/>
<feature name='xsaves'/>
</blockers>
+ <model usable='no' vendor='AMD'>EPYC-Milan-v1</model>
+ <blockers model='EPYC-Milan-v1'>
+ <feature name='erms'/>
+ <feature name='fsrm'/>
+ <feature name='ibrs'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='xsaves'/>
+ </blockers>
+ <model usable='no' vendor='AMD'>EPYC-Milan-v2</model>
+ <blockers model='EPYC-Milan-v2'>
+ <feature name='amd-psfd'/>
+ <feature name='erms'/>
+ <feature name='fsrm'/>
+ <feature name='ibrs'/>
+ <feature name='invpcid'/>
+ <feature name='no-nested-data-bp'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='stibp-always-on'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no' vendor='AMD'>EPYC-Rome</model>
<blockers model='EPYC-Rome'>
<feature name='xsaves'/>
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 98a41dd8b4..72a66a62e3 100644
--- a/tests/domaincapsdata/qemu_9.0.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_9.0.0-tcg.x86_64.xml
@@ -381,7 +381,7 @@
<feature name='topoext'/>
<feature name='xsavec'/>
</blockers>
- <model usable='no' vendor='AMD'>EPYC-Milan</model>
+ <model usable='no' vendor='AMD'
canonical='EPYC-Milan-v1'>EPYC-Milan</model>
<blockers model='EPYC-Milan'>
<feature name='amd-ssbd'/>
<feature name='amd-stibp'/>
@@ -399,6 +399,48 @@
<feature name='xsavec'/>
<feature name='xsaves'/>
</blockers>
+ <model usable='no' vendor='AMD'>EPYC-Milan-v1</model>
+ <blockers model='EPYC-Milan-v1'>
+ <feature name='amd-ssbd'/>
+ <feature name='amd-stibp'/>
+ <feature name='clzero'/>
+ <feature name='fxsr_opt'/>
+ <feature name='ibpb'/>
+ <feature name='ibrs'/>
+ <feature name='invpcid'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='pcid'/>
+ <feature name='perfctr_core'/>
+ <feature name='topoext'/>
+ <feature name='xsavec'/>
+ <feature name='xsaves'/>
+ </blockers>
+ <model usable='no' vendor='AMD'>EPYC-Milan-v2</model>
+ <blockers model='EPYC-Milan-v2'>
+ <feature name='amd-psfd'/>
+ <feature name='amd-ssbd'/>
+ <feature name='amd-stibp'/>
+ <feature name='clzero'/>
+ <feature name='fxsr_opt'/>
+ <feature name='ibpb'/>
+ <feature name='ibrs'/>
+ <feature name='invpcid'/>
+ <feature name='lfence-always-serializing'/>
+ <feature name='misalignsse'/>
+ <feature name='no-nested-data-bp'/>
+ <feature name='nrip-save'/>
+ <feature name='null-sel-clr-base'/>
+ <feature name='osvw'/>
+ <feature name='pcid'/>
+ <feature name='perfctr_core'/>
+ <feature name='stibp-always-on'/>
+ <feature name='topoext'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='xsavec'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no' vendor='AMD'>EPYC-Rome</model>
<blockers model='EPYC-Rome'>
<feature name='amd-stibp'/>
diff --git a/tests/domaincapsdata/qemu_9.0.0.x86_64.xml
b/tests/domaincapsdata/qemu_9.0.0.x86_64.xml
index 835512bef6..941fb3bf31 100644
--- a/tests/domaincapsdata/qemu_9.0.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_9.0.0.x86_64.xml
@@ -335,7 +335,7 @@
<feature name='xsaves'/>
</blockers>
<model usable='yes' vendor='AMD'>EPYC-IBPB</model>
- <model usable='no' vendor='AMD'>EPYC-Milan</model>
+ <model usable='no' vendor='AMD'
canonical='EPYC-Milan-v1'>EPYC-Milan</model>
<blockers model='EPYC-Milan'>
<feature name='erms'/>
<feature name='fsrm'/>
@@ -345,6 +345,31 @@
<feature name='pku'/>
<feature name='xsaves'/>
</blockers>
+ <model usable='no' vendor='AMD'>EPYC-Milan-v1</model>
+ <blockers model='EPYC-Milan-v1'>
+ <feature name='erms'/>
+ <feature name='fsrm'/>
+ <feature name='ibrs'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='xsaves'/>
+ </blockers>
+ <model usable='no' vendor='AMD'>EPYC-Milan-v2</model>
+ <blockers model='EPYC-Milan-v2'>
+ <feature name='amd-psfd'/>
+ <feature name='erms'/>
+ <feature name='fsrm'/>
+ <feature name='ibrs'/>
+ <feature name='invpcid'/>
+ <feature name='no-nested-data-bp'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='stibp-always-on'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no' vendor='AMD'>EPYC-Rome</model>
<blockers model='EPYC-Rome'>
<feature name='xsaves'/>
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 2edf598fe3..7f1da49da1 100644
--- a/tests/domaincapsdata/qemu_9.1.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_9.1.0-q35.x86_64.xml
@@ -340,7 +340,7 @@
<feature name='xsaves'/>
</blockers>
<model usable='yes' vendor='AMD'>EPYC-IBPB</model>
- <model usable='no' vendor='AMD'>EPYC-Milan</model>
+ <model usable='no' vendor='AMD'
canonical='EPYC-Milan-v1'>EPYC-Milan</model>
<blockers model='EPYC-Milan'>
<feature name='erms'/>
<feature name='fsrm'/>
@@ -350,6 +350,31 @@
<feature name='pku'/>
<feature name='xsaves'/>
</blockers>
+ <model usable='no' vendor='AMD'>EPYC-Milan-v1</model>
+ <blockers model='EPYC-Milan-v1'>
+ <feature name='erms'/>
+ <feature name='fsrm'/>
+ <feature name='ibrs'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='xsaves'/>
+ </blockers>
+ <model usable='no' vendor='AMD'>EPYC-Milan-v2</model>
+ <blockers model='EPYC-Milan-v2'>
+ <feature name='amd-psfd'/>
+ <feature name='erms'/>
+ <feature name='fsrm'/>
+ <feature name='ibrs'/>
+ <feature name='invpcid'/>
+ <feature name='no-nested-data-bp'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='stibp-always-on'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no' vendor='AMD'>EPYC-Rome</model>
<blockers model='EPYC-Rome'>
<feature name='xsaves'/>
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 f662f2877c..529b90c1fe 100644
--- a/tests/domaincapsdata/qemu_9.1.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_9.1.0-tcg.x86_64.xml
@@ -380,7 +380,7 @@
<feature name='topoext'/>
<feature name='xsavec'/>
</blockers>
- <model usable='no' vendor='AMD'>EPYC-Milan</model>
+ <model usable='no' vendor='AMD'
canonical='EPYC-Milan-v1'>EPYC-Milan</model>
<blockers model='EPYC-Milan'>
<feature name='amd-ssbd'/>
<feature name='amd-stibp'/>
@@ -398,6 +398,48 @@
<feature name='xsavec'/>
<feature name='xsaves'/>
</blockers>
+ <model usable='no' vendor='AMD'>EPYC-Milan-v1</model>
+ <blockers model='EPYC-Milan-v1'>
+ <feature name='amd-ssbd'/>
+ <feature name='amd-stibp'/>
+ <feature name='clzero'/>
+ <feature name='fxsr_opt'/>
+ <feature name='ibpb'/>
+ <feature name='ibrs'/>
+ <feature name='invpcid'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='pcid'/>
+ <feature name='perfctr_core'/>
+ <feature name='topoext'/>
+ <feature name='xsavec'/>
+ <feature name='xsaves'/>
+ </blockers>
+ <model usable='no' vendor='AMD'>EPYC-Milan-v2</model>
+ <blockers model='EPYC-Milan-v2'>
+ <feature name='amd-psfd'/>
+ <feature name='amd-ssbd'/>
+ <feature name='amd-stibp'/>
+ <feature name='clzero'/>
+ <feature name='fxsr_opt'/>
+ <feature name='ibpb'/>
+ <feature name='ibrs'/>
+ <feature name='invpcid'/>
+ <feature name='lfence-always-serializing'/>
+ <feature name='misalignsse'/>
+ <feature name='no-nested-data-bp'/>
+ <feature name='nrip-save'/>
+ <feature name='null-sel-clr-base'/>
+ <feature name='osvw'/>
+ <feature name='pcid'/>
+ <feature name='perfctr_core'/>
+ <feature name='stibp-always-on'/>
+ <feature name='topoext'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='xsavec'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no' vendor='AMD'>EPYC-Rome</model>
<blockers model='EPYC-Rome'>
<feature name='amd-stibp'/>
diff --git a/tests/domaincapsdata/qemu_9.1.0.x86_64.xml
b/tests/domaincapsdata/qemu_9.1.0.x86_64.xml
index e21869ffbf..ba51b7cfc8 100644
--- a/tests/domaincapsdata/qemu_9.1.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_9.1.0.x86_64.xml
@@ -339,7 +339,7 @@
<feature name='xsaves'/>
</blockers>
<model usable='yes' vendor='AMD'>EPYC-IBPB</model>
- <model usable='no' vendor='AMD'>EPYC-Milan</model>
+ <model usable='no' vendor='AMD'
canonical='EPYC-Milan-v1'>EPYC-Milan</model>
<blockers model='EPYC-Milan'>
<feature name='erms'/>
<feature name='fsrm'/>
@@ -349,6 +349,31 @@
<feature name='pku'/>
<feature name='xsaves'/>
</blockers>
+ <model usable='no' vendor='AMD'>EPYC-Milan-v1</model>
+ <blockers model='EPYC-Milan-v1'>
+ <feature name='erms'/>
+ <feature name='fsrm'/>
+ <feature name='ibrs'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='xsaves'/>
+ </blockers>
+ <model usable='no' vendor='AMD'>EPYC-Milan-v2</model>
+ <blockers model='EPYC-Milan-v2'>
+ <feature name='amd-psfd'/>
+ <feature name='erms'/>
+ <feature name='fsrm'/>
+ <feature name='ibrs'/>
+ <feature name='invpcid'/>
+ <feature name='no-nested-data-bp'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='stibp-always-on'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no' vendor='AMD'>EPYC-Rome</model>
<blockers model='EPYC-Rome'>
<feature name='xsaves'/>
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 2eef3931d4..ad25b70d3a 100644
--- a/tests/domaincapsdata/qemu_9.2.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_9.2.0-q35.x86_64.xml
@@ -340,7 +340,7 @@
<feature name='xsaves'/>
</blockers>
<model usable='yes' vendor='AMD'>EPYC-IBPB</model>
- <model usable='no' vendor='AMD'>EPYC-Milan</model>
+ <model usable='no' vendor='AMD'
canonical='EPYC-Milan-v1'>EPYC-Milan</model>
<blockers model='EPYC-Milan'>
<feature name='erms'/>
<feature name='fsrm'/>
@@ -350,6 +350,31 @@
<feature name='pku'/>
<feature name='xsaves'/>
</blockers>
+ <model usable='no' vendor='AMD'>EPYC-Milan-v1</model>
+ <blockers model='EPYC-Milan-v1'>
+ <feature name='erms'/>
+ <feature name='fsrm'/>
+ <feature name='ibrs'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='xsaves'/>
+ </blockers>
+ <model usable='no' vendor='AMD'>EPYC-Milan-v2</model>
+ <blockers model='EPYC-Milan-v2'>
+ <feature name='amd-psfd'/>
+ <feature name='erms'/>
+ <feature name='fsrm'/>
+ <feature name='ibrs'/>
+ <feature name='invpcid'/>
+ <feature name='no-nested-data-bp'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='stibp-always-on'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no' vendor='AMD'>EPYC-Rome</model>
<blockers model='EPYC-Rome'>
<feature name='xsaves'/>
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 f1da5250cf..b627dc398f 100644
--- a/tests/domaincapsdata/qemu_9.2.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_9.2.0-tcg.x86_64.xml
@@ -380,7 +380,7 @@
<feature name='topoext'/>
<feature name='xsavec'/>
</blockers>
- <model usable='no' vendor='AMD'>EPYC-Milan</model>
+ <model usable='no' vendor='AMD'
canonical='EPYC-Milan-v1'>EPYC-Milan</model>
<blockers model='EPYC-Milan'>
<feature name='amd-ssbd'/>
<feature name='amd-stibp'/>
@@ -398,6 +398,48 @@
<feature name='xsavec'/>
<feature name='xsaves'/>
</blockers>
+ <model usable='no' vendor='AMD'>EPYC-Milan-v1</model>
+ <blockers model='EPYC-Milan-v1'>
+ <feature name='amd-ssbd'/>
+ <feature name='amd-stibp'/>
+ <feature name='clzero'/>
+ <feature name='fxsr_opt'/>
+ <feature name='ibpb'/>
+ <feature name='ibrs'/>
+ <feature name='invpcid'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='pcid'/>
+ <feature name='perfctr_core'/>
+ <feature name='topoext'/>
+ <feature name='xsavec'/>
+ <feature name='xsaves'/>
+ </blockers>
+ <model usable='no' vendor='AMD'>EPYC-Milan-v2</model>
+ <blockers model='EPYC-Milan-v2'>
+ <feature name='amd-psfd'/>
+ <feature name='amd-ssbd'/>
+ <feature name='amd-stibp'/>
+ <feature name='clzero'/>
+ <feature name='fxsr_opt'/>
+ <feature name='ibpb'/>
+ <feature name='ibrs'/>
+ <feature name='invpcid'/>
+ <feature name='lfence-always-serializing'/>
+ <feature name='misalignsse'/>
+ <feature name='no-nested-data-bp'/>
+ <feature name='nrip-save'/>
+ <feature name='null-sel-clr-base'/>
+ <feature name='osvw'/>
+ <feature name='pcid'/>
+ <feature name='perfctr_core'/>
+ <feature name='stibp-always-on'/>
+ <feature name='topoext'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='xsavec'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no' vendor='AMD'>EPYC-Rome</model>
<blockers model='EPYC-Rome'>
<feature name='amd-stibp'/>
diff --git a/tests/domaincapsdata/qemu_9.2.0.x86_64.xml
b/tests/domaincapsdata/qemu_9.2.0.x86_64.xml
index c2ba1fde1b..d1a71cf441 100644
--- a/tests/domaincapsdata/qemu_9.2.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_9.2.0.x86_64.xml
@@ -339,7 +339,7 @@
<feature name='xsaves'/>
</blockers>
<model usable='yes' vendor='AMD'>EPYC-IBPB</model>
- <model usable='no' vendor='AMD'>EPYC-Milan</model>
+ <model usable='no' vendor='AMD'
canonical='EPYC-Milan-v1'>EPYC-Milan</model>
<blockers model='EPYC-Milan'>
<feature name='erms'/>
<feature name='fsrm'/>
@@ -349,6 +349,31 @@
<feature name='pku'/>
<feature name='xsaves'/>
</blockers>
+ <model usable='no' vendor='AMD'>EPYC-Milan-v1</model>
+ <blockers model='EPYC-Milan-v1'>
+ <feature name='erms'/>
+ <feature name='fsrm'/>
+ <feature name='ibrs'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='xsaves'/>
+ </blockers>
+ <model usable='no' vendor='AMD'>EPYC-Milan-v2</model>
+ <blockers model='EPYC-Milan-v2'>
+ <feature name='amd-psfd'/>
+ <feature name='erms'/>
+ <feature name='fsrm'/>
+ <feature name='ibrs'/>
+ <feature name='invpcid'/>
+ <feature name='no-nested-data-bp'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='stibp-always-on'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no' vendor='AMD'>EPYC-Rome</model>
<blockers model='EPYC-Rome'>
<feature name='xsaves'/>
--
2.47.0