Re: [PATCH v3 05/12] cpu_map: Add versioned EPYC CPUs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 12/15/23 15:12, Jonathon Jongsma wrote:
Signed-off-by: Jonathon Jongsma <jjongsma@xxxxxxxxxx>
---
  src/cpu_map/index.xml                         |   6 +
  src/cpu_map/meson.build                       |   6 +
  src/cpu_map/x86_EPYC-Milan-v2.xml             | 108 ++++++++++++++++++
  src/cpu_map/x86_EPYC-Rome-v2.xml              |  93 +++++++++++++++
  src/cpu_map/x86_EPYC-Rome-v3.xml              |  95 +++++++++++++++
  src/cpu_map/x86_EPYC-Rome-v4.xml              |  94 +++++++++++++++
  src/cpu_map/x86_EPYC-v3.xml                   |  87 ++++++++++++++
  src/cpu_map/x86_EPYC-v4.xml                   |  88 ++++++++++++++
  .../x86_64-cpuid-EPYC-7502-32-Core-host.xml   |   5 +-
  .../x86_64-cpuid-EPYC-7601-32-Core-guest.xml  |   9 +-
  ...6_64-cpuid-EPYC-7601-32-Core-ibpb-host.xml |   8 +-
  ...4-cpuid-Ryzen-7-1800X-Eight-Core-guest.xml |   9 +-
  .../domaincapsdata/qemu_5.0.0-q35.x86_64.xml  |   1 +
  .../domaincapsdata/qemu_5.0.0-tcg.x86_64.xml  |   1 +
  tests/domaincapsdata/qemu_5.0.0.x86_64.xml    |   1 +
  .../domaincapsdata/qemu_5.1.0-q35.x86_64.xml  |   1 +
  .../domaincapsdata/qemu_5.1.0-tcg.x86_64.xml  |   1 +
  tests/domaincapsdata/qemu_5.1.0.x86_64.xml    |   1 +
  .../domaincapsdata/qemu_5.2.0-q35.x86_64.xml  |   1 +
  .../domaincapsdata/qemu_5.2.0-tcg.x86_64.xml  |   1 +
  tests/domaincapsdata/qemu_5.2.0.x86_64.xml    |   1 +
  .../domaincapsdata/qemu_6.0.0-q35.x86_64.xml  |   2 +
  .../domaincapsdata/qemu_6.0.0-tcg.x86_64.xml  |   2 +
  tests/domaincapsdata/qemu_6.0.0.x86_64.xml    |   2 +
  .../domaincapsdata/qemu_6.1.0-q35.x86_64.xml  |   2 +
  .../domaincapsdata/qemu_6.1.0-tcg.x86_64.xml  |   2 +
  tests/domaincapsdata/qemu_6.1.0.x86_64.xml    |   2 +
  .../domaincapsdata/qemu_6.2.0-q35.x86_64.xml  |   2 +
  .../domaincapsdata/qemu_6.2.0-tcg.x86_64.xml  |   2 +
  tests/domaincapsdata/qemu_6.2.0.x86_64.xml    |   2 +
  .../domaincapsdata/qemu_7.0.0-q35.x86_64.xml  |   2 +
  .../domaincapsdata/qemu_7.0.0-tcg.x86_64.xml  |   2 +
  tests/domaincapsdata/qemu_7.0.0.x86_64.xml    |   2 +
  .../domaincapsdata/qemu_7.1.0-q35.x86_64.xml  |   2 +
  .../domaincapsdata/qemu_7.1.0-tcg.x86_64.xml  |   2 +
  tests/domaincapsdata/qemu_7.1.0.x86_64.xml    |   2 +
  .../domaincapsdata/qemu_7.2.0-q35.x86_64.xml  |   2 +
  .../qemu_7.2.0-tcg.x86_64+hvf.xml             |   2 +
  .../domaincapsdata/qemu_7.2.0-tcg.x86_64.xml  |   2 +
  tests/domaincapsdata/qemu_7.2.0.x86_64.xml    |   2 +
  .../domaincapsdata/qemu_8.0.0-q35.x86_64.xml  |   2 +
  .../domaincapsdata/qemu_8.0.0-tcg.x86_64.xml  |   2 +
  tests/domaincapsdata/qemu_8.0.0.x86_64.xml    |   2 +
  .../domaincapsdata/qemu_8.1.0-q35.x86_64.xml  |  11 +-
  .../domaincapsdata/qemu_8.1.0-tcg.x86_64.xml  |   6 +
  tests/domaincapsdata/qemu_8.1.0.x86_64.xml    |  11 +-
  .../domaincapsdata/qemu_8.2.0-q35.x86_64.xml  |  11 +-
  .../domaincapsdata/qemu_8.2.0-tcg.x86_64.xml  |   6 +
  tests/domaincapsdata/qemu_8.2.0.x86_64.xml    |  11 +-
  ...-host-model-fallback-kvm.x86_64-8.1.0.args |   2 +-
  ...host-model-fallback-kvm.x86_64-latest.args |   2 +-
  .../cpu-host-model-kvm.x86_64-8.1.0.args      |   2 +-
  .../cpu-host-model-kvm.x86_64-latest.args     |   2 +-
  ...ost-model-nofallback-kvm.x86_64-8.1.0.args |   2 +-
  ...st-model-nofallback-kvm.x86_64-latest.args |   2 +-
  55 files changed, 686 insertions(+), 43 deletions(-)
  create mode 100644 src/cpu_map/x86_EPYC-Milan-v2.xml
  create mode 100644 src/cpu_map/x86_EPYC-Rome-v2.xml
  create mode 100644 src/cpu_map/x86_EPYC-Rome-v3.xml
  create mode 100644 src/cpu_map/x86_EPYC-Rome-v4.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 d2c5af5797..861edc3bb7 100644
--- a/src/cpu_map/index.xml
+++ b/src/cpu_map/index.xml
@@ -67,9 +67,15 @@
      <include filename='x86_Opteron_G4.xml'/>
      <include filename='x86_Opteron_G5.xml'/>
      <include filename='x86_EPYC.xml'/>
+    <include filename='x86_EPYC-v3.xml'/>
+    <include filename='x86_EPYC-v4.xml'/>
      <include filename='x86_EPYC-IBPB.xml'/>
      <include filename='x86_EPYC-Rome.xml'/>
+    <include filename='x86_EPYC-Rome-v2.xml'/>
+    <include filename='x86_EPYC-Rome-v3.xml'/>
+    <include filename='x86_EPYC-Rome-v4.xml'/>
      <include filename='x86_EPYC-Milan.xml'/>
+    <include filename='x86_EPYC-Milan-v2.xml'/>
      <include filename='x86_EPYC-Genoa.xml'/>
<!-- Hygon CPU models -->
diff --git a/src/cpu_map/meson.build b/src/cpu_map/meson.build
index ae5293e85f..68e093e041 100644
--- a/src/cpu_map/meson.build
+++ b/src/cpu_map/meson.build
@@ -39,8 +39,14 @@ cpumap_data = [
    'x86_Dhyana.xml',
    'x86_EPYC-IBPB.xml',
    'x86_EPYC.xml',
+  'x86_EPYC-v3.xml',
+  'x86_EPYC-v4.xml',
    'x86_EPYC-Genoa.xml',
+  'x86_EPYC-Milan-v2.xml',
    'x86_EPYC-Milan.xml',
+  'x86_EPYC-Rome-v2.xml',
+  'x86_EPYC-Rome-v3.xml',
+  'x86_EPYC-Rome-v4.xml',
    'x86_EPYC-Rome.xml',
    'x86_features.xml',
    'x86_Haswell-IBRS.xml',
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..4cadba2325
--- /dev/null
+++ b/src/cpu_map/x86_EPYC-Milan-v2.xml
@@ -0,0 +1,108 @@
+<!-- extra info from qemu:
+  'model.level': '0xd'
+  'model.stepping': '1'
+  'model.xlevel': '0x8000001E'
+  'model.model_id': 'AMD EPYC-Milan Processor'
+  'model.cache_info': '&epyc_milan_cache_info'
+  'property.model-id': 'AMD EPYC-Milan-v2 Processor'
+  'version.cache_info': '&epyc_milan_v2_cache_info'
+-->

None of the existing files include this comment.

+<cpus>
+  <model name='EPYC-Milan-v2'>
+    <decode host='on' guest='on'/>
+    <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/src/cpu_map/x86_EPYC-Rome-v2.xml b/src/cpu_map/x86_EPYC-Rome-v2.xml
new file mode 100644
index 0000000000..0cade90cdc
--- /dev/null
+++ b/src/cpu_map/x86_EPYC-Rome-v2.xml
@@ -0,0 +1,93 @@
+<!-- extra info from qemu:
+  'model.level': '0xd'
+  'model.stepping': '0'
+  'model.xlevel': '0x8000001E'
+  'model.model_id': 'AMD EPYC-Rome Processor'
+  'model.cache_info': '&epyc_rome_cache_info'
+-->
+<cpus>
+  <model name='EPYC-Rome-v2'>
+    <decode host='on' guest='on'/>
+    <signature family='23' model='49'/>
+    <vendor name='AMD'/>
+    <feature name='3dnowprefetch'/>
+    <feature name='abm'/>
+    <feature name='adx'/>
+    <feature name='aes'/>
+    <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='f16c'/>
+    <feature name='fma'/>
+    <feature name='fpu'/>
+    <feature name='fsgsbase'/>
+    <feature name='fxsr'/>
+    <feature name='fxsr_opt'/>
+    <feature name='ibpb'/>
+    <feature name='ibrs'/>
+    <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='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='svm'/>
+    <feature name='syscall'/>
+    <feature name='tsc'/>
+    <feature name='umip'/>
+    <feature name='vme'/>
+    <feature name='wbnoinvd'/>
+    <feature name='xgetbv1'/>
+    <feature name='xsave'/>
+    <feature name='xsavec'/>
+    <feature name='xsaveerptr'/>
+    <feature name='xsaveopt'/>
+    <feature name='xsaves'/>

sync_qemu_models_i386.py also includes the xsaves feature in the x86_EPYC-Rome.xml file it produces, yet we don't include xsaves in the file commited to git. How do we determine which features to filter from the script-produced file? E.g. should xsaves be dropped from this file?

Regards,
Jim

+  </model>
+</cpus>
diff --git a/src/cpu_map/x86_EPYC-Rome-v3.xml b/src/cpu_map/x86_EPYC-Rome-v3.xml
new file mode 100644
index 0000000000..6b8f07c7f2
--- /dev/null
+++ b/src/cpu_map/x86_EPYC-Rome-v3.xml
@@ -0,0 +1,95 @@
+<!-- extra info from qemu:
+  'model.level': '0xd'
+  'model.stepping': '0'
+  'model.xlevel': '0x8000001E'
+  'model.model_id': 'AMD EPYC-Rome Processor'
+  'model.cache_info': '&epyc_rome_cache_info'
+  'property.model-id': 'AMD EPYC-Rome-v3 Processor'
+  'version.cache_info': '&epyc_rome_v3_cache_info'
+-->
+<cpus>
+  <model name='EPYC-Rome-v3'>
+    <decode host='on' guest='on'/>
+    <signature family='23' model='49'/>
+    <vendor name='AMD'/>
+    <feature name='3dnowprefetch'/>
+    <feature name='abm'/>
+    <feature name='adx'/>
+    <feature name='aes'/>
+    <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='f16c'/>
+    <feature name='fma'/>
+    <feature name='fpu'/>
+    <feature name='fsgsbase'/>
+    <feature name='fxsr'/>
+    <feature name='fxsr_opt'/>
+    <feature name='ibpb'/>
+    <feature name='ibrs'/>
+    <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='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='svm'/>
+    <feature name='syscall'/>
+    <feature name='tsc'/>
+    <feature name='umip'/>
+    <feature name='vme'/>
+    <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/src/cpu_map/x86_EPYC-Rome-v4.xml b/src/cpu_map/x86_EPYC-Rome-v4.xml
new file mode 100644
index 0000000000..e69f910e56
--- /dev/null
+++ b/src/cpu_map/x86_EPYC-Rome-v4.xml
@@ -0,0 +1,94 @@
+<!-- extra info from qemu:
+  'model.level': '0xd'
+  'model.stepping': '0'
+  'model.xlevel': '0x8000001E'
+  'model.model_id': 'AMD EPYC-Rome Processor'
+  'model.cache_info': '&epyc_rome_cache_info'
+  'property.model-id': 'AMD EPYC-Rome-v4 Processor (no XSAVES)'
+  'version.cache_info': '&epyc_rome_v3_cache_info'
+-->
+<cpus>
+  <model name='EPYC-Rome-v4'>
+    <decode host='on' guest='on'/>
+    <signature family='23' model='49'/>
+    <vendor name='AMD'/>
+    <feature name='3dnowprefetch'/>
+    <feature name='abm'/>
+    <feature name='adx'/>
+    <feature name='aes'/>
+    <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='f16c'/>
+    <feature name='fma'/>
+    <feature name='fpu'/>
+    <feature name='fsgsbase'/>
+    <feature name='fxsr'/>
+    <feature name='fxsr_opt'/>
+    <feature name='ibpb'/>
+    <feature name='ibrs'/>
+    <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='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='svm'/>
+    <feature name='syscall'/>
+    <feature name='tsc'/>
+    <feature name='umip'/>
+    <feature name='vme'/>
+    <feature name='wbnoinvd'/>
+    <feature name='xgetbv1'/>
+    <feature name='xsave'/>
+    <feature name='xsavec'/>
+    <feature name='xsaveerptr'/>
+    <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..fb587218c7
--- /dev/null
+++ b/src/cpu_map/x86_EPYC-v3.xml
@@ -0,0 +1,87 @@
+<!-- extra info from qemu:
+  'model.level': '0xd'
+  'model.stepping': '2'
+  'model.xlevel': '0x8000001E'
+  'model.model_id': 'AMD EPYC Processor'
+  'model.cache_info': '&epyc_cache_info'
+  'property.model-id': 'AMD EPYC Processor'
+-->
+<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..e714d9e622
--- /dev/null
+++ b/src/cpu_map/x86_EPYC-v4.xml
@@ -0,0 +1,88 @@
+<!-- extra info from qemu:
+  'model.level': '0xd'
+  'model.stepping': '2'
+  'model.xlevel': '0x8000001E'
+  'model.model_id': 'AMD EPYC Processor'
+  'model.cache_info': '&epyc_cache_info'
+  'property.model-id': 'AMD EPYC-v4 Processor'
+  'version.cache_info': '&epyc_v4_cache_info'
+-->
+<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-7502-32-Core-host.xml b/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-host.xml
index e348e0f6f6..c9ad653497 100644
--- a/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-host.xml
@@ -1,13 +1,12 @@
  <cpu>
    <arch>x86_64</arch>
-  <model>EPYC-Rome</model>
+  <model>EPYC-Rome-v3</model>
    <vendor>AMD</vendor>
    <signature family='23' model='49' stepping='0'/>
    <feature name='ht'/>
    <feature name='monitor'/>
    <feature name='osxsave'/>
    <feature name='cmt'/>
-  <feature name='xsaves'/>
    <feature name='mbm_total'/>
    <feature name='mbm_local'/>
    <feature name='cmp_legacy'/>
@@ -19,8 +18,6 @@
    <feature name='topoext'/>
    <feature name='perfctr_nb'/>
    <feature name='invtsc'/>
-  <feature name='ibrs'/>
-  <feature name='amd-ssbd'/>
    <feature name='lbrv'/>
    <feature name='svm-lock'/>
    <feature name='tsc-scale'/>
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 486b41815d..f3e5164efc 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,25 +1,19 @@
  <cpu mode='custom' match='exact'>
-  <model fallback='forbid'>EPYC</model>
+  <model fallback='forbid'>EPYC-v4</model>
    <vendor>AMD</vendor>
    <feature policy='require' name='ht'/>
    <feature policy='require' name='monitor'/>
    <feature policy='require' name='osxsave'/>
-  <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='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'/>
@@ -29,4 +23,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 42b8b5f986..1a6ecf839e 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,27 +1,21 @@
  <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='ht'/>
    <feature name='monitor'/>
    <feature name='osxsave'/>
-  <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='invtsc'/>
-  <feature name='clzero'/>
-  <feature name='xsaveerptr'/>
-  <feature name='npt'/>
    <feature name='lbrv'/>
    <feature name='svm-lock'/>
-  <feature name='nrip-save'/>
    <feature name='tsc-scale'/>
    <feature name='vmcb-clean'/>
    <feature name='flushbyasid'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core-guest.xml b/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core-guest.xml
index 486b41815d..f3e5164efc 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,25 +1,19 @@
  <cpu mode='custom' match='exact'>
-  <model fallback='forbid'>EPYC</model>
+  <model fallback='forbid'>EPYC-v4</model>
    <vendor>AMD</vendor>
    <feature policy='require' name='ht'/>
    <feature policy='require' name='monitor'/>
    <feature policy='require' name='osxsave'/>
-  <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='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'/>
@@ -29,4 +23,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/domaincapsdata/qemu_5.0.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_5.0.0-q35.x86_64.xml
index 1d29a40f74..60f65fdffe 100644
--- a/tests/domaincapsdata/qemu_5.0.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_5.0.0-q35.x86_64.xml
@@ -170,6 +170,7 @@
        <model usable='yes' vendor='Intel'>Haswell-noTSX</model>
        <model usable='yes' vendor='Intel'>Haswell-IBRS</model>
        <model usable='yes' vendor='Intel'>Haswell</model>
+      <model usable='no' vendor='AMD'>EPYC-v3</model>
        <model usable='no' vendor='AMD'>EPYC-Rome</model>
        <model usable='no' vendor='AMD'>EPYC-IBPB</model>
        <model usable='no' vendor='AMD'>EPYC</model>
diff --git a/tests/domaincapsdata/qemu_5.0.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_5.0.0-tcg.x86_64.xml
index 7b7420ff8e..01906a6277 100644
--- a/tests/domaincapsdata/qemu_5.0.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_5.0.0-tcg.x86_64.xml
@@ -115,6 +115,7 @@
        <model usable='no' vendor='Intel'>Haswell-noTSX</model>
        <model usable='no' vendor='Intel'>Haswell-IBRS</model>
        <model usable='no' vendor='Intel'>Haswell</model>
+      <model usable='no' vendor='AMD'>EPYC-v3</model>
        <model usable='no' vendor='AMD'>EPYC-Rome</model>
        <model usable='no' vendor='AMD'>EPYC-IBPB</model>
        <model usable='no' vendor='AMD'>EPYC</model>
diff --git a/tests/domaincapsdata/qemu_5.0.0.x86_64.xml b/tests/domaincapsdata/qemu_5.0.0.x86_64.xml
index f3b3adb19e..12a5d8f66e 100644
--- a/tests/domaincapsdata/qemu_5.0.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_5.0.0.x86_64.xml
@@ -169,6 +169,7 @@
        <model usable='yes' vendor='Intel'>Haswell-noTSX</model>
        <model usable='yes' vendor='Intel'>Haswell-IBRS</model>
        <model usable='yes' vendor='Intel'>Haswell</model>
+      <model usable='no' vendor='AMD'>EPYC-v3</model>
        <model usable='no' vendor='AMD'>EPYC-Rome</model>
        <model usable='no' vendor='AMD'>EPYC-IBPB</model>
        <model usable='no' vendor='AMD'>EPYC</model>
diff --git a/tests/domaincapsdata/qemu_5.1.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_5.1.0-q35.x86_64.xml
index 2a8a784813..88291c60de 100644
--- a/tests/domaincapsdata/qemu_5.1.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_5.1.0-q35.x86_64.xml
@@ -103,6 +103,7 @@
        <model usable='no' vendor='Intel'>Haswell-noTSX</model>
        <model usable='no' vendor='Intel'>Haswell-IBRS</model>
        <model usable='no' vendor='Intel'>Haswell</model>
+      <model usable='yes' vendor='AMD'>EPYC-v3</model>
        <model usable='yes' vendor='AMD'>EPYC-Rome</model>
        <model usable='yes' vendor='AMD'>EPYC-IBPB</model>
        <model usable='yes' vendor='AMD'>EPYC</model>
diff --git a/tests/domaincapsdata/qemu_5.1.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_5.1.0-tcg.x86_64.xml
index 272d9bed08..a2bce1003a 100644
--- a/tests/domaincapsdata/qemu_5.1.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_5.1.0-tcg.x86_64.xml
@@ -115,6 +115,7 @@
        <model usable='no' vendor='Intel'>Haswell-noTSX</model>
        <model usable='no' vendor='Intel'>Haswell-IBRS</model>
        <model usable='no' vendor='Intel'>Haswell</model>
+      <model usable='no' vendor='AMD'>EPYC-v3</model>
        <model usable='no' vendor='AMD'>EPYC-Rome</model>
        <model usable='no' vendor='AMD'>EPYC-IBPB</model>
        <model usable='no' vendor='AMD'>EPYC</model>
diff --git a/tests/domaincapsdata/qemu_5.1.0.x86_64.xml b/tests/domaincapsdata/qemu_5.1.0.x86_64.xml
index 735cd42466..954025cb33 100644
--- a/tests/domaincapsdata/qemu_5.1.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_5.1.0.x86_64.xml
@@ -102,6 +102,7 @@
        <model usable='no' vendor='Intel'>Haswell-noTSX</model>
        <model usable='no' vendor='Intel'>Haswell-IBRS</model>
        <model usable='no' vendor='Intel'>Haswell</model>
+      <model usable='yes' vendor='AMD'>EPYC-v3</model>
        <model usable='yes' vendor='AMD'>EPYC-Rome</model>
        <model usable='yes' vendor='AMD'>EPYC-IBPB</model>
        <model usable='yes' vendor='AMD'>EPYC</model>
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 968cfe68e8..66753cef10 100644
--- a/tests/domaincapsdata/qemu_5.2.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_5.2.0-q35.x86_64.xml
@@ -103,6 +103,7 @@
        <model usable='no' vendor='Intel'>Haswell-noTSX</model>
        <model usable='no' vendor='Intel'>Haswell-IBRS</model>
        <model usable='no' vendor='Intel'>Haswell</model>
+      <model usable='yes' vendor='AMD'>EPYC-v3</model>
        <model usable='yes' vendor='AMD'>EPYC-Rome</model>
        <model usable='yes' vendor='AMD'>EPYC-IBPB</model>
        <model usable='yes' vendor='AMD'>EPYC</model>
diff --git a/tests/domaincapsdata/qemu_5.2.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_5.2.0-tcg.x86_64.xml
index 526f39254e..af223af1b8 100644
--- a/tests/domaincapsdata/qemu_5.2.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_5.2.0-tcg.x86_64.xml
@@ -115,6 +115,7 @@
        <model usable='no' vendor='Intel'>Haswell-noTSX</model>
        <model usable='no' vendor='Intel'>Haswell-IBRS</model>
        <model usable='no' vendor='Intel'>Haswell</model>
+      <model usable='no' vendor='AMD'>EPYC-v3</model>
        <model usable='no' vendor='AMD'>EPYC-Rome</model>
        <model usable='no' vendor='AMD'>EPYC-IBPB</model>
        <model usable='no' vendor='AMD'>EPYC</model>
diff --git a/tests/domaincapsdata/qemu_5.2.0.x86_64.xml b/tests/domaincapsdata/qemu_5.2.0.x86_64.xml
index 9bbb22b0d8..195d523fa7 100644
--- a/tests/domaincapsdata/qemu_5.2.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_5.2.0.x86_64.xml
@@ -102,6 +102,7 @@
        <model usable='no' vendor='Intel'>Haswell-noTSX</model>
        <model usable='no' vendor='Intel'>Haswell-IBRS</model>
        <model usable='no' vendor='Intel'>Haswell</model>
+      <model usable='yes' vendor='AMD'>EPYC-v3</model>
        <model usable='yes' vendor='AMD'>EPYC-Rome</model>
        <model usable='yes' vendor='AMD'>EPYC-IBPB</model>
        <model usable='yes' vendor='AMD'>EPYC</model>
diff --git a/tests/domaincapsdata/qemu_6.0.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_6.0.0-q35.x86_64.xml
index 66da296d8e..a96f1e23fd 100644
--- a/tests/domaincapsdata/qemu_6.0.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.0.0-q35.x86_64.xml
@@ -103,6 +103,8 @@
        <model usable='no' vendor='Intel'>Haswell-noTSX</model>
        <model usable='no' vendor='Intel'>Haswell-IBRS</model>
        <model usable='no' vendor='Intel'>Haswell</model>
+      <model usable='yes' vendor='AMD'>EPYC-v3</model>
+      <model usable='no' vendor='AMD'>EPYC-Rome-v2</model>
        <model usable='yes' vendor='AMD'>EPYC-Rome</model>
        <model usable='no' vendor='AMD'>EPYC-Milan</model>
        <model usable='yes' vendor='AMD'>EPYC-IBPB</model>
diff --git a/tests/domaincapsdata/qemu_6.0.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_6.0.0-tcg.x86_64.xml
index 0ffd95aee6..1a00383168 100644
--- a/tests/domaincapsdata/qemu_6.0.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.0.0-tcg.x86_64.xml
@@ -116,6 +116,8 @@
        <model usable='no' vendor='Intel'>Haswell-noTSX</model>
        <model usable='no' vendor='Intel'>Haswell-IBRS</model>
        <model usable='no' vendor='Intel'>Haswell</model>
+      <model usable='no' vendor='AMD'>EPYC-v3</model>
+      <model usable='no' vendor='AMD'>EPYC-Rome-v2</model>
        <model usable='no' vendor='AMD'>EPYC-Rome</model>
        <model usable='no' vendor='AMD'>EPYC-Milan</model>
        <model usable='no' vendor='AMD'>EPYC-IBPB</model>
diff --git a/tests/domaincapsdata/qemu_6.0.0.x86_64.xml b/tests/domaincapsdata/qemu_6.0.0.x86_64.xml
index 0af8b9d064..e21b8dc2df 100644
--- a/tests/domaincapsdata/qemu_6.0.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.0.0.x86_64.xml
@@ -102,6 +102,8 @@
        <model usable='no' vendor='Intel'>Haswell-noTSX</model>
        <model usable='no' vendor='Intel'>Haswell-IBRS</model>
        <model usable='no' vendor='Intel'>Haswell</model>
+      <model usable='yes' vendor='AMD'>EPYC-v3</model>
+      <model usable='no' vendor='AMD'>EPYC-Rome-v2</model>
        <model usable='yes' vendor='AMD'>EPYC-Rome</model>
        <model usable='no' vendor='AMD'>EPYC-Milan</model>
        <model usable='yes' vendor='AMD'>EPYC-IBPB</model>
diff --git a/tests/domaincapsdata/qemu_6.1.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_6.1.0-q35.x86_64.xml
index cc2081955d..bfecc6ffe0 100644
--- a/tests/domaincapsdata/qemu_6.1.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.1.0-q35.x86_64.xml
@@ -104,6 +104,8 @@
        <model usable='no' vendor='Intel'>Haswell-noTSX</model>
        <model usable='no' vendor='Intel'>Haswell-IBRS</model>
        <model usable='no' vendor='Intel'>Haswell</model>
+      <model usable='yes' vendor='AMD'>EPYC-v3</model>
+      <model usable='no' vendor='AMD'>EPYC-Rome-v2</model>
        <model usable='yes' vendor='AMD'>EPYC-Rome</model>
        <model usable='no' vendor='AMD'>EPYC-Milan</model>
        <model usable='yes' vendor='AMD'>EPYC-IBPB</model>
diff --git a/tests/domaincapsdata/qemu_6.1.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_6.1.0-tcg.x86_64.xml
index a80c86df4f..5762bc0b90 100644
--- a/tests/domaincapsdata/qemu_6.1.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.1.0-tcg.x86_64.xml
@@ -116,6 +116,8 @@
        <model usable='no' vendor='Intel'>Haswell-noTSX</model>
        <model usable='no' vendor='Intel'>Haswell-IBRS</model>
        <model usable='no' vendor='Intel'>Haswell</model>
+      <model usable='no' vendor='AMD'>EPYC-v3</model>
+      <model usable='no' vendor='AMD'>EPYC-Rome-v2</model>
        <model usable='no' vendor='AMD'>EPYC-Rome</model>
        <model usable='no' vendor='AMD'>EPYC-Milan</model>
        <model usable='no' vendor='AMD'>EPYC-IBPB</model>
diff --git a/tests/domaincapsdata/qemu_6.1.0.x86_64.xml b/tests/domaincapsdata/qemu_6.1.0.x86_64.xml
index 22f8c8a397..ef3ab32795 100644
--- a/tests/domaincapsdata/qemu_6.1.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.1.0.x86_64.xml
@@ -103,6 +103,8 @@
        <model usable='no' vendor='Intel'>Haswell-noTSX</model>
        <model usable='no' vendor='Intel'>Haswell-IBRS</model>
        <model usable='no' vendor='Intel'>Haswell</model>
+      <model usable='yes' vendor='AMD'>EPYC-v3</model>
+      <model usable='no' vendor='AMD'>EPYC-Rome-v2</model>
        <model usable='yes' vendor='AMD'>EPYC-Rome</model>
        <model usable='no' vendor='AMD'>EPYC-Milan</model>
        <model usable='yes' vendor='AMD'>EPYC-IBPB</model>
diff --git a/tests/domaincapsdata/qemu_6.2.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_6.2.0-q35.x86_64.xml
index 782aa792a9..850762a81b 100644
--- a/tests/domaincapsdata/qemu_6.2.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.2.0-q35.x86_64.xml
@@ -104,6 +104,8 @@
        <model usable='no' vendor='Intel'>Haswell-noTSX</model>
        <model usable='no' vendor='Intel'>Haswell-IBRS</model>
        <model usable='no' vendor='Intel'>Haswell</model>
+      <model usable='yes' vendor='AMD'>EPYC-v3</model>
+      <model usable='no' vendor='AMD'>EPYC-Rome-v2</model>
        <model usable='yes' vendor='AMD'>EPYC-Rome</model>
        <model usable='no' vendor='AMD'>EPYC-Milan</model>
        <model usable='yes' vendor='AMD'>EPYC-IBPB</model>
diff --git a/tests/domaincapsdata/qemu_6.2.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_6.2.0-tcg.x86_64.xml
index 7ed62fb522..f90c826e27 100644
--- a/tests/domaincapsdata/qemu_6.2.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.2.0-tcg.x86_64.xml
@@ -118,6 +118,8 @@
        <model usable='no' vendor='Intel'>Haswell-noTSX</model>
        <model usable='no' vendor='Intel'>Haswell-IBRS</model>
        <model usable='no' vendor='Intel'>Haswell</model>
+      <model usable='no' vendor='AMD'>EPYC-v3</model>
+      <model usable='no' vendor='AMD'>EPYC-Rome-v2</model>
        <model usable='no' vendor='AMD'>EPYC-Rome</model>
        <model usable='no' vendor='AMD'>EPYC-Milan</model>
        <model usable='no' vendor='AMD'>EPYC-IBPB</model>
diff --git a/tests/domaincapsdata/qemu_6.2.0.x86_64.xml b/tests/domaincapsdata/qemu_6.2.0.x86_64.xml
index e6283ff153..77feb230c9 100644
--- a/tests/domaincapsdata/qemu_6.2.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.2.0.x86_64.xml
@@ -103,6 +103,8 @@
        <model usable='no' vendor='Intel'>Haswell-noTSX</model>
        <model usable='no' vendor='Intel'>Haswell-IBRS</model>
        <model usable='no' vendor='Intel'>Haswell</model>
+      <model usable='yes' vendor='AMD'>EPYC-v3</model>
+      <model usable='no' vendor='AMD'>EPYC-Rome-v2</model>
        <model usable='yes' vendor='AMD'>EPYC-Rome</model>
        <model usable='no' vendor='AMD'>EPYC-Milan</model>
        <model usable='yes' vendor='AMD'>EPYC-IBPB</model>
diff --git a/tests/domaincapsdata/qemu_7.0.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_7.0.0-q35.x86_64.xml
index 50b2ee2ffe..587843dc95 100644
--- a/tests/domaincapsdata/qemu_7.0.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_7.0.0-q35.x86_64.xml
@@ -105,6 +105,8 @@
        <model usable='no' vendor='Intel'>Haswell-noTSX</model>
        <model usable='no' vendor='Intel'>Haswell-IBRS</model>
        <model usable='no' vendor='Intel'>Haswell</model>
+      <model usable='yes' vendor='AMD'>EPYC-v3</model>
+      <model usable='no' vendor='AMD'>EPYC-Rome-v2</model>
        <model usable='yes' vendor='AMD'>EPYC-Rome</model>
        <model usable='no' vendor='AMD'>EPYC-Milan</model>
        <model usable='yes' vendor='AMD'>EPYC-IBPB</model>
diff --git a/tests/domaincapsdata/qemu_7.0.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_7.0.0-tcg.x86_64.xml
index 3a71b54847..7ef5615473 100644
--- a/tests/domaincapsdata/qemu_7.0.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_7.0.0-tcg.x86_64.xml
@@ -119,6 +119,8 @@
        <model usable='no' vendor='Intel'>Haswell-noTSX</model>
        <model usable='no' vendor='Intel'>Haswell-IBRS</model>
        <model usable='no' vendor='Intel'>Haswell</model>
+      <model usable='no' vendor='AMD'>EPYC-v3</model>
+      <model usable='no' vendor='AMD'>EPYC-Rome-v2</model>
        <model usable='no' vendor='AMD'>EPYC-Rome</model>
        <model usable='no' vendor='AMD'>EPYC-Milan</model>
        <model usable='no' vendor='AMD'>EPYC-IBPB</model>
diff --git a/tests/domaincapsdata/qemu_7.0.0.x86_64.xml b/tests/domaincapsdata/qemu_7.0.0.x86_64.xml
index fa4b912168..1fbfdc229d 100644
--- a/tests/domaincapsdata/qemu_7.0.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_7.0.0.x86_64.xml
@@ -104,6 +104,8 @@
        <model usable='no' vendor='Intel'>Haswell-noTSX</model>
        <model usable='no' vendor='Intel'>Haswell-IBRS</model>
        <model usable='no' vendor='Intel'>Haswell</model>
+      <model usable='yes' vendor='AMD'>EPYC-v3</model>
+      <model usable='no' vendor='AMD'>EPYC-Rome-v2</model>
        <model usable='yes' vendor='AMD'>EPYC-Rome</model>
        <model usable='no' vendor='AMD'>EPYC-Milan</model>
        <model usable='yes' vendor='AMD'>EPYC-IBPB</model>
diff --git a/tests/domaincapsdata/qemu_7.1.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_7.1.0-q35.x86_64.xml
index 2eec2e3162..8247daf1da 100644
--- a/tests/domaincapsdata/qemu_7.1.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_7.1.0-q35.x86_64.xml
@@ -104,6 +104,8 @@
        <model usable='no' vendor='Intel'>Haswell-noTSX</model>
        <model usable='no' vendor='Intel'>Haswell-IBRS</model>
        <model usable='no' vendor='Intel'>Haswell</model>
+      <model usable='yes' vendor='AMD'>EPYC-v3</model>
+      <model usable='no' vendor='AMD'>EPYC-Rome-v2</model>
        <model usable='yes' vendor='AMD'>EPYC-Rome</model>
        <model usable='no' vendor='AMD'>EPYC-Milan</model>
        <model usable='yes' vendor='AMD'>EPYC-IBPB</model>
diff --git a/tests/domaincapsdata/qemu_7.1.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_7.1.0-tcg.x86_64.xml
index 1ae2a7c342..df0d5c1b86 100644
--- a/tests/domaincapsdata/qemu_7.1.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_7.1.0-tcg.x86_64.xml
@@ -117,6 +117,8 @@
        <model usable='no' vendor='Intel'>Haswell-noTSX</model>
        <model usable='no' vendor='Intel'>Haswell-IBRS</model>
        <model usable='no' vendor='Intel'>Haswell</model>
+      <model usable='no' vendor='AMD'>EPYC-v3</model>
+      <model usable='no' vendor='AMD'>EPYC-Rome-v2</model>
        <model usable='no' vendor='AMD'>EPYC-Rome</model>
        <model usable='no' vendor='AMD'>EPYC-Milan</model>
        <model usable='no' vendor='AMD'>EPYC-IBPB</model>
diff --git a/tests/domaincapsdata/qemu_7.1.0.x86_64.xml b/tests/domaincapsdata/qemu_7.1.0.x86_64.xml
index 449e1b51d1..197e088d32 100644
--- a/tests/domaincapsdata/qemu_7.1.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_7.1.0.x86_64.xml
@@ -103,6 +103,8 @@
        <model usable='no' vendor='Intel'>Haswell-noTSX</model>
        <model usable='no' vendor='Intel'>Haswell-IBRS</model>
        <model usable='no' vendor='Intel'>Haswell</model>
+      <model usable='yes' vendor='AMD'>EPYC-v3</model>
+      <model usable='no' vendor='AMD'>EPYC-Rome-v2</model>
        <model usable='yes' vendor='AMD'>EPYC-Rome</model>
        <model usable='no' vendor='AMD'>EPYC-Milan</model>
        <model usable='yes' vendor='AMD'>EPYC-IBPB</model>
diff --git a/tests/domaincapsdata/qemu_7.2.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_7.2.0-q35.x86_64.xml
index e48a07da28..0e06734522 100644
--- a/tests/domaincapsdata/qemu_7.2.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_7.2.0-q35.x86_64.xml
@@ -109,6 +109,8 @@
        <model usable='no' vendor='Intel'>Haswell-noTSX</model>
        <model usable='no' vendor='Intel'>Haswell-IBRS</model>
        <model usable='no' vendor='Intel'>Haswell</model>
+      <model usable='yes' vendor='AMD'>EPYC-v3</model>
+      <model usable='no' vendor='AMD'>EPYC-Rome-v2</model>
        <model usable='yes' vendor='AMD'>EPYC-Rome</model>
        <model usable='no' vendor='AMD'>EPYC-Milan</model>
        <model usable='yes' vendor='AMD'>EPYC-IBPB</model>
diff --git a/tests/domaincapsdata/qemu_7.2.0-tcg.x86_64+hvf.xml b/tests/domaincapsdata/qemu_7.2.0-tcg.x86_64+hvf.xml
index 69b6be7616..841b640c15 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
@@ -106,6 +106,8 @@
        <model usable='no' vendor='Intel'>Haswell-noTSX</model>
        <model usable='no' vendor='Intel'>Haswell-IBRS</model>
        <model usable='no' vendor='Intel'>Haswell</model>
+      <model usable='no' vendor='AMD'>EPYC-v3</model>
+      <model usable='no' vendor='AMD'>EPYC-Rome-v2</model>
        <model usable='no' vendor='AMD'>EPYC-Rome</model>
        <model usable='no' vendor='AMD'>EPYC-Milan</model>
        <model usable='no' vendor='AMD'>EPYC-IBPB</model>
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 69b6be7616..841b640c15 100644
--- a/tests/domaincapsdata/qemu_7.2.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_7.2.0-tcg.x86_64.xml
@@ -106,6 +106,8 @@
        <model usable='no' vendor='Intel'>Haswell-noTSX</model>
        <model usable='no' vendor='Intel'>Haswell-IBRS</model>
        <model usable='no' vendor='Intel'>Haswell</model>
+      <model usable='no' vendor='AMD'>EPYC-v3</model>
+      <model usable='no' vendor='AMD'>EPYC-Rome-v2</model>
        <model usable='no' vendor='AMD'>EPYC-Rome</model>
        <model usable='no' vendor='AMD'>EPYC-Milan</model>
        <model usable='no' vendor='AMD'>EPYC-IBPB</model>
diff --git a/tests/domaincapsdata/qemu_7.2.0.x86_64.xml b/tests/domaincapsdata/qemu_7.2.0.x86_64.xml
index d116cf2e48..9cafaf2f0f 100644
--- a/tests/domaincapsdata/qemu_7.2.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_7.2.0.x86_64.xml
@@ -108,6 +108,8 @@
        <model usable='no' vendor='Intel'>Haswell-noTSX</model>
        <model usable='no' vendor='Intel'>Haswell-IBRS</model>
        <model usable='no' vendor='Intel'>Haswell</model>
+      <model usable='yes' vendor='AMD'>EPYC-v3</model>
+      <model usable='no' vendor='AMD'>EPYC-Rome-v2</model>
        <model usable='yes' vendor='AMD'>EPYC-Rome</model>
        <model usable='no' vendor='AMD'>EPYC-Milan</model>
        <model usable='yes' vendor='AMD'>EPYC-IBPB</model>
diff --git a/tests/domaincapsdata/qemu_8.0.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_8.0.0-q35.x86_64.xml
index 2815064abc..564546cf41 100644
--- a/tests/domaincapsdata/qemu_8.0.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_8.0.0-q35.x86_64.xml
@@ -110,6 +110,8 @@
        <model usable='no' vendor='Intel'>Haswell-noTSX</model>
        <model usable='no' vendor='Intel'>Haswell-IBRS</model>
        <model usable='no' vendor='Intel'>Haswell</model>
+      <model usable='yes' vendor='AMD'>EPYC-v3</model>
+      <model usable='no' vendor='AMD'>EPYC-Rome-v2</model>
        <model usable='yes' vendor='AMD'>EPYC-Rome</model>
        <model usable='no' vendor='AMD'>EPYC-Milan</model>
        <model usable='yes' vendor='AMD'>EPYC-IBPB</model>
diff --git a/tests/domaincapsdata/qemu_8.0.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_8.0.0-tcg.x86_64.xml
index efb5fcb99d..58ce3d8d69 100644
--- a/tests/domaincapsdata/qemu_8.0.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_8.0.0-tcg.x86_64.xml
@@ -111,6 +111,8 @@
        <model usable='no' vendor='Intel'>Haswell-noTSX</model>
        <model usable='no' vendor='Intel'>Haswell-IBRS</model>
        <model usable='no' vendor='Intel'>Haswell</model>
+      <model usable='no' vendor='AMD'>EPYC-v3</model>
+      <model usable='no' vendor='AMD'>EPYC-Rome-v2</model>
        <model usable='no' vendor='AMD'>EPYC-Rome</model>
        <model usable='no' vendor='AMD'>EPYC-Milan</model>
        <model usable='no' vendor='AMD'>EPYC-IBPB</model>
diff --git a/tests/domaincapsdata/qemu_8.0.0.x86_64.xml b/tests/domaincapsdata/qemu_8.0.0.x86_64.xml
index 07d1d06115..eb5897671c 100644
--- a/tests/domaincapsdata/qemu_8.0.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_8.0.0.x86_64.xml
@@ -109,6 +109,8 @@
        <model usable='no' vendor='Intel'>Haswell-noTSX</model>
        <model usable='no' vendor='Intel'>Haswell-IBRS</model>
        <model usable='no' vendor='Intel'>Haswell</model>
+      <model usable='yes' vendor='AMD'>EPYC-v3</model>
+      <model usable='no' vendor='AMD'>EPYC-Rome-v2</model>
        <model usable='yes' vendor='AMD'>EPYC-Rome</model>
        <model usable='no' vendor='AMD'>EPYC-Milan</model>
        <model usable='yes' vendor='AMD'>EPYC-IBPB</model>
diff --git a/tests/domaincapsdata/qemu_8.1.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_8.1.0-q35.x86_64.xml
index 4d438efdf7..d865028850 100644
--- a/tests/domaincapsdata/qemu_8.1.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_8.1.0-q35.x86_64.xml
@@ -41,7 +41,7 @@
        </enum>
      </mode>
      <mode name='host-model' supported='yes'>
-      <model fallback='forbid'>EPYC-Rome</model>
+      <model fallback='forbid'>EPYC-Rome-v4</model>
        <vendor>AMD</vendor>
        <maxphysaddr mode='passthrough' limit='64'/>
        <feature policy='require' name='x2apic'/>
@@ -53,7 +53,6 @@
        <feature policy='require' name='ssbd'/>
        <feature policy='require' name='cmp_legacy'/>
        <feature policy='require' name='invtsc'/>
-      <feature policy='require' name='amd-ssbd'/>
        <feature policy='require' name='virt-ssbd'/>
        <feature policy='require' name='lbrv'/>
        <feature policy='require' name='tsc-scale'/>
@@ -69,7 +68,7 @@
        <feature policy='require' name='skip-l1dfl-vmentry'/>
        <feature policy='require' name='mds-no'/>
        <feature policy='require' name='pschange-mc-no'/>
-      <feature policy='disable' name='xsaves'/>
+      <feature policy='disable' name='ibrs'/>
      </mode>
      <mode name='custom' supported='yes'>
        <model usable='yes' vendor='unknown'>qemu64</model>
@@ -112,7 +111,13 @@
        <model usable='no' vendor='Intel'>Haswell-noTSX</model>
        <model usable='no' vendor='Intel'>Haswell-IBRS</model>
        <model usable='no' vendor='Intel'>Haswell</model>
+      <model usable='no' vendor='AMD'>EPYC-v4</model>
+      <model usable='no' vendor='AMD'>EPYC-v3</model>
+      <model usable='no' vendor='AMD'>EPYC-Rome-v4</model>
+      <model usable='no' vendor='AMD'>EPYC-Rome-v3</model>
+      <model usable='no' vendor='AMD'>EPYC-Rome-v2</model>
        <model usable='no' vendor='AMD'>EPYC-Rome</model>
+      <model usable='no' vendor='AMD'>EPYC-Milan-v2</model>
        <model usable='no' vendor='AMD'>EPYC-Milan</model>
        <model usable='yes' vendor='AMD'>EPYC-IBPB</model>
        <model usable='no' vendor='AMD'>EPYC-Genoa</model>
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 e32cd80c17..192fa20c72 100644
--- a/tests/domaincapsdata/qemu_8.1.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_8.1.0-tcg.x86_64.xml
@@ -112,7 +112,13 @@
        <model usable='no' vendor='Intel'>Haswell-noTSX</model>
        <model usable='no' vendor='Intel'>Haswell-IBRS</model>
        <model usable='no' vendor='Intel'>Haswell</model>
+      <model usable='no' vendor='AMD'>EPYC-v4</model>
+      <model usable='no' vendor='AMD'>EPYC-v3</model>
+      <model usable='no' vendor='AMD'>EPYC-Rome-v4</model>
+      <model usable='no' vendor='AMD'>EPYC-Rome-v3</model>
+      <model usable='no' vendor='AMD'>EPYC-Rome-v2</model>
        <model usable='no' vendor='AMD'>EPYC-Rome</model>
+      <model usable='no' vendor='AMD'>EPYC-Milan-v2</model>
        <model usable='no' vendor='AMD'>EPYC-Milan</model>
        <model usable='no' vendor='AMD'>EPYC-IBPB</model>
        <model usable='no' vendor='AMD'>EPYC-Genoa</model>
diff --git a/tests/domaincapsdata/qemu_8.1.0.x86_64.xml b/tests/domaincapsdata/qemu_8.1.0.x86_64.xml
index 919357e577..51cba16a35 100644
--- a/tests/domaincapsdata/qemu_8.1.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_8.1.0.x86_64.xml
@@ -40,7 +40,7 @@
        </enum>
      </mode>
      <mode name='host-model' supported='yes'>
-      <model fallback='forbid'>EPYC-Rome</model>
+      <model fallback='forbid'>EPYC-Rome-v4</model>
        <vendor>AMD</vendor>
        <maxphysaddr mode='passthrough' limit='64'/>
        <feature policy='require' name='x2apic'/>
@@ -52,7 +52,6 @@
        <feature policy='require' name='ssbd'/>
        <feature policy='require' name='cmp_legacy'/>
        <feature policy='require' name='invtsc'/>
-      <feature policy='require' name='amd-ssbd'/>
        <feature policy='require' name='virt-ssbd'/>
        <feature policy='require' name='lbrv'/>
        <feature policy='require' name='tsc-scale'/>
@@ -68,7 +67,7 @@
        <feature policy='require' name='skip-l1dfl-vmentry'/>
        <feature policy='require' name='mds-no'/>
        <feature policy='require' name='pschange-mc-no'/>
-      <feature policy='disable' name='xsaves'/>
+      <feature policy='disable' name='ibrs'/>
      </mode>
      <mode name='custom' supported='yes'>
        <model usable='yes' vendor='unknown'>qemu64</model>
@@ -111,7 +110,13 @@
        <model usable='no' vendor='Intel'>Haswell-noTSX</model>
        <model usable='no' vendor='Intel'>Haswell-IBRS</model>
        <model usable='no' vendor='Intel'>Haswell</model>
+      <model usable='no' vendor='AMD'>EPYC-v4</model>
+      <model usable='no' vendor='AMD'>EPYC-v3</model>
+      <model usable='no' vendor='AMD'>EPYC-Rome-v4</model>
+      <model usable='no' vendor='AMD'>EPYC-Rome-v3</model>
+      <model usable='no' vendor='AMD'>EPYC-Rome-v2</model>
        <model usable='no' vendor='AMD'>EPYC-Rome</model>
+      <model usable='no' vendor='AMD'>EPYC-Milan-v2</model>
        <model usable='no' vendor='AMD'>EPYC-Milan</model>
        <model usable='yes' vendor='AMD'>EPYC-IBPB</model>
        <model usable='no' vendor='AMD'>EPYC-Genoa</model>
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 f711a51044..f24fe4789e 100644
--- a/tests/domaincapsdata/qemu_8.2.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_8.2.0-q35.x86_64.xml
@@ -41,7 +41,7 @@
        </enum>
      </mode>
      <mode name='host-model' supported='yes'>
-      <model fallback='forbid'>EPYC-Rome</model>
+      <model fallback='forbid'>EPYC-Rome-v4</model>
        <vendor>AMD</vendor>
        <maxphysaddr mode='passthrough' limit='64'/>
        <feature policy='require' name='x2apic'/>
@@ -53,7 +53,6 @@
        <feature policy='require' name='ssbd'/>
        <feature policy='require' name='cmp_legacy'/>
        <feature policy='require' name='invtsc'/>
-      <feature policy='require' name='amd-ssbd'/>
        <feature policy='require' name='virt-ssbd'/>
        <feature policy='require' name='lbrv'/>
        <feature policy='require' name='tsc-scale'/>
@@ -70,7 +69,7 @@
        <feature policy='require' name='mds-no'/>
        <feature policy='require' name='pschange-mc-no'/>
        <feature policy='require' name='gds-no'/>
-      <feature policy='disable' name='xsaves'/>
+      <feature policy='disable' name='ibrs'/>
      </mode>
      <mode name='custom' supported='yes'>
        <model usable='yes' vendor='unknown'>qemu64</model>
@@ -113,7 +112,13 @@
        <model usable='no' vendor='Intel'>Haswell-noTSX</model>
        <model usable='no' vendor='Intel'>Haswell-IBRS</model>
        <model usable='no' vendor='Intel'>Haswell</model>
+      <model usable='no' vendor='AMD'>EPYC-v4</model>
+      <model usable='no' vendor='AMD'>EPYC-v3</model>
+      <model usable='no' vendor='AMD'>EPYC-Rome-v4</model>
+      <model usable='no' vendor='AMD'>EPYC-Rome-v3</model>
+      <model usable='no' vendor='AMD'>EPYC-Rome-v2</model>
        <model usable='no' vendor='AMD'>EPYC-Rome</model>
+      <model usable='no' vendor='AMD'>EPYC-Milan-v2</model>
        <model usable='no' vendor='AMD'>EPYC-Milan</model>
        <model usable='yes' vendor='AMD'>EPYC-IBPB</model>
        <model usable='no' vendor='AMD'>EPYC-Genoa</model>
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 784a29acd9..1945ec6561 100644
--- a/tests/domaincapsdata/qemu_8.2.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_8.2.0-tcg.x86_64.xml
@@ -111,7 +111,13 @@
        <model usable='no' vendor='Intel'>Haswell-noTSX</model>
        <model usable='no' vendor='Intel'>Haswell-IBRS</model>
        <model usable='no' vendor='Intel'>Haswell</model>
+      <model usable='no' vendor='AMD'>EPYC-v4</model>
+      <model usable='no' vendor='AMD'>EPYC-v3</model>
+      <model usable='no' vendor='AMD'>EPYC-Rome-v4</model>
+      <model usable='no' vendor='AMD'>EPYC-Rome-v3</model>
+      <model usable='no' vendor='AMD'>EPYC-Rome-v2</model>
        <model usable='no' vendor='AMD'>EPYC-Rome</model>
+      <model usable='no' vendor='AMD'>EPYC-Milan-v2</model>
        <model usable='no' vendor='AMD'>EPYC-Milan</model>
        <model usable='no' vendor='AMD'>EPYC-IBPB</model>
        <model usable='no' vendor='AMD'>EPYC-Genoa</model>
diff --git a/tests/domaincapsdata/qemu_8.2.0.x86_64.xml b/tests/domaincapsdata/qemu_8.2.0.x86_64.xml
index bc060e21b6..2252f8f05e 100644
--- a/tests/domaincapsdata/qemu_8.2.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_8.2.0.x86_64.xml
@@ -40,7 +40,7 @@
        </enum>
      </mode>
      <mode name='host-model' supported='yes'>
-      <model fallback='forbid'>EPYC-Rome</model>
+      <model fallback='forbid'>EPYC-Rome-v4</model>
        <vendor>AMD</vendor>
        <maxphysaddr mode='passthrough' limit='64'/>
        <feature policy='require' name='x2apic'/>
@@ -52,7 +52,6 @@
        <feature policy='require' name='ssbd'/>
        <feature policy='require' name='cmp_legacy'/>
        <feature policy='require' name='invtsc'/>
-      <feature policy='require' name='amd-ssbd'/>
        <feature policy='require' name='virt-ssbd'/>
        <feature policy='require' name='lbrv'/>
        <feature policy='require' name='tsc-scale'/>
@@ -69,7 +68,7 @@
        <feature policy='require' name='mds-no'/>
        <feature policy='require' name='pschange-mc-no'/>
        <feature policy='require' name='gds-no'/>
-      <feature policy='disable' name='xsaves'/>
+      <feature policy='disable' name='ibrs'/>
      </mode>
      <mode name='custom' supported='yes'>
        <model usable='yes' vendor='unknown'>qemu64</model>
@@ -112,7 +111,13 @@
        <model usable='no' vendor='Intel'>Haswell-noTSX</model>
        <model usable='no' vendor='Intel'>Haswell-IBRS</model>
        <model usable='no' vendor='Intel'>Haswell</model>
+      <model usable='no' vendor='AMD'>EPYC-v4</model>
+      <model usable='no' vendor='AMD'>EPYC-v3</model>
+      <model usable='no' vendor='AMD'>EPYC-Rome-v4</model>
+      <model usable='no' vendor='AMD'>EPYC-Rome-v3</model>
+      <model usable='no' vendor='AMD'>EPYC-Rome-v2</model>
        <model usable='no' vendor='AMD'>EPYC-Rome</model>
+      <model usable='no' vendor='AMD'>EPYC-Milan-v2</model>
        <model usable='no' vendor='AMD'>EPYC-Milan</model>
        <model usable='yes' vendor='AMD'>EPYC-IBPB</model>
        <model usable='no' vendor='AMD'>EPYC-Genoa</model>
diff --git a/tests/qemuxml2argvdata/cpu-host-model-fallback-kvm.x86_64-8.1.0.args b/tests/qemuxml2argvdata/cpu-host-model-fallback-kvm.x86_64-8.1.0.args
index 45ff38ebef..ebc6ca5403 100644
--- a/tests/qemuxml2argvdata/cpu-host-model-fallback-kvm.x86_64-8.1.0.args
+++ b/tests/qemuxml2argvdata/cpu-host-model-fallback-kvm.x86_64-8.1.0.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-i440fx-8.1,usb=off,dump-guest-core=off,memory-backend=pc.ram,acpi=off \
  -accel kvm \
--cpu EPYC-Rome-v1,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,cmp-legacy=on,amd-ssbd=on,virt-ssbd=on,lbrv=on,tsc-scale=on,vmcb-clean=on,pause-filter=on,pfthreshold=on,v-vmsave-vmload=on,vgif=on,svme-addr-chk=on,lfence-always-serializing=on,null-sel-clr-base=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on,xsaves=off \
+-cpu EPYC-Rome-v4,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,cmp-legacy=on,virt-ssbd=on,lbrv=on,tsc-scale=on,vmcb-clean=on,pause-filter=on,pfthreshold=on,v-vmsave-vmload=on,vgif=on,svme-addr-chk=on,lfence-always-serializing=on,null-sel-clr-base=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on,ibrs=off \
  -m size=219136k \
  -object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \
  -overcommit mem-lock=off \
diff --git a/tests/qemuxml2argvdata/cpu-host-model-fallback-kvm.x86_64-latest.args b/tests/qemuxml2argvdata/cpu-host-model-fallback-kvm.x86_64-latest.args
index 30cb821759..38badeabe8 100644
--- a/tests/qemuxml2argvdata/cpu-host-model-fallback-kvm.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/cpu-host-model-fallback-kvm.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 kvm \
--cpu EPYC-Rome-v1,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,cmp-legacy=on,amd-ssbd=on,virt-ssbd=on,lbrv=on,tsc-scale=on,vmcb-clean=on,pause-filter=on,pfthreshold=on,v-vmsave-vmload=on,vgif=on,svme-addr-chk=on,lfence-always-serializing=on,null-sel-clr-base=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on,gds-no=on,xsaves=off \
+-cpu EPYC-Rome-v4,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,cmp-legacy=on,virt-ssbd=on,lbrv=on,tsc-scale=on,vmcb-clean=on,pause-filter=on,pfthreshold=on,v-vmsave-vmload=on,vgif=on,svme-addr-chk=on,lfence-always-serializing=on,null-sel-clr-base=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on,gds-no=on,ibrs=off \
  -m size=219136k \
  -object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \
  -overcommit mem-lock=off \
diff --git a/tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-8.1.0.args b/tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-8.1.0.args
index df2987a98c..24d88b98de 100644
--- a/tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-8.1.0.args
+++ b/tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-8.1.0.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-q35-8.1,usb=off,dump-guest-core=off,memory-backend=pc.ram,acpi=off \
  -accel kvm \
--cpu EPYC-Rome-v1,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,cmp-legacy=on,amd-ssbd=on,virt-ssbd=on,lbrv=on,tsc-scale=on,vmcb-clean=on,pause-filter=on,pfthreshold=on,v-vmsave-vmload=on,vgif=on,svme-addr-chk=on,lfence-always-serializing=on,null-sel-clr-base=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on,xsaves=off \
+-cpu EPYC-Rome-v4,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,cmp-legacy=on,virt-ssbd=on,lbrv=on,tsc-scale=on,vmcb-clean=on,pause-filter=on,pfthreshold=on,v-vmsave-vmload=on,vgif=on,svme-addr-chk=on,lfence-always-serializing=on,null-sel-clr-base=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on,ibrs=off \
  -m size=219136k \
  -object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \
  -overcommit mem-lock=off \
diff --git a/tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-latest.args b/tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-latest.args
index 3fc229d8ae..2a114a28d5 100644
--- a/tests/qemuxml2argvdata/cpu-host-model-kvm.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/cpu-host-model-kvm.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 kvm \
--cpu EPYC-Rome-v1,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,cmp-legacy=on,amd-ssbd=on,virt-ssbd=on,lbrv=on,tsc-scale=on,vmcb-clean=on,pause-filter=on,pfthreshold=on,v-vmsave-vmload=on,vgif=on,svme-addr-chk=on,lfence-always-serializing=on,null-sel-clr-base=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on,gds-no=on,xsaves=off \
+-cpu EPYC-Rome-v4,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,cmp-legacy=on,virt-ssbd=on,lbrv=on,tsc-scale=on,vmcb-clean=on,pause-filter=on,pfthreshold=on,v-vmsave-vmload=on,vgif=on,svme-addr-chk=on,lfence-always-serializing=on,null-sel-clr-base=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on,gds-no=on,ibrs=off \
  -m size=219136k \
  -object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \
  -overcommit mem-lock=off \
diff --git a/tests/qemuxml2argvdata/cpu-host-model-nofallback-kvm.x86_64-8.1.0.args b/tests/qemuxml2argvdata/cpu-host-model-nofallback-kvm.x86_64-8.1.0.args
index 45ff38ebef..ebc6ca5403 100644
--- a/tests/qemuxml2argvdata/cpu-host-model-nofallback-kvm.x86_64-8.1.0.args
+++ b/tests/qemuxml2argvdata/cpu-host-model-nofallback-kvm.x86_64-8.1.0.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-i440fx-8.1,usb=off,dump-guest-core=off,memory-backend=pc.ram,acpi=off \
  -accel kvm \
--cpu EPYC-Rome-v1,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,cmp-legacy=on,amd-ssbd=on,virt-ssbd=on,lbrv=on,tsc-scale=on,vmcb-clean=on,pause-filter=on,pfthreshold=on,v-vmsave-vmload=on,vgif=on,svme-addr-chk=on,lfence-always-serializing=on,null-sel-clr-base=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on,xsaves=off \
+-cpu EPYC-Rome-v4,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,cmp-legacy=on,virt-ssbd=on,lbrv=on,tsc-scale=on,vmcb-clean=on,pause-filter=on,pfthreshold=on,v-vmsave-vmload=on,vgif=on,svme-addr-chk=on,lfence-always-serializing=on,null-sel-clr-base=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on,ibrs=off \
  -m size=219136k \
  -object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \
  -overcommit mem-lock=off \
diff --git a/tests/qemuxml2argvdata/cpu-host-model-nofallback-kvm.x86_64-latest.args b/tests/qemuxml2argvdata/cpu-host-model-nofallback-kvm.x86_64-latest.args
index 30cb821759..38badeabe8 100644
--- a/tests/qemuxml2argvdata/cpu-host-model-nofallback-kvm.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/cpu-host-model-nofallback-kvm.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 kvm \
--cpu EPYC-Rome-v1,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,cmp-legacy=on,amd-ssbd=on,virt-ssbd=on,lbrv=on,tsc-scale=on,vmcb-clean=on,pause-filter=on,pfthreshold=on,v-vmsave-vmload=on,vgif=on,svme-addr-chk=on,lfence-always-serializing=on,null-sel-clr-base=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on,gds-no=on,xsaves=off \
+-cpu EPYC-Rome-v4,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,cmp-legacy=on,virt-ssbd=on,lbrv=on,tsc-scale=on,vmcb-clean=on,pause-filter=on,pfthreshold=on,v-vmsave-vmload=on,vgif=on,svme-addr-chk=on,lfence-always-serializing=on,null-sel-clr-base=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on,gds-no=on,ibrs=off \
  -m size=219136k \
  -object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \
  -overcommit mem-lock=off \
_______________________________________________
Devel mailing list -- devel@xxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxx




[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux