4372d3
From 5db9a525e3cec267544580d43554b2cf5779b6b9 Mon Sep 17 00:00:00 2001
4372d3
Message-Id: <5db9a525e3cec267544580d43554b2cf5779b6b9@dist-git>
abb18f
From: Jiri Denemark <jdenemar@redhat.com>
abb18f
Date: Tue, 26 Apr 2022 15:06:30 +0200
abb18f
Subject: [PATCH] cpu_x86: Penalize disabled features when computing CPU model
abb18f
abb18f
For finding the best matching CPU model for a given set of features
abb18f
while we don't know the CPU signature (i.e., when computing a baseline
abb18f
CPU model) we've been using a "shortest list of features" heuristics.
abb18f
This works well if new CPU models are supersets of older models, but
abb18f
that's not always the case. As a result it may actually select a new CPU
abb18f
model as a baseline while removing some features from it to make it
abb18f
compatible with older models. This is in general worse than using an old
abb18f
CPU model with a bunch of added features as a guest OS or apps may crash
abb18f
when using features that were disabled.
abb18f
abb18f
On the other hand we don't want to end up with a very old model which
abb18f
would guarantee no disabled features as it could stop a guest OS or apps
abb18f
from using some features provided by the CPU because they would not
abb18f
expect them on such an old CPU.
abb18f
abb18f
This patch changes the heuristics to something in between. Enabled and
abb18f
disabled features are counted separately so that a CPU model requiring
abb18f
some features to be disabled looks worse than a model with fewer
abb18f
disabled features even if its complete list of features is longer. The
abb18f
penalty given for each additional disabled feature gets bigger to make
abb18f
longer list of disabled features look even worse.
abb18f
abb18f
https://bugzilla.redhat.com/show_bug.cgi?id=1851227
abb18f
abb18f
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
abb18f
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
abb18f
(cherry picked from commit 48341b025acdd04a66696a709c7b09b3bfd42acf)
abb18f
abb18f
Conflicts:
abb18f
	tests/domaincapsdata/qemu_2.9.0-tcg.x86_64.xml
abb18f
        tests/domaincapsdata/qemu_2.11.0-tcg.x86_64.xml
abb18f
        tests/domaincapsdata/qemu_2.12.0-tcg.x86_64.xml
abb18f
        tests/domaincapsdata/qemu_3.0.0-tcg.x86_64.xml
abb18f
            - not supported upstream anymore
abb18f
abb18f
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
abb18f
---
abb18f
 src/cpu/cpu_x86.c                             | 44 ++++++++++++++++---
abb18f
 .../x86_64-cpuid-Atom-D510-guest.xml          |  5 ++-
abb18f
 .../x86_64-cpuid-Atom-N450-guest.xml          |  5 ++-
abb18f
 .../x86_64-cpuid-Phenom-B95-json.xml          | 21 +++++----
abb18f
 ...id-baseline-Broadwell-IBRS+Cascadelake.xml | 11 +++--
abb18f
 ..._64-cpuid-baseline-Cascadelake+Icelake.xml | 13 +++---
abb18f
 ...puid-baseline-Cascadelake+Skylake-IBRS.xml |  5 ++-
abb18f
 ...6_64-cpuid-baseline-Cooperlake+Icelake.xml | 13 +++---
abb18f
 .../x86_64-host+guest,models-result.xml       | 10 +++--
abb18f
 .../domaincapsdata/qemu_2.11.0-tcg.x86_64.xml | 34 ++++++++------
abb18f
 .../domaincapsdata/qemu_2.12.0-tcg.x86_64.xml | 34 ++++++++------
abb18f
 .../domaincapsdata/qemu_2.9.0-tcg.x86_64.xml  | 16 ++++---
abb18f
 .../domaincapsdata/qemu_3.0.0-tcg.x86_64.xml  | 35 +++++++++------
abb18f
 .../domaincapsdata/qemu_3.1.0-tcg.x86_64.xml  | 35 +++++++++------
abb18f
 .../domaincapsdata/qemu_4.0.0-tcg.x86_64.xml  | 36 ++++++++-------
abb18f
 .../domaincapsdata/qemu_4.1.0-tcg.x86_64.xml  | 37 +++++++++-------
abb18f
 .../domaincapsdata/qemu_4.2.0-tcg.x86_64.xml  | 37 +++++++++-------
abb18f
 .../domaincapsdata/qemu_5.0.0-tcg.x86_64.xml  | 36 +++++++++------
abb18f
 .../domaincapsdata/qemu_5.1.0-tcg.x86_64.xml  | 36 +++++++++------
abb18f
 .../domaincapsdata/qemu_5.2.0-tcg.x86_64.xml  | 36 +++++++++------
abb18f
 .../domaincapsdata/qemu_6.0.0-tcg.x86_64.xml  | 36 +++++++++------
abb18f
 .../domaincapsdata/qemu_6.1.0-tcg.x86_64.xml  | 36 +++++++++------
abb18f
 .../domaincapsdata/qemu_6.2.0-tcg.x86_64.xml  | 36 +++++++++------
abb18f
 tests/qemuxml2argvdata/cpu-fallback.args      |  2 +-
abb18f
 .../cpu-host-model-cmt.x86_64-4.0.0.args      |  2 +-
abb18f
 .../cpu-host-model-fallback.args              |  2 +-
abb18f
 26 files changed, 382 insertions(+), 231 deletions(-)
abb18f
abb18f
diff --git a/src/cpu/cpu_x86.c b/src/cpu/cpu_x86.c
abb18f
index 81c2441b8b..ebcd96edb1 100644
abb18f
--- a/src/cpu/cpu_x86.c
abb18f
+++ b/src/cpu/cpu_x86.c
abb18f
@@ -1970,23 +1970,57 @@ virCPUx86Compare(virCPUDef *host,
abb18f
 }
abb18f
 
abb18f
 
abb18f
+/* Base penalty for disabled features. */
abb18f
+#define BASE_PENALTY 2
abb18f
+
abb18f
 static int
abb18f
 virCPUx86CompareCandidateFeatureList(virCPUDef *cpuCurrent,
abb18f
                                      virCPUDef *cpuCandidate)
abb18f
 {
abb18f
     size_t current = cpuCurrent->nfeatures;
abb18f
+    size_t enabledCurrent = current;
abb18f
+    size_t disabledCurrent = 0;
abb18f
     size_t candidate = cpuCandidate->nfeatures;
abb18f
+    size_t enabled = candidate;
abb18f
+    size_t disabled = 0;
abb18f
+
abb18f
+    if (cpuCandidate->type != VIR_CPU_TYPE_HOST) {
abb18f
+        size_t i;
abb18f
+        int penalty = BASE_PENALTY;
abb18f
+
abb18f
+        for (i = 0; i < enabledCurrent; i++) {
abb18f
+            if (cpuCurrent->features[i].policy == VIR_CPU_FEATURE_DISABLE) {
abb18f
+                enabledCurrent--;
abb18f
+                disabledCurrent += penalty;
abb18f
+                penalty++;
abb18f
+            }
abb18f
+        }
abb18f
+        current = enabledCurrent + disabledCurrent;
abb18f
+
abb18f
+        penalty = BASE_PENALTY;
abb18f
+        for (i = 0; i < enabled; i++) {
abb18f
+            if (cpuCandidate->features[i].policy == VIR_CPU_FEATURE_DISABLE) {
abb18f
+                enabled--;
abb18f
+                disabled += penalty;
abb18f
+                penalty++;
abb18f
+            }
abb18f
+        }
abb18f
+        candidate = enabled + disabled;
abb18f
+    }
abb18f
 
abb18f
-    if (candidate < current) {
abb18f
-        VIR_DEBUG("%s is better than %s: %zu < %zu",
abb18f
+    if (candidate < current ||
abb18f
+        (candidate == current && disabled < disabledCurrent)) {
abb18f
+        VIR_DEBUG("%s is better than %s: %zu (%zu, %zu) < %zu (%zu, %zu)",
abb18f
                   cpuCandidate->model, cpuCurrent->model,
abb18f
-                  candidate, current);
abb18f
+                  candidate, enabled, disabled,
abb18f
+                  current, enabledCurrent, disabledCurrent);
abb18f
         return 1;
abb18f
     }
abb18f
 
abb18f
-    VIR_DEBUG("%s is not better than %s: %zu >= %zu",
abb18f
+    VIR_DEBUG("%s is not better than %s: %zu (%zu, %zu) >= %zu (%zu, %zu)",
abb18f
               cpuCandidate->model, cpuCurrent->model,
abb18f
-              candidate, current);
abb18f
+              candidate, enabled, disabled,
abb18f
+              current, enabledCurrent, disabledCurrent);
abb18f
     return 0;
abb18f
 }
abb18f
 
abb18f
diff --git a/tests/cputestdata/x86_64-cpuid-Atom-D510-guest.xml b/tests/cputestdata/x86_64-cpuid-Atom-D510-guest.xml
abb18f
index caa0bfd53b..d2f7a79074 100644
abb18f
--- a/tests/cputestdata/x86_64-cpuid-Atom-D510-guest.xml
abb18f
+++ b/tests/cputestdata/x86_64-cpuid-Atom-D510-guest.xml
abb18f
@@ -1,6 +1,7 @@
abb18f
 <cpu mode='custom' match='exact'>
abb18f
-  <model fallback='forbid'>core2duo</model>
abb18f
+  <model fallback='forbid'>n270</model>
abb18f
   <vendor>Intel</vendor>
abb18f
+  <feature policy='require' name='pse36'/>
abb18f
   <feature policy='require' name='ds'/>
abb18f
   <feature policy='require' name='acpi'/>
abb18f
   <feature policy='require' name='ss'/>
abb18f
@@ -14,6 +15,6 @@
abb18f
   <feature policy='require' name='xtpr'/>
abb18f
   <feature policy='require' name='pdcm'/>
abb18f
   <feature policy='require' name='movbe'/>
abb18f
+  <feature policy='require' name='lm'/>
abb18f
   <feature policy='require' name='lahf_lm'/>
abb18f
-  <feature policy='disable' name='syscall'/>
abb18f
 </cpu>
abb18f
diff --git a/tests/cputestdata/x86_64-cpuid-Atom-N450-guest.xml b/tests/cputestdata/x86_64-cpuid-Atom-N450-guest.xml
abb18f
index e8f5c93881..779faf6cef 100644
abb18f
--- a/tests/cputestdata/x86_64-cpuid-Atom-N450-guest.xml
abb18f
+++ b/tests/cputestdata/x86_64-cpuid-Atom-N450-guest.xml
abb18f
@@ -1,5 +1,5 @@
abb18f
 <cpu mode='custom' match='exact'>
abb18f
-  <model fallback='forbid'>core2duo</model>
abb18f
+  <model fallback='forbid'>n270</model>
abb18f
   <vendor>Intel</vendor>
abb18f
   <feature policy='require' name='ds'/>
abb18f
   <feature policy='require' name='acpi'/>
abb18f
@@ -15,6 +15,7 @@
abb18f
   <feature policy='require' name='xtpr'/>
abb18f
   <feature policy='require' name='pdcm'/>
abb18f
   <feature policy='require' name='movbe'/>
abb18f
+  <feature policy='require' name='syscall'/>
abb18f
+  <feature policy='require' name='lm'/>
abb18f
   <feature policy='require' name='lahf_lm'/>
abb18f
-  <feature policy='disable' name='pse36'/>
abb18f
 </cpu>
abb18f
diff --git a/tests/cputestdata/x86_64-cpuid-Phenom-B95-json.xml b/tests/cputestdata/x86_64-cpuid-Phenom-B95-json.xml
abb18f
index b4198f66a5..7f6289c6d7 100644
abb18f
--- a/tests/cputestdata/x86_64-cpuid-Phenom-B95-json.xml
abb18f
+++ b/tests/cputestdata/x86_64-cpuid-Phenom-B95-json.xml
abb18f
@@ -1,22 +1,25 @@
abb18f
 <cpu mode='custom' match='exact'>
abb18f
-  <model fallback='forbid'>Opteron_G3</model>
abb18f
+  <model fallback='forbid'>athlon</model>
abb18f
   <vendor>AMD</vendor>
abb18f
-  <feature policy='require' name='vme'/>
abb18f
+  <feature policy='require' name='mca'/>
abb18f
+  <feature policy='require' name='clflush'/>
abb18f
+  <feature policy='require' name='pni'/>
abb18f
+  <feature policy='require' name='cx16'/>
abb18f
   <feature policy='require' name='x2apic'/>
abb18f
+  <feature policy='require' name='popcnt'/>
abb18f
   <feature policy='require' name='hypervisor'/>
abb18f
-  <feature policy='require' name='mmxext'/>
abb18f
+  <feature policy='require' name='syscall'/>
abb18f
   <feature policy='require' name='fxsr_opt'/>
abb18f
   <feature policy='require' name='pdpe1gb'/>
abb18f
-  <feature policy='require' name='3dnowext'/>
abb18f
-  <feature policy='require' name='3dnow'/>
abb18f
+  <feature policy='require' name='lm'/>
abb18f
+  <feature policy='require' name='lahf_lm'/>
abb18f
   <feature policy='require' name='cmp_legacy'/>
abb18f
   <feature policy='require' name='cr8legacy'/>
abb18f
+  <feature policy='require' name='abm'/>
abb18f
+  <feature policy='require' name='sse4a'/>
abb18f
+  <feature policy='require' name='misalignsse'/>
abb18f
   <feature policy='require' name='3dnowprefetch'/>
abb18f
   <feature policy='require' name='osvw'/>
abb18f
   <feature policy='require' name='npt'/>
abb18f
   <feature policy='require' name='nrip-save'/>
abb18f
-  <feature policy='disable' name='nx'/>
abb18f
-  <feature policy='disable' name='rdtscp'/>
abb18f
-  <feature policy='disable' name='svm'/>
abb18f
-  <feature policy='disable' name='monitor'/>
abb18f
 </cpu>
abb18f
diff --git a/tests/cputestdata/x86_64-cpuid-baseline-Broadwell-IBRS+Cascadelake.xml b/tests/cputestdata/x86_64-cpuid-baseline-Broadwell-IBRS+Cascadelake.xml
abb18f
index 4e3f253e9b..99bce8db87 100644
abb18f
--- a/tests/cputestdata/x86_64-cpuid-baseline-Broadwell-IBRS+Cascadelake.xml
abb18f
+++ b/tests/cputestdata/x86_64-cpuid-baseline-Broadwell-IBRS+Cascadelake.xml
abb18f
@@ -1,11 +1,14 @@
abb18f
 <cpu mode='custom' match='exact'>
abb18f
-  <model fallback='allow'>Skylake-Client-IBRS</model>
abb18f
+  <model fallback='allow'>Broadwell-IBRS</model>
abb18f
   <vendor>Intel</vendor>
abb18f
+  <feature policy='require' name='vme'/>
abb18f
   <feature policy='require' name='ss'/>
abb18f
+  <feature policy='require' name='f16c'/>
abb18f
+  <feature policy='require' name='rdrand'/>
abb18f
   <feature policy='require' name='hypervisor'/>
abb18f
+  <feature policy='require' name='arat'/>
abb18f
   <feature policy='require' name='tsc_adjust'/>
abb18f
+  <feature policy='require' name='xsaveopt'/>
abb18f
   <feature policy='require' name='pdpe1gb'/>
abb18f
-  <feature policy='disable' name='mpx'/>
abb18f
-  <feature policy='disable' name='xsavec'/>
abb18f
-  <feature policy='disable' name='xgetbv1'/>
abb18f
+  <feature policy='require' name='abm'/>
abb18f
 </cpu>
abb18f
diff --git a/tests/cputestdata/x86_64-cpuid-baseline-Cascadelake+Icelake.xml b/tests/cputestdata/x86_64-cpuid-baseline-Cascadelake+Icelake.xml
abb18f
index e372a3e446..071c799ba2 100644
abb18f
--- a/tests/cputestdata/x86_64-cpuid-baseline-Cascadelake+Icelake.xml
abb18f
+++ b/tests/cputestdata/x86_64-cpuid-baseline-Cascadelake+Icelake.xml
abb18f
@@ -1,14 +1,15 @@
abb18f
 <cpu mode='custom' match='exact'>
abb18f
-  <model fallback='allow'>Cooperlake</model>
abb18f
+  <model fallback='allow'>Cascadelake-Server</model>
abb18f
   <vendor>Intel</vendor>
abb18f
   <feature policy='require' name='ss'/>
abb18f
   <feature policy='require' name='hypervisor'/>
abb18f
   <feature policy='require' name='tsc_adjust'/>
abb18f
-  <feature policy='require' name='mpx'/>
abb18f
   <feature policy='require' name='umip'/>
abb18f
+  <feature policy='require' name='pku'/>
abb18f
+  <feature policy='require' name='stibp'/>
abb18f
+  <feature policy='require' name='arch-capabilities'/>
abb18f
   <feature policy='require' name='xsaves'/>
abb18f
-  <feature policy='disable' name='avx512-bf16'/>
abb18f
-  <feature policy='disable' name='mds-no'/>
abb18f
-  <feature policy='disable' name='pschange-mc-no'/>
abb18f
-  <feature policy='disable' name='taa-no'/>
abb18f
+  <feature policy='require' name='rdctl-no'/>
abb18f
+  <feature policy='require' name='ibrs-all'/>
abb18f
+  <feature policy='require' name='skip-l1dfl-vmentry'/>
abb18f
 </cpu>
abb18f
diff --git a/tests/cputestdata/x86_64-cpuid-baseline-Cascadelake+Skylake-IBRS.xml b/tests/cputestdata/x86_64-cpuid-baseline-Cascadelake+Skylake-IBRS.xml
abb18f
index e559e01583..5e42876b39 100644
abb18f
--- a/tests/cputestdata/x86_64-cpuid-baseline-Cascadelake+Skylake-IBRS.xml
abb18f
+++ b/tests/cputestdata/x86_64-cpuid-baseline-Cascadelake+Skylake-IBRS.xml
abb18f
@@ -1,12 +1,13 @@
abb18f
 <cpu mode='custom' match='exact'>
abb18f
-  <model fallback='allow'>Cascadelake-Server</model>
abb18f
+  <model fallback='allow'>Skylake-Server-IBRS</model>
abb18f
   <vendor>Intel</vendor>
abb18f
   <feature policy='require' name='ss'/>
abb18f
   <feature policy='require' name='hypervisor'/>
abb18f
   <feature policy='require' name='tsc_adjust'/>
abb18f
+  <feature policy='require' name='clflushopt'/>
abb18f
   <feature policy='require' name='umip'/>
abb18f
   <feature policy='require' name='pku'/>
abb18f
+  <feature policy='require' name='ssbd'/>
abb18f
   <feature policy='require' name='xsaves'/>
abb18f
   <feature policy='require' name='skip-l1dfl-vmentry'/>
abb18f
-  <feature policy='disable' name='avx512vnni'/>
abb18f
 </cpu>
abb18f
diff --git a/tests/cputestdata/x86_64-cpuid-baseline-Cooperlake+Icelake.xml b/tests/cputestdata/x86_64-cpuid-baseline-Cooperlake+Icelake.xml
abb18f
index e372a3e446..071c799ba2 100644
abb18f
--- a/tests/cputestdata/x86_64-cpuid-baseline-Cooperlake+Icelake.xml
abb18f
+++ b/tests/cputestdata/x86_64-cpuid-baseline-Cooperlake+Icelake.xml
abb18f
@@ -1,14 +1,15 @@
abb18f
 <cpu mode='custom' match='exact'>
abb18f
-  <model fallback='allow'>Cooperlake</model>
abb18f
+  <model fallback='allow'>Cascadelake-Server</model>
abb18f
   <vendor>Intel</vendor>
abb18f
   <feature policy='require' name='ss'/>
abb18f
   <feature policy='require' name='hypervisor'/>
abb18f
   <feature policy='require' name='tsc_adjust'/>
abb18f
-  <feature policy='require' name='mpx'/>
abb18f
   <feature policy='require' name='umip'/>
abb18f
+  <feature policy='require' name='pku'/>
abb18f
+  <feature policy='require' name='stibp'/>
abb18f
+  <feature policy='require' name='arch-capabilities'/>
abb18f
   <feature policy='require' name='xsaves'/>
abb18f
-  <feature policy='disable' name='avx512-bf16'/>
abb18f
-  <feature policy='disable' name='mds-no'/>
abb18f
-  <feature policy='disable' name='pschange-mc-no'/>
abb18f
-  <feature policy='disable' name='taa-no'/>
abb18f
+  <feature policy='require' name='rdctl-no'/>
abb18f
+  <feature policy='require' name='ibrs-all'/>
abb18f
+  <feature policy='require' name='skip-l1dfl-vmentry'/>
abb18f
 </cpu>
abb18f
diff --git a/tests/cputestdata/x86_64-host+guest,models-result.xml b/tests/cputestdata/x86_64-host+guest,models-result.xml
abb18f
index 0dd6955898..42664a48b4 100644
abb18f
--- a/tests/cputestdata/x86_64-host+guest,models-result.xml
abb18f
+++ b/tests/cputestdata/x86_64-host+guest,models-result.xml
abb18f
@@ -1,17 +1,19 @@
abb18f
 <cpu mode='custom' match='exact'>
abb18f
-  <model fallback='allow'>Nehalem</model>
abb18f
+  <model fallback='allow'>qemu64</model>
abb18f
   <topology sockets='2' dies='1' cores='4' threads='1'/>
abb18f
   <feature policy='force' name='pbe'/>
abb18f
   <feature policy='force' name='monitor'/>
abb18f
+  <feature policy='require' name='ssse3'/>
abb18f
   <feature policy='require' name='xtpr'/>
abb18f
   <feature policy='require' name='dca'/>
abb18f
+  <feature policy='require' name='sse4.1'/>
abb18f
   <feature policy='force' name='3dnowext'/>
abb18f
-  <feature policy='force' name='svm'/>
abb18f
+  <feature policy='require' name='lahf_lm'/>
abb18f
   <feature policy='disable' name='sse'/>
abb18f
   <feature policy='disable' name='sse4.2'/>
abb18f
-  <feature policy='forbid' name='popcnt'/>
abb18f
   <feature policy='disable' name='3dnow'/>
abb18f
-  <feature policy='require' name='ssse3'/>
abb18f
   <feature policy='disable' name='vmx'/>
abb18f
   <feature policy='disable' name='ds_cpl'/>
abb18f
+  <feature policy='force' name='svm'/>
abb18f
+  <feature policy='forbid' name='popcnt'/>
abb18f
 </cpu>
abb18f
diff --git a/tests/domaincapsdata/qemu_2.11.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_2.11.0-tcg.x86_64.xml
abb18f
index cccc6830f9..4a92b5bead 100644
abb18f
--- a/tests/domaincapsdata/qemu_2.11.0-tcg.x86_64.xml
abb18f
+++ b/tests/domaincapsdata/qemu_2.11.0-tcg.x86_64.xml
abb18f
@@ -36,34 +36,42 @@
abb18f
       </enum>
abb18f
     </mode>
abb18f
     <mode name='host-model' supported='yes'>
abb18f
-      <model fallback='forbid'>EPYC</model>
abb18f
+      <model fallback='forbid'>Opteron_G3</model>
abb18f
       <vendor>AMD</vendor>
abb18f
       <feature policy='require' name='acpi'/>
abb18f
       <feature policy='require' name='ss'/>
abb18f
+      <feature policy='require' name='pclmuldq'/>
abb18f
       <feature policy='require' name='monitor'/>
abb18f
+      <feature policy='require' name='ssse3'/>
abb18f
+      <feature policy='require' name='sse4.1'/>
abb18f
+      <feature policy='require' name='sse4.2'/>
abb18f
+      <feature policy='require' name='movbe'/>
abb18f
+      <feature policy='require' name='aes'/>
abb18f
+      <feature policy='require' name='xsave'/>
abb18f
       <feature policy='require' name='hypervisor'/>
abb18f
+      <feature policy='require' name='arat'/>
abb18f
+      <feature policy='require' name='fsgsbase'/>
abb18f
+      <feature policy='require' name='bmi1'/>
abb18f
+      <feature policy='require' name='smep'/>
abb18f
+      <feature policy='require' name='bmi2'/>
abb18f
       <feature policy='require' name='erms'/>
abb18f
       <feature policy='require' name='mpx'/>
abb18f
+      <feature policy='require' name='adx'/>
abb18f
+      <feature policy='require' name='smap'/>
abb18f
       <feature policy='require' name='pcommit'/>
abb18f
+      <feature policy='require' name='clflushopt'/>
abb18f
       <feature policy='require' name='clwb'/>
abb18f
       <feature policy='require' name='pku'/>
abb18f
       <feature policy='require' name='ospke'/>
abb18f
       <feature policy='require' name='la57'/>
abb18f
+      <feature policy='require' name='xsaveopt'/>
abb18f
+      <feature policy='require' name='xgetbv1'/>
abb18f
+      <feature policy='require' name='mmxext'/>
abb18f
+      <feature policy='require' name='pdpe1gb'/>
abb18f
       <feature policy='require' name='3dnowext'/>
abb18f
       <feature policy='require' name='3dnow'/>
abb18f
-      <feature policy='disable' name='vme'/>
abb18f
-      <feature policy='disable' name='fma'/>
abb18f
-      <feature policy='disable' name='avx'/>
abb18f
-      <feature policy='disable' name='f16c'/>
abb18f
-      <feature policy='disable' name='rdrand'/>
abb18f
-      <feature policy='disable' name='avx2'/>
abb18f
-      <feature policy='disable' name='rdseed'/>
abb18f
-      <feature policy='disable' name='sha-ni'/>
abb18f
-      <feature policy='disable' name='xsavec'/>
abb18f
-      <feature policy='disable' name='fxsr_opt'/>
abb18f
+      <feature policy='require' name='cr8legacy'/>
abb18f
       <feature policy='disable' name='misalignsse'/>
abb18f
-      <feature policy='disable' name='3dnowprefetch'/>
abb18f
-      <feature policy='disable' name='osvw'/>
abb18f
     </mode>
abb18f
     <mode name='custom' supported='yes'>
abb18f
       <model usable='yes'>qemu64</model>
abb18f
diff --git a/tests/domaincapsdata/qemu_2.12.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_2.12.0-tcg.x86_64.xml
abb18f
index 575506d852..7799a6a7a6 100644
abb18f
--- a/tests/domaincapsdata/qemu_2.12.0-tcg.x86_64.xml
abb18f
+++ b/tests/domaincapsdata/qemu_2.12.0-tcg.x86_64.xml
abb18f
@@ -36,34 +36,42 @@
abb18f
       </enum>
abb18f
     </mode>
abb18f
     <mode name='host-model' supported='yes'>
abb18f
-      <model fallback='forbid'>EPYC</model>
abb18f
+      <model fallback='forbid'>Opteron_G3</model>
abb18f
       <vendor>AMD</vendor>
abb18f
       <feature policy='require' name='acpi'/>
abb18f
       <feature policy='require' name='ss'/>
abb18f
+      <feature policy='require' name='pclmuldq'/>
abb18f
       <feature policy='require' name='monitor'/>
abb18f
+      <feature policy='require' name='ssse3'/>
abb18f
+      <feature policy='require' name='sse4.1'/>
abb18f
+      <feature policy='require' name='sse4.2'/>
abb18f
+      <feature policy='require' name='movbe'/>
abb18f
+      <feature policy='require' name='aes'/>
abb18f
+      <feature policy='require' name='xsave'/>
abb18f
       <feature policy='require' name='hypervisor'/>
abb18f
+      <feature policy='require' name='arat'/>
abb18f
+      <feature policy='require' name='fsgsbase'/>
abb18f
+      <feature policy='require' name='bmi1'/>
abb18f
+      <feature policy='require' name='smep'/>
abb18f
+      <feature policy='require' name='bmi2'/>
abb18f
       <feature policy='require' name='erms'/>
abb18f
       <feature policy='require' name='mpx'/>
abb18f
+      <feature policy='require' name='adx'/>
abb18f
+      <feature policy='require' name='smap'/>
abb18f
       <feature policy='require' name='pcommit'/>
abb18f
+      <feature policy='require' name='clflushopt'/>
abb18f
       <feature policy='require' name='clwb'/>
abb18f
       <feature policy='require' name='pku'/>
abb18f
       <feature policy='require' name='ospke'/>
abb18f
       <feature policy='require' name='la57'/>
abb18f
+      <feature policy='require' name='xsaveopt'/>
abb18f
+      <feature policy='require' name='xgetbv1'/>
abb18f
+      <feature policy='require' name='mmxext'/>
abb18f
+      <feature policy='require' name='pdpe1gb'/>
abb18f
       <feature policy='require' name='3dnowext'/>
abb18f
       <feature policy='require' name='3dnow'/>
abb18f
-      <feature policy='disable' name='vme'/>
abb18f
-      <feature policy='disable' name='fma'/>
abb18f
-      <feature policy='disable' name='avx'/>
abb18f
-      <feature policy='disable' name='f16c'/>
abb18f
-      <feature policy='disable' name='rdrand'/>
abb18f
-      <feature policy='disable' name='avx2'/>
abb18f
-      <feature policy='disable' name='rdseed'/>
abb18f
-      <feature policy='disable' name='sha-ni'/>
abb18f
-      <feature policy='disable' name='xsavec'/>
abb18f
-      <feature policy='disable' name='fxsr_opt'/>
abb18f
+      <feature policy='require' name='cr8legacy'/>
abb18f
       <feature policy='disable' name='misalignsse'/>
abb18f
-      <feature policy='disable' name='3dnowprefetch'/>
abb18f
-      <feature policy='disable' name='osvw'/>
abb18f
     </mode>
abb18f
     <mode name='custom' supported='yes'>
abb18f
       <model usable='yes'>qemu64</model>
abb18f
diff --git a/tests/domaincapsdata/qemu_2.9.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_2.9.0-tcg.x86_64.xml
abb18f
index b47c426f1b..fe12641fbe 100644
abb18f
--- a/tests/domaincapsdata/qemu_2.9.0-tcg.x86_64.xml
abb18f
+++ b/tests/domaincapsdata/qemu_2.9.0-tcg.x86_64.xml
abb18f
@@ -36,12 +36,19 @@
abb18f
       </enum>
abb18f
     </mode>
abb18f
     <mode name='host-model' supported='yes'>
abb18f
-      <model fallback='forbid'>Opteron_G4</model>
abb18f
+      <model fallback='forbid'>Opteron_G3</model>
abb18f
       <vendor>AMD</vendor>
abb18f
       <feature policy='require' name='acpi'/>
abb18f
       <feature policy='require' name='ss'/>
abb18f
+      <feature policy='require' name='pclmuldq'/>
abb18f
       <feature policy='require' name='monitor'/>
abb18f
+      <feature policy='require' name='ssse3'/>
abb18f
+      <feature policy='require' name='sse4.1'/>
abb18f
+      <feature policy='require' name='sse4.2'/>
abb18f
       <feature policy='require' name='movbe'/>
abb18f
+      <feature policy='require' name='aes'/>
abb18f
+      <feature policy='require' name='xsave'/>
abb18f
+      <feature policy='require' name='rdrand'/>
abb18f
       <feature policy='require' name='hypervisor'/>
abb18f
       <feature policy='require' name='arat'/>
abb18f
       <feature policy='require' name='fsgsbase'/>
abb18f
@@ -61,14 +68,13 @@
abb18f
       <feature policy='require' name='xsaveopt'/>
abb18f
       <feature policy='require' name='xgetbv1'/>
abb18f
       <feature policy='require' name='mmxext'/>
abb18f
+      <feature policy='require' name='pdpe1gb'/>
abb18f
       <feature policy='require' name='3dnowext'/>
abb18f
       <feature policy='require' name='3dnow'/>
abb18f
       <feature policy='require' name='cr8legacy'/>
abb18f
-      <feature policy='disable' name='avx'/>
abb18f
+      <feature policy='require' name='npt'/>
abb18f
+      <feature policy='require' name='svme-addr-chk'/>
abb18f
       <feature policy='disable' name='misalignsse'/>
abb18f
-      <feature policy='disable' name='3dnowprefetch'/>
abb18f
-      <feature policy='disable' name='xop'/>
abb18f
-      <feature policy='disable' name='fma4'/>
abb18f
     </mode>
abb18f
     <mode name='custom' supported='yes'>
abb18f
       <model usable='yes'>qemu64</model>
abb18f
diff --git a/tests/domaincapsdata/qemu_3.0.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_3.0.0-tcg.x86_64.xml
abb18f
index 301101095c..daccacba0e 100644
abb18f
--- a/tests/domaincapsdata/qemu_3.0.0-tcg.x86_64.xml
abb18f
+++ b/tests/domaincapsdata/qemu_3.0.0-tcg.x86_64.xml
abb18f
@@ -36,35 +36,42 @@
abb18f
       </enum>
abb18f
     </mode>
abb18f
     <mode name='host-model' supported='yes'>
abb18f
-      <model fallback='forbid'>EPYC</model>
abb18f
+      <model fallback='forbid'>Opteron_G3</model>
abb18f
       <vendor>AMD</vendor>
abb18f
       <feature policy='require' name='acpi'/>
abb18f
       <feature policy='require' name='ss'/>
abb18f
+      <feature policy='require' name='pclmuldq'/>
abb18f
       <feature policy='require' name='monitor'/>
abb18f
+      <feature policy='require' name='ssse3'/>
abb18f
+      <feature policy='require' name='sse4.1'/>
abb18f
+      <feature policy='require' name='sse4.2'/>
abb18f
+      <feature policy='require' name='movbe'/>
abb18f
+      <feature policy='require' name='aes'/>
abb18f
+      <feature policy='require' name='xsave'/>
abb18f
       <feature policy='require' name='hypervisor'/>
abb18f
+      <feature policy='require' name='arat'/>
abb18f
+      <feature policy='require' name='fsgsbase'/>
abb18f
+      <feature policy='require' name='bmi1'/>
abb18f
+      <feature policy='require' name='smep'/>
abb18f
+      <feature policy='require' name='bmi2'/>
abb18f
       <feature policy='require' name='erms'/>
abb18f
       <feature policy='require' name='mpx'/>
abb18f
+      <feature policy='require' name='adx'/>
abb18f
+      <feature policy='require' name='smap'/>
abb18f
       <feature policy='require' name='pcommit'/>
abb18f
+      <feature policy='require' name='clflushopt'/>
abb18f
       <feature policy='require' name='clwb'/>
abb18f
       <feature policy='require' name='pku'/>
abb18f
       <feature policy='require' name='la57'/>
abb18f
+      <feature policy='require' name='xsaveopt'/>
abb18f
+      <feature policy='require' name='xgetbv1'/>
abb18f
+      <feature policy='require' name='mmxext'/>
abb18f
+      <feature policy='require' name='pdpe1gb'/>
abb18f
       <feature policy='require' name='3dnowext'/>
abb18f
       <feature policy='require' name='3dnow'/>
abb18f
+      <feature policy='require' name='cr8legacy'/>
abb18f
       <feature policy='require' name='npt'/>
abb18f
-      <feature policy='disable' name='vme'/>
abb18f
-      <feature policy='disable' name='fma'/>
abb18f
-      <feature policy='disable' name='avx'/>
abb18f
-      <feature policy='disable' name='f16c'/>
abb18f
-      <feature policy='disable' name='rdrand'/>
abb18f
-      <feature policy='disable' name='avx2'/>
abb18f
-      <feature policy='disable' name='rdseed'/>
abb18f
-      <feature policy='disable' name='sha-ni'/>
abb18f
-      <feature policy='disable' name='xsavec'/>
abb18f
-      <feature policy='disable' name='fxsr_opt'/>
abb18f
       <feature policy='disable' name='misalignsse'/>
abb18f
-      <feature policy='disable' name='3dnowprefetch'/>
abb18f
-      <feature policy='disable' name='osvw'/>
abb18f
-      <feature policy='disable' name='topoext'/>
abb18f
     </mode>
abb18f
     <mode name='custom' supported='yes'>
abb18f
       <model usable='yes'>qemu64</model>
abb18f
diff --git a/tests/domaincapsdata/qemu_3.1.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_3.1.0-tcg.x86_64.xml
abb18f
index 1a5bc25b99..2a65cb0ad9 100644
abb18f
--- a/tests/domaincapsdata/qemu_3.1.0-tcg.x86_64.xml
abb18f
+++ b/tests/domaincapsdata/qemu_3.1.0-tcg.x86_64.xml
abb18f
@@ -36,35 +36,42 @@
abb18f
       </enum>
abb18f
     </mode>
abb18f
     <mode name='host-model' supported='yes'>
abb18f
-      <model fallback='forbid'>EPYC</model>
abb18f
+      <model fallback='forbid'>Opteron_G3</model>
abb18f
       <vendor>AMD</vendor>
abb18f
       <feature policy='require' name='acpi'/>
abb18f
       <feature policy='require' name='ss'/>
abb18f
+      <feature policy='require' name='pclmuldq'/>
abb18f
       <feature policy='require' name='monitor'/>
abb18f
+      <feature policy='require' name='ssse3'/>
abb18f
+      <feature policy='require' name='sse4.1'/>
abb18f
+      <feature policy='require' name='sse4.2'/>
abb18f
+      <feature policy='require' name='movbe'/>
abb18f
+      <feature policy='require' name='aes'/>
abb18f
+      <feature policy='require' name='xsave'/>
abb18f
       <feature policy='require' name='hypervisor'/>
abb18f
+      <feature policy='require' name='arat'/>
abb18f
+      <feature policy='require' name='fsgsbase'/>
abb18f
+      <feature policy='require' name='bmi1'/>
abb18f
+      <feature policy='require' name='smep'/>
abb18f
+      <feature policy='require' name='bmi2'/>
abb18f
       <feature policy='require' name='erms'/>
abb18f
       <feature policy='require' name='mpx'/>
abb18f
+      <feature policy='require' name='adx'/>
abb18f
+      <feature policy='require' name='smap'/>
abb18f
       <feature policy='require' name='pcommit'/>
abb18f
+      <feature policy='require' name='clflushopt'/>
abb18f
       <feature policy='require' name='clwb'/>
abb18f
       <feature policy='require' name='pku'/>
abb18f
       <feature policy='require' name='la57'/>
abb18f
+      <feature policy='require' name='xsaveopt'/>
abb18f
+      <feature policy='require' name='xgetbv1'/>
abb18f
+      <feature policy='require' name='mmxext'/>
abb18f
+      <feature policy='require' name='pdpe1gb'/>
abb18f
       <feature policy='require' name='3dnowext'/>
abb18f
       <feature policy='require' name='3dnow'/>
abb18f
+      <feature policy='require' name='cr8legacy'/>
abb18f
       <feature policy='require' name='npt'/>
abb18f
-      <feature policy='disable' name='vme'/>
abb18f
-      <feature policy='disable' name='fma'/>
abb18f
-      <feature policy='disable' name='avx'/>
abb18f
-      <feature policy='disable' name='f16c'/>
abb18f
-      <feature policy='disable' name='rdrand'/>
abb18f
-      <feature policy='disable' name='avx2'/>
abb18f
-      <feature policy='disable' name='rdseed'/>
abb18f
-      <feature policy='disable' name='sha-ni'/>
abb18f
-      <feature policy='disable' name='xsavec'/>
abb18f
-      <feature policy='disable' name='fxsr_opt'/>
abb18f
       <feature policy='disable' name='misalignsse'/>
abb18f
-      <feature policy='disable' name='3dnowprefetch'/>
abb18f
-      <feature policy='disable' name='osvw'/>
abb18f
-      <feature policy='disable' name='topoext'/>
abb18f
     </mode>
abb18f
     <mode name='custom' supported='yes'>
abb18f
       <model usable='yes'>qemu64</model>
abb18f
diff --git a/tests/domaincapsdata/qemu_4.0.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_4.0.0-tcg.x86_64.xml
abb18f
index e744ac27ac..a4dc7bafc9 100644
abb18f
--- a/tests/domaincapsdata/qemu_4.0.0-tcg.x86_64.xml
abb18f
+++ b/tests/domaincapsdata/qemu_4.0.0-tcg.x86_64.xml
abb18f
@@ -36,36 +36,42 @@
abb18f
       </enum>
abb18f
     </mode>
abb18f
     <mode name='host-model' supported='yes'>
abb18f
-      <model fallback='forbid'>EPYC</model>
abb18f
+      <model fallback='forbid'>Opteron_G3</model>
abb18f
       <vendor>AMD</vendor>
abb18f
       <feature policy='require' name='acpi'/>
abb18f
       <feature policy='require' name='ss'/>
abb18f
+      <feature policy='require' name='pclmuldq'/>
abb18f
       <feature policy='require' name='monitor'/>
abb18f
+      <feature policy='require' name='ssse3'/>
abb18f
+      <feature policy='require' name='sse4.1'/>
abb18f
+      <feature policy='require' name='sse4.2'/>
abb18f
+      <feature policy='require' name='movbe'/>
abb18f
+      <feature policy='require' name='aes'/>
abb18f
+      <feature policy='require' name='xsave'/>
abb18f
       <feature policy='require' name='hypervisor'/>
abb18f
+      <feature policy='require' name='arat'/>
abb18f
+      <feature policy='require' name='fsgsbase'/>
abb18f
+      <feature policy='require' name='bmi1'/>
abb18f
+      <feature policy='require' name='smep'/>
abb18f
+      <feature policy='require' name='bmi2'/>
abb18f
       <feature policy='require' name='erms'/>
abb18f
       <feature policy='require' name='mpx'/>
abb18f
+      <feature policy='require' name='adx'/>
abb18f
+      <feature policy='require' name='smap'/>
abb18f
       <feature policy='require' name='pcommit'/>
abb18f
+      <feature policy='require' name='clflushopt'/>
abb18f
       <feature policy='require' name='clwb'/>
abb18f
       <feature policy='require' name='pku'/>
abb18f
       <feature policy='require' name='la57'/>
abb18f
+      <feature policy='require' name='xsaveopt'/>
abb18f
+      <feature policy='require' name='xgetbv1'/>
abb18f
+      <feature policy='require' name='mmxext'/>
abb18f
+      <feature policy='require' name='pdpe1gb'/>
abb18f
       <feature policy='require' name='3dnowext'/>
abb18f
       <feature policy='require' name='3dnow'/>
abb18f
+      <feature policy='require' name='cr8legacy'/>
abb18f
       <feature policy='require' name='npt'/>
abb18f
-      <feature policy='disable' name='vme'/>
abb18f
-      <feature policy='disable' name='fma'/>
abb18f
-      <feature policy='disable' name='avx'/>
abb18f
-      <feature policy='disable' name='f16c'/>
abb18f
-      <feature policy='disable' name='rdrand'/>
abb18f
-      <feature policy='disable' name='avx2'/>
abb18f
-      <feature policy='disable' name='rdseed'/>
abb18f
-      <feature policy='disable' name='sha-ni'/>
abb18f
-      <feature policy='disable' name='xsavec'/>
abb18f
-      <feature policy='disable' name='fxsr_opt'/>
abb18f
       <feature policy='disable' name='misalignsse'/>
abb18f
-      <feature policy='disable' name='3dnowprefetch'/>
abb18f
-      <feature policy='disable' name='osvw'/>
abb18f
-      <feature policy='disable' name='topoext'/>
abb18f
-      <feature policy='disable' name='nrip-save'/>
abb18f
     </mode>
abb18f
     <mode name='custom' supported='yes'>
abb18f
       <model usable='yes'>qemu64</model>
abb18f
diff --git a/tests/domaincapsdata/qemu_4.1.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_4.1.0-tcg.x86_64.xml
abb18f
index 80b1ce8ef9..b20c02cb68 100644
abb18f
--- a/tests/domaincapsdata/qemu_4.1.0-tcg.x86_64.xml
abb18f
+++ b/tests/domaincapsdata/qemu_4.1.0-tcg.x86_64.xml
abb18f
@@ -36,36 +36,43 @@
abb18f
       </enum>
abb18f
     </mode>
abb18f
     <mode name='host-model' supported='yes'>
abb18f
-      <model fallback='forbid'>EPYC-IBPB</model>
abb18f
+      <model fallback='forbid'>Opteron_G3</model>
abb18f
       <vendor>AMD</vendor>
abb18f
       <feature policy='require' name='acpi'/>
abb18f
       <feature policy='require' name='ss'/>
abb18f
+      <feature policy='require' name='pclmuldq'/>
abb18f
       <feature policy='require' name='monitor'/>
abb18f
+      <feature policy='require' name='ssse3'/>
abb18f
+      <feature policy='require' name='sse4.1'/>
abb18f
+      <feature policy='require' name='sse4.2'/>
abb18f
+      <feature policy='require' name='movbe'/>
abb18f
+      <feature policy='require' name='aes'/>
abb18f
+      <feature policy='require' name='xsave'/>
abb18f
+      <feature policy='require' name='rdrand'/>
abb18f
       <feature policy='require' name='hypervisor'/>
abb18f
+      <feature policy='require' name='arat'/>
abb18f
+      <feature policy='require' name='fsgsbase'/>
abb18f
+      <feature policy='require' name='bmi1'/>
abb18f
+      <feature policy='require' name='smep'/>
abb18f
+      <feature policy='require' name='bmi2'/>
abb18f
       <feature policy='require' name='erms'/>
abb18f
       <feature policy='require' name='mpx'/>
abb18f
+      <feature policy='require' name='adx'/>
abb18f
+      <feature policy='require' name='smap'/>
abb18f
       <feature policy='require' name='pcommit'/>
abb18f
+      <feature policy='require' name='clflushopt'/>
abb18f
       <feature policy='require' name='clwb'/>
abb18f
       <feature policy='require' name='pku'/>
abb18f
       <feature policy='require' name='la57'/>
abb18f
+      <feature policy='require' name='xsaveopt'/>
abb18f
+      <feature policy='require' name='xgetbv1'/>
abb18f
+      <feature policy='require' name='mmxext'/>
abb18f
+      <feature policy='require' name='pdpe1gb'/>
abb18f
       <feature policy='require' name='3dnowext'/>
abb18f
       <feature policy='require' name='3dnow'/>
abb18f
+      <feature policy='require' name='cr8legacy'/>
abb18f
       <feature policy='require' name='npt'/>
abb18f
-      <feature policy='disable' name='vme'/>
abb18f
-      <feature policy='disable' name='fma'/>
abb18f
-      <feature policy='disable' name='avx'/>
abb18f
-      <feature policy='disable' name='f16c'/>
abb18f
-      <feature policy='disable' name='avx2'/>
abb18f
-      <feature policy='disable' name='rdseed'/>
abb18f
-      <feature policy='disable' name='sha-ni'/>
abb18f
-      <feature policy='disable' name='xsavec'/>
abb18f
-      <feature policy='disable' name='fxsr_opt'/>
abb18f
       <feature policy='disable' name='misalignsse'/>
abb18f
-      <feature policy='disable' name='3dnowprefetch'/>
abb18f
-      <feature policy='disable' name='osvw'/>
abb18f
-      <feature policy='disable' name='topoext'/>
abb18f
-      <feature policy='disable' name='ibpb'/>
abb18f
-      <feature policy='disable' name='nrip-save'/>
abb18f
     </mode>
abb18f
     <mode name='custom' supported='yes'>
abb18f
       <model usable='yes'>qemu64</model>
abb18f
diff --git a/tests/domaincapsdata/qemu_4.2.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_4.2.0-tcg.x86_64.xml
abb18f
index 91b3ed6f80..d0ee3f7b7a 100644
abb18f
--- a/tests/domaincapsdata/qemu_4.2.0-tcg.x86_64.xml
abb18f
+++ b/tests/domaincapsdata/qemu_4.2.0-tcg.x86_64.xml
abb18f
@@ -36,36 +36,43 @@
abb18f
       </enum>
abb18f
     </mode>
abb18f
     <mode name='host-model' supported='yes'>
abb18f
-      <model fallback='forbid'>EPYC-IBPB</model>
abb18f
+      <model fallback='forbid'>Opteron_G3</model>
abb18f
       <vendor>AMD</vendor>
abb18f
       <feature policy='require' name='acpi'/>
abb18f
       <feature policy='require' name='ss'/>
abb18f
+      <feature policy='require' name='pclmuldq'/>
abb18f
       <feature policy='require' name='monitor'/>
abb18f
+      <feature policy='require' name='ssse3'/>
abb18f
+      <feature policy='require' name='sse4.1'/>
abb18f
+      <feature policy='require' name='sse4.2'/>
abb18f
+      <feature policy='require' name='movbe'/>
abb18f
+      <feature policy='require' name='aes'/>
abb18f
+      <feature policy='require' name='xsave'/>
abb18f
+      <feature policy='require' name='rdrand'/>
abb18f
       <feature policy='require' name='hypervisor'/>
abb18f
+      <feature policy='require' name='arat'/>
abb18f
+      <feature policy='require' name='fsgsbase'/>
abb18f
+      <feature policy='require' name='bmi1'/>
abb18f
+      <feature policy='require' name='smep'/>
abb18f
+      <feature policy='require' name='bmi2'/>
abb18f
       <feature policy='require' name='erms'/>
abb18f
       <feature policy='require' name='mpx'/>
abb18f
+      <feature policy='require' name='adx'/>
abb18f
+      <feature policy='require' name='smap'/>
abb18f
       <feature policy='require' name='pcommit'/>
abb18f
+      <feature policy='require' name='clflushopt'/>
abb18f
       <feature policy='require' name='clwb'/>
abb18f
       <feature policy='require' name='pku'/>
abb18f
       <feature policy='require' name='la57'/>
abb18f
+      <feature policy='require' name='xsaveopt'/>
abb18f
+      <feature policy='require' name='xgetbv1'/>
abb18f
+      <feature policy='require' name='mmxext'/>
abb18f
+      <feature policy='require' name='pdpe1gb'/>
abb18f
       <feature policy='require' name='3dnowext'/>
abb18f
       <feature policy='require' name='3dnow'/>
abb18f
+      <feature policy='require' name='cr8legacy'/>
abb18f
       <feature policy='require' name='npt'/>
abb18f
-      <feature policy='disable' name='vme'/>
abb18f
-      <feature policy='disable' name='fma'/>
abb18f
-      <feature policy='disable' name='avx'/>
abb18f
-      <feature policy='disable' name='f16c'/>
abb18f
-      <feature policy='disable' name='avx2'/>
abb18f
-      <feature policy='disable' name='rdseed'/>
abb18f
-      <feature policy='disable' name='sha-ni'/>
abb18f
-      <feature policy='disable' name='xsavec'/>
abb18f
-      <feature policy='disable' name='fxsr_opt'/>
abb18f
       <feature policy='disable' name='misalignsse'/>
abb18f
-      <feature policy='disable' name='3dnowprefetch'/>
abb18f
-      <feature policy='disable' name='osvw'/>
abb18f
-      <feature policy='disable' name='topoext'/>
abb18f
-      <feature policy='disable' name='ibpb'/>
abb18f
-      <feature policy='disable' name='nrip-save'/>
abb18f
     </mode>
abb18f
     <mode name='custom' supported='yes'>
abb18f
       <model usable='yes'>qemu64</model>
abb18f
diff --git a/tests/domaincapsdata/qemu_5.0.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_5.0.0-tcg.x86_64.xml
abb18f
index b8737613e9..d277c96426 100644
abb18f
--- a/tests/domaincapsdata/qemu_5.0.0-tcg.x86_64.xml
abb18f
+++ b/tests/domaincapsdata/qemu_5.0.0-tcg.x86_64.xml
abb18f
@@ -36,35 +36,43 @@
abb18f
       </enum>
abb18f
     </mode>
abb18f
     <mode name='host-model' supported='yes'>
abb18f
-      <model fallback='forbid'>EPYC</model>
abb18f
+      <model fallback='forbid'>Opteron_G3</model>
abb18f
       <vendor>AMD</vendor>
abb18f
       <feature policy='require' name='acpi'/>
abb18f
       <feature policy='require' name='ss'/>
abb18f
+      <feature policy='require' name='pclmuldq'/>
abb18f
       <feature policy='require' name='monitor'/>
abb18f
+      <feature policy='require' name='ssse3'/>
abb18f
+      <feature policy='require' name='sse4.1'/>
abb18f
+      <feature policy='require' name='sse4.2'/>
abb18f
+      <feature policy='require' name='movbe'/>
abb18f
+      <feature policy='require' name='aes'/>
abb18f
+      <feature policy='require' name='xsave'/>
abb18f
+      <feature policy='require' name='rdrand'/>
abb18f
       <feature policy='require' name='hypervisor'/>
abb18f
+      <feature policy='require' name='arat'/>
abb18f
+      <feature policy='require' name='fsgsbase'/>
abb18f
+      <feature policy='require' name='bmi1'/>
abb18f
+      <feature policy='require' name='smep'/>
abb18f
+      <feature policy='require' name='bmi2'/>
abb18f
       <feature policy='require' name='erms'/>
abb18f
       <feature policy='require' name='mpx'/>
abb18f
+      <feature policy='require' name='adx'/>
abb18f
+      <feature policy='require' name='smap'/>
abb18f
       <feature policy='require' name='pcommit'/>
abb18f
+      <feature policy='require' name='clflushopt'/>
abb18f
       <feature policy='require' name='clwb'/>
abb18f
       <feature policy='require' name='pku'/>
abb18f
       <feature policy='require' name='la57'/>
abb18f
+      <feature policy='require' name='xsaveopt'/>
abb18f
+      <feature policy='require' name='xgetbv1'/>
abb18f
+      <feature policy='require' name='mmxext'/>
abb18f
+      <feature policy='require' name='pdpe1gb'/>
abb18f
       <feature policy='require' name='3dnowext'/>
abb18f
       <feature policy='require' name='3dnow'/>
abb18f
+      <feature policy='require' name='cr8legacy'/>
abb18f
       <feature policy='require' name='npt'/>
abb18f
-      <feature policy='disable' name='vme'/>
abb18f
-      <feature policy='disable' name='fma'/>
abb18f
-      <feature policy='disable' name='avx'/>
abb18f
-      <feature policy='disable' name='f16c'/>
abb18f
-      <feature policy='disable' name='avx2'/>
abb18f
-      <feature policy='disable' name='rdseed'/>
abb18f
-      <feature policy='disable' name='sha-ni'/>
abb18f
-      <feature policy='disable' name='xsavec'/>
abb18f
-      <feature policy='disable' name='fxsr_opt'/>
abb18f
       <feature policy='disable' name='misalignsse'/>
abb18f
-      <feature policy='disable' name='3dnowprefetch'/>
abb18f
-      <feature policy='disable' name='osvw'/>
abb18f
-      <feature policy='disable' name='topoext'/>
abb18f
-      <feature policy='disable' name='nrip-save'/>
abb18f
     </mode>
abb18f
     <mode name='custom' supported='yes'>
abb18f
       <model usable='yes'>qemu64</model>
abb18f
diff --git a/tests/domaincapsdata/qemu_5.1.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_5.1.0-tcg.x86_64.xml
abb18f
index 034036ca96..4f1ffbb2ba 100644
abb18f
--- a/tests/domaincapsdata/qemu_5.1.0-tcg.x86_64.xml
abb18f
+++ b/tests/domaincapsdata/qemu_5.1.0-tcg.x86_64.xml
abb18f
@@ -36,35 +36,43 @@
abb18f
       </enum>
abb18f
     </mode>
abb18f
     <mode name='host-model' supported='yes'>
abb18f
-      <model fallback='forbid'>EPYC</model>
abb18f
+      <model fallback='forbid'>Opteron_G3</model>
abb18f
       <vendor>AMD</vendor>
abb18f
       <feature policy='require' name='acpi'/>
abb18f
       <feature policy='require' name='ss'/>
abb18f
+      <feature policy='require' name='pclmuldq'/>
abb18f
       <feature policy='require' name='monitor'/>
abb18f
+      <feature policy='require' name='ssse3'/>
abb18f
+      <feature policy='require' name='sse4.1'/>
abb18f
+      <feature policy='require' name='sse4.2'/>
abb18f
+      <feature policy='require' name='movbe'/>
abb18f
+      <feature policy='require' name='aes'/>
abb18f
+      <feature policy='require' name='xsave'/>
abb18f
+      <feature policy='require' name='rdrand'/>
abb18f
       <feature policy='require' name='hypervisor'/>
abb18f
+      <feature policy='require' name='arat'/>
abb18f
+      <feature policy='require' name='fsgsbase'/>
abb18f
+      <feature policy='require' name='bmi1'/>
abb18f
+      <feature policy='require' name='smep'/>
abb18f
+      <feature policy='require' name='bmi2'/>
abb18f
       <feature policy='require' name='erms'/>
abb18f
       <feature policy='require' name='mpx'/>
abb18f
+      <feature policy='require' name='adx'/>
abb18f
+      <feature policy='require' name='smap'/>
abb18f
       <feature policy='require' name='pcommit'/>
abb18f
+      <feature policy='require' name='clflushopt'/>
abb18f
       <feature policy='require' name='clwb'/>
abb18f
       <feature policy='require' name='pku'/>
abb18f
       <feature policy='require' name='la57'/>
abb18f
+      <feature policy='require' name='xsaveopt'/>
abb18f
+      <feature policy='require' name='xgetbv1'/>
abb18f
+      <feature policy='require' name='mmxext'/>
abb18f
+      <feature policy='require' name='pdpe1gb'/>
abb18f
       <feature policy='require' name='3dnowext'/>
abb18f
       <feature policy='require' name='3dnow'/>
abb18f
+      <feature policy='require' name='cr8legacy'/>
abb18f
       <feature policy='require' name='npt'/>
abb18f
-      <feature policy='disable' name='vme'/>
abb18f
-      <feature policy='disable' name='fma'/>
abb18f
-      <feature policy='disable' name='avx'/>
abb18f
-      <feature policy='disable' name='f16c'/>
abb18f
-      <feature policy='disable' name='avx2'/>
abb18f
-      <feature policy='disable' name='rdseed'/>
abb18f
-      <feature policy='disable' name='sha-ni'/>
abb18f
-      <feature policy='disable' name='xsavec'/>
abb18f
-      <feature policy='disable' name='fxsr_opt'/>
abb18f
       <feature policy='disable' name='misalignsse'/>
abb18f
-      <feature policy='disable' name='3dnowprefetch'/>
abb18f
-      <feature policy='disable' name='osvw'/>
abb18f
-      <feature policy='disable' name='topoext'/>
abb18f
-      <feature policy='disable' name='nrip-save'/>
abb18f
     </mode>
abb18f
     <mode name='custom' supported='yes'>
abb18f
       <model usable='yes'>qemu64</model>
abb18f
diff --git a/tests/domaincapsdata/qemu_5.2.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_5.2.0-tcg.x86_64.xml
abb18f
index d3a4b01234..6cff0f815e 100644
abb18f
--- a/tests/domaincapsdata/qemu_5.2.0-tcg.x86_64.xml
abb18f
+++ b/tests/domaincapsdata/qemu_5.2.0-tcg.x86_64.xml
abb18f
@@ -36,35 +36,43 @@
abb18f
       </enum>
abb18f
     </mode>
abb18f
     <mode name='host-model' supported='yes'>
abb18f
-      <model fallback='forbid'>EPYC</model>
abb18f
+      <model fallback='forbid'>Opteron_G3</model>
abb18f
       <vendor>AMD</vendor>
abb18f
       <feature policy='require' name='acpi'/>
abb18f
       <feature policy='require' name='ss'/>
abb18f
+      <feature policy='require' name='pclmuldq'/>
abb18f
       <feature policy='require' name='monitor'/>
abb18f
+      <feature policy='require' name='ssse3'/>
abb18f
+      <feature policy='require' name='sse4.1'/>
abb18f
+      <feature policy='require' name='sse4.2'/>
abb18f
+      <feature policy='require' name='movbe'/>
abb18f
+      <feature policy='require' name='aes'/>
abb18f
+      <feature policy='require' name='xsave'/>
abb18f
+      <feature policy='require' name='rdrand'/>
abb18f
       <feature policy='require' name='hypervisor'/>
abb18f
+      <feature policy='require' name='arat'/>
abb18f
+      <feature policy='require' name='fsgsbase'/>
abb18f
+      <feature policy='require' name='bmi1'/>
abb18f
+      <feature policy='require' name='smep'/>
abb18f
+      <feature policy='require' name='bmi2'/>
abb18f
       <feature policy='require' name='erms'/>
abb18f
       <feature policy='require' name='mpx'/>
abb18f
+      <feature policy='require' name='adx'/>
abb18f
+      <feature policy='require' name='smap'/>
abb18f
       <feature policy='require' name='pcommit'/>
abb18f
+      <feature policy='require' name='clflushopt'/>
abb18f
       <feature policy='require' name='clwb'/>
abb18f
       <feature policy='require' name='pku'/>
abb18f
       <feature policy='require' name='la57'/>
abb18f
+      <feature policy='require' name='xsaveopt'/>
abb18f
+      <feature policy='require' name='xgetbv1'/>
abb18f
+      <feature policy='require' name='mmxext'/>
abb18f
+      <feature policy='require' name='pdpe1gb'/>
abb18f
       <feature policy='require' name='3dnowext'/>
abb18f
       <feature policy='require' name='3dnow'/>
abb18f
+      <feature policy='require' name='cr8legacy'/>
abb18f
       <feature policy='require' name='npt'/>
abb18f
-      <feature policy='disable' name='vme'/>
abb18f
-      <feature policy='disable' name='fma'/>
abb18f
-      <feature policy='disable' name='avx'/>
abb18f
-      <feature policy='disable' name='f16c'/>
abb18f
-      <feature policy='disable' name='avx2'/>
abb18f
-      <feature policy='disable' name='rdseed'/>
abb18f
-      <feature policy='disable' name='sha-ni'/>
abb18f
-      <feature policy='disable' name='xsavec'/>
abb18f
-      <feature policy='disable' name='fxsr_opt'/>
abb18f
       <feature policy='disable' name='misalignsse'/>
abb18f
-      <feature policy='disable' name='3dnowprefetch'/>
abb18f
-      <feature policy='disable' name='osvw'/>
abb18f
-      <feature policy='disable' name='topoext'/>
abb18f
-      <feature policy='disable' name='nrip-save'/>
abb18f
     </mode>
abb18f
     <mode name='custom' supported='yes'>
abb18f
       <model usable='yes'>qemu64</model>
abb18f
diff --git a/tests/domaincapsdata/qemu_6.0.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_6.0.0-tcg.x86_64.xml
abb18f
index 6b85c9c45a..65f4459bcb 100644
abb18f
--- a/tests/domaincapsdata/qemu_6.0.0-tcg.x86_64.xml
abb18f
+++ b/tests/domaincapsdata/qemu_6.0.0-tcg.x86_64.xml
abb18f
@@ -36,35 +36,43 @@
abb18f
       </enum>
abb18f
     </mode>
abb18f
     <mode name='host-model' supported='yes'>
abb18f
-      <model fallback='forbid'>EPYC</model>
abb18f
+      <model fallback='forbid'>Opteron_G3</model>
abb18f
       <vendor>AMD</vendor>
abb18f
       <feature policy='require' name='acpi'/>
abb18f
       <feature policy='require' name='ss'/>
abb18f
+      <feature policy='require' name='pclmuldq'/>
abb18f
       <feature policy='require' name='monitor'/>
abb18f
+      <feature policy='require' name='ssse3'/>
abb18f
+      <feature policy='require' name='sse4.1'/>
abb18f
+      <feature policy='require' name='sse4.2'/>
abb18f
+      <feature policy='require' name='movbe'/>
abb18f
+      <feature policy='require' name='aes'/>
abb18f
+      <feature policy='require' name='xsave'/>
abb18f
+      <feature policy='require' name='rdrand'/>
abb18f
       <feature policy='require' name='hypervisor'/>
abb18f
+      <feature policy='require' name='arat'/>
abb18f
+      <feature policy='require' name='fsgsbase'/>
abb18f
+      <feature policy='require' name='bmi1'/>
abb18f
+      <feature policy='require' name='smep'/>
abb18f
+      <feature policy='require' name='bmi2'/>
abb18f
       <feature policy='require' name='erms'/>
abb18f
       <feature policy='require' name='mpx'/>
abb18f
+      <feature policy='require' name='adx'/>
abb18f
+      <feature policy='require' name='smap'/>
abb18f
       <feature policy='require' name='pcommit'/>
abb18f
+      <feature policy='require' name='clflushopt'/>
abb18f
       <feature policy='require' name='clwb'/>
abb18f
       <feature policy='require' name='pku'/>
abb18f
       <feature policy='require' name='la57'/>
abb18f
+      <feature policy='require' name='xsaveopt'/>
abb18f
+      <feature policy='require' name='xgetbv1'/>
abb18f
+      <feature policy='require' name='mmxext'/>
abb18f
+      <feature policy='require' name='pdpe1gb'/>
abb18f
       <feature policy='require' name='3dnowext'/>
abb18f
       <feature policy='require' name='3dnow'/>
abb18f
+      <feature policy='require' name='cr8legacy'/>
abb18f
       <feature policy='require' name='npt'/>
abb18f
-      <feature policy='disable' name='vme'/>
abb18f
-      <feature policy='disable' name='fma'/>
abb18f
-      <feature policy='disable' name='avx'/>
abb18f
-      <feature policy='disable' name='f16c'/>
abb18f
-      <feature policy='disable' name='avx2'/>
abb18f
-      <feature policy='disable' name='rdseed'/>
abb18f
-      <feature policy='disable' name='sha-ni'/>
abb18f
-      <feature policy='disable' name='xsavec'/>
abb18f
-      <feature policy='disable' name='fxsr_opt'/>
abb18f
       <feature policy='disable' name='misalignsse'/>
abb18f
-      <feature policy='disable' name='3dnowprefetch'/>
abb18f
-      <feature policy='disable' name='osvw'/>
abb18f
-      <feature policy='disable' name='topoext'/>
abb18f
-      <feature policy='disable' name='nrip-save'/>
abb18f
     </mode>
abb18f
     <mode name='custom' supported='yes'>
abb18f
       <model usable='yes'>qemu64</model>
abb18f
diff --git a/tests/domaincapsdata/qemu_6.1.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_6.1.0-tcg.x86_64.xml
abb18f
index 2c761fc1af..40bc875e3c 100644
abb18f
--- a/tests/domaincapsdata/qemu_6.1.0-tcg.x86_64.xml
abb18f
+++ b/tests/domaincapsdata/qemu_6.1.0-tcg.x86_64.xml
abb18f
@@ -36,35 +36,43 @@
abb18f
       </enum>
abb18f
     </mode>
abb18f
     <mode name='host-model' supported='yes'>
abb18f
-      <model fallback='forbid'>EPYC</model>
abb18f
+      <model fallback='forbid'>Opteron_G3</model>
abb18f
       <vendor>AMD</vendor>
abb18f
       <feature policy='require' name='acpi'/>
abb18f
       <feature policy='require' name='ss'/>
abb18f
+      <feature policy='require' name='pclmuldq'/>
abb18f
       <feature policy='require' name='monitor'/>
abb18f
+      <feature policy='require' name='ssse3'/>
abb18f
+      <feature policy='require' name='sse4.1'/>
abb18f
+      <feature policy='require' name='sse4.2'/>
abb18f
+      <feature policy='require' name='movbe'/>
abb18f
+      <feature policy='require' name='aes'/>
abb18f
+      <feature policy='require' name='xsave'/>
abb18f
+      <feature policy='require' name='rdrand'/>
abb18f
       <feature policy='require' name='hypervisor'/>
abb18f
+      <feature policy='require' name='arat'/>
abb18f
+      <feature policy='require' name='fsgsbase'/>
abb18f
+      <feature policy='require' name='bmi1'/>
abb18f
+      <feature policy='require' name='smep'/>
abb18f
+      <feature policy='require' name='bmi2'/>
abb18f
       <feature policy='require' name='erms'/>
abb18f
       <feature policy='require' name='mpx'/>
abb18f
+      <feature policy='require' name='adx'/>
abb18f
+      <feature policy='require' name='smap'/>
abb18f
       <feature policy='require' name='pcommit'/>
abb18f
+      <feature policy='require' name='clflushopt'/>
abb18f
       <feature policy='require' name='clwb'/>
abb18f
       <feature policy='require' name='pku'/>
abb18f
       <feature policy='require' name='la57'/>
abb18f
+      <feature policy='require' name='xsaveopt'/>
abb18f
+      <feature policy='require' name='xgetbv1'/>
abb18f
+      <feature policy='require' name='mmxext'/>
abb18f
+      <feature policy='require' name='pdpe1gb'/>
abb18f
       <feature policy='require' name='3dnowext'/>
abb18f
       <feature policy='require' name='3dnow'/>
abb18f
+      <feature policy='require' name='cr8legacy'/>
abb18f
       <feature policy='require' name='npt'/>
abb18f
-      <feature policy='disable' name='vme'/>
abb18f
-      <feature policy='disable' name='fma'/>
abb18f
-      <feature policy='disable' name='avx'/>
abb18f
-      <feature policy='disable' name='f16c'/>
abb18f
-      <feature policy='disable' name='avx2'/>
abb18f
-      <feature policy='disable' name='rdseed'/>
abb18f
-      <feature policy='disable' name='sha-ni'/>
abb18f
-      <feature policy='disable' name='xsavec'/>
abb18f
-      <feature policy='disable' name='fxsr_opt'/>
abb18f
       <feature policy='disable' name='misalignsse'/>
abb18f
-      <feature policy='disable' name='3dnowprefetch'/>
abb18f
-      <feature policy='disable' name='osvw'/>
abb18f
-      <feature policy='disable' name='topoext'/>
abb18f
-      <feature policy='disable' name='nrip-save'/>
abb18f
     </mode>
abb18f
     <mode name='custom' supported='yes'>
abb18f
       <model usable='yes'>qemu64</model>
abb18f
diff --git a/tests/domaincapsdata/qemu_6.2.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_6.2.0-tcg.x86_64.xml
abb18f
index 8db840faac..a439dda190 100644
abb18f
--- a/tests/domaincapsdata/qemu_6.2.0-tcg.x86_64.xml
abb18f
+++ b/tests/domaincapsdata/qemu_6.2.0-tcg.x86_64.xml
abb18f
@@ -36,36 +36,44 @@
abb18f
       </enum>
abb18f
     </mode>
abb18f
     <mode name='host-model' supported='yes'>
abb18f
-      <model fallback='forbid'>EPYC</model>
abb18f
+      <model fallback='forbid'>Opteron_G3</model>
abb18f
       <vendor>AMD</vendor>
abb18f
       <feature policy='require' name='acpi'/>
abb18f
       <feature policy='require' name='ss'/>
abb18f
+      <feature policy='require' name='pclmuldq'/>
abb18f
       <feature policy='require' name='monitor'/>
abb18f
+      <feature policy='require' name='ssse3'/>
abb18f
+      <feature policy='require' name='sse4.1'/>
abb18f
+      <feature policy='require' name='sse4.2'/>
abb18f
+      <feature policy='require' name='movbe'/>
abb18f
+      <feature policy='require' name='aes'/>
abb18f
+      <feature policy='require' name='xsave'/>
abb18f
+      <feature policy='require' name='rdrand'/>
abb18f
       <feature policy='require' name='hypervisor'/>
abb18f
+      <feature policy='require' name='arat'/>
abb18f
+      <feature policy='require' name='fsgsbase'/>
abb18f
+      <feature policy='require' name='bmi1'/>
abb18f
+      <feature policy='require' name='smep'/>
abb18f
+      <feature policy='require' name='bmi2'/>
abb18f
       <feature policy='require' name='erms'/>
abb18f
       <feature policy='require' name='mpx'/>
abb18f
+      <feature policy='require' name='adx'/>
abb18f
+      <feature policy='require' name='smap'/>
abb18f
       <feature policy='require' name='pcommit'/>
abb18f
+      <feature policy='require' name='clflushopt'/>
abb18f
       <feature policy='require' name='clwb'/>
abb18f
       <feature policy='require' name='pku'/>
abb18f
       <feature policy='require' name='la57'/>
abb18f
+      <feature policy='require' name='xsaveopt'/>
abb18f
+      <feature policy='require' name='xgetbv1'/>
abb18f
+      <feature policy='require' name='mmxext'/>
abb18f
+      <feature policy='require' name='pdpe1gb'/>
abb18f
       <feature policy='require' name='3dnowext'/>
abb18f
       <feature policy='require' name='3dnow'/>
abb18f
+      <feature policy='require' name='cr8legacy'/>
abb18f
       <feature policy='require' name='npt'/>
abb18f
       <feature policy='require' name='svme-addr-chk'/>
abb18f
-      <feature policy='disable' name='vme'/>
abb18f
-      <feature policy='disable' name='fma'/>
abb18f
-      <feature policy='disable' name='avx'/>
abb18f
-      <feature policy='disable' name='f16c'/>
abb18f
-      <feature policy='disable' name='avx2'/>
abb18f
-      <feature policy='disable' name='rdseed'/>
abb18f
-      <feature policy='disable' name='sha-ni'/>
abb18f
-      <feature policy='disable' name='xsavec'/>
abb18f
-      <feature policy='disable' name='fxsr_opt'/>
abb18f
       <feature policy='disable' name='misalignsse'/>
abb18f
-      <feature policy='disable' name='3dnowprefetch'/>
abb18f
-      <feature policy='disable' name='osvw'/>
abb18f
-      <feature policy='disable' name='topoext'/>
abb18f
-      <feature policy='disable' name='nrip-save'/>
abb18f
     </mode>
abb18f
     <mode name='custom' supported='yes'>
abb18f
       <model usable='yes'>qemu64</model>
abb18f
diff --git a/tests/qemuxml2argvdata/cpu-fallback.args b/tests/qemuxml2argvdata/cpu-fallback.args
abb18f
index 1b1769d420..53667dfa3a 100644
abb18f
--- a/tests/qemuxml2argvdata/cpu-fallback.args
abb18f
+++ b/tests/qemuxml2argvdata/cpu-fallback.args
abb18f
@@ -13,7 +13,7 @@ QEMU_AUDIO_DRV=none \
abb18f
 -object secret,id=masterKey0,format=raw,file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
abb18f
 -machine pc,usb=off,dump-guest-core=off \
abb18f
 -accel kvm \
abb18f
--cpu Penryn,sse4.1=off,sse4.2=off,popcnt=off,aes=off \
abb18f
+-cpu Conroe,cx16=on,sse4.1=off,sse4.2=off,popcnt=off,aes=off \
abb18f
 -m 214 \
abb18f
 -realtime mlock=off \
abb18f
 -smp 6,sockets=6,cores=1,threads=1 \
abb18f
diff --git a/tests/qemuxml2argvdata/cpu-host-model-cmt.x86_64-4.0.0.args b/tests/qemuxml2argvdata/cpu-host-model-cmt.x86_64-4.0.0.args
abb18f
index 3ff226a289..0de09e1d88 100644
abb18f
--- a/tests/qemuxml2argvdata/cpu-host-model-cmt.x86_64-4.0.0.args
abb18f
+++ b/tests/qemuxml2argvdata/cpu-host-model-cmt.x86_64-4.0.0.args
abb18f
@@ -13,7 +13,7 @@ QEMU_AUDIO_DRV=none \
abb18f
 -object secret,id=masterKey0,format=raw,file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
abb18f
 -machine pc-i440fx-4.0,usb=off,dump-guest-core=off \
abb18f
 -accel tcg \
abb18f
--cpu EPYC,acpi=on,ss=on,monitor=on,hypervisor=on,erms=on,mpx=on,pcommit=on,clwb=on,pku=on,la57=on,3dnowext=on,3dnow=on,npt=on,vme=off,fma=off,avx=off,f16c=off,rdrand=off,avx2=off,rdseed=off,sha-ni=off,xsavec=off,fxsr-opt=off,misalignsse=off,3dnowprefetch=off,osvw=off,topoext=off,nrip-save=off \
abb18f
+-cpu Opteron_G3,acpi=on,ss=on,pclmulqdq=on,monitor=on,ssse3=on,sse4.1=on,sse4.2=on,movbe=on,aes=on,xsave=on,hypervisor=on,arat=on,fsgsbase=on,bmi1=on,smep=on,bmi2=on,erms=on,mpx=on,adx=on,smap=on,pcommit=on,clflushopt=on,clwb=on,pku=on,la57=on,xsaveopt=on,xgetbv1=on,mmxext=on,pdpe1gb=on,3dnowext=on,3dnow=on,cr8legacy=on,npt=on,misalignsse=off \
abb18f
 -m 214 \
abb18f
 -overcommit mem-lock=off \
abb18f
 -smp 6,sockets=6,cores=1,threads=1 \
abb18f
diff --git a/tests/qemuxml2argvdata/cpu-host-model-fallback.args b/tests/qemuxml2argvdata/cpu-host-model-fallback.args
abb18f
index e90b781da4..763e630120 100644
abb18f
--- a/tests/qemuxml2argvdata/cpu-host-model-fallback.args
abb18f
+++ b/tests/qemuxml2argvdata/cpu-host-model-fallback.args
abb18f
@@ -13,7 +13,7 @@ QEMU_AUDIO_DRV=none \
abb18f
 -object secret,id=masterKey0,format=raw,file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
abb18f
 -machine pc,usb=off,dump-guest-core=off \
abb18f
 -accel tcg \
abb18f
--cpu Penryn,vme=on,ds=on,acpi=on,ss=on,ht=on,tm=on,pbe=on,monitor=on,ds-cpl=on,vmx=on,est=on,tm2=on,xtpr=on,sse4.1=off,cx16=on,lahf-lm=on \
abb18f
+-cpu Conroe,vme=on,ds=on,acpi=on,ss=on,ht=on,tm=on,pbe=on,monitor=on,ds-cpl=on,vmx=on,est=on,tm2=on,cx16=on,xtpr=on,lahf-lm=on \
abb18f
 -m 214 \
abb18f
 -realtime mlock=off \
abb18f
 -smp 6,sockets=6,cores=1,threads=1 \
abb18f
-- 
abb18f
2.35.1
abb18f