Signed-off-by: Jiri Denemark <jdenemar(a)redhat.com>
---
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 | 75 ++++++++++++++++++
src/cpu_map/x86_EPYC-v3.xml | 79 +++++++++++++++++++
src/cpu_map/x86_EPYC-v4.xml | 79 +++++++++++++++++++
.../x86_64-cpuid-EPYC-7601-32-Core-guest.xml | 9 +--
...6_64-cpuid-EPYC-7601-32-Core-ibpb-host.xml | 8 +-
.../x86_64-cpuid-EPYC-7601-32-Core-json.xml | 6 +-
...4-cpuid-Ryzen-7-1800X-Eight-Core-guest.xml | 9 +--
...64-cpuid-Ryzen-7-1800X-Eight-Core-json.xml | 6 +-
.../x86_64-cpuid-baseline-EPYC+Rome.xml | 6 +-
.../x86_64-cpuid-baseline-Ryzen+Rome.xml | 6 +-
.../domaincapsdata/qemu_5.2.0-q35.x86_64.xml | 3 +
.../domaincapsdata/qemu_5.2.0-tcg.x86_64.xml | 54 +++++++++++++
tests/domaincapsdata/qemu_5.2.0.x86_64.xml | 3 +
.../domaincapsdata/qemu_6.0.0-q35.x86_64.xml | 3 +
.../domaincapsdata/qemu_6.0.0-tcg.x86_64.xml | 54 +++++++++++++
tests/domaincapsdata/qemu_6.0.0.x86_64.xml | 3 +
.../domaincapsdata/qemu_6.1.0-q35.x86_64.xml | 3 +
.../domaincapsdata/qemu_6.1.0-tcg.x86_64.xml | 54 +++++++++++++
tests/domaincapsdata/qemu_6.1.0.x86_64.xml | 3 +
.../domaincapsdata/qemu_6.2.0-q35.x86_64.xml | 3 +
.../domaincapsdata/qemu_6.2.0-tcg.x86_64.xml | 54 +++++++++++++
tests/domaincapsdata/qemu_6.2.0.x86_64.xml | 3 +
.../domaincapsdata/qemu_7.0.0-q35.x86_64.xml | 3 +
.../domaincapsdata/qemu_7.0.0-tcg.x86_64.xml | 54 +++++++++++++
tests/domaincapsdata/qemu_7.0.0.x86_64.xml | 3 +
.../domaincapsdata/qemu_7.1.0-q35.x86_64.xml | 3 +
.../domaincapsdata/qemu_7.1.0-tcg.x86_64.xml | 54 +++++++++++++
tests/domaincapsdata/qemu_7.1.0.x86_64.xml | 3 +
.../domaincapsdata/qemu_7.2.0-q35.x86_64.xml | 3 +
.../qemu_7.2.0-tcg.x86_64+hvf.xml | 42 ++++++++++
.../domaincapsdata/qemu_7.2.0-tcg.x86_64.xml | 42 ++++++++++
tests/domaincapsdata/qemu_7.2.0.x86_64.xml | 3 +
.../domaincapsdata/qemu_8.0.0-q35.x86_64.xml | 3 +
.../domaincapsdata/qemu_8.0.0-tcg.x86_64.xml | 42 ++++++++++
tests/domaincapsdata/qemu_8.0.0.x86_64.xml | 3 +
.../domaincapsdata/qemu_8.1.0-q35.x86_64.xml | 10 +++
.../domaincapsdata/qemu_8.1.0-tcg.x86_64.xml | 49 ++++++++++++
tests/domaincapsdata/qemu_8.1.0.x86_64.xml | 10 +++
.../domaincapsdata/qemu_8.2.0-q35.x86_64.xml | 10 +++
.../domaincapsdata/qemu_8.2.0-tcg.x86_64.xml | 49 +++++++++++-
tests/domaincapsdata/qemu_8.2.0.x86_64.xml | 10 +++
.../domaincapsdata/qemu_9.0.0-q35.x86_64.xml | 10 +++
.../domaincapsdata/qemu_9.0.0-tcg.x86_64.xml | 49 +++++++++++-
tests/domaincapsdata/qemu_9.0.0.x86_64.xml | 10 +++
.../domaincapsdata/qemu_9.1.0-q35.x86_64.xml | 10 +++
.../domaincapsdata/qemu_9.1.0-tcg.x86_64.xml | 49 +++++++++++-
tests/domaincapsdata/qemu_9.1.0.x86_64.xml | 10 +++
.../domaincapsdata/qemu_9.2.0-q35.x86_64.xml | 10 +++
.../domaincapsdata/qemu_9.2.0-tcg.x86_64.xml | 49 +++++++++++-
tests/domaincapsdata/qemu_9.2.0.x86_64.xml | 10 +++
...host-model-fallback-tcg.x86_64-latest.args | 2 +-
...st-model-nofallback-tcg.x86_64-latest.args | 2 +-
.../cpu-host-model-tcg.x86_64-latest.args | 2 +-
56 files changed, 1098 insertions(+), 48 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 bf0a876e47..e50c2602e7 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..595c343eb1
--- /dev/null
+++ b/src/cpu_map/x86_EPYC-v1.xml
@@ -0,0 +1,6 @@
+<cpus>
+ <model name='EPYC-v1'>
+ <decode host='off' 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..7d16061b6b
--- /dev/null
+++ b/src/cpu_map/x86_EPYC-v2.xml
@@ -0,0 +1,75 @@
+<cpus>
+ <model name='EPYC-v2'>
+ <decode host='on' guest='on'/>
+ <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='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='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='xsaveopt'/>
+ </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..8814932c24
--- /dev/null
+++ b/src/cpu_map/x86_EPYC-v3.xml
@@ -0,0 +1,79 @@
+<cpus>
+ <model name='EPYC-v3'>
+ <decode host='on' guest='on'/>
+ <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..c678d2de42
--- /dev/null
+++ b/src/cpu_map/x86_EPYC-v4.xml
@@ -0,0 +1,79 @@
+<cpus>
+ <model name='EPYC-v4'>
+ <decode host='on' guest='on'/>
+ <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-guest.xml
b/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-guest.xml
index 74cabf52c3..5e7782a5ec 100644
--- a/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-guest.xml
+++ b/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-guest.xml
@@ -1,27 +1,21 @@
<cpu mode='custom' match='exact'>
- <model fallback='forbid'>EPYC</model>
+ <model fallback='forbid'>EPYC-v4</model>
<vendor>AMD</vendor>
<feature policy='require' name='monitor'/>
<feature policy='require' name='osxsave'/>
<feature policy='require' name='ht'/>
- <feature policy='require' name='xsaves'/>
<feature policy='require' name='cmp_legacy'/>
<feature policy='require' name='extapic'/>
<feature policy='require' name='skinit'/>
<feature policy='require' name='wdt'/>
<feature policy='require' name='tce'/>
<feature policy='require' name='topoext'/>
- <feature policy='require' name='perfctr_core'/>
<feature policy='require' name='perfctr_nb'/>
<feature policy='require' name='overflow-recov'/>
<feature policy='require' name='succor'/>
<feature policy='require' name='invtsc'/>
- <feature policy='require' name='clzero'/>
- <feature policy='require' name='xsaveerptr'/>
- <feature policy='require' name='npt'/>
<feature policy='require' name='lbrv'/>
<feature policy='require' name='svm-lock'/>
- <feature policy='require' name='nrip-save'/>
<feature policy='require' name='tsc-scale'/>
<feature policy='require' name='vmcb-clean'/>
<feature policy='require' name='flushbyasid'/>
@@ -31,4 +25,5 @@
<feature policy='require' name='avic'/>
<feature policy='require' name='v-vmsave-vmload'/>
<feature policy='require' name='vgif'/>
+ <feature policy='disable' name='ibpb'/>
</cpu>
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-EPYC-7601-32-Core-json.xml
b/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-json.xml
index 5af19749e7..cb6e72aecc 100644
--- a/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-json.xml
+++ b/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-json.xml
@@ -1,13 +1,11 @@
<cpu mode='custom' match='exact'>
- <model fallback='forbid'>EPYC</model>
+ <model fallback='forbid'>EPYC-v2</model>
<vendor>AMD</vendor>
<feature policy='require' name='x2apic'/>
<feature policy='require' name='tsc-deadline'/>
<feature policy='require' name='hypervisor'/>
<feature policy='require' name='tsc_adjust'/>
<feature policy='require' name='cmp_legacy'/>
- <feature policy='require' name='npt'/>
- <feature policy='require' name='nrip-save'/>
<feature policy='disable' name='svm'/>
- <feature policy='disable' name='monitor'/>
+ <feature policy='disable' name='ibpb'/>
</cpu>
diff --git a/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core-guest.xml
b/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core-guest.xml
index 74cabf52c3..5e7782a5ec 100644
--- a/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core-guest.xml
+++ b/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core-guest.xml
@@ -1,27 +1,21 @@
<cpu mode='custom' match='exact'>
- <model fallback='forbid'>EPYC</model>
+ <model fallback='forbid'>EPYC-v4</model>
<vendor>AMD</vendor>
<feature policy='require' name='monitor'/>
<feature policy='require' name='osxsave'/>
<feature policy='require' name='ht'/>
- <feature policy='require' name='xsaves'/>
<feature policy='require' name='cmp_legacy'/>
<feature policy='require' name='extapic'/>
<feature policy='require' name='skinit'/>
<feature policy='require' name='wdt'/>
<feature policy='require' name='tce'/>
<feature policy='require' name='topoext'/>
- <feature policy='require' name='perfctr_core'/>
<feature policy='require' name='perfctr_nb'/>
<feature policy='require' name='overflow-recov'/>
<feature policy='require' name='succor'/>
<feature policy='require' name='invtsc'/>
- <feature policy='require' name='clzero'/>
- <feature policy='require' name='xsaveerptr'/>
- <feature policy='require' name='npt'/>
<feature policy='require' name='lbrv'/>
<feature policy='require' name='svm-lock'/>
- <feature policy='require' name='nrip-save'/>
<feature policy='require' name='tsc-scale'/>
<feature policy='require' name='vmcb-clean'/>
<feature policy='require' name='flushbyasid'/>
@@ -31,4 +25,5 @@
<feature policy='require' name='avic'/>
<feature policy='require' name='v-vmsave-vmload'/>
<feature policy='require' name='vgif'/>
+ <feature policy='disable' name='ibpb'/>
</cpu>
diff --git a/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core-json.xml
b/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core-json.xml
index 9b9af2a6f7..57329639cb 100644
--- a/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core-json.xml
+++ b/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core-json.xml
@@ -1,13 +1,11 @@
<cpu mode='custom' match='exact'>
- <model fallback='forbid'>EPYC</model>
+ <model fallback='forbid'>EPYC-v2</model>
<vendor>AMD</vendor>
<feature policy='require' name='x2apic'/>
<feature policy='require' name='tsc-deadline'/>
<feature policy='require' name='hypervisor'/>
<feature policy='require' name='tsc_adjust'/>
<feature policy='require' name='cmp_legacy'/>
- <feature policy='require' name='npt'/>
- <feature policy='require' name='nrip-save'/>
<feature policy='disable' name='sha-ni'/>
- <feature policy='disable' name='monitor'/>
+ <feature policy='disable' name='ibpb'/>
</cpu>
diff --git a/tests/cputestdata/x86_64-cpuid-baseline-EPYC+Rome.xml
b/tests/cputestdata/x86_64-cpuid-baseline-EPYC+Rome.xml
index e1984b2890..40accacb51 100644
--- a/tests/cputestdata/x86_64-cpuid-baseline-EPYC+Rome.xml
+++ b/tests/cputestdata/x86_64-cpuid-baseline-EPYC+Rome.xml
@@ -1,13 +1,11 @@
<cpu mode='custom' match='exact'>
- <model fallback='allow'>EPYC</model>
+ <model fallback='allow'>EPYC-v2</model>
<vendor>AMD</vendor>
<feature policy='require' name='x2apic'/>
<feature policy='require' name='tsc-deadline'/>
<feature policy='require' name='hypervisor'/>
<feature policy='require' name='tsc_adjust'/>
<feature policy='require' name='cmp_legacy'/>
- <feature policy='require' name='npt'/>
- <feature policy='require' name='nrip-save'/>
<feature policy='disable' name='svm'/>
- <feature policy='disable' name='monitor'/>
+ <feature policy='disable' name='ibpb'/>
</cpu>
diff --git a/tests/cputestdata/x86_64-cpuid-baseline-Ryzen+Rome.xml
b/tests/cputestdata/x86_64-cpuid-baseline-Ryzen+Rome.xml
index 051402b9d5..e9ed0af784 100644
--- a/tests/cputestdata/x86_64-cpuid-baseline-Ryzen+Rome.xml
+++ b/tests/cputestdata/x86_64-cpuid-baseline-Ryzen+Rome.xml
@@ -1,13 +1,11 @@
<cpu mode='custom' match='exact'>
- <model fallback='allow'>EPYC</model>
+ <model fallback='allow'>EPYC-v2</model>
<vendor>AMD</vendor>
<feature policy='require' name='x2apic'/>
<feature policy='require' name='tsc-deadline'/>
<feature policy='require' name='hypervisor'/>
<feature policy='require' name='tsc_adjust'/>
<feature policy='require' name='cmp_legacy'/>
- <feature policy='require' name='npt'/>
- <feature policy='require' name='nrip-save'/>
<feature policy='disable' name='sha-ni'/>
- <feature policy='disable' name='monitor'/>
+ <feature policy='disable' name='ibpb'/>
</cpu>
diff --git a/tests/domaincapsdata/qemu_5.2.0-q35.x86_64.xml
b/tests/domaincapsdata/qemu_5.2.0-q35.x86_64.xml
index eda533eb7c..7a0ea15105 100644
--- a/tests/domaincapsdata/qemu_5.2.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_5.2.0-q35.x86_64.xml
@@ -261,6 +261,9 @@
<model usable='yes' vendor='AMD'>EPYC-IBPB</model>
<model usable='yes' vendor='AMD'>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'>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 39dfc17cfa..4ce32a5cf4 100644
--- a/tests/domaincapsdata/qemu_5.2.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_5.2.0-tcg.x86_64.xml
@@ -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'>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 279aa3beb7..027040cbb0 100644
--- a/tests/domaincapsdata/qemu_5.2.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_5.2.0.x86_64.xml
@@ -260,6 +260,9 @@
<model usable='yes' vendor='AMD'>EPYC-IBPB</model>
<model usable='yes' vendor='AMD'>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'>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 490bf04e49..21d27d973b 100644
--- a/tests/domaincapsdata/qemu_6.0.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.0.0-q35.x86_64.xml
@@ -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'>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 7e4bbea306..4e817d4997 100644
--- a/tests/domaincapsdata/qemu_6.0.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.0.0-tcg.x86_64.xml
@@ -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'>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 3f51b1f28f..dc7d0e3fd4 100644
--- a/tests/domaincapsdata/qemu_6.0.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.0.0.x86_64.xml
@@ -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'>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 c2ec090077..f6e4456e8b 100644
--- a/tests/domaincapsdata/qemu_6.1.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.1.0-q35.x86_64.xml
@@ -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'>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 8c4dc2bb78..979354d36a 100644
--- a/tests/domaincapsdata/qemu_6.1.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.1.0-tcg.x86_64.xml
@@ -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'>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 84e8ef8699..611bde05a2 100644
--- a/tests/domaincapsdata/qemu_6.1.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.1.0.x86_64.xml
@@ -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'>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 2a2a27fb0b..259d76fdcc 100644
--- a/tests/domaincapsdata/qemu_6.2.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.2.0-q35.x86_64.xml
@@ -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'>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 ae3251ccb3..e0c8c59d35 100644
--- a/tests/domaincapsdata/qemu_6.2.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.2.0-tcg.x86_64.xml
@@ -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'>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 7187862b39..e910a892b1 100644
--- a/tests/domaincapsdata/qemu_6.2.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.2.0.x86_64.xml
@@ -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'>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 812cc7d42d..f3a1902f3d 100644
--- a/tests/domaincapsdata/qemu_7.0.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_7.0.0-q35.x86_64.xml
@@ -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'>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 68e2589601..6d6fb30b82 100644
--- a/tests/domaincapsdata/qemu_7.0.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_7.0.0-tcg.x86_64.xml
@@ -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'>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 a8bc42b5d5..3a1a978c23 100644
--- a/tests/domaincapsdata/qemu_7.0.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_7.0.0.x86_64.xml
@@ -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'>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 1478a478e4..098fbdca27 100644
--- a/tests/domaincapsdata/qemu_7.1.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_7.1.0-q35.x86_64.xml
@@ -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'>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 fe2f5c9e00..b85df16b90 100644
--- a/tests/domaincapsdata/qemu_7.1.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_7.1.0-tcg.x86_64.xml
@@ -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'>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 ab16693e20..3a04e25551 100644
--- a/tests/domaincapsdata/qemu_7.1.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_7.1.0.x86_64.xml
@@ -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'>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 7c8c636080..ec8423e43b 100644
--- a/tests/domaincapsdata/qemu_7.2.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_7.2.0-q35.x86_64.xml
@@ -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'>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 12d4ae5736..e168f79567 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
@@ -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'>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 12d4ae5736..e168f79567 100644
--- a/tests/domaincapsdata/qemu_7.2.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_7.2.0-tcg.x86_64.xml
@@ -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'>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 cc5f331a6a..75e02447fe 100644
--- a/tests/domaincapsdata/qemu_7.2.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_7.2.0.x86_64.xml
@@ -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'>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 1570fab3c7..5c07621f2c 100644
--- a/tests/domaincapsdata/qemu_8.0.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_8.0.0-q35.x86_64.xml
@@ -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'>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 4bee196cba..67472b8748 100644
--- a/tests/domaincapsdata/qemu_8.0.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_8.0.0-tcg.x86_64.xml
@@ -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'>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 72cefb4516..2d0a9adaca 100644
--- a/tests/domaincapsdata/qemu_8.0.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_8.0.0.x86_64.xml
@@ -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'>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 639d4777d5..709d9e62d0 100644
--- a/tests/domaincapsdata/qemu_8.1.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_8.1.0-q35.x86_64.xml
@@ -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'>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 3eb4262917..33b9d64e41 100644
--- a/tests/domaincapsdata/qemu_8.1.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_8.1.0-tcg.x86_64.xml
@@ -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'>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 bca367fc6c..c222a8e73c 100644
--- a/tests/domaincapsdata/qemu_8.1.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_8.1.0.x86_64.xml
@@ -390,6 +390,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'>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 8401309ca6..1026b39e47 100644
--- a/tests/domaincapsdata/qemu_8.2.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_8.2.0-q35.x86_64.xml
@@ -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'>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 cf48dce9da..3eb98d85fb 100644
--- a/tests/domaincapsdata/qemu_8.2.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_8.2.0-tcg.x86_64.xml
@@ -35,7 +35,7 @@
</enum>
</mode>
<mode name='host-model' supported='yes'>
- <model fallback='forbid'>EPYC</model>
+ <model fallback='forbid'>EPYC-v2</model>
<vendor>AMD</vendor>
<feature policy='require' name='monitor'/>
<feature policy='require' name='hypervisor'/>
@@ -59,7 +59,6 @@
<feature policy='require' name='3dnow'/>
<feature policy='require' name='xsaveerptr'/>
<feature policy='require' name='wbnoinvd'/>
- <feature policy='require' name='npt'/>
<feature policy='require' name='vgif'/>
<feature policy='require' name='svme-addr-chk'/>
<feature policy='disable' name='vme'/>
@@ -68,6 +67,7 @@
<feature policy='disable' name='osvw'/>
<feature policy='disable' name='topoext'/>
<feature policy='disable' name='fxsr_opt'/>
+ <feature policy='disable' name='ibpb'/>
<feature policy='disable' name='nrip-save'/>
</mode>
<mode name='custom' supported='yes'>
@@ -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'>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 13f7fba59f..1ab3f609dc 100644
--- a/tests/domaincapsdata/qemu_8.2.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_8.2.0.x86_64.xml
@@ -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'>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 694c4b738f..56ce7c2724 100644
--- a/tests/domaincapsdata/qemu_9.0.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_9.0.0-q35.x86_64.xml
@@ -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'>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 414d36b902..5eda7e6b6a 100644
--- a/tests/domaincapsdata/qemu_9.0.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_9.0.0-tcg.x86_64.xml
@@ -35,7 +35,7 @@
</enum>
</mode>
<mode name='host-model' supported='yes'>
- <model fallback='forbid'>EPYC</model>
+ <model fallback='forbid'>EPYC-v2</model>
<vendor>AMD</vendor>
<feature policy='require' name='monitor'/>
<feature policy='require' name='x2apic'/>
@@ -61,7 +61,6 @@
<feature policy='require' name='3dnow'/>
<feature policy='require' name='xsaveerptr'/>
<feature policy='require' name='wbnoinvd'/>
- <feature policy='require' name='npt'/>
<feature policy='require' name='vgif'/>
<feature policy='require' name='svme-addr-chk'/>
<feature policy='disable' name='vme'/>
@@ -70,6 +69,7 @@
<feature policy='disable' name='osvw'/>
<feature policy='disable' name='topoext'/>
<feature policy='disable' name='fxsr_opt'/>
+ <feature policy='disable' name='ibpb'/>
<feature policy='disable' name='nrip-save'/>
</mode>
<mode name='custom' supported='yes'>
@@ -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'>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 f061fc274c..976f596c15 100644
--- a/tests/domaincapsdata/qemu_9.0.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_9.0.0.x86_64.xml
@@ -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'>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 282191ab52..c873a235ec 100644
--- a/tests/domaincapsdata/qemu_9.1.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_9.1.0-q35.x86_64.xml
@@ -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'>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 4e59375f4c..d95d0ba293 100644
--- a/tests/domaincapsdata/qemu_9.1.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_9.1.0-tcg.x86_64.xml
@@ -35,7 +35,7 @@
</enum>
</mode>
<mode name='host-model' supported='yes'>
- <model fallback='forbid'>EPYC</model>
+ <model fallback='forbid'>EPYC-v2</model>
<vendor>AMD</vendor>
<feature policy='require' name='monitor'/>
<feature policy='require' name='x2apic'/>
@@ -60,7 +60,6 @@
<feature policy='require' name='3dnow'/>
<feature policy='require' name='xsaveerptr'/>
<feature policy='require' name='wbnoinvd'/>
- <feature policy='require' name='npt'/>
<feature policy='require' name='vgif'/>
<feature policy='require' name='svme-addr-chk'/>
<feature policy='disable' name='vme'/>
@@ -69,6 +68,7 @@
<feature policy='disable' name='osvw'/>
<feature policy='disable' name='topoext'/>
<feature policy='disable' name='fxsr_opt'/>
+ <feature policy='disable' name='ibpb'/>
<feature policy='disable' name='nrip-save'/>
</mode>
<mode name='custom' supported='yes'>
@@ -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'>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 457c61faec..23693f8c7b 100644
--- a/tests/domaincapsdata/qemu_9.1.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_9.1.0.x86_64.xml
@@ -395,6 +395,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'>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 32633d2f23..fa59a9da8c 100644
--- a/tests/domaincapsdata/qemu_9.2.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_9.2.0-q35.x86_64.xml
@@ -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'>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 9d0e864fe7..66ab417d57 100644
--- a/tests/domaincapsdata/qemu_9.2.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_9.2.0-tcg.x86_64.xml
@@ -35,7 +35,7 @@
</enum>
</mode>
<mode name='host-model' supported='yes'>
- <model fallback='forbid'>EPYC</model>
+ <model fallback='forbid'>EPYC-v2</model>
<vendor>AMD</vendor>
<feature policy='require' name='monitor'/>
<feature policy='require' name='x2apic'/>
@@ -60,7 +60,6 @@
<feature policy='require' name='3dnow'/>
<feature policy='require' name='xsaveerptr'/>
<feature policy='require' name='wbnoinvd'/>
- <feature policy='require' name='npt'/>
<feature policy='require' name='vgif'/>
<feature policy='require' name='svme-addr-chk'/>
<feature policy='disable' name='vme'/>
@@ -69,6 +68,7 @@
<feature policy='disable' name='osvw'/>
<feature policy='disable' name='topoext'/>
<feature policy='disable' name='fxsr_opt'/>
+ <feature policy='disable' name='ibpb'/>
<feature policy='disable' name='nrip-save'/>
</mode>
<mode name='custom' supported='yes'>
@@ -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'>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 0b16ba2e71..b85daad06a 100644
--- a/tests/domaincapsdata/qemu_9.2.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_9.2.0.x86_64.xml
@@ -395,6 +395,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'>GraniteRapids</model>
<blockers model='GraniteRapids'>
<feature name='amx-bf16'/>
diff --git a/tests/qemuxmlconfdata/cpu-host-model-fallback-tcg.x86_64-latest.args
b/tests/qemuxmlconfdata/cpu-host-model-fallback-tcg.x86_64-latest.args
index b0d082b832..e4849158bf 100644
--- a/tests/qemuxmlconfdata/cpu-host-model-fallback-tcg.x86_64-latest.args
+++ b/tests/qemuxmlconfdata/cpu-host-model-fallback-tcg.x86_64-latest.args
@@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \
-object
'{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes"}'
\
-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram,acpi=off \
-accel tcg \
--cpu
EPYC,monitor=on,x2apic=on,hypervisor=on,acpi=on,ss=on,erms=on,mpx=on,clwb=on,umip=on,pku=on,vaes=on,la57=on,rdpid=on,pks=on,fsrm=on,cmpccxadd=on,fzrm=on,fsrs=on,fsrc=on,3dnowext=on,3dnow=on,xsaveerptr=on,wbnoinvd=on,npt=on,vgif=on,svme-addr-chk=on,vme=off,xsavec=off,misalignsse=off,osvw=off,topoext=off,fxsr-opt=off,nrip-save=off
\
+-cpu
EPYC-v2,monitor=on,x2apic=on,hypervisor=on,acpi=on,ss=on,erms=on,mpx=on,clwb=on,umip=on,pku=on,vaes=on,la57=on,rdpid=on,pks=on,fsrm=on,cmpccxadd=on,fzrm=on,fsrs=on,fsrc=on,3dnowext=on,3dnow=on,xsaveerptr=on,wbnoinvd=on,vgif=on,svme-addr-chk=on,vme=off,xsavec=off,misalignsse=off,osvw=off,topoext=off,fxsr-opt=off,ibpb=off,nrip-save=off
\
-m size=219136k \
-object
'{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}'
\
-overcommit mem-lock=off \
diff --git a/tests/qemuxmlconfdata/cpu-host-model-nofallback-tcg.x86_64-latest.args
b/tests/qemuxmlconfdata/cpu-host-model-nofallback-tcg.x86_64-latest.args
index b0d082b832..e4849158bf 100644
--- a/tests/qemuxmlconfdata/cpu-host-model-nofallback-tcg.x86_64-latest.args
+++ b/tests/qemuxmlconfdata/cpu-host-model-nofallback-tcg.x86_64-latest.args
@@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \
-object
'{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes"}'
\
-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram,acpi=off \
-accel tcg \
--cpu
EPYC,monitor=on,x2apic=on,hypervisor=on,acpi=on,ss=on,erms=on,mpx=on,clwb=on,umip=on,pku=on,vaes=on,la57=on,rdpid=on,pks=on,fsrm=on,cmpccxadd=on,fzrm=on,fsrs=on,fsrc=on,3dnowext=on,3dnow=on,xsaveerptr=on,wbnoinvd=on,npt=on,vgif=on,svme-addr-chk=on,vme=off,xsavec=off,misalignsse=off,osvw=off,topoext=off,fxsr-opt=off,nrip-save=off
\
+-cpu
EPYC-v2,monitor=on,x2apic=on,hypervisor=on,acpi=on,ss=on,erms=on,mpx=on,clwb=on,umip=on,pku=on,vaes=on,la57=on,rdpid=on,pks=on,fsrm=on,cmpccxadd=on,fzrm=on,fsrs=on,fsrc=on,3dnowext=on,3dnow=on,xsaveerptr=on,wbnoinvd=on,vgif=on,svme-addr-chk=on,vme=off,xsavec=off,misalignsse=off,osvw=off,topoext=off,fxsr-opt=off,ibpb=off,nrip-save=off
\
-m size=219136k \
-object
'{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}'
\
-overcommit mem-lock=off \
diff --git a/tests/qemuxmlconfdata/cpu-host-model-tcg.x86_64-latest.args
b/tests/qemuxmlconfdata/cpu-host-model-tcg.x86_64-latest.args
index 70d04d16de..6526eccfa7 100644
--- a/tests/qemuxmlconfdata/cpu-host-model-tcg.x86_64-latest.args
+++ b/tests/qemuxmlconfdata/cpu-host-model-tcg.x86_64-latest.args
@@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \
-object
'{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes"}'
\
-machine q35,usb=off,dump-guest-core=off,memory-backend=pc.ram,acpi=off \
-accel tcg \
--cpu
EPYC,monitor=on,x2apic=on,hypervisor=on,acpi=on,ss=on,erms=on,mpx=on,clwb=on,umip=on,pku=on,vaes=on,la57=on,rdpid=on,pks=on,fsrm=on,cmpccxadd=on,fzrm=on,fsrs=on,fsrc=on,3dnowext=on,3dnow=on,xsaveerptr=on,wbnoinvd=on,npt=on,vgif=on,svme-addr-chk=on,vme=off,xsavec=off,misalignsse=off,osvw=off,topoext=off,fxsr-opt=off,nrip-save=off
\
+-cpu
EPYC-v2,monitor=on,x2apic=on,hypervisor=on,acpi=on,ss=on,erms=on,mpx=on,clwb=on,umip=on,pku=on,vaes=on,la57=on,rdpid=on,pks=on,fsrm=on,cmpccxadd=on,fzrm=on,fsrs=on,fsrc=on,3dnowext=on,3dnow=on,xsaveerptr=on,wbnoinvd=on,vgif=on,svme-addr-chk=on,vme=off,xsavec=off,misalignsse=off,osvw=off,topoext=off,fxsr-opt=off,ibpb=off,nrip-save=off
\
-m size=219136k \
-object
'{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}'
\
-overcommit mem-lock=off \
--
2.47.0