[libvirt PATCH 19/19] NOMERGE: RFC: regenerate all cpu definitions

Jonathon Jongsma posted 19 patches 2 years, 1 month ago
There is a newer version of this series
[libvirt PATCH 19/19] NOMERGE: RFC: regenerate all cpu definitions
Posted by Jonathon Jongsma 2 years, 1 month ago
This is just for discussion. I used the
src/cpu_map/sync_qemu_models_i386.py script and regenerated the CPU
model definitions from the current qemu master source code. I then
regenerated all test output to see what the result would be. I am not
suggesting that this is a viable approach, but... Are there some updates
that should happen here?
---
 src/cpu_map/x86_Broadwell-IBRS.xml            | 18 ++++++++++++++----
 src/cpu_map/x86_Broadwell-noTSX-IBRS.xml      | 18 ++++++++++++++----
 src/cpu_map/x86_Broadwell-noTSX.xml           | 18 ++++++++++++++----
 src/cpu_map/x86_Broadwell.xml                 | 17 +++++++++++++----
 src/cpu_map/x86_Cascadelake-Server-noTSX.xml  | 18 +++++++++++++++---
 src/cpu_map/x86_Cascadelake-Server.xml        | 10 ++++++++--
 src/cpu_map/x86_Cooperlake.xml                |  8 +++++++-
 src/cpu_map/x86_Dhyana.xml                    | 12 ++++++++++--
 src/cpu_map/x86_EPYC-Genoa.xml                |  7 +++++++
 src/cpu_map/x86_EPYC-IBPB.xml                 | 11 +++++++++--
 src/cpu_map/x86_EPYC-Milan.xml                |  7 +++++++
 src/cpu_map/x86_EPYC-Rome.xml                 |  7 +++++++
 src/cpu_map/x86_EPYC.xml                      | 10 ++++++++--
 src/cpu_map/x86_Haswell-IBRS.xml              | 19 +++++++++++++++----
 src/cpu_map/x86_Haswell-noTSX-IBRS.xml        | 19 +++++++++++++++----
 src/cpu_map/x86_Haswell-noTSX.xml             | 19 +++++++++++++++----
 src/cpu_map/x86_Haswell.xml                   | 17 +++++++++++++----
 src/cpu_map/x86_Icelake-Server-noTSX.xml      | 13 +++++++++----
 src/cpu_map/x86_Icelake-Server.xml            | 10 +++++++---
 src/cpu_map/x86_IvyBridge-IBRS.xml            | 12 ++++++++++--
 src/cpu_map/x86_IvyBridge.xml                 | 11 +++++++++--
 src/cpu_map/x86_Nehalem-IBRS.xml              | 13 +++++++++----
 src/cpu_map/x86_Nehalem.xml                   | 12 ++++++++----
 src/cpu_map/x86_SandyBridge-IBRS.xml          | 13 +++++++++++--
 src/cpu_map/x86_SandyBridge.xml               | 12 ++++++++++--
 src/cpu_map/x86_SapphireRapids.xml            |  6 ++++++
 src/cpu_map/x86_Skylake-Client-IBRS.xml       | 15 ++++++++-------
 src/cpu_map/x86_Skylake-Client-noTSX-IBRS.xml | 17 +++++++++--------
 src/cpu_map/x86_Skylake-Client.xml            | 14 +++++++-------
 src/cpu_map/x86_Skylake-Server-IBRS.xml       | 11 +++++++++--
 src/cpu_map/x86_Skylake-Server-noTSX-IBRS.xml | 13 ++++++++++---
 src/cpu_map/x86_Skylake-Server.xml            | 11 +++++++++--
 src/cpu_map/x86_Snowridge.xml                 |  9 ++++++++-
 src/cpu_map/x86_Westmere-IBRS.xml             | 12 +++++++++++-
 src/cpu_map/x86_Westmere.xml                  | 13 ++++++++++---
 ...4-baseline-Westmere+Nehalem-migratable.xml |  4 ++--
 ...86_64-baseline-Westmere+Nehalem-result.xml |  4 ++--
 .../x86_64-baseline-features-expanded.xml     |  1 +
 .../x86_64-baseline-features-result.xml       |  2 --
 .../x86_64-baseline-simple-expanded.xml       |  3 +++
 .../x86_64-cpuid-Atom-P5362-host.xml          |  3 ---
 .../x86_64-cpuid-Core-i5-2500-guest.xml       |  3 ---
 .../x86_64-cpuid-Core-i5-2500-host.xml        |  3 ---
 .../x86_64-cpuid-Core-i5-2500-json.xml        |  3 ---
 .../x86_64-cpuid-Core-i5-2540M-guest.xml      |  3 ---
 .../x86_64-cpuid-Core-i5-2540M-host.xml       |  3 ---
 .../x86_64-cpuid-Core-i5-2540M-json.xml       |  3 ---
 .../x86_64-cpuid-Core-i5-4670T-guest.xml      |  6 +-----
 .../x86_64-cpuid-Core-i5-4670T-host.xml       | 19 ++++++++++++++++---
 .../x86_64-cpuid-Core-i5-4670T-json.xml       |  6 +-----
 .../x86_64-cpuid-Core-i5-650-guest.xml        |  3 ---
 .../x86_64-cpuid-Core-i5-650-host.xml         |  3 ---
 .../x86_64-cpuid-Core-i5-650-json.xml         |  3 ---
 .../x86_64-cpuid-Core-i5-6600-guest.xml       |  1 +
 .../x86_64-cpuid-Core-i5-6600-host.xml        |  1 +
 .../x86_64-cpuid-Core-i5-6600-json.xml        |  1 +
 .../x86_64-cpuid-Core-i7-2600-guest.xml       |  3 ---
 .../x86_64-cpuid-Core-i7-2600-host.xml        |  3 ---
 .../x86_64-cpuid-Core-i7-2600-json.xml        |  3 ---
 ...6_64-cpuid-Core-i7-2600-xsaveopt-guest.xml |  2 --
 ...86_64-cpuid-Core-i7-2600-xsaveopt-host.xml |  9 ++++++---
 ...86_64-cpuid-Core-i7-2600-xsaveopt-json.xml |  2 --
 .../x86_64-cpuid-Core-i7-3520M-guest.xml      |  2 --
 .../x86_64-cpuid-Core-i7-3520M-host.xml       |  2 --
 .../x86_64-cpuid-Core-i7-3740QM-guest.xml     |  2 +-
 .../x86_64-cpuid-Core-i7-3740QM-host.xml      | 13 +++++++++++--
 .../x86_64-cpuid-Core-i7-3740QM-json.xml      |  2 +-
 .../x86_64-cpuid-Core-i7-3770-guest.xml       |  2 --
 .../x86_64-cpuid-Core-i7-3770-host.xml        |  2 --
 .../x86_64-cpuid-Core-i7-3770-json.xml        |  2 +-
 .../x86_64-cpuid-Core-i7-4510U-guest.xml      |  6 ------
 .../x86_64-cpuid-Core-i7-4510U-host.xml       |  3 ---
 .../x86_64-cpuid-Core-i7-4510U-json.xml       |  6 ------
 .../x86_64-cpuid-Core-i7-4600U-guest.xml      |  6 ------
 .../x86_64-cpuid-Core-i7-4600U-host.xml       |  6 ------
 .../x86_64-cpuid-Core-i7-4600U-json.xml       |  6 ------
 .../x86_64-cpuid-Core-i7-5600U-arat-guest.xml |  6 ------
 .../x86_64-cpuid-Core-i7-5600U-arat-host.xml  |  6 ------
 .../x86_64-cpuid-Core-i7-5600U-arat-json.xml  |  6 +-----
 .../x86_64-cpuid-Core-i7-5600U-guest.xml      |  6 ------
 .../x86_64-cpuid-Core-i7-5600U-host.xml       |  6 ------
 .../x86_64-cpuid-Core-i7-5600U-ibrs-guest.xml |  6 ------
 .../x86_64-cpuid-Core-i7-5600U-ibrs-host.xml  |  6 ------
 .../x86_64-cpuid-Core-i7-5600U-ibrs-json.xml  |  6 ------
 .../x86_64-cpuid-Core-i7-5600U-json.xml       |  6 ------
 .../x86_64-cpuid-Core-i7-7600U-guest.xml      |  1 +
 .../x86_64-cpuid-Core-i7-7600U-host.xml       |  1 +
 .../x86_64-cpuid-Core-i7-7600U-json.xml       |  1 +
 .../x86_64-cpuid-Core-i7-7700-guest.xml       |  1 +
 .../x86_64-cpuid-Core-i7-7700-host.xml        |  1 +
 .../x86_64-cpuid-Core-i7-7700-json.xml        |  1 +
 .../x86_64-cpuid-Core-i7-8550U-guest.xml      |  5 ++---
 .../x86_64-cpuid-Core-i7-8550U-host.xml       |  4 ++--
 .../x86_64-cpuid-Core-i7-8550U-json.xml       |  5 ++---
 .../x86_64-cpuid-Core-i7-8700-guest.xml       |  1 +
 .../x86_64-cpuid-Core-i7-8700-host.xml        |  1 +
 .../x86_64-cpuid-Core-i7-8700-json.xml        |  1 +
 ...6_64-cpuid-EPYC-7601-32-Core-ibpb-json.xml |  1 -
 .../x86_64-cpuid-EPYC-7601-32-Core-json.xml   |  1 -
 ...6_64-cpuid-Hygon-C86-7185-32-core-json.xml |  3 +--
 .../x86_64-cpuid-Ice-Lake-Server-guest.xml    |  1 +
 .../x86_64-cpuid-Ice-Lake-Server-host.xml     |  1 +
 .../x86_64-cpuid-Ice-Lake-Server-json.xml     |  2 +-
 .../x86_64-cpuid-Pentium-P6100-guest.xml      | 10 ++++------
 ...64-cpuid-Ryzen-7-1800X-Eight-Core-json.xml |  1 -
 .../x86_64-cpuid-Xeon-E3-1225-v5-guest.xml    |  1 +
 .../x86_64-cpuid-Xeon-E3-1225-v5-host.xml     |  1 +
 .../x86_64-cpuid-Xeon-E3-1225-v5-json.xml     |  1 +
 .../x86_64-cpuid-Xeon-E3-1245-v5-guest.xml    |  1 +
 .../x86_64-cpuid-Xeon-E3-1245-v5-host.xml     |  1 +
 .../x86_64-cpuid-Xeon-E3-1245-v5-json.xml     |  1 +
 .../x86_64-cpuid-Xeon-E5-2609-v3-guest.xml    |  6 ------
 .../x86_64-cpuid-Xeon-E5-2609-v3-host.xml     |  6 ------
 .../x86_64-cpuid-Xeon-E5-2609-v3-json.xml     |  6 ------
 .../x86_64-cpuid-Xeon-E5-2623-v4-guest.xml    |  6 ------
 .../x86_64-cpuid-Xeon-E5-2623-v4-host.xml     |  6 ------
 .../x86_64-cpuid-Xeon-E5-2623-v4-json.xml     |  6 ------
 .../x86_64-cpuid-Xeon-E5-2630-v3-guest.xml    |  6 ------
 .../x86_64-cpuid-Xeon-E5-2630-v3-host.xml     |  6 ------
 .../x86_64-cpuid-Xeon-E5-2630-v3-json.xml     |  6 +-----
 .../x86_64-cpuid-Xeon-E5-2630-v4-guest.xml    |  6 ------
 .../x86_64-cpuid-Xeon-E5-2630-v4-host.xml     |  6 ------
 .../x86_64-cpuid-Xeon-E5-2630-v4-json.xml     |  6 ------
 .../x86_64-cpuid-Xeon-E5-2650-guest.xml       |  3 ---
 .../x86_64-cpuid-Xeon-E5-2650-host.xml        |  3 ---
 .../x86_64-cpuid-Xeon-E5-2650-json.xml        |  3 ---
 .../x86_64-cpuid-Xeon-E5-2650-v3-guest.xml    |  6 ------
 .../x86_64-cpuid-Xeon-E5-2650-v3-host.xml     |  6 ------
 .../x86_64-cpuid-Xeon-E5-2650-v3-json.xml     |  6 ++----
 .../x86_64-cpuid-Xeon-E5-2650-v4-guest.xml    |  6 ------
 .../x86_64-cpuid-Xeon-E5-2650-v4-host.xml     |  6 ------
 .../x86_64-cpuid-Xeon-E5-2650-v4-json.xml     |  6 ------
 .../x86_64-cpuid-Xeon-E7-4820-guest.xml       |  3 ---
 .../x86_64-cpuid-Xeon-E7-4820-host.xml        |  3 ---
 .../x86_64-cpuid-Xeon-E7-4820-json.xml        |  4 ++--
 .../x86_64-cpuid-Xeon-E7-4830-guest.xml       |  3 ---
 .../x86_64-cpuid-Xeon-E7-4830-host.xml        |  3 ---
 .../x86_64-cpuid-Xeon-E7-4830-json.xml        |  3 ---
 .../x86_64-cpuid-Xeon-E7-8890-v3-guest.xml    |  6 ------
 .../x86_64-cpuid-Xeon-E7-8890-v3-host.xml     |  6 ------
 .../x86_64-cpuid-Xeon-E7-8890-v3-json.xml     |  6 ------
 .../x86_64-cpuid-Xeon-E7540-guest.xml         |  1 -
 .../x86_64-cpuid-Xeon-E7540-host.xml          |  1 -
 .../x86_64-cpuid-Xeon-E7540-json.xml          |  1 -
 .../x86_64-cpuid-Xeon-Gold-5115-guest.xml     |  2 +-
 .../x86_64-cpuid-Xeon-Gold-5115-host.xml      |  2 +-
 .../x86_64-cpuid-Xeon-Gold-5115-json.xml      |  2 ++
 .../x86_64-cpuid-Xeon-Gold-6130-guest.xml     |  2 +-
 .../x86_64-cpuid-Xeon-Gold-6130-host.xml      |  2 +-
 .../x86_64-cpuid-Xeon-Gold-6130-json.xml      |  2 +-
 .../x86_64-cpuid-Xeon-Gold-6148-guest.xml     |  3 +--
 .../x86_64-cpuid-Xeon-Gold-6148-host.xml      |  3 +--
 .../x86_64-cpuid-Xeon-Gold-6148-json.xml      |  3 ++-
 .../x86_64-cpuid-Xeon-Platinum-8268-json.xml  |  2 +-
 .../x86_64-cpuid-Xeon-W3520-guest.xml         |  1 -
 .../x86_64-cpuid-Xeon-W3520-host.xml          |  1 -
 .../x86_64-cpuid-Xeon-W3520-json.xml          |  1 -
 ...id-baseline-Broadwell-IBRS+Cascadelake.xml |  6 ------
 ...puid-baseline-Cascadelake+Skylake-IBRS.xml |  2 +-
 ..._64-cpuid-baseline-Cascadelake+Skylake.xml |  3 ++-
 .../x86_64-cpuid-baseline-EPYC+Rome.xml       |  1 -
 .../x86_64-cpuid-baseline-Haswell+Skylake.xml |  6 ------
 ...-baseline-Haswell-noTSX-IBRS+Broadwell.xml |  6 ------
 ...seline-Haswell-noTSX-IBRS+Skylake-IBRS.xml |  6 ------
 ...id-baseline-Haswell-noTSX-IBRS+Skylake.xml |  6 ------
 .../x86_64-cpuid-baseline-Ryzen+Rome.xml      |  1 -
 ...4-cpuid-baseline-Skylake-Client+Server.xml |  1 +
 .../domaincapsdata/qemu_4.2.0-q35.x86_64.xml  |  1 +
 tests/domaincapsdata/qemu_4.2.0.x86_64.xml    |  1 +
 .../domaincapsdata/qemu_5.0.0-q35.x86_64.xml  |  1 +
 tests/domaincapsdata/qemu_5.0.0.x86_64.xml    |  1 +
 ...-Icelake-Server-pconfig.x86_64-latest.args |  2 +-
 .../cpu-host-model.x86_64-4.2.0.args          |  2 +-
 .../cpu-host-model.x86_64-5.0.0.args          |  2 +-
 174 files changed, 458 insertions(+), 488 deletions(-)

diff --git a/src/cpu_map/x86_Broadwell-IBRS.xml b/src/cpu_map/x86_Broadwell-IBRS.xml
index e54233dfa9..d9c4757001 100644
--- a/src/cpu_map/x86_Broadwell-IBRS.xml
+++ b/src/cpu_map/x86_Broadwell-IBRS.xml
@@ -1,16 +1,22 @@
+<!-- extra info from qemu:
+  'model.level': '0xd'
+  'model.stepping': '2'
+  'model.xlevel': '0x80000008'
+  'model.model_id': 'Intel Core Processor (Broadwell)'
+  'property.model-id': 'Intel Core Processor (Broadwell, IBRS)'
+-->
 <cpus>
   <model name='Broadwell-IBRS'>
     <alias name='Broadwell-v3'/>
     <decode host='on' guest='on'/>
-    <signature family='6' model='61'/> <!-- 0306d0 -->
-    <signature family='6' model='71'/> <!-- 040670 -->
-    <signature family='6' model='79'/> <!-- 0406f0 -->
-    <signature family='6' model='86'/> <!-- 050660 -->
+    <signature family='6' model='61'/>
     <vendor name='Intel'/>
     <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'/>
@@ -21,6 +27,7 @@
     <feature name='cx8'/>
     <feature name='de'/>
     <feature name='erms'/>
+    <feature name='f16c'/>
     <feature name='fma'/>
     <feature name='fpu'/>
     <feature name='fsgsbase'/>
@@ -45,6 +52,7 @@
     <feature name='popcnt'/>
     <feature name='pse'/>
     <feature name='pse36'/>
+    <feature name='rdrand'/>
     <feature name='rdseed'/>
     <feature name='rdtscp'/>
     <feature name='rtm'/>
@@ -60,7 +68,9 @@
     <feature name='syscall'/>
     <feature name='tsc'/>
     <feature name='tsc-deadline'/>
+    <feature name='vme'/>
     <feature name='x2apic'/>
     <feature name='xsave'/>
+    <feature name='xsaveopt'/>
   </model>
 </cpus>
diff --git a/src/cpu_map/x86_Broadwell-noTSX-IBRS.xml b/src/cpu_map/x86_Broadwell-noTSX-IBRS.xml
index 637fb7a2cb..d15b321b88 100644
--- a/src/cpu_map/x86_Broadwell-noTSX-IBRS.xml
+++ b/src/cpu_map/x86_Broadwell-noTSX-IBRS.xml
@@ -1,16 +1,22 @@
+<!-- extra info from qemu:
+  'model.level': '0xd'
+  'model.stepping': '2'
+  'model.xlevel': '0x80000008'
+  'model.model_id': 'Intel Core Processor (Broadwell)'
+  'property.model-id': 'Intel Core Processor (Broadwell, no TSX, IBRS)'
+-->
 <cpus>
   <model name='Broadwell-noTSX-IBRS'>
     <alias name='Broadwell-v4'/>
     <decode host='on' guest='on'/>
-    <signature family='6' model='61'/> <!-- 0306d0 -->
-    <signature family='6' model='71'/> <!-- 040670 -->
-    <signature family='6' model='79'/> <!-- 0406f0 -->
-    <signature family='6' model='86'/> <!-- 050660 -->
+    <signature family='6' model='61'/>
     <vendor name='Intel'/>
     <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'/>
@@ -21,6 +27,7 @@
     <feature name='cx8'/>
     <feature name='de'/>
     <feature name='erms'/>
+    <feature name='f16c'/>
     <feature name='fma'/>
     <feature name='fpu'/>
     <feature name='fsgsbase'/>
@@ -44,6 +51,7 @@
     <feature name='popcnt'/>
     <feature name='pse'/>
     <feature name='pse36'/>
+    <feature name='rdrand'/>
     <feature name='rdseed'/>
     <feature name='rdtscp'/>
     <feature name='sep'/>
@@ -58,7 +66,9 @@
     <feature name='syscall'/>
     <feature name='tsc'/>
     <feature name='tsc-deadline'/>
+    <feature name='vme'/>
     <feature name='x2apic'/>
     <feature name='xsave'/>
+    <feature name='xsaveopt'/>
   </model>
 </cpus>
diff --git a/src/cpu_map/x86_Broadwell-noTSX.xml b/src/cpu_map/x86_Broadwell-noTSX.xml
index 4d70fcacb2..b2a947ec8e 100644
--- a/src/cpu_map/x86_Broadwell-noTSX.xml
+++ b/src/cpu_map/x86_Broadwell-noTSX.xml
@@ -1,16 +1,22 @@
+<!-- extra info from qemu:
+  'model.level': '0xd'
+  'model.stepping': '2'
+  'model.xlevel': '0x80000008'
+  'model.model_id': 'Intel Core Processor (Broadwell)'
+  'property.model-id': 'Intel Core Processor (Broadwell, no TSX)'
+-->
 <cpus>
   <model name='Broadwell-noTSX'>
     <alias name='Broadwell-v2'/>
     <decode host='on' guest='on'/>
-    <signature family='6' model='61'/> <!-- 0306d0 -->
-    <signature family='6' model='71'/> <!-- 040670 -->
-    <signature family='6' model='79'/> <!-- 0406f0 -->
-    <signature family='6' model='86'/> <!-- 050660 -->
+    <signature family='6' model='61'/>
     <vendor name='Intel'/>
     <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'/>
@@ -21,6 +27,7 @@
     <feature name='cx8'/>
     <feature name='de'/>
     <feature name='erms'/>
+    <feature name='f16c'/>
     <feature name='fma'/>
     <feature name='fpu'/>
     <feature name='fsgsbase'/>
@@ -44,6 +51,7 @@
     <feature name='popcnt'/>
     <feature name='pse'/>
     <feature name='pse36'/>
+    <feature name='rdrand'/>
     <feature name='rdseed'/>
     <feature name='rdtscp'/>
     <feature name='sep'/>
@@ -57,7 +65,9 @@
     <feature name='syscall'/>
     <feature name='tsc'/>
     <feature name='tsc-deadline'/>
+    <feature name='vme'/>
     <feature name='x2apic'/>
     <feature name='xsave'/>
+    <feature name='xsaveopt'/>
   </model>
 </cpus>
diff --git a/src/cpu_map/x86_Broadwell.xml b/src/cpu_map/x86_Broadwell.xml
index c638418d27..36e263fdf2 100644
--- a/src/cpu_map/x86_Broadwell.xml
+++ b/src/cpu_map/x86_Broadwell.xml
@@ -1,16 +1,21 @@
+<!-- extra info from qemu:
+  'model.level': '0xd'
+  'model.stepping': '2'
+  'model.xlevel': '0x80000008'
+  'model.model_id': 'Intel Core Processor (Broadwell)'
+-->
 <cpus>
   <model name='Broadwell'>
     <alias name='Broadwell-v1'/>
     <decode host='on' guest='on'/>
-    <signature family='6' model='61'/> <!-- 0306d0 -->
-    <signature family='6' model='71'/> <!-- 040670 -->
-    <signature family='6' model='79'/> <!-- 0406f0 -->
-    <signature family='6' model='86'/> <!-- 050660 -->
+    <signature family='6' model='61'/>
     <vendor name='Intel'/>
     <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'/>
@@ -21,6 +26,7 @@
     <feature name='cx8'/>
     <feature name='de'/>
     <feature name='erms'/>
+    <feature name='f16c'/>
     <feature name='fma'/>
     <feature name='fpu'/>
     <feature name='fsgsbase'/>
@@ -45,6 +51,7 @@
     <feature name='popcnt'/>
     <feature name='pse'/>
     <feature name='pse36'/>
+    <feature name='rdrand'/>
     <feature name='rdseed'/>
     <feature name='rdtscp'/>
     <feature name='rtm'/>
@@ -59,7 +66,9 @@
     <feature name='syscall'/>
     <feature name='tsc'/>
     <feature name='tsc-deadline'/>
+    <feature name='vme'/>
     <feature name='x2apic'/>
     <feature name='xsave'/>
+    <feature name='xsaveopt'/>
   </model>
 </cpus>
diff --git a/src/cpu_map/x86_Cascadelake-Server-noTSX.xml b/src/cpu_map/x86_Cascadelake-Server-noTSX.xml
index 3ddd4e9947..2296f20336 100644
--- a/src/cpu_map/x86_Cascadelake-Server-noTSX.xml
+++ b/src/cpu_map/x86_Cascadelake-Server-noTSX.xml
@@ -1,8 +1,15 @@
+<!-- extra info from qemu:
+  'model.level': '0xd'
+  'model.stepping': '6'
+  'model.xlevel': '0x80000008'
+  'model.model_id': 'Intel Xeon Processor (Cascadelake)'
+  'version.note': 'ARCH_CAPABILITIES, no TSX'
+-->
 <cpus>
   <model name='Cascadelake-Server-noTSX'>
     <alias name='Cascadelake-Server-v3'/>
-    <decode host='on' guest='off'/>
-    <signature family='6' model='85' stepping='5-7'/> <!-- 050654 -->
+    <decode host='on' guest='on'/>
+    <signature family='6' model='85'/>
     <vendor name='Intel'/>
     <feature name='3dnowprefetch'/>
     <feature name='abm'/>
@@ -10,6 +17,7 @@
     <feature name='aes'/>
     <feature name='apic'/>
     <feature name='arat'/>
+    <feature name='arch-capabilities'/>
     <feature name='avx'/>
     <feature name='avx2'/>
     <feature name='avx512bw'/>
@@ -33,14 +41,15 @@
     <feature name='fpu'/>
     <feature name='fsgsbase'/>
     <feature name='fxsr'/>
+    <feature name='ibrs-all'/>
     <feature name='invpcid'/>
     <feature name='lahf_lm'/>
     <feature name='lm'/>
     <feature name='mca'/>
     <feature name='mce'/>
+    <feature name='mds-no'/>
     <feature name='mmx'/>
     <feature name='movbe'/>
-    <feature name='mpx'/>
     <feature name='msr'/>
     <feature name='mtrr'/>
     <feature name='nx'/>
@@ -50,14 +59,17 @@
     <feature name='pclmuldq'/>
     <feature name='pdpe1gb'/>
     <feature name='pge'/>
+    <feature name='pku'/>
     <feature name='pni'/>
     <feature name='popcnt'/>
     <feature name='pse'/>
     <feature name='pse36'/>
+    <feature name='rdctl-no'/>
     <feature name='rdrand'/>
     <feature name='rdseed'/>
     <feature name='rdtscp'/>
     <feature name='sep'/>
+    <feature name='skip-l1dfl-vmentry'/>
     <feature name='smap'/>
     <feature name='smep'/>
     <feature name='spec-ctrl'/>
diff --git a/src/cpu_map/x86_Cascadelake-Server.xml b/src/cpu_map/x86_Cascadelake-Server.xml
index 3805ce9d59..1e0c53d54e 100644
--- a/src/cpu_map/x86_Cascadelake-Server.xml
+++ b/src/cpu_map/x86_Cascadelake-Server.xml
@@ -1,8 +1,14 @@
+<!-- extra info from qemu:
+  'model.level': '0xd'
+  'model.stepping': '6'
+  'model.xlevel': '0x80000008'
+  'model.model_id': 'Intel Xeon Processor (Cascadelake)'
+-->
 <cpus>
   <model name='Cascadelake-Server'>
     <alias name='Cascadelake-Server-v1'/>
     <decode host='on' guest='on'/>
-    <signature family='6' model='85' stepping='5-7'/> <!-- 050654 -->
+    <signature family='6' model='85'/>
     <vendor name='Intel'/>
     <feature name='3dnowprefetch'/>
     <feature name='abm'/>
@@ -41,7 +47,6 @@
     <feature name='mce'/>
     <feature name='mmx'/>
     <feature name='movbe'/>
-    <feature name='mpx'/>
     <feature name='msr'/>
     <feature name='mtrr'/>
     <feature name='nx'/>
@@ -51,6 +56,7 @@
     <feature name='pclmuldq'/>
     <feature name='pdpe1gb'/>
     <feature name='pge'/>
+    <feature name='pku'/>
     <feature name='pni'/>
     <feature name='popcnt'/>
     <feature name='pse'/>
diff --git a/src/cpu_map/x86_Cooperlake.xml b/src/cpu_map/x86_Cooperlake.xml
index 2e879f8121..d3148c6079 100644
--- a/src/cpu_map/x86_Cooperlake.xml
+++ b/src/cpu_map/x86_Cooperlake.xml
@@ -1,8 +1,14 @@
+<!-- extra info from qemu:
+  'model.level': '0xd'
+  'model.stepping': '10'
+  'model.xlevel': '0x80000008'
+  'model.model_id': 'Intel Xeon Processor (Cooperlake)'
+-->
 <cpus>
   <model name='Cooperlake'>
     <alias name='Cooperlake-v1'/>
     <decode host='on' guest='on'/>
-    <signature family='6' model='85' stepping='10-11'/> <!-- 05065b -->
+    <signature family='6' model='85'/>
     <vendor name='Intel'/>
     <feature name='3dnowprefetch'/>
     <feature name='abm'/>
diff --git a/src/cpu_map/x86_Dhyana.xml b/src/cpu_map/x86_Dhyana.xml
index 54aac1be3a..82e6061dd0 100644
--- a/src/cpu_map/x86_Dhyana.xml
+++ b/src/cpu_map/x86_Dhyana.xml
@@ -1,8 +1,15 @@
+<!-- extra info from qemu:
+  'model.level': '0xd'
+  'model.stepping': '1'
+  'model.xlevel': '0x8000001E'
+  'model.model_id': 'Hygon Dhyana Processor'
+  'model.cache_info': '&epyc_cache_info'
+-->
 <cpus>
   <model name='Dhyana'>
     <alias name='Dhyana-v1'/>
     <decode host='on' guest='on'/>
-    <signature family='24' model='0'/> <!-- 900f00 -->
+    <signature family='24' model='0'/>
     <vendor name='Hygon'/>
     <feature name='3dnowprefetch'/>
     <feature name='abm'/>
@@ -34,10 +41,11 @@
     <feature name='misalignsse'/>
     <feature name='mmx'/>
     <feature name='mmxext'/>
-    <feature name='monitor' removed='yes'/>
     <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'/>
diff --git a/src/cpu_map/x86_EPYC-Genoa.xml b/src/cpu_map/x86_EPYC-Genoa.xml
index 3e765b89b1..c79b99250f 100644
--- a/src/cpu_map/x86_EPYC-Genoa.xml
+++ b/src/cpu_map/x86_EPYC-Genoa.xml
@@ -1,3 +1,10 @@
+<!-- extra info from qemu:
+  'model.level': '0xd'
+  'model.stepping': '0'
+  'model.xlevel': '0x80000022'
+  'model.model_id': 'AMD EPYC-Genoa Processor'
+  'model.cache_info': '&epyc_genoa_cache_info'
+-->
 <cpus>
   <model name='EPYC-Genoa'>
     <decode host='on' guest='on'/>
diff --git a/src/cpu_map/x86_EPYC-IBPB.xml b/src/cpu_map/x86_EPYC-IBPB.xml
index f93dc29213..4b64834979 100644
--- a/src/cpu_map/x86_EPYC-IBPB.xml
+++ b/src/cpu_map/x86_EPYC-IBPB.xml
@@ -1,8 +1,16 @@
+<!-- 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 (with IBPB)'
+-->
 <cpus>
   <model name='EPYC-IBPB'>
     <alias name='EPYC-v2'/>
     <decode host='on' guest='on'/>
-    <signature family='23' model='1'/> <!-- 800f10 -->
+    <signature family='23' model='1'/>
     <vendor name='AMD'/>
     <feature name='3dnowprefetch'/>
     <feature name='abm'/>
@@ -35,7 +43,6 @@
     <feature name='misalignsse'/>
     <feature name='mmx'/>
     <feature name='mmxext'/>
-    <feature name='monitor' removed='yes'/>
     <feature name='movbe'/>
     <feature name='msr'/>
     <feature name='mtrr'/>
diff --git a/src/cpu_map/x86_EPYC-Milan.xml b/src/cpu_map/x86_EPYC-Milan.xml
index 5163469256..036203ccfe 100644
--- a/src/cpu_map/x86_EPYC-Milan.xml
+++ b/src/cpu_map/x86_EPYC-Milan.xml
@@ -1,3 +1,10 @@
+<!-- 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'
+-->
 <cpus>
   <model name='EPYC-Milan'>
     <alias name='EPYC-Milan-v1'/>
diff --git a/src/cpu_map/x86_EPYC-Rome.xml b/src/cpu_map/x86_EPYC-Rome.xml
index 7b42442a1e..f90ff65401 100644
--- a/src/cpu_map/x86_EPYC-Rome.xml
+++ b/src/cpu_map/x86_EPYC-Rome.xml
@@ -1,3 +1,10 @@
+<!-- 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'>
     <alias name='EPYC-Rome-v1'/>
diff --git a/src/cpu_map/x86_EPYC.xml b/src/cpu_map/x86_EPYC.xml
index 38096fce1c..8317ad8fc7 100644
--- a/src/cpu_map/x86_EPYC.xml
+++ b/src/cpu_map/x86_EPYC.xml
@@ -1,8 +1,15 @@
+<!-- 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'
+-->
 <cpus>
   <model name='EPYC'>
     <alias name='EPYC-v1'/>
     <decode host='on' guest='on'/>
-    <signature family='23' model='1'/> <!-- 800f10 -->
+    <signature family='23' model='1'/>
     <vendor name='AMD'/>
     <feature name='3dnowprefetch'/>
     <feature name='abm'/>
@@ -34,7 +41,6 @@
     <feature name='misalignsse'/>
     <feature name='mmx'/>
     <feature name='mmxext'/>
-    <feature name='monitor' removed='yes'/>
     <feature name='movbe'/>
     <feature name='msr'/>
     <feature name='mtrr'/>
diff --git a/src/cpu_map/x86_Haswell-IBRS.xml b/src/cpu_map/x86_Haswell-IBRS.xml
index 10ab7e2032..ee476bc3a2 100644
--- a/src/cpu_map/x86_Haswell-IBRS.xml
+++ b/src/cpu_map/x86_Haswell-IBRS.xml
@@ -1,14 +1,21 @@
+<!-- extra info from qemu:
+  'model.level': '0xd'
+  'model.stepping': '4'
+  'model.xlevel': '0x80000008'
+  'model.model_id': 'Intel Core Processor (Haswell)'
+  'property.stepping': '4'
+  'property.model-id': 'Intel Core Processor (Haswell, IBRS)'
+-->
 <cpus>
   <model name='Haswell-IBRS'>
     <alias name='Haswell-v3'/>
     <decode host='on' guest='on'/>
-    <signature family='6' model='60'/> <!-- 0306c0 -->
-    <signature family='6' model='63'/> <!-- 0306f0 -->
-    <signature family='6' model='69'/> <!-- 040650 -->
-    <signature family='6' model='70'/> <!-- 040660 -->
+    <signature family='6' model='60'/>
     <vendor name='Intel'/>
+    <feature name='abm'/>
     <feature name='aes'/>
     <feature name='apic'/>
+    <feature name='arat'/>
     <feature name='avx'/>
     <feature name='avx2'/>
     <feature name='bmi1'/>
@@ -19,6 +26,7 @@
     <feature name='cx8'/>
     <feature name='de'/>
     <feature name='erms'/>
+    <feature name='f16c'/>
     <feature name='fma'/>
     <feature name='fpu'/>
     <feature name='fsgsbase'/>
@@ -43,6 +51,7 @@
     <feature name='popcnt'/>
     <feature name='pse'/>
     <feature name='pse36'/>
+    <feature name='rdrand'/>
     <feature name='rdtscp'/>
     <feature name='rtm'/>
     <feature name='sep'/>
@@ -56,7 +65,9 @@
     <feature name='syscall'/>
     <feature name='tsc'/>
     <feature name='tsc-deadline'/>
+    <feature name='vme'/>
     <feature name='x2apic'/>
     <feature name='xsave'/>
+    <feature name='xsaveopt'/>
   </model>
 </cpus>
diff --git a/src/cpu_map/x86_Haswell-noTSX-IBRS.xml b/src/cpu_map/x86_Haswell-noTSX-IBRS.xml
index 23bf427df8..42ae1da41a 100644
--- a/src/cpu_map/x86_Haswell-noTSX-IBRS.xml
+++ b/src/cpu_map/x86_Haswell-noTSX-IBRS.xml
@@ -1,14 +1,21 @@
+<!-- extra info from qemu:
+  'model.level': '0xd'
+  'model.stepping': '4'
+  'model.xlevel': '0x80000008'
+  'model.model_id': 'Intel Core Processor (Haswell)'
+  'property.stepping': '1'
+  'property.model-id': 'Intel Core Processor (Haswell, no TSX, IBRS)'
+-->
 <cpus>
   <model name='Haswell-noTSX-IBRS'>
     <alias name='Haswell-v4'/>
     <decode host='on' guest='on'/>
-    <signature family='6' model='60'/> <!-- 0306c0 -->
-    <signature family='6' model='63'/> <!-- 0306f0 -->
-    <signature family='6' model='69'/> <!-- 040650 -->
-    <signature family='6' model='70'/> <!-- 040660 -->
+    <signature family='6' model='60'/>
     <vendor name='Intel'/>
+    <feature name='abm'/>
     <feature name='aes'/>
     <feature name='apic'/>
+    <feature name='arat'/>
     <feature name='avx'/>
     <feature name='avx2'/>
     <feature name='bmi1'/>
@@ -19,6 +26,7 @@
     <feature name='cx8'/>
     <feature name='de'/>
     <feature name='erms'/>
+    <feature name='f16c'/>
     <feature name='fma'/>
     <feature name='fpu'/>
     <feature name='fsgsbase'/>
@@ -42,6 +50,7 @@
     <feature name='popcnt'/>
     <feature name='pse'/>
     <feature name='pse36'/>
+    <feature name='rdrand'/>
     <feature name='rdtscp'/>
     <feature name='sep'/>
     <feature name='smep'/>
@@ -54,7 +63,9 @@
     <feature name='syscall'/>
     <feature name='tsc'/>
     <feature name='tsc-deadline'/>
+    <feature name='vme'/>
     <feature name='x2apic'/>
     <feature name='xsave'/>
+    <feature name='xsaveopt'/>
   </model>
 </cpus>
diff --git a/src/cpu_map/x86_Haswell-noTSX.xml b/src/cpu_map/x86_Haswell-noTSX.xml
index eec6d046a0..fca9e6fda3 100644
--- a/src/cpu_map/x86_Haswell-noTSX.xml
+++ b/src/cpu_map/x86_Haswell-noTSX.xml
@@ -1,14 +1,21 @@
+<!-- extra info from qemu:
+  'model.level': '0xd'
+  'model.stepping': '4'
+  'model.xlevel': '0x80000008'
+  'model.model_id': 'Intel Core Processor (Haswell)'
+  'property.stepping': '1'
+  'property.model-id': 'Intel Core Processor (Haswell, no TSX)'
+-->
 <cpus>
   <model name='Haswell-noTSX'>
     <alias name='Haswell-v2'/>
     <decode host='on' guest='on'/>
-    <signature family='6' model='60'/> <!-- 0306c0 -->
-    <signature family='6' model='63'/> <!-- 0306f0 -->
-    <signature family='6' model='69'/> <!-- 040650 -->
-    <signature family='6' model='70'/> <!-- 040660 -->
+    <signature family='6' model='60'/>
     <vendor name='Intel'/>
+    <feature name='abm'/>
     <feature name='aes'/>
     <feature name='apic'/>
+    <feature name='arat'/>
     <feature name='avx'/>
     <feature name='avx2'/>
     <feature name='bmi1'/>
@@ -19,6 +26,7 @@
     <feature name='cx8'/>
     <feature name='de'/>
     <feature name='erms'/>
+    <feature name='f16c'/>
     <feature name='fma'/>
     <feature name='fpu'/>
     <feature name='fsgsbase'/>
@@ -42,6 +50,7 @@
     <feature name='popcnt'/>
     <feature name='pse'/>
     <feature name='pse36'/>
+    <feature name='rdrand'/>
     <feature name='rdtscp'/>
     <feature name='sep'/>
     <feature name='smep'/>
@@ -53,7 +62,9 @@
     <feature name='syscall'/>
     <feature name='tsc'/>
     <feature name='tsc-deadline'/>
+    <feature name='vme'/>
     <feature name='x2apic'/>
     <feature name='xsave'/>
+    <feature name='xsaveopt'/>
   </model>
 </cpus>
diff --git a/src/cpu_map/x86_Haswell.xml b/src/cpu_map/x86_Haswell.xml
index c3ec40ce19..916580c440 100644
--- a/src/cpu_map/x86_Haswell.xml
+++ b/src/cpu_map/x86_Haswell.xml
@@ -1,14 +1,19 @@
+<!-- extra info from qemu:
+  'model.level': '0xd'
+  'model.stepping': '4'
+  'model.xlevel': '0x80000008'
+  'model.model_id': 'Intel Core Processor (Haswell)'
+-->
 <cpus>
   <model name='Haswell'>
     <alias name='Haswell-v1'/>
     <decode host='on' guest='on'/>
-    <signature family='6' model='60'/> <!-- 0306c0 -->
-    <signature family='6' model='63'/> <!-- 0306f0 -->
-    <signature family='6' model='69'/> <!-- 040650 -->
-    <signature family='6' model='70'/> <!-- 040660 -->
+    <signature family='6' model='60'/>
     <vendor name='Intel'/>
+    <feature name='abm'/>
     <feature name='aes'/>
     <feature name='apic'/>
+    <feature name='arat'/>
     <feature name='avx'/>
     <feature name='avx2'/>
     <feature name='bmi1'/>
@@ -19,6 +24,7 @@
     <feature name='cx8'/>
     <feature name='de'/>
     <feature name='erms'/>
+    <feature name='f16c'/>
     <feature name='fma'/>
     <feature name='fpu'/>
     <feature name='fsgsbase'/>
@@ -43,6 +49,7 @@
     <feature name='popcnt'/>
     <feature name='pse'/>
     <feature name='pse36'/>
+    <feature name='rdrand'/>
     <feature name='rdtscp'/>
     <feature name='rtm'/>
     <feature name='sep'/>
@@ -55,7 +62,9 @@
     <feature name='syscall'/>
     <feature name='tsc'/>
     <feature name='tsc-deadline'/>
+    <feature name='vme'/>
     <feature name='x2apic'/>
     <feature name='xsave'/>
+    <feature name='xsaveopt'/>
   </model>
 </cpus>
diff --git a/src/cpu_map/x86_Icelake-Server-noTSX.xml b/src/cpu_map/x86_Icelake-Server-noTSX.xml
index f77bf6eb3e..2c0a4b7ef9 100644
--- a/src/cpu_map/x86_Icelake-Server-noTSX.xml
+++ b/src/cpu_map/x86_Icelake-Server-noTSX.xml
@@ -1,8 +1,15 @@
+<!-- extra info from qemu:
+  'model.level': '0xd'
+  'model.stepping': '0'
+  'model.xlevel': '0x80000008'
+  'model.model_id': 'Intel Xeon Processor (Icelake)'
+  'version.note': 'no TSX'
+-->
 <cpus>
   <model name='Icelake-Server-noTSX'>
     <alias name='Icelake-Server-v2'/>
-    <decode host='on' guest='off'/>
-    <signature family='6' model='106'/> <!-- 0606A5 -->
+    <decode host='on' guest='on'/>
+    <signature family='6' model='134'/>
     <vendor name='Intel'/>
     <feature name='3dnowprefetch'/>
     <feature name='abm'/>
@@ -38,7 +45,6 @@
     <feature name='fsgsbase'/>
     <feature name='fxsr'/>
     <feature name='gfni'/>
-    <feature name='intel-pt' removed='yes'/>
     <feature name='invpcid'/>
     <feature name='la57'/>
     <feature name='lahf_lm'/>
@@ -47,7 +53,6 @@
     <feature name='mce'/>
     <feature name='mmx'/>
     <feature name='movbe'/>
-    <feature name='mpx'/>
     <feature name='msr'/>
     <feature name='mtrr'/>
     <feature name='nx'/>
diff --git a/src/cpu_map/x86_Icelake-Server.xml b/src/cpu_map/x86_Icelake-Server.xml
index 6bebbf174c..1a73c8170a 100644
--- a/src/cpu_map/x86_Icelake-Server.xml
+++ b/src/cpu_map/x86_Icelake-Server.xml
@@ -1,8 +1,14 @@
+<!-- extra info from qemu:
+  'model.level': '0xd'
+  'model.stepping': '0'
+  'model.xlevel': '0x80000008'
+  'model.model_id': 'Intel Xeon Processor (Icelake)'
+-->
 <cpus>
   <model name='Icelake-Server'>
     <alias name='Icelake-Server-v1'/>
     <decode host='on' guest='on'/>
-    <signature family='6' model='106'/> <!-- 0606A5 -->
+    <signature family='6' model='134'/>
     <vendor name='Intel'/>
     <feature name='3dnowprefetch'/>
     <feature name='abm'/>
@@ -39,7 +45,6 @@
     <feature name='fxsr'/>
     <feature name='gfni'/>
     <feature name='hle'/>
-    <feature name='intel-pt' removed='yes'/>
     <feature name='invpcid'/>
     <feature name='la57'/>
     <feature name='lahf_lm'/>
@@ -48,7 +53,6 @@
     <feature name='mce'/>
     <feature name='mmx'/>
     <feature name='movbe'/>
-    <feature name='mpx'/>
     <feature name='msr'/>
     <feature name='mtrr'/>
     <feature name='nx'/>
diff --git a/src/cpu_map/x86_IvyBridge-IBRS.xml b/src/cpu_map/x86_IvyBridge-IBRS.xml
index b2b257c11c..820722d5da 100644
--- a/src/cpu_map/x86_IvyBridge-IBRS.xml
+++ b/src/cpu_map/x86_IvyBridge-IBRS.xml
@@ -1,12 +1,19 @@
+<!-- extra info from qemu:
+  'model.level': '0xd'
+  'model.stepping': '9'
+  'model.xlevel': '0x80000008'
+  'model.model_id': 'Intel Xeon E3-12xx v2 (Ivy Bridge)'
+  'property.model-id': 'Intel Xeon E3-12xx v2 (Ivy Bridge, IBRS)'
+-->
 <cpus>
   <model name='IvyBridge-IBRS'>
     <alias name='IvyBridge-v2'/>
     <decode host='on' guest='on'/>
-    <signature family='6' model='58'/> <!-- 0306a0 -->
-    <signature family='6' model='62'/> <!-- 0306e0 -->
+    <signature family='6' model='58'/>
     <vendor name='Intel'/>
     <feature name='aes'/>
     <feature name='apic'/>
+    <feature name='arat'/>
     <feature name='avx'/>
     <feature name='clflush'/>
     <feature name='cmov'/>
@@ -50,5 +57,6 @@
     <feature name='vme'/>
     <feature name='x2apic'/>
     <feature name='xsave'/>
+    <feature name='xsaveopt'/>
   </model>
 </cpus>
diff --git a/src/cpu_map/x86_IvyBridge.xml b/src/cpu_map/x86_IvyBridge.xml
index 579af5f817..4a22cb3eb6 100644
--- a/src/cpu_map/x86_IvyBridge.xml
+++ b/src/cpu_map/x86_IvyBridge.xml
@@ -1,12 +1,18 @@
+<!-- extra info from qemu:
+  'model.level': '0xd'
+  'model.stepping': '9'
+  'model.xlevel': '0x80000008'
+  'model.model_id': 'Intel Xeon E3-12xx v2 (Ivy Bridge)'
+-->
 <cpus>
   <model name='IvyBridge'>
     <alias name='IvyBridge-v1'/>
     <decode host='on' guest='on'/>
-    <signature family='6' model='58'/> <!-- 0306a0 -->
-    <signature family='6' model='62'/> <!-- 0306e0 -->
+    <signature family='6' model='58'/>
     <vendor name='Intel'/>
     <feature name='aes'/>
     <feature name='apic'/>
+    <feature name='arat'/>
     <feature name='avx'/>
     <feature name='clflush'/>
     <feature name='cmov'/>
@@ -49,5 +55,6 @@
     <feature name='vme'/>
     <feature name='x2apic'/>
     <feature name='xsave'/>
+    <feature name='xsaveopt'/>
   </model>
 </cpus>
diff --git a/src/cpu_map/x86_Nehalem-IBRS.xml b/src/cpu_map/x86_Nehalem-IBRS.xml
index 1d19cab20f..09f5d08306 100644
--- a/src/cpu_map/x86_Nehalem-IBRS.xml
+++ b/src/cpu_map/x86_Nehalem-IBRS.xml
@@ -1,11 +1,15 @@
+<!-- extra info from qemu:
+  'model.level': '11'
+  'model.stepping': '3'
+  'model.xlevel': '0x80000008'
+  'model.model_id': 'Intel Core i7 9xx (Nehalem Class Core i7)'
+  'property.model-id': 'Intel Core i7 9xx (Nehalem Core i7, IBRS update)'
+-->
 <cpus>
   <model name='Nehalem-IBRS'>
     <alias name='Nehalem-v2'/>
     <decode host='on' guest='on'/>
-    <signature family='6' model='26'/> <!-- 0106a0 -->
-    <signature family='6' model='30'/> <!-- 0106e0 -->
-    <signature family='6' model='31'/> <!-- 0106f0 -->
-    <signature family='6' model='46'/> <!-- 0206e0 -->
+    <signature family='6' model='26'/>
     <vendor name='Intel'/>
     <feature name='apic'/>
     <feature name='clflush'/>
@@ -39,5 +43,6 @@
     <feature name='ssse3'/>
     <feature name='syscall'/>
     <feature name='tsc'/>
+    <feature name='vme'/>
   </model>
 </cpus>
diff --git a/src/cpu_map/x86_Nehalem.xml b/src/cpu_map/x86_Nehalem.xml
index 21f9aa1fff..28004accca 100644
--- a/src/cpu_map/x86_Nehalem.xml
+++ b/src/cpu_map/x86_Nehalem.xml
@@ -1,11 +1,14 @@
+<!-- extra info from qemu:
+  'model.level': '11'
+  'model.stepping': '3'
+  'model.xlevel': '0x80000008'
+  'model.model_id': 'Intel Core i7 9xx (Nehalem Class Core i7)'
+-->
 <cpus>
   <model name='Nehalem'>
     <alias name='Nehalem-v1'/>
     <decode host='on' guest='on'/>
-    <signature family='6' model='26'/> <!-- 0106a0 -->
-    <signature family='6' model='30'/> <!-- 0106e0 -->
-    <signature family='6' model='31'/> <!-- 0106f0 -->
-    <signature family='6' model='46'/> <!-- 0206e0 -->
+    <signature family='6' model='26'/>
     <vendor name='Intel'/>
     <feature name='apic'/>
     <feature name='clflush'/>
@@ -38,5 +41,6 @@
     <feature name='ssse3'/>
     <feature name='syscall'/>
     <feature name='tsc'/>
+    <feature name='vme'/>
   </model>
 </cpus>
diff --git a/src/cpu_map/x86_SandyBridge-IBRS.xml b/src/cpu_map/x86_SandyBridge-IBRS.xml
index 24cc22f596..2b21fc9527 100644
--- a/src/cpu_map/x86_SandyBridge-IBRS.xml
+++ b/src/cpu_map/x86_SandyBridge-IBRS.xml
@@ -1,12 +1,19 @@
+<!-- extra info from qemu:
+  'model.level': '0xd'
+  'model.stepping': '1'
+  'model.xlevel': '0x80000008'
+  'model.model_id': 'Intel Xeon E312xx (Sandy Bridge)'
+  'property.model-id': 'Intel Xeon E312xx (Sandy Bridge, IBRS update)'
+-->
 <cpus>
   <model name='SandyBridge-IBRS'>
     <alias name='SandyBridge-v2'/>
     <decode host='on' guest='on'/>
-    <signature family='6' model='42'/> <!-- 0206a0 -->
-    <signature family='6' model='45'/> <!-- 0206d0 -->
+    <signature family='6' model='42'/>
     <vendor name='Intel'/>
     <feature name='aes'/>
     <feature name='apic'/>
+    <feature name='arat'/>
     <feature name='avx'/>
     <feature name='clflush'/>
     <feature name='cmov'/>
@@ -42,7 +49,9 @@
     <feature name='syscall'/>
     <feature name='tsc'/>
     <feature name='tsc-deadline'/>
+    <feature name='vme'/>
     <feature name='x2apic'/>
     <feature name='xsave'/>
+    <feature name='xsaveopt'/>
   </model>
 </cpus>
diff --git a/src/cpu_map/x86_SandyBridge.xml b/src/cpu_map/x86_SandyBridge.xml
index 8faa73a86e..a72b3ca38f 100644
--- a/src/cpu_map/x86_SandyBridge.xml
+++ b/src/cpu_map/x86_SandyBridge.xml
@@ -1,12 +1,18 @@
+<!-- extra info from qemu:
+  'model.level': '0xd'
+  'model.stepping': '1'
+  'model.xlevel': '0x80000008'
+  'model.model_id': 'Intel Xeon E312xx (Sandy Bridge)'
+-->
 <cpus>
   <model name='SandyBridge'>
     <alias name='SandyBridge-v1'/>
     <decode host='on' guest='on'/>
-    <signature family='6' model='42'/> <!-- 0206a0 -->
-    <signature family='6' model='45'/> <!-- 0206d0 -->
+    <signature family='6' model='42'/>
     <vendor name='Intel'/>
     <feature name='aes'/>
     <feature name='apic'/>
+    <feature name='arat'/>
     <feature name='avx'/>
     <feature name='clflush'/>
     <feature name='cmov'/>
@@ -41,7 +47,9 @@
     <feature name='syscall'/>
     <feature name='tsc'/>
     <feature name='tsc-deadline'/>
+    <feature name='vme'/>
     <feature name='x2apic'/>
     <feature name='xsave'/>
+    <feature name='xsaveopt'/>
   </model>
 </cpus>
diff --git a/src/cpu_map/x86_SapphireRapids.xml b/src/cpu_map/x86_SapphireRapids.xml
index 93307b37a2..9ea4c78e50 100644
--- a/src/cpu_map/x86_SapphireRapids.xml
+++ b/src/cpu_map/x86_SapphireRapids.xml
@@ -1,3 +1,9 @@
+<!-- extra info from qemu:
+  'model.level': '0x20'
+  'model.stepping': '4'
+  'model.xlevel': '0x80000008'
+  'model.model_id': 'Intel Xeon Processor (SapphireRapids)'
+-->
 <cpus>
   <model name='SapphireRapids'>
     <alias name='SapphireRapids-v1'/>
diff --git a/src/cpu_map/x86_Skylake-Client-IBRS.xml b/src/cpu_map/x86_Skylake-Client-IBRS.xml
index 9f0c0f75e8..6f6701fa39 100644
--- a/src/cpu_map/x86_Skylake-Client-IBRS.xml
+++ b/src/cpu_map/x86_Skylake-Client-IBRS.xml
@@ -1,13 +1,15 @@
+<!-- extra info from qemu:
+  'model.level': '0xd'
+  'model.stepping': '3'
+  'model.xlevel': '0x80000008'
+  'model.model_id': 'Intel Core Processor (Skylake)'
+  'property.model-id': 'Intel Core Processor (Skylake, IBRS)'
+-->
 <cpus>
   <model name='Skylake-Client-IBRS'>
     <alias name='Skylake-Client-v2'/>
     <decode host='on' guest='on'/>
-    <signature family='6' model='94'/> <!-- 0506e0 -->
-    <signature family='6' model='78'/> <!-- 0406e0 -->
-    <!-- These are Kaby Lake and Coffee Lake successors to Skylake,
-         but we don't have specific models for them. -->
-    <signature family='6' model='142'/> <!-- 0806e0 -->
-    <signature family='6' model='158'/> <!-- 0906e0 -->
+    <signature family='6' model='94'/>
     <vendor name='Intel'/>
     <feature name='3dnowprefetch'/>
     <feature name='abm'/>
@@ -38,7 +40,6 @@
     <feature name='mce'/>
     <feature name='mmx'/>
     <feature name='movbe'/>
-    <feature name='mpx'/>
     <feature name='msr'/>
     <feature name='mtrr'/>
     <feature name='nx'/>
diff --git a/src/cpu_map/x86_Skylake-Client-noTSX-IBRS.xml b/src/cpu_map/x86_Skylake-Client-noTSX-IBRS.xml
index cfb3446480..3846330e71 100644
--- a/src/cpu_map/x86_Skylake-Client-noTSX-IBRS.xml
+++ b/src/cpu_map/x86_Skylake-Client-noTSX-IBRS.xml
@@ -1,13 +1,15 @@
+<!-- extra info from qemu:
+  'model.level': '0xd'
+  'model.stepping': '3'
+  'model.xlevel': '0x80000008'
+  'model.model_id': 'Intel Core Processor (Skylake)'
+  'property.model-id': 'Intel Core Processor (Skylake, IBRS, no TSX)'
+-->
 <cpus>
   <model name='Skylake-Client-noTSX-IBRS'>
     <alias name='Skylake-Client-v3'/>
-    <decode host='on' guest='off'/>
-    <signature family='6' model='94'/> <!-- 0506e0 -->
-    <signature family='6' model='78'/> <!-- 0406e0 -->
-    <!-- These are Kaby Lake and Coffee Lake successors to Skylake,
-         but we don't have specific models for them. -->
-    <signature family='6' model='142'/> <!-- 0806e0 -->
-    <signature family='6' model='158'/> <!-- 0906e0 -->
+    <decode host='on' guest='on'/>
+    <signature family='6' model='94'/>
     <vendor name='Intel'/>
     <feature name='3dnowprefetch'/>
     <feature name='abm'/>
@@ -37,7 +39,6 @@
     <feature name='mce'/>
     <feature name='mmx'/>
     <feature name='movbe'/>
-    <feature name='mpx'/>
     <feature name='msr'/>
     <feature name='mtrr'/>
     <feature name='nx'/>
diff --git a/src/cpu_map/x86_Skylake-Client.xml b/src/cpu_map/x86_Skylake-Client.xml
index 1cef4fb1c7..ba9277d061 100644
--- a/src/cpu_map/x86_Skylake-Client.xml
+++ b/src/cpu_map/x86_Skylake-Client.xml
@@ -1,13 +1,14 @@
+<!-- extra info from qemu:
+  'model.level': '0xd'
+  'model.stepping': '3'
+  'model.xlevel': '0x80000008'
+  'model.model_id': 'Intel Core Processor (Skylake)'
+-->
 <cpus>
   <model name='Skylake-Client'>
     <alias name='Skylake-Client-v1'/>
     <decode host='on' guest='on'/>
-    <signature family='6' model='94'/> <!-- 0506e0 -->
-    <signature family='6' model='78'/> <!-- 0406e0 -->
-    <!-- These are Kaby Lake and Coffee Lake successors to Skylake,
-         but we don't have specific models for them. -->
-    <signature family='6' model='142'/> <!-- 0806e0 -->
-    <signature family='6' model='158'/> <!-- 0906e0 -->
+    <signature family='6' model='94'/>
     <vendor name='Intel'/>
     <feature name='3dnowprefetch'/>
     <feature name='abm'/>
@@ -38,7 +39,6 @@
     <feature name='mce'/>
     <feature name='mmx'/>
     <feature name='movbe'/>
-    <feature name='mpx'/>
     <feature name='msr'/>
     <feature name='mtrr'/>
     <feature name='nx'/>
diff --git a/src/cpu_map/x86_Skylake-Server-IBRS.xml b/src/cpu_map/x86_Skylake-Server-IBRS.xml
index a675e5fee6..2a4dd72fa3 100644
--- a/src/cpu_map/x86_Skylake-Server-IBRS.xml
+++ b/src/cpu_map/x86_Skylake-Server-IBRS.xml
@@ -1,8 +1,15 @@
+<!-- extra info from qemu:
+  'model.level': '0xd'
+  'model.stepping': '4'
+  'model.xlevel': '0x80000008'
+  'model.model_id': 'Intel Xeon Processor (Skylake)'
+  'property.model-id': 'Intel Xeon Processor (Skylake, IBRS)'
+-->
 <cpus>
   <model name='Skylake-Server-IBRS'>
     <alias name='Skylake-Server-v2'/>
     <decode host='on' guest='on'/>
-    <signature family='6' model='85' stepping='0-4'/> <!-- 050654 -->
+    <signature family='6' model='85'/>
     <vendor name='Intel'/>
     <feature name='3dnowprefetch'/>
     <feature name='abm'/>
@@ -39,7 +46,6 @@
     <feature name='mce'/>
     <feature name='mmx'/>
     <feature name='movbe'/>
-    <feature name='mpx'/>
     <feature name='msr'/>
     <feature name='mtrr'/>
     <feature name='nx'/>
@@ -49,6 +55,7 @@
     <feature name='pclmuldq'/>
     <feature name='pdpe1gb'/>
     <feature name='pge'/>
+    <feature name='pku'/>
     <feature name='pni'/>
     <feature name='popcnt'/>
     <feature name='pse'/>
diff --git a/src/cpu_map/x86_Skylake-Server-noTSX-IBRS.xml b/src/cpu_map/x86_Skylake-Server-noTSX-IBRS.xml
index 6d34904207..913493d6e2 100644
--- a/src/cpu_map/x86_Skylake-Server-noTSX-IBRS.xml
+++ b/src/cpu_map/x86_Skylake-Server-noTSX-IBRS.xml
@@ -1,8 +1,15 @@
+<!-- extra info from qemu:
+  'model.level': '0xd'
+  'model.stepping': '4'
+  'model.xlevel': '0x80000008'
+  'model.model_id': 'Intel Xeon Processor (Skylake)'
+  'property.model-id': 'Intel Xeon Processor (Skylake, IBRS, no TSX)'
+-->
 <cpus>
   <model name='Skylake-Server-noTSX-IBRS'>
     <alias name='Skylake-Server-v3'/>
-    <decode host='on' guest='off'/>
-    <signature family='6' model='85' stepping='0-4'/> <!-- 050654 -->
+    <decode host='on' guest='on'/>
+    <signature family='6' model='85'/>
     <vendor name='Intel'/>
     <feature name='3dnowprefetch'/>
     <feature name='abm'/>
@@ -38,7 +45,6 @@
     <feature name='mce'/>
     <feature name='mmx'/>
     <feature name='movbe'/>
-    <feature name='mpx'/>
     <feature name='msr'/>
     <feature name='mtrr'/>
     <feature name='nx'/>
@@ -48,6 +54,7 @@
     <feature name='pclmuldq'/>
     <feature name='pdpe1gb'/>
     <feature name='pge'/>
+    <feature name='pku'/>
     <feature name='pni'/>
     <feature name='popcnt'/>
     <feature name='pse'/>
diff --git a/src/cpu_map/x86_Skylake-Server.xml b/src/cpu_map/x86_Skylake-Server.xml
index 154bc7d848..1b72ae958e 100644
--- a/src/cpu_map/x86_Skylake-Server.xml
+++ b/src/cpu_map/x86_Skylake-Server.xml
@@ -1,8 +1,14 @@
+<!-- extra info from qemu:
+  'model.level': '0xd'
+  'model.stepping': '4'
+  'model.xlevel': '0x80000008'
+  'model.model_id': 'Intel Xeon Processor (Skylake)'
+-->
 <cpus>
   <model name='Skylake-Server'>
     <alias name='Skylake-Server-v1'/>
     <decode host='on' guest='on'/>
-    <signature family='6' model='85' stepping='0-4'/> <!-- 050654 -->
+    <signature family='6' model='85'/>
     <vendor name='Intel'/>
     <feature name='3dnowprefetch'/>
     <feature name='abm'/>
@@ -20,6 +26,7 @@
     <feature name='bmi1'/>
     <feature name='bmi2'/>
     <feature name='clflush'/>
+    <feature name='clflushopt'/>
     <feature name='clwb'/>
     <feature name='cmov'/>
     <feature name='cx16'/>
@@ -39,7 +46,6 @@
     <feature name='mce'/>
     <feature name='mmx'/>
     <feature name='movbe'/>
-    <feature name='mpx'/>
     <feature name='msr'/>
     <feature name='mtrr'/>
     <feature name='nx'/>
@@ -49,6 +55,7 @@
     <feature name='pclmuldq'/>
     <feature name='pdpe1gb'/>
     <feature name='pge'/>
+    <feature name='pku'/>
     <feature name='pni'/>
     <feature name='popcnt'/>
     <feature name='pse'/>
diff --git a/src/cpu_map/x86_Snowridge.xml b/src/cpu_map/x86_Snowridge.xml
index 534295aa57..193393a127 100644
--- a/src/cpu_map/x86_Snowridge.xml
+++ b/src/cpu_map/x86_Snowridge.xml
@@ -1,8 +1,14 @@
+<!-- extra info from qemu:
+  'model.level': '27'
+  'model.stepping': '1'
+  'model.xlevel': '0x80000008'
+  'model.model_id': 'Intel Atom Processor (SnowRidge)'
+-->
 <cpus>
   <model name='Snowridge'>
     <alias name='Snowridge-v1'/>
     <decode host='on' guest='on'/>
-    <signature family='6' model='134'/> <!-- 080665 -->
+    <signature family='6' model='134'/>
     <vendor name='Intel'/>
     <feature name='3dnowprefetch'/>
     <feature name='aes'/>
@@ -31,6 +37,7 @@
     <feature name='movbe'/>
     <feature name='movdir64b'/>
     <feature name='movdiri'/>
+    <feature name='mpx'/>
     <feature name='msr'/>
     <feature name='mtrr'/>
     <feature name='nx'/>
diff --git a/src/cpu_map/x86_Westmere-IBRS.xml b/src/cpu_map/x86_Westmere-IBRS.xml
index 46460b5a7d..5fcf98b243 100644
--- a/src/cpu_map/x86_Westmere-IBRS.xml
+++ b/src/cpu_map/x86_Westmere-IBRS.xml
@@ -1,11 +1,19 @@
+<!-- extra info from qemu:
+  'model.level': '11'
+  'model.stepping': '1'
+  'model.xlevel': '0x80000008'
+  'model.model_id': 'Westmere E56xx/L56xx/X56xx (Nehalem-C)'
+  'property.model-id': 'Westmere E56xx/L56xx/X56xx (IBRS update)'
+-->
 <cpus>
   <model name='Westmere-IBRS'>
     <alias name='Westmere-v2'/>
     <decode host='on' guest='on'/>
-    <signature family='6' model='44'/> <!-- 0206c0 -->
+    <signature family='6' model='44'/>
     <vendor name='Intel'/>
     <feature name='aes'/>
     <feature name='apic'/>
+    <feature name='arat'/>
     <feature name='clflush'/>
     <feature name='cmov'/>
     <feature name='cx16'/>
@@ -23,6 +31,7 @@
     <feature name='nx'/>
     <feature name='pae'/>
     <feature name='pat'/>
+    <feature name='pclmuldq'/>
     <feature name='pge'/>
     <feature name='pni'/>
     <feature name='popcnt'/>
@@ -37,5 +46,6 @@
     <feature name='ssse3'/>
     <feature name='syscall'/>
     <feature name='tsc'/>
+    <feature name='vme'/>
   </model>
 </cpus>
diff --git a/src/cpu_map/x86_Westmere.xml b/src/cpu_map/x86_Westmere.xml
index 3e9dc0f73c..41f7eef94e 100644
--- a/src/cpu_map/x86_Westmere.xml
+++ b/src/cpu_map/x86_Westmere.xml
@@ -1,13 +1,18 @@
+<!-- extra info from qemu:
+  'model.level': '11'
+  'model.stepping': '1'
+  'model.xlevel': '0x80000008'
+  'model.model_id': 'Westmere E56xx/L56xx/X56xx (Nehalem-C)'
+-->
 <cpus>
   <model name='Westmere'>
     <alias name='Westmere-v1'/>
     <decode host='on' guest='on'/>
-    <signature family='6' model='44'/> <!-- 0206c0 -->
-    <signature family='6' model='47'/> <!-- 0206f0 -->
-    <signature family='6' model='37'/> <!-- 020650 -->
+    <signature family='6' model='44'/>
     <vendor name='Intel'/>
     <feature name='aes'/>
     <feature name='apic'/>
+    <feature name='arat'/>
     <feature name='clflush'/>
     <feature name='cmov'/>
     <feature name='cx16'/>
@@ -25,6 +30,7 @@
     <feature name='nx'/>
     <feature name='pae'/>
     <feature name='pat'/>
+    <feature name='pclmuldq'/>
     <feature name='pge'/>
     <feature name='pni'/>
     <feature name='popcnt'/>
@@ -38,5 +44,6 @@
     <feature name='ssse3'/>
     <feature name='syscall'/>
     <feature name='tsc'/>
+    <feature name='vme'/>
   </model>
 </cpus>
diff --git a/tests/cputestdata/x86_64-baseline-Westmere+Nehalem-migratable.xml b/tests/cputestdata/x86_64-baseline-Westmere+Nehalem-migratable.xml
index f5846b1619..5012ab9cdf 100644
--- a/tests/cputestdata/x86_64-baseline-Westmere+Nehalem-migratable.xml
+++ b/tests/cputestdata/x86_64-baseline-Westmere+Nehalem-migratable.xml
@@ -1,12 +1,12 @@
 <cpu mode='custom' match='exact'>
-  <model fallback='allow'>Westmere</model>
+  <model fallback='allow'>Nehalem</model>
   <vendor>Intel</vendor>
-  <feature policy='require' name='vme'/>
   <feature policy='require' name='ss'/>
   <feature policy='require' name='pclmuldq'/>
   <feature policy='require' name='pcid'/>
   <feature policy='require' name='x2apic'/>
   <feature policy='require' name='tsc-deadline'/>
+  <feature policy='require' name='aes'/>
   <feature policy='require' name='xsave'/>
   <feature policy='require' name='osxsave'/>
   <feature policy='require' name='avx'/>
diff --git a/tests/cputestdata/x86_64-baseline-Westmere+Nehalem-result.xml b/tests/cputestdata/x86_64-baseline-Westmere+Nehalem-result.xml
index 166833276c..b3974f5090 100644
--- a/tests/cputestdata/x86_64-baseline-Westmere+Nehalem-result.xml
+++ b/tests/cputestdata/x86_64-baseline-Westmere+Nehalem-result.xml
@@ -1,12 +1,12 @@
 <cpu mode='custom' match='exact'>
-  <model fallback='allow'>Westmere</model>
+  <model fallback='allow'>Nehalem</model>
   <vendor>Intel</vendor>
-  <feature policy='require' name='vme'/>
   <feature policy='require' name='ss'/>
   <feature policy='require' name='pclmuldq'/>
   <feature policy='require' name='pcid'/>
   <feature policy='require' name='x2apic'/>
   <feature policy='require' name='tsc-deadline'/>
+  <feature policy='require' name='aes'/>
   <feature policy='require' name='xsave'/>
   <feature policy='require' name='osxsave'/>
   <feature policy='require' name='avx'/>
diff --git a/tests/cputestdata/x86_64-baseline-features-expanded.xml b/tests/cputestdata/x86_64-baseline-features-expanded.xml
index e54eca026d..421bbbb78e 100644
--- a/tests/cputestdata/x86_64-baseline-features-expanded.xml
+++ b/tests/cputestdata/x86_64-baseline-features-expanded.xml
@@ -3,6 +3,7 @@
   <vendor>Intel</vendor>
   <feature policy='require' name='aes'/>
   <feature policy='require' name='apic'/>
+  <feature policy='require' name='arat'/>
   <feature policy='require' name='avx'/>
   <feature policy='require' name='clflush'/>
   <feature policy='require' name='cmov'/>
diff --git a/tests/cputestdata/x86_64-baseline-features-result.xml b/tests/cputestdata/x86_64-baseline-features-result.xml
index 1461a5b430..307fd9566c 100644
--- a/tests/cputestdata/x86_64-baseline-features-result.xml
+++ b/tests/cputestdata/x86_64-baseline-features-result.xml
@@ -1,9 +1,7 @@
 <cpu mode='custom' match='exact'>
   <model fallback='forbid'>Westmere</model>
   <vendor>Intel</vendor>
-  <feature policy='require' name='vme'/>
   <feature policy='require' name='ss'/>
-  <feature policy='require' name='pclmuldq'/>
   <feature policy='require' name='pcid'/>
   <feature policy='require' name='x2apic'/>
   <feature policy='require' name='tsc-deadline'/>
diff --git a/tests/cputestdata/x86_64-baseline-simple-expanded.xml b/tests/cputestdata/x86_64-baseline-simple-expanded.xml
index 82857e3d45..4b260d9972 100644
--- a/tests/cputestdata/x86_64-baseline-simple-expanded.xml
+++ b/tests/cputestdata/x86_64-baseline-simple-expanded.xml
@@ -2,6 +2,7 @@
   <model fallback='forbid'>Westmere</model>
   <feature policy='require' name='aes'/>
   <feature policy='require' name='apic'/>
+  <feature policy='require' name='arat'/>
   <feature policy='require' name='clflush'/>
   <feature policy='require' name='cmov'/>
   <feature policy='require' name='cx16'/>
@@ -19,6 +20,7 @@
   <feature policy='require' name='nx'/>
   <feature policy='require' name='pae'/>
   <feature policy='require' name='pat'/>
+  <feature policy='require' name='pclmuldq'/>
   <feature policy='require' name='pge'/>
   <feature policy='require' name='pni'/>
   <feature policy='require' name='popcnt'/>
@@ -32,4 +34,5 @@
   <feature policy='require' name='ssse3'/>
   <feature policy='require' name='syscall'/>
   <feature policy='require' name='tsc'/>
+  <feature policy='require' name='vme'/>
 </cpu>
diff --git a/tests/cputestdata/x86_64-cpuid-Atom-P5362-host.xml b/tests/cputestdata/x86_64-cpuid-Atom-P5362-host.xml
index 074342911a..98cf99c423 100644
--- a/tests/cputestdata/x86_64-cpuid-Atom-P5362-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Atom-P5362-host.xml
@@ -3,14 +3,12 @@
   <model>Westmere-IBRS</model>
   <vendor>Intel</vendor>
   <signature family='6' model='134' stepping='5'/>
-  <feature name='vme'/>
   <feature name='ds'/>
   <feature name='acpi'/>
   <feature name='ss'/>
   <feature name='ht'/>
   <feature name='tm'/>
   <feature name='pbe'/>
-  <feature name='pclmuldq'/>
   <feature name='dtes64'/>
   <feature name='monitor'/>
   <feature name='ds_cpl'/>
@@ -26,7 +24,6 @@
   <feature name='xsave'/>
   <feature name='osxsave'/>
   <feature name='rdrand'/>
-  <feature name='arat'/>
   <feature name='fsgsbase'/>
   <feature name='tsc_adjust'/>
   <feature name='smep'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i5-2500-guest.xml b/tests/cputestdata/x86_64-cpuid-Core-i5-2500-guest.xml
index 22b5cf31fd..5c978b6295 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i5-2500-guest.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i5-2500-guest.xml
@@ -1,7 +1,6 @@
 <cpu mode='custom' match='exact'>
   <model fallback='forbid'>SandyBridge</model>
   <vendor>Intel</vendor>
-  <feature policy='require' name='vme'/>
   <feature policy='require' name='ds'/>
   <feature policy='require' name='acpi'/>
   <feature policy='require' name='ss'/>
@@ -19,7 +18,5 @@
   <feature policy='require' name='pdcm'/>
   <feature policy='require' name='pcid'/>
   <feature policy='require' name='osxsave'/>
-  <feature policy='require' name='arat'/>
-  <feature policy='require' name='xsaveopt'/>
   <feature policy='require' name='invtsc'/>
 </cpu>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i5-2500-host.xml b/tests/cputestdata/x86_64-cpuid-Core-i5-2500-host.xml
index cf8b175db1..a32b335dbe 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i5-2500-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i5-2500-host.xml
@@ -3,7 +3,6 @@
   <model>SandyBridge</model>
   <vendor>Intel</vendor>
   <signature family='6' model='42' stepping='7'/>
-  <feature name='vme'/>
   <feature name='ds'/>
   <feature name='acpi'/>
   <feature name='ss'/>
@@ -21,7 +20,5 @@
   <feature name='pdcm'/>
   <feature name='pcid'/>
   <feature name='osxsave'/>
-  <feature name='arat'/>
-  <feature name='xsaveopt'/>
   <feature name='invtsc'/>
 </cpu>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i5-2500-json.xml b/tests/cputestdata/x86_64-cpuid-Core-i5-2500-json.xml
index c9ae651922..716813d858 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i5-2500-json.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i5-2500-json.xml
@@ -1,11 +1,8 @@
 <cpu mode='custom' match='exact'>
   <model fallback='forbid'>SandyBridge</model>
   <vendor>Intel</vendor>
-  <feature policy='require' name='vme'/>
   <feature policy='require' name='ss'/>
   <feature policy='require' name='pcid'/>
   <feature policy='require' name='hypervisor'/>
-  <feature policy='require' name='arat'/>
   <feature policy='require' name='tsc_adjust'/>
-  <feature policy='require' name='xsaveopt'/>
 </cpu>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i5-2540M-guest.xml b/tests/cputestdata/x86_64-cpuid-Core-i5-2540M-guest.xml
index 22b5cf31fd..5c978b6295 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i5-2540M-guest.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i5-2540M-guest.xml
@@ -1,7 +1,6 @@
 <cpu mode='custom' match='exact'>
   <model fallback='forbid'>SandyBridge</model>
   <vendor>Intel</vendor>
-  <feature policy='require' name='vme'/>
   <feature policy='require' name='ds'/>
   <feature policy='require' name='acpi'/>
   <feature policy='require' name='ss'/>
@@ -19,7 +18,5 @@
   <feature policy='require' name='pdcm'/>
   <feature policy='require' name='pcid'/>
   <feature policy='require' name='osxsave'/>
-  <feature policy='require' name='arat'/>
-  <feature policy='require' name='xsaveopt'/>
   <feature policy='require' name='invtsc'/>
 </cpu>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i5-2540M-host.xml b/tests/cputestdata/x86_64-cpuid-Core-i5-2540M-host.xml
index cf8b175db1..a32b335dbe 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i5-2540M-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i5-2540M-host.xml
@@ -3,7 +3,6 @@
   <model>SandyBridge</model>
   <vendor>Intel</vendor>
   <signature family='6' model='42' stepping='7'/>
-  <feature name='vme'/>
   <feature name='ds'/>
   <feature name='acpi'/>
   <feature name='ss'/>
@@ -21,7 +20,5 @@
   <feature name='pdcm'/>
   <feature name='pcid'/>
   <feature name='osxsave'/>
-  <feature name='arat'/>
-  <feature name='xsaveopt'/>
   <feature name='invtsc'/>
 </cpu>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i5-2540M-json.xml b/tests/cputestdata/x86_64-cpuid-Core-i5-2540M-json.xml
index c9ae651922..716813d858 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i5-2540M-json.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i5-2540M-json.xml
@@ -1,11 +1,8 @@
 <cpu mode='custom' match='exact'>
   <model fallback='forbid'>SandyBridge</model>
   <vendor>Intel</vendor>
-  <feature policy='require' name='vme'/>
   <feature policy='require' name='ss'/>
   <feature policy='require' name='pcid'/>
   <feature policy='require' name='hypervisor'/>
-  <feature policy='require' name='arat'/>
   <feature policy='require' name='tsc_adjust'/>
-  <feature policy='require' name='xsaveopt'/>
 </cpu>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i5-4670T-guest.xml b/tests/cputestdata/x86_64-cpuid-Core-i5-4670T-guest.xml
index 0ccbcd0629..7c0e12daf7 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i5-4670T-guest.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i5-4670T-guest.xml
@@ -1,7 +1,6 @@
 <cpu mode='custom' match='exact'>
   <model fallback='forbid'>Haswell-noTSX</model>
   <vendor>Intel</vendor>
-  <feature policy='require' name='vme'/>
   <feature policy='require' name='ds'/>
   <feature policy='require' name='acpi'/>
   <feature policy='require' name='ss'/>
@@ -18,11 +17,8 @@
   <feature policy='require' name='xtpr'/>
   <feature policy='require' name='pdcm'/>
   <feature policy='require' name='osxsave'/>
-  <feature policy='require' name='f16c'/>
-  <feature policy='require' name='rdrand'/>
-  <feature policy='require' name='arat'/>
   <feature policy='require' name='tsc_adjust'/>
   <feature policy='require' name='pdpe1gb'/>
-  <feature policy='require' name='abm'/>
   <feature policy='require' name='invtsc'/>
+  <feature policy='disable' name='xsaveopt'/>
 </cpu>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i5-4670T-host.xml b/tests/cputestdata/x86_64-cpuid-Core-i5-4670T-host.xml
index 827b16cb69..2b14dd3573 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i5-4670T-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i5-4670T-host.xml
@@ -1,9 +1,8 @@
 <cpu>
   <arch>x86_64</arch>
-  <model>Haswell-noTSX</model>
+  <model>Westmere</model>
   <vendor>Intel</vendor>
   <signature family='6' model='60' stepping='3'/>
-  <feature name='vme'/>
   <feature name='ds'/>
   <feature name='acpi'/>
   <feature name='ss'/>
@@ -17,14 +16,28 @@
   <feature name='smx'/>
   <feature name='est'/>
   <feature name='tm2'/>
+  <feature name='fma'/>
   <feature name='xtpr'/>
   <feature name='pdcm'/>
+  <feature name='pcid'/>
+  <feature name='x2apic'/>
+  <feature name='movbe'/>
+  <feature name='tsc-deadline'/>
+  <feature name='xsave'/>
   <feature name='osxsave'/>
+  <feature name='avx'/>
   <feature name='f16c'/>
   <feature name='rdrand'/>
-  <feature name='arat'/>
+  <feature name='fsgsbase'/>
   <feature name='tsc_adjust'/>
+  <feature name='bmi1'/>
+  <feature name='avx2'/>
+  <feature name='smep'/>
+  <feature name='bmi2'/>
+  <feature name='erms'/>
+  <feature name='invpcid'/>
   <feature name='pdpe1gb'/>
+  <feature name='rdtscp'/>
   <feature name='abm'/>
   <feature name='invtsc'/>
 </cpu>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i5-4670T-json.xml b/tests/cputestdata/x86_64-cpuid-Core-i5-4670T-json.xml
index 489de49fb0..a450168451 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i5-4670T-json.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i5-4670T-json.xml
@@ -1,14 +1,10 @@
 <cpu mode='custom' match='exact'>
   <model fallback='forbid'>Haswell-noTSX</model>
   <vendor>Intel</vendor>
-  <feature policy='require' name='vme'/>
   <feature policy='require' name='ss'/>
   <feature policy='require' name='vmx'/>
-  <feature policy='require' name='f16c'/>
-  <feature policy='require' name='rdrand'/>
   <feature policy='require' name='hypervisor'/>
   <feature policy='require' name='tsc_adjust'/>
-  <feature policy='require' name='xsaveopt'/>
   <feature policy='require' name='pdpe1gb'/>
-  <feature policy='require' name='abm'/>
+  <feature policy='disable' name='arat'/>
 </cpu>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i5-650-guest.xml b/tests/cputestdata/x86_64-cpuid-Core-i5-650-guest.xml
index 1c0d44dc0a..4ab1f51bcd 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i5-650-guest.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i5-650-guest.xml
@@ -1,14 +1,12 @@
 <cpu mode='custom' match='exact'>
   <model fallback='forbid'>Westmere</model>
   <vendor>Intel</vendor>
-  <feature policy='require' name='vme'/>
   <feature policy='require' name='ds'/>
   <feature policy='require' name='acpi'/>
   <feature policy='require' name='ss'/>
   <feature policy='require' name='ht'/>
   <feature policy='require' name='tm'/>
   <feature policy='require' name='pbe'/>
-  <feature policy='require' name='pclmuldq'/>
   <feature policy='require' name='dtes64'/>
   <feature policy='require' name='monitor'/>
   <feature policy='require' name='ds_cpl'/>
@@ -18,7 +16,6 @@
   <feature policy='require' name='tm2'/>
   <feature policy='require' name='xtpr'/>
   <feature policy='require' name='pdcm'/>
-  <feature policy='require' name='arat'/>
   <feature policy='require' name='rdtscp'/>
   <feature policy='require' name='invtsc'/>
 </cpu>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i5-650-host.xml b/tests/cputestdata/x86_64-cpuid-Core-i5-650-host.xml
index 4234c4df5a..90aab1e0eb 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i5-650-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i5-650-host.xml
@@ -3,14 +3,12 @@
   <model>Westmere</model>
   <vendor>Intel</vendor>
   <signature family='6' model='37' stepping='2'/>
-  <feature name='vme'/>
   <feature name='ds'/>
   <feature name='acpi'/>
   <feature name='ss'/>
   <feature name='ht'/>
   <feature name='tm'/>
   <feature name='pbe'/>
-  <feature name='pclmuldq'/>
   <feature name='dtes64'/>
   <feature name='monitor'/>
   <feature name='ds_cpl'/>
@@ -20,7 +18,6 @@
   <feature name='tm2'/>
   <feature name='xtpr'/>
   <feature name='pdcm'/>
-  <feature name='arat'/>
   <feature name='rdtscp'/>
   <feature name='invtsc'/>
 </cpu>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i5-650-json.xml b/tests/cputestdata/x86_64-cpuid-Core-i5-650-json.xml
index cb21e48a9f..729e4d98b3 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i5-650-json.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i5-650-json.xml
@@ -1,13 +1,10 @@
 <cpu mode='custom' match='exact'>
   <model fallback='forbid'>Westmere</model>
   <vendor>Intel</vendor>
-  <feature policy='require' name='vme'/>
   <feature policy='require' name='ss'/>
-  <feature policy='require' name='pclmuldq'/>
   <feature policy='require' name='x2apic'/>
   <feature policy='require' name='tsc-deadline'/>
   <feature policy='require' name='hypervisor'/>
-  <feature policy='require' name='arat'/>
   <feature policy='require' name='tsc_adjust'/>
   <feature policy='require' name='rdtscp'/>
 </cpu>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i5-6600-guest.xml b/tests/cputestdata/x86_64-cpuid-Core-i5-6600-guest.xml
index 5777a0bfba..823494afa0 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i5-6600-guest.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i5-6600-guest.xml
@@ -18,6 +18,7 @@
   <feature policy='require' name='pdcm'/>
   <feature policy='require' name='osxsave'/>
   <feature policy='require' name='tsc_adjust'/>
+  <feature policy='require' name='mpx'/>
   <feature policy='require' name='clflushopt'/>
   <feature policy='require' name='intel-pt'/>
   <feature policy='require' name='xsaves'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i5-6600-host.xml b/tests/cputestdata/x86_64-cpuid-Core-i5-6600-host.xml
index c52e8db235..3511230df8 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i5-6600-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i5-6600-host.xml
@@ -20,6 +20,7 @@
   <feature name='pdcm'/>
   <feature name='osxsave'/>
   <feature name='tsc_adjust'/>
+  <feature name='mpx'/>
   <feature name='clflushopt'/>
   <feature name='intel-pt'/>
   <feature name='xsaves'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i5-6600-json.xml b/tests/cputestdata/x86_64-cpuid-Core-i5-6600-json.xml
index 61a52212a6..46111d8616 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i5-6600-json.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i5-6600-json.xml
@@ -4,6 +4,7 @@
   <feature policy='require' name='ss'/>
   <feature policy='require' name='hypervisor'/>
   <feature policy='require' name='tsc_adjust'/>
+  <feature policy='require' name='mpx'/>
   <feature policy='require' name='clflushopt'/>
   <feature policy='require' name='xsaves'/>
   <feature policy='require' name='pdpe1gb'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-2600-guest.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-2600-guest.xml
index 22b5cf31fd..5c978b6295 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i7-2600-guest.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-2600-guest.xml
@@ -1,7 +1,6 @@
 <cpu mode='custom' match='exact'>
   <model fallback='forbid'>SandyBridge</model>
   <vendor>Intel</vendor>
-  <feature policy='require' name='vme'/>
   <feature policy='require' name='ds'/>
   <feature policy='require' name='acpi'/>
   <feature policy='require' name='ss'/>
@@ -19,7 +18,5 @@
   <feature policy='require' name='pdcm'/>
   <feature policy='require' name='pcid'/>
   <feature policy='require' name='osxsave'/>
-  <feature policy='require' name='arat'/>
-  <feature policy='require' name='xsaveopt'/>
   <feature policy='require' name='invtsc'/>
 </cpu>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-2600-host.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-2600-host.xml
index cf8b175db1..a32b335dbe 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i7-2600-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-2600-host.xml
@@ -3,7 +3,6 @@
   <model>SandyBridge</model>
   <vendor>Intel</vendor>
   <signature family='6' model='42' stepping='7'/>
-  <feature name='vme'/>
   <feature name='ds'/>
   <feature name='acpi'/>
   <feature name='ss'/>
@@ -21,7 +20,5 @@
   <feature name='pdcm'/>
   <feature name='pcid'/>
   <feature name='osxsave'/>
-  <feature name='arat'/>
-  <feature name='xsaveopt'/>
   <feature name='invtsc'/>
 </cpu>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-2600-json.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-2600-json.xml
index c9ae651922..716813d858 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i7-2600-json.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-2600-json.xml
@@ -1,11 +1,8 @@
 <cpu mode='custom' match='exact'>
   <model fallback='forbid'>SandyBridge</model>
   <vendor>Intel</vendor>
-  <feature policy='require' name='vme'/>
   <feature policy='require' name='ss'/>
   <feature policy='require' name='pcid'/>
   <feature policy='require' name='hypervisor'/>
-  <feature policy='require' name='arat'/>
   <feature policy='require' name='tsc_adjust'/>
-  <feature policy='require' name='xsaveopt'/>
 </cpu>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-2600-xsaveopt-guest.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-2600-xsaveopt-guest.xml
index 9bb60009e8..893bbcb4f2 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i7-2600-xsaveopt-guest.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-2600-xsaveopt-guest.xml
@@ -1,7 +1,6 @@
 <cpu mode='custom' match='exact'>
   <model fallback='forbid'>SandyBridge</model>
   <vendor>Intel</vendor>
-  <feature policy='require' name='vme'/>
   <feature policy='require' name='ds'/>
   <feature policy='require' name='acpi'/>
   <feature policy='require' name='ss'/>
@@ -19,7 +18,6 @@
   <feature policy='require' name='pdcm'/>
   <feature policy='require' name='pcid'/>
   <feature policy='require' name='osxsave'/>
-  <feature policy='require' name='arat'/>
   <feature policy='require' name='invtsc'/>
   <feature policy='disable' name='xsaveopt'/>
 </cpu>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-2600-xsaveopt-host.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-2600-xsaveopt-host.xml
index adcc4b86c5..96c7c14d9f 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i7-2600-xsaveopt-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-2600-xsaveopt-host.xml
@@ -1,9 +1,8 @@
 <cpu>
   <arch>x86_64</arch>
-  <model>SandyBridge</model>
+  <model>Westmere</model>
   <vendor>Intel</vendor>
   <signature family='6' model='42' stepping='7'/>
-  <feature name='vme'/>
   <feature name='ds'/>
   <feature name='acpi'/>
   <feature name='ss'/>
@@ -20,7 +19,11 @@
   <feature name='xtpr'/>
   <feature name='pdcm'/>
   <feature name='pcid'/>
+  <feature name='x2apic'/>
+  <feature name='tsc-deadline'/>
+  <feature name='xsave'/>
   <feature name='osxsave'/>
-  <feature name='arat'/>
+  <feature name='avx'/>
+  <feature name='rdtscp'/>
   <feature name='invtsc'/>
 </cpu>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-2600-xsaveopt-json.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-2600-xsaveopt-json.xml
index 3a799052e7..26787052bb 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i7-2600-xsaveopt-json.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-2600-xsaveopt-json.xml
@@ -1,11 +1,9 @@
 <cpu mode='custom' match='exact'>
   <model fallback='forbid'>SandyBridge</model>
   <vendor>Intel</vendor>
-  <feature policy='require' name='vme'/>
   <feature policy='require' name='ss'/>
   <feature policy='require' name='pcid'/>
   <feature policy='require' name='hypervisor'/>
-  <feature policy='require' name='arat'/>
   <feature policy='require' name='tsc_adjust'/>
   <feature policy='disable' name='xsaveopt'/>
 </cpu>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-3520M-guest.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-3520M-guest.xml
index fa1a43a8a4..3a8e572f4a 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i7-3520M-guest.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-3520M-guest.xml
@@ -18,7 +18,5 @@
   <feature policy='require' name='pdcm'/>
   <feature policy='require' name='pcid'/>
   <feature policy='require' name='osxsave'/>
-  <feature policy='require' name='arat'/>
-  <feature policy='require' name='xsaveopt'/>
   <feature policy='require' name='invtsc'/>
 </cpu>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-3520M-host.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-3520M-host.xml
index 94352ee8bf..4de8a5afc3 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i7-3520M-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-3520M-host.xml
@@ -20,7 +20,5 @@
   <feature name='pdcm'/>
   <feature name='pcid'/>
   <feature name='osxsave'/>
-  <feature name='arat'/>
-  <feature name='xsaveopt'/>
   <feature name='invtsc'/>
 </cpu>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-3740QM-guest.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-3740QM-guest.xml
index d52f49d30a..817e469ded 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i7-3740QM-guest.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-3740QM-guest.xml
@@ -18,6 +18,6 @@
   <feature policy='require' name='pdcm'/>
   <feature policy='require' name='pcid'/>
   <feature policy='require' name='osxsave'/>
-  <feature policy='require' name='arat'/>
   <feature policy='require' name='invtsc'/>
+  <feature policy='disable' name='xsaveopt'/>
 </cpu>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-3740QM-host.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-3740QM-host.xml
index e2503cd35c..de9eb7f6c4 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i7-3740QM-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-3740QM-host.xml
@@ -1,6 +1,6 @@
 <cpu>
   <arch>x86_64</arch>
-  <model>IvyBridge</model>
+  <model>Westmere</model>
   <vendor>Intel</vendor>
   <signature family='6' model='58' stepping='9'/>
   <feature name='ds'/>
@@ -19,7 +19,16 @@
   <feature name='xtpr'/>
   <feature name='pdcm'/>
   <feature name='pcid'/>
+  <feature name='x2apic'/>
+  <feature name='tsc-deadline'/>
+  <feature name='xsave'/>
   <feature name='osxsave'/>
-  <feature name='arat'/>
+  <feature name='avx'/>
+  <feature name='f16c'/>
+  <feature name='rdrand'/>
+  <feature name='fsgsbase'/>
+  <feature name='smep'/>
+  <feature name='erms'/>
+  <feature name='rdtscp'/>
   <feature name='invtsc'/>
 </cpu>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-3740QM-json.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-3740QM-json.xml
index 60086b8b14..a3a7d0d2b2 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i7-3740QM-json.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-3740QM-json.xml
@@ -6,5 +6,5 @@
   <feature policy='require' name='pcid'/>
   <feature policy='require' name='hypervisor'/>
   <feature policy='require' name='tsc_adjust'/>
-  <feature policy='require' name='xsaveopt'/>
+  <feature policy='disable' name='arat'/>
 </cpu>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-3770-guest.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-3770-guest.xml
index fa1a43a8a4..3a8e572f4a 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i7-3770-guest.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-3770-guest.xml
@@ -18,7 +18,5 @@
   <feature policy='require' name='pdcm'/>
   <feature policy='require' name='pcid'/>
   <feature policy='require' name='osxsave'/>
-  <feature policy='require' name='arat'/>
-  <feature policy='require' name='xsaveopt'/>
   <feature policy='require' name='invtsc'/>
 </cpu>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-3770-host.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-3770-host.xml
index 94352ee8bf..4de8a5afc3 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i7-3770-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-3770-host.xml
@@ -20,7 +20,5 @@
   <feature name='pdcm'/>
   <feature name='pcid'/>
   <feature name='osxsave'/>
-  <feature name='arat'/>
-  <feature name='xsaveopt'/>
   <feature name='invtsc'/>
 </cpu>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-3770-json.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-3770-json.xml
index 1dc866dba1..0b98a6783f 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i7-3770-json.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-3770-json.xml
@@ -5,5 +5,5 @@
   <feature policy='require' name='pcid'/>
   <feature policy='require' name='hypervisor'/>
   <feature policy='require' name='tsc_adjust'/>
-  <feature policy='require' name='xsaveopt'/>
+  <feature policy='disable' name='arat'/>
 </cpu>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-4510U-guest.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-4510U-guest.xml
index bcce4ece11..79f40a3b03 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i7-4510U-guest.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-4510U-guest.xml
@@ -1,7 +1,6 @@
 <cpu mode='custom' match='exact'>
   <model fallback='forbid'>Haswell-noTSX</model>
   <vendor>Intel</vendor>
-  <feature policy='require' name='vme'/>
   <feature policy='require' name='ds'/>
   <feature policy='require' name='acpi'/>
   <feature policy='require' name='ss'/>
@@ -17,13 +16,8 @@
   <feature policy='require' name='xtpr'/>
   <feature policy='require' name='pdcm'/>
   <feature policy='require' name='osxsave'/>
-  <feature policy='require' name='f16c'/>
-  <feature policy='require' name='rdrand'/>
-  <feature policy='require' name='arat'/>
   <feature policy='require' name='tsc_adjust'/>
-  <feature policy='require' name='xsaveopt'/>
   <feature policy='require' name='pdpe1gb'/>
-  <feature policy='require' name='abm'/>
   <feature policy='require' name='invtsc'/>
   <feature policy='disable' name='x2apic'/>
 </cpu>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-4510U-host.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-4510U-host.xml
index a6307e834e..6b752f2a9b 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i7-4510U-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-4510U-host.xml
@@ -3,14 +3,12 @@
   <model>Westmere</model>
   <vendor>Intel</vendor>
   <signature family='6' model='69' stepping='1'/>
-  <feature name='vme'/>
   <feature name='ds'/>
   <feature name='acpi'/>
   <feature name='ss'/>
   <feature name='ht'/>
   <feature name='tm'/>
   <feature name='pbe'/>
-  <feature name='pclmuldq'/>
   <feature name='dtes64'/>
   <feature name='monitor'/>
   <feature name='ds_cpl'/>
@@ -28,7 +26,6 @@
   <feature name='avx'/>
   <feature name='f16c'/>
   <feature name='rdrand'/>
-  <feature name='arat'/>
   <feature name='fsgsbase'/>
   <feature name='tsc_adjust'/>
   <feature name='bmi1'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-4510U-json.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-4510U-json.xml
index 3ca3b0f243..11016a317d 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i7-4510U-json.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-4510U-json.xml
@@ -1,15 +1,9 @@
 <cpu mode='custom' match='exact'>
   <model fallback='forbid'>Haswell-noTSX</model>
   <vendor>Intel</vendor>
-  <feature policy='require' name='vme'/>
   <feature policy='require' name='ss'/>
   <feature policy='require' name='vmx'/>
-  <feature policy='require' name='f16c'/>
-  <feature policy='require' name='rdrand'/>
   <feature policy='require' name='hypervisor'/>
-  <feature policy='require' name='arat'/>
   <feature policy='require' name='tsc_adjust'/>
-  <feature policy='require' name='xsaveopt'/>
   <feature policy='require' name='pdpe1gb'/>
-  <feature policy='require' name='abm'/>
 </cpu>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-4600U-guest.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-4600U-guest.xml
index 42e7c90112..beec659db7 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i7-4600U-guest.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-4600U-guest.xml
@@ -1,7 +1,6 @@
 <cpu mode='custom' match='exact'>
   <model fallback='forbid'>Haswell-noTSX</model>
   <vendor>Intel</vendor>
-  <feature policy='require' name='vme'/>
   <feature policy='require' name='ds'/>
   <feature policy='require' name='acpi'/>
   <feature policy='require' name='ss'/>
@@ -18,12 +17,7 @@
   <feature policy='require' name='xtpr'/>
   <feature policy='require' name='pdcm'/>
   <feature policy='require' name='osxsave'/>
-  <feature policy='require' name='f16c'/>
-  <feature policy='require' name='rdrand'/>
-  <feature policy='require' name='arat'/>
   <feature policy='require' name='tsc_adjust'/>
-  <feature policy='require' name='xsaveopt'/>
   <feature policy='require' name='pdpe1gb'/>
-  <feature policy='require' name='abm'/>
   <feature policy='require' name='invtsc'/>
 </cpu>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-4600U-host.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-4600U-host.xml
index 8bbac47a2e..1e3bb3fd5f 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i7-4600U-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-4600U-host.xml
@@ -3,7 +3,6 @@
   <model>Haswell-noTSX</model>
   <vendor>Intel</vendor>
   <signature family='6' model='69' stepping='1'/>
-  <feature name='vme'/>
   <feature name='ds'/>
   <feature name='acpi'/>
   <feature name='ss'/>
@@ -20,12 +19,7 @@
   <feature name='xtpr'/>
   <feature name='pdcm'/>
   <feature name='osxsave'/>
-  <feature name='f16c'/>
-  <feature name='rdrand'/>
-  <feature name='arat'/>
   <feature name='tsc_adjust'/>
-  <feature name='xsaveopt'/>
   <feature name='pdpe1gb'/>
-  <feature name='abm'/>
   <feature name='invtsc'/>
 </cpu>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-4600U-json.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-4600U-json.xml
index 3ca3b0f243..11016a317d 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i7-4600U-json.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-4600U-json.xml
@@ -1,15 +1,9 @@
 <cpu mode='custom' match='exact'>
   <model fallback='forbid'>Haswell-noTSX</model>
   <vendor>Intel</vendor>
-  <feature policy='require' name='vme'/>
   <feature policy='require' name='ss'/>
   <feature policy='require' name='vmx'/>
-  <feature policy='require' name='f16c'/>
-  <feature policy='require' name='rdrand'/>
   <feature policy='require' name='hypervisor'/>
-  <feature policy='require' name='arat'/>
   <feature policy='require' name='tsc_adjust'/>
-  <feature policy='require' name='xsaveopt'/>
   <feature policy='require' name='pdpe1gb'/>
-  <feature policy='require' name='abm'/>
 </cpu>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-arat-guest.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-arat-guest.xml
index e825e2a0fb..1eab9af508 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-arat-guest.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-arat-guest.xml
@@ -1,7 +1,6 @@
 <cpu mode='custom' match='exact'>
   <model fallback='forbid'>Broadwell</model>
   <vendor>Intel</vendor>
-  <feature policy='require' name='vme'/>
   <feature policy='require' name='ds'/>
   <feature policy='require' name='acpi'/>
   <feature policy='require' name='ss'/>
@@ -18,13 +17,8 @@
   <feature policy='require' name='xtpr'/>
   <feature policy='require' name='pdcm'/>
   <feature policy='require' name='osxsave'/>
-  <feature policy='require' name='f16c'/>
-  <feature policy='require' name='rdrand'/>
-  <feature policy='require' name='arat'/>
   <feature policy='require' name='tsc_adjust'/>
   <feature policy='require' name='intel-pt'/>
-  <feature policy='require' name='xsaveopt'/>
   <feature policy='require' name='pdpe1gb'/>
-  <feature policy='require' name='abm'/>
   <feature policy='require' name='invtsc'/>
 </cpu>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-arat-host.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-arat-host.xml
index b39148f37f..375411761f 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-arat-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-arat-host.xml
@@ -3,7 +3,6 @@
   <model>Broadwell</model>
   <vendor>Intel</vendor>
   <signature family='6' model='61' stepping='4'/>
-  <feature name='vme'/>
   <feature name='ds'/>
   <feature name='acpi'/>
   <feature name='ss'/>
@@ -20,13 +19,8 @@
   <feature name='xtpr'/>
   <feature name='pdcm'/>
   <feature name='osxsave'/>
-  <feature name='f16c'/>
-  <feature name='rdrand'/>
-  <feature name='arat'/>
   <feature name='tsc_adjust'/>
   <feature name='intel-pt'/>
-  <feature name='xsaveopt'/>
   <feature name='pdpe1gb'/>
-  <feature name='abm'/>
   <feature name='invtsc'/>
 </cpu>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-arat-json.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-arat-json.xml
index 4f253fc08a..8d58da5923 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-arat-json.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-arat-json.xml
@@ -1,14 +1,10 @@
 <cpu mode='custom' match='exact'>
   <model fallback='forbid'>Broadwell</model>
   <vendor>Intel</vendor>
-  <feature policy='require' name='vme'/>
   <feature policy='require' name='ss'/>
   <feature policy='require' name='vmx'/>
-  <feature policy='require' name='f16c'/>
-  <feature policy='require' name='rdrand'/>
   <feature policy='require' name='hypervisor'/>
   <feature policy='require' name='tsc_adjust'/>
-  <feature policy='require' name='xsaveopt'/>
   <feature policy='require' name='pdpe1gb'/>
-  <feature policy='require' name='abm'/>
+  <feature policy='disable' name='arat'/>
 </cpu>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-guest.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-guest.xml
index e825e2a0fb..1eab9af508 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-guest.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-guest.xml
@@ -1,7 +1,6 @@
 <cpu mode='custom' match='exact'>
   <model fallback='forbid'>Broadwell</model>
   <vendor>Intel</vendor>
-  <feature policy='require' name='vme'/>
   <feature policy='require' name='ds'/>
   <feature policy='require' name='acpi'/>
   <feature policy='require' name='ss'/>
@@ -18,13 +17,8 @@
   <feature policy='require' name='xtpr'/>
   <feature policy='require' name='pdcm'/>
   <feature policy='require' name='osxsave'/>
-  <feature policy='require' name='f16c'/>
-  <feature policy='require' name='rdrand'/>
-  <feature policy='require' name='arat'/>
   <feature policy='require' name='tsc_adjust'/>
   <feature policy='require' name='intel-pt'/>
-  <feature policy='require' name='xsaveopt'/>
   <feature policy='require' name='pdpe1gb'/>
-  <feature policy='require' name='abm'/>
   <feature policy='require' name='invtsc'/>
 </cpu>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-host.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-host.xml
index b39148f37f..375411761f 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-host.xml
@@ -3,7 +3,6 @@
   <model>Broadwell</model>
   <vendor>Intel</vendor>
   <signature family='6' model='61' stepping='4'/>
-  <feature name='vme'/>
   <feature name='ds'/>
   <feature name='acpi'/>
   <feature name='ss'/>
@@ -20,13 +19,8 @@
   <feature name='xtpr'/>
   <feature name='pdcm'/>
   <feature name='osxsave'/>
-  <feature name='f16c'/>
-  <feature name='rdrand'/>
-  <feature name='arat'/>
   <feature name='tsc_adjust'/>
   <feature name='intel-pt'/>
-  <feature name='xsaveopt'/>
   <feature name='pdpe1gb'/>
-  <feature name='abm'/>
   <feature name='invtsc'/>
 </cpu>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-ibrs-guest.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-ibrs-guest.xml
index 5d3093cec1..beaf392ed9 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-ibrs-guest.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-ibrs-guest.xml
@@ -1,7 +1,6 @@
 <cpu mode='custom' match='exact'>
   <model fallback='forbid'>Broadwell-IBRS</model>
   <vendor>Intel</vendor>
-  <feature policy='require' name='vme'/>
   <feature policy='require' name='ds'/>
   <feature policy='require' name='acpi'/>
   <feature policy='require' name='ss'/>
@@ -18,14 +17,9 @@
   <feature policy='require' name='xtpr'/>
   <feature policy='require' name='pdcm'/>
   <feature policy='require' name='osxsave'/>
-  <feature policy='require' name='f16c'/>
-  <feature policy='require' name='rdrand'/>
-  <feature policy='require' name='arat'/>
   <feature policy='require' name='tsc_adjust'/>
   <feature policy='require' name='intel-pt'/>
   <feature policy='require' name='stibp'/>
-  <feature policy='require' name='xsaveopt'/>
   <feature policy='require' name='pdpe1gb'/>
-  <feature policy='require' name='abm'/>
   <feature policy='require' name='invtsc'/>
 </cpu>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-ibrs-host.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-ibrs-host.xml
index 2ab8890464..0559b556c1 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-ibrs-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-ibrs-host.xml
@@ -3,7 +3,6 @@
   <model>Broadwell-IBRS</model>
   <vendor>Intel</vendor>
   <signature family='6' model='61' stepping='4'/>
-  <feature name='vme'/>
   <feature name='ds'/>
   <feature name='acpi'/>
   <feature name='ss'/>
@@ -20,14 +19,9 @@
   <feature name='xtpr'/>
   <feature name='pdcm'/>
   <feature name='osxsave'/>
-  <feature name='f16c'/>
-  <feature name='rdrand'/>
-  <feature name='arat'/>
   <feature name='tsc_adjust'/>
   <feature name='intel-pt'/>
   <feature name='stibp'/>
-  <feature name='xsaveopt'/>
   <feature name='pdpe1gb'/>
-  <feature name='abm'/>
   <feature name='invtsc'/>
 </cpu>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-ibrs-json.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-ibrs-json.xml
index a736cdfb04..a8f6892741 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-ibrs-json.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-ibrs-json.xml
@@ -1,15 +1,9 @@
 <cpu mode='custom' match='exact'>
   <model fallback='forbid'>Broadwell</model>
   <vendor>Intel</vendor>
-  <feature policy='require' name='vme'/>
   <feature policy='require' name='ss'/>
   <feature policy='require' name='vmx'/>
-  <feature policy='require' name='f16c'/>
-  <feature policy='require' name='rdrand'/>
   <feature policy='require' name='hypervisor'/>
-  <feature policy='require' name='arat'/>
   <feature policy='require' name='tsc_adjust'/>
-  <feature policy='require' name='xsaveopt'/>
   <feature policy='require' name='pdpe1gb'/>
-  <feature policy='require' name='abm'/>
 </cpu>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-json.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-json.xml
index a736cdfb04..a8f6892741 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-json.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-json.xml
@@ -1,15 +1,9 @@
 <cpu mode='custom' match='exact'>
   <model fallback='forbid'>Broadwell</model>
   <vendor>Intel</vendor>
-  <feature policy='require' name='vme'/>
   <feature policy='require' name='ss'/>
   <feature policy='require' name='vmx'/>
-  <feature policy='require' name='f16c'/>
-  <feature policy='require' name='rdrand'/>
   <feature policy='require' name='hypervisor'/>
-  <feature policy='require' name='arat'/>
   <feature policy='require' name='tsc_adjust'/>
-  <feature policy='require' name='xsaveopt'/>
   <feature policy='require' name='pdpe1gb'/>
-  <feature policy='require' name='abm'/>
 </cpu>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-7600U-guest.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-7600U-guest.xml
index b6e643cd08..711ccfc3ca 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i7-7600U-guest.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-7600U-guest.xml
@@ -19,6 +19,7 @@
   <feature policy='require' name='osxsave'/>
   <feature policy='require' name='tsc_adjust'/>
   <feature policy='require' name='sgx'/>
+  <feature policy='require' name='mpx'/>
   <feature policy='require' name='clflushopt'/>
   <feature policy='require' name='intel-pt'/>
   <feature policy='require' name='stibp'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-7600U-host.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-7600U-host.xml
index 2a7493f941..735c9417ba 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i7-7600U-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-7600U-host.xml
@@ -21,6 +21,7 @@
   <feature name='osxsave'/>
   <feature name='tsc_adjust'/>
   <feature name='sgx'/>
+  <feature name='mpx'/>
   <feature name='clflushopt'/>
   <feature name='intel-pt'/>
   <feature name='stibp'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-7600U-json.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-7600U-json.xml
index 690081493b..068ea0fbb7 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i7-7600U-json.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-7600U-json.xml
@@ -5,6 +5,7 @@
   <feature policy='require' name='vmx'/>
   <feature policy='require' name='hypervisor'/>
   <feature policy='require' name='tsc_adjust'/>
+  <feature policy='require' name='mpx'/>
   <feature policy='require' name='clflushopt'/>
   <feature policy='require' name='umip'/>
   <feature policy='require' name='ssbd'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-7700-guest.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-7700-guest.xml
index 60bace9ed6..4f5c4103b4 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i7-7700-guest.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-7700-guest.xml
@@ -19,6 +19,7 @@
   <feature policy='require' name='osxsave'/>
   <feature policy='require' name='tsc_adjust'/>
   <feature policy='require' name='sgx'/>
+  <feature policy='require' name='mpx'/>
   <feature policy='require' name='clflushopt'/>
   <feature policy='require' name='intel-pt'/>
   <feature policy='require' name='xsaves'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-7700-host.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-7700-host.xml
index 6b9323842a..ae8f3e277a 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i7-7700-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-7700-host.xml
@@ -21,6 +21,7 @@
   <feature name='osxsave'/>
   <feature name='tsc_adjust'/>
   <feature name='sgx'/>
+  <feature name='mpx'/>
   <feature name='clflushopt'/>
   <feature name='intel-pt'/>
   <feature name='xsaves'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-7700-json.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-7700-json.xml
index 12424bc67c..cbdde0ff15 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i7-7700-json.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-7700-json.xml
@@ -4,6 +4,7 @@
   <feature policy='require' name='ss'/>
   <feature policy='require' name='hypervisor'/>
   <feature policy='require' name='tsc_adjust'/>
+  <feature policy='require' name='mpx'/>
   <feature policy='require' name='clflushopt'/>
   <feature policy='require' name='pdpe1gb'/>
 </cpu>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-8550U-guest.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-8550U-guest.xml
index 5ed8ac37a3..90d6e53d3a 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i7-8550U-guest.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-8550U-guest.xml
@@ -1,5 +1,5 @@
 <cpu mode='custom' match='exact'>
-  <model fallback='forbid'>Skylake-Client-IBRS</model>
+  <model fallback='forbid'>Skylake-Client-noTSX-IBRS</model>
   <vendor>Intel</vendor>
   <feature policy='require' name='ds'/>
   <feature policy='require' name='acpi'/>
@@ -18,6 +18,7 @@
   <feature policy='require' name='osxsave'/>
   <feature policy='require' name='tsc_adjust'/>
   <feature policy='require' name='sgx'/>
+  <feature policy='require' name='mpx'/>
   <feature policy='require' name='clflushopt'/>
   <feature policy='require' name='intel-pt'/>
   <feature policy='require' name='md-clear'/>
@@ -29,6 +30,4 @@
   <feature policy='require' name='invtsc'/>
   <feature policy='require' name='skip-l1dfl-vmentry'/>
   <feature policy='require' name='pschange-mc-no'/>
-  <feature policy='disable' name='hle'/>
-  <feature policy='disable' name='rtm'/>
 </cpu>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-8550U-host.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-8550U-host.xml
index 805a31411d..5bcc9af876 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i7-8550U-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-8550U-host.xml
@@ -1,6 +1,6 @@
 <cpu>
   <arch>x86_64</arch>
-  <model>Skylake-Client-noTSX-IBRS</model>
+  <model>Skylake-Client-v4</model>
   <vendor>Intel</vendor>
   <signature family='6' model='142' stepping='10'/>
   <feature name='ds'/>
@@ -20,13 +20,13 @@
   <feature name='osxsave'/>
   <feature name='tsc_adjust'/>
   <feature name='sgx'/>
+  <feature name='mpx'/>
   <feature name='clflushopt'/>
   <feature name='intel-pt'/>
   <feature name='md-clear'/>
   <feature name='stibp'/>
   <feature name='flush-l1d'/>
   <feature name='ssbd'/>
-  <feature name='xsaves'/>
   <feature name='pdpe1gb'/>
   <feature name='invtsc'/>
   <feature name='skip-l1dfl-vmentry'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-8550U-json.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-8550U-json.xml
index 4774d39c7e..a054ea0d27 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i7-8550U-json.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-8550U-json.xml
@@ -1,10 +1,11 @@
 <cpu mode='custom' match='exact'>
-  <model fallback='forbid'>Skylake-Client-IBRS</model>
+  <model fallback='forbid'>Skylake-Client-noTSX-IBRS</model>
   <vendor>Intel</vendor>
   <feature policy='require' name='ss'/>
   <feature policy='require' name='vmx'/>
   <feature policy='require' name='hypervisor'/>
   <feature policy='require' name='tsc_adjust'/>
+  <feature policy='require' name='mpx'/>
   <feature policy='require' name='clflushopt'/>
   <feature policy='require' name='umip'/>
   <feature policy='require' name='md-clear'/>
@@ -15,6 +16,4 @@
   <feature policy='require' name='pdpe1gb'/>
   <feature policy='require' name='skip-l1dfl-vmentry'/>
   <feature policy='require' name='pschange-mc-no'/>
-  <feature policy='disable' name='hle'/>
-  <feature policy='disable' name='rtm'/>
 </cpu>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-8700-guest.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-8700-guest.xml
index 6cedb93633..2d96f676ee 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i7-8700-guest.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-8700-guest.xml
@@ -19,6 +19,7 @@
   <feature policy='require' name='osxsave'/>
   <feature policy='require' name='tsc_adjust'/>
   <feature policy='require' name='sgx'/>
+  <feature policy='require' name='mpx'/>
   <feature policy='require' name='clflushopt'/>
   <feature policy='require' name='intel-pt'/>
   <feature policy='require' name='sgxlc'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-8700-host.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-8700-host.xml
index 0cc65b4322..cc9a9efa76 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i7-8700-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-8700-host.xml
@@ -21,6 +21,7 @@
   <feature name='osxsave'/>
   <feature name='tsc_adjust'/>
   <feature name='sgx'/>
+  <feature name='mpx'/>
   <feature name='clflushopt'/>
   <feature name='intel-pt'/>
   <feature name='sgxlc'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-8700-json.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-8700-json.xml
index fd7539f7ce..a6f64f2020 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i7-8700-json.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-8700-json.xml
@@ -4,6 +4,7 @@
   <feature policy='require' name='ss'/>
   <feature policy='require' name='hypervisor'/>
   <feature policy='require' name='tsc_adjust'/>
+  <feature policy='require' name='mpx'/>
   <feature policy='require' name='clflushopt'/>
   <feature policy='require' name='umip'/>
   <feature policy='require' name='ssbd'/>
diff --git a/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-ibpb-json.xml b/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-ibpb-json.xml
index 69dd1d9a87..e7c48d93cb 100644
--- a/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-ibpb-json.xml
+++ b/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-ibpb-json.xml
@@ -8,5 +8,4 @@
   <feature policy='require' name='cmp_legacy'/>
   <feature policy='disable' name='rdtscp'/>
   <feature policy='disable' name='svm'/>
-  <feature policy='disable' name='monitor'/>
 </cpu>
diff --git a/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-json.xml b/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-json.xml
index 214916cdf8..9c1864c330 100644
--- a/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-json.xml
+++ b/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-json.xml
@@ -7,5 +7,4 @@
   <feature policy='require' name='tsc_adjust'/>
   <feature policy='require' name='cmp_legacy'/>
   <feature policy='disable' name='svm'/>
-  <feature policy='disable' name='monitor'/>
 </cpu>
diff --git a/tests/cputestdata/x86_64-cpuid-Hygon-C86-7185-32-core-json.xml b/tests/cputestdata/x86_64-cpuid-Hygon-C86-7185-32-core-json.xml
index 2ff92e2c15..0ea4877e9d 100644
--- a/tests/cputestdata/x86_64-cpuid-Hygon-C86-7185-32-core-json.xml
+++ b/tests/cputestdata/x86_64-cpuid-Hygon-C86-7185-32-core-json.xml
@@ -1,5 +1,5 @@
 <cpu mode='custom' match='exact'>
-  <model fallback='forbid'>Dhyana-v2</model>
+  <model fallback='forbid'>Dhyana</model>
   <vendor>Hygon</vendor>
   <feature policy='require' name='x2apic'/>
   <feature policy='require' name='tsc-deadline'/>
@@ -7,6 +7,5 @@
   <feature policy='require' name='tsc_adjust'/>
   <feature policy='require' name='cmp_legacy'/>
   <feature policy='require' name='virt-ssbd'/>
-  <feature policy='disable' name='xsaves'/>
   <feature policy='disable' name='svm'/>
 </cpu>
diff --git a/tests/cputestdata/x86_64-cpuid-Ice-Lake-Server-guest.xml b/tests/cputestdata/x86_64-cpuid-Ice-Lake-Server-guest.xml
index 38d95680d3..7c125bbd9a 100644
--- a/tests/cputestdata/x86_64-cpuid-Ice-Lake-Server-guest.xml
+++ b/tests/cputestdata/x86_64-cpuid-Ice-Lake-Server-guest.xml
@@ -21,6 +21,7 @@
   <feature policy='require' name='tsc_adjust'/>
   <feature policy='require' name='sgx'/>
   <feature policy='require' name='cmt'/>
+  <feature policy='require' name='mpx'/>
   <feature policy='require' name='avx512ifma'/>
   <feature policy='require' name='intel-pt'/>
   <feature policy='require' name='sha-ni'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Ice-Lake-Server-host.xml b/tests/cputestdata/x86_64-cpuid-Ice-Lake-Server-host.xml
index ccb74f41ef..54628b7a01 100644
--- a/tests/cputestdata/x86_64-cpuid-Ice-Lake-Server-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Ice-Lake-Server-host.xml
@@ -23,6 +23,7 @@
   <feature name='tsc_adjust'/>
   <feature name='sgx'/>
   <feature name='cmt'/>
+  <feature name='mpx'/>
   <feature name='avx512ifma'/>
   <feature name='intel-pt'/>
   <feature name='sha-ni'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Ice-Lake-Server-json.xml b/tests/cputestdata/x86_64-cpuid-Ice-Lake-Server-json.xml
index ada11d2608..2c7fd79873 100644
--- a/tests/cputestdata/x86_64-cpuid-Ice-Lake-Server-json.xml
+++ b/tests/cputestdata/x86_64-cpuid-Ice-Lake-Server-json.xml
@@ -4,6 +4,7 @@
   <feature policy='require' name='ss'/>
   <feature policy='require' name='hypervisor'/>
   <feature policy='require' name='tsc_adjust'/>
+  <feature policy='require' name='mpx'/>
   <feature policy='require' name='avx512ifma'/>
   <feature policy='require' name='sha-ni'/>
   <feature policy='require' name='stibp'/>
@@ -12,5 +13,4 @@
   <feature policy='require' name='rdctl-no'/>
   <feature policy='require' name='ibrs-all'/>
   <feature policy='require' name='skip-l1dfl-vmentry'/>
-  <feature policy='disable' name='intel-pt'/>
 </cpu>
diff --git a/tests/cputestdata/x86_64-cpuid-Pentium-P6100-guest.xml b/tests/cputestdata/x86_64-cpuid-Pentium-P6100-guest.xml
index 20e2fa363a..db5e0ae6af 100644
--- a/tests/cputestdata/x86_64-cpuid-Pentium-P6100-guest.xml
+++ b/tests/cputestdata/x86_64-cpuid-Pentium-P6100-guest.xml
@@ -1,7 +1,6 @@
 <cpu mode='custom' match='exact'>
-  <model fallback='forbid'>Westmere</model>
+  <model fallback='forbid'>core2duo</model>
   <vendor>Intel</vendor>
-  <feature policy='require' name='vme'/>
   <feature policy='require' name='ds'/>
   <feature policy='require' name='acpi'/>
   <feature policy='require' name='ss'/>
@@ -9,17 +8,16 @@
   <feature policy='require' name='tm'/>
   <feature policy='require' name='pbe'/>
   <feature policy='require' name='dtes64'/>
-  <feature policy='require' name='monitor'/>
   <feature policy='require' name='ds_cpl'/>
   <feature policy='require' name='est'/>
   <feature policy='require' name='tm2'/>
+  <feature policy='require' name='cx16'/>
   <feature policy='require' name='xtpr'/>
   <feature policy='require' name='pdcm'/>
   <feature policy='require' name='pcid'/>
+  <feature policy='require' name='popcnt'/>
   <feature policy='require' name='arat'/>
   <feature policy='require' name='rdtscp'/>
+  <feature policy='require' name='lahf_lm'/>
   <feature policy='require' name='invtsc'/>
-  <feature policy='disable' name='sse4.1'/>
-  <feature policy='disable' name='sse4.2'/>
-  <feature policy='disable' name='aes'/>
 </cpu>
diff --git a/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core-json.xml b/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core-json.xml
index 0ee1b03f8b..9e1990e053 100644
--- a/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core-json.xml
+++ b/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core-json.xml
@@ -7,5 +7,4 @@
   <feature policy='require' name='tsc_adjust'/>
   <feature policy='require' name='cmp_legacy'/>
   <feature policy='disable' name='sha-ni'/>
-  <feature policy='disable' name='monitor'/>
 </cpu>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E3-1225-v5-guest.xml b/tests/cputestdata/x86_64-cpuid-Xeon-E3-1225-v5-guest.xml
index ea1c79c0df..0af37fb828 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-E3-1225-v5-guest.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E3-1225-v5-guest.xml
@@ -19,6 +19,7 @@
   <feature policy='require' name='osxsave'/>
   <feature policy='require' name='tsc_adjust'/>
   <feature policy='require' name='sgx'/>
+  <feature policy='require' name='mpx'/>
   <feature policy='require' name='clflushopt'/>
   <feature policy='require' name='intel-pt'/>
   <feature policy='require' name='md-clear'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E3-1225-v5-host.xml b/tests/cputestdata/x86_64-cpuid-Xeon-E3-1225-v5-host.xml
index d7a7f30b9e..696f23145d 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-E3-1225-v5-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E3-1225-v5-host.xml
@@ -21,6 +21,7 @@
   <feature name='osxsave'/>
   <feature name='tsc_adjust'/>
   <feature name='sgx'/>
+  <feature name='mpx'/>
   <feature name='clflushopt'/>
   <feature name='intel-pt'/>
   <feature name='md-clear'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E3-1225-v5-json.xml b/tests/cputestdata/x86_64-cpuid-Xeon-E3-1225-v5-json.xml
index a5591278df..624fb4692a 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-E3-1225-v5-json.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E3-1225-v5-json.xml
@@ -4,6 +4,7 @@
   <feature policy='require' name='ss'/>
   <feature policy='require' name='hypervisor'/>
   <feature policy='require' name='tsc_adjust'/>
+  <feature policy='require' name='mpx'/>
   <feature policy='require' name='clflushopt'/>
   <feature policy='require' name='md-clear'/>
   <feature policy='require' name='stibp'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E3-1245-v5-guest.xml b/tests/cputestdata/x86_64-cpuid-Xeon-E3-1245-v5-guest.xml
index 60bace9ed6..4f5c4103b4 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-E3-1245-v5-guest.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E3-1245-v5-guest.xml
@@ -19,6 +19,7 @@
   <feature policy='require' name='osxsave'/>
   <feature policy='require' name='tsc_adjust'/>
   <feature policy='require' name='sgx'/>
+  <feature policy='require' name='mpx'/>
   <feature policy='require' name='clflushopt'/>
   <feature policy='require' name='intel-pt'/>
   <feature policy='require' name='xsaves'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E3-1245-v5-host.xml b/tests/cputestdata/x86_64-cpuid-Xeon-E3-1245-v5-host.xml
index d2f808f9a6..e535a014c3 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-E3-1245-v5-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E3-1245-v5-host.xml
@@ -21,6 +21,7 @@
   <feature name='osxsave'/>
   <feature name='tsc_adjust'/>
   <feature name='sgx'/>
+  <feature name='mpx'/>
   <feature name='clflushopt'/>
   <feature name='intel-pt'/>
   <feature name='xsaves'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E3-1245-v5-json.xml b/tests/cputestdata/x86_64-cpuid-Xeon-E3-1245-v5-json.xml
index ad98679027..3558b9e6af 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-E3-1245-v5-json.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E3-1245-v5-json.xml
@@ -5,6 +5,7 @@
   <feature policy='require' name='vmx'/>
   <feature policy='require' name='hypervisor'/>
   <feature policy='require' name='tsc_adjust'/>
+  <feature policy='require' name='mpx'/>
   <feature policy='require' name='clflushopt'/>
   <feature policy='require' name='xsaves'/>
   <feature policy='require' name='pdpe1gb'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2609-v3-guest.xml b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2609-v3-guest.xml
index d8aaaad29d..82756d8ebb 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2609-v3-guest.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2609-v3-guest.xml
@@ -1,7 +1,6 @@
 <cpu mode='custom' match='exact'>
   <model fallback='forbid'>Haswell-noTSX-IBRS</model>
   <vendor>Intel</vendor>
-  <feature policy='require' name='vme'/>
   <feature policy='require' name='ds'/>
   <feature policy='require' name='acpi'/>
   <feature policy='require' name='ss'/>
@@ -19,14 +18,9 @@
   <feature policy='require' name='pdcm'/>
   <feature policy='require' name='dca'/>
   <feature policy='require' name='osxsave'/>
-  <feature policy='require' name='f16c'/>
-  <feature policy='require' name='rdrand'/>
-  <feature policy='require' name='arat'/>
   <feature policy='require' name='tsc_adjust'/>
   <feature policy='require' name='cmt'/>
   <feature policy='require' name='stibp'/>
-  <feature policy='require' name='xsaveopt'/>
   <feature policy='require' name='pdpe1gb'/>
-  <feature policy='require' name='abm'/>
   <feature policy='require' name='invtsc'/>
 </cpu>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2609-v3-host.xml b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2609-v3-host.xml
index bc39536de9..c275e7eb4b 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2609-v3-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2609-v3-host.xml
@@ -3,7 +3,6 @@
   <model>Haswell-noTSX-IBRS</model>
   <vendor>Intel</vendor>
   <signature family='6' model='63' stepping='2'/>
-  <feature name='vme'/>
   <feature name='ds'/>
   <feature name='acpi'/>
   <feature name='ss'/>
@@ -21,14 +20,9 @@
   <feature name='pdcm'/>
   <feature name='dca'/>
   <feature name='osxsave'/>
-  <feature name='f16c'/>
-  <feature name='rdrand'/>
-  <feature name='arat'/>
   <feature name='tsc_adjust'/>
   <feature name='cmt'/>
   <feature name='stibp'/>
-  <feature name='xsaveopt'/>
   <feature name='pdpe1gb'/>
-  <feature name='abm'/>
   <feature name='invtsc'/>
 </cpu>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2609-v3-json.xml b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2609-v3-json.xml
index 20e24c387d..f0a7e15754 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2609-v3-json.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2609-v3-json.xml
@@ -1,14 +1,8 @@
 <cpu mode='custom' match='exact'>
   <model fallback='forbid'>Haswell-noTSX-IBRS</model>
   <vendor>Intel</vendor>
-  <feature policy='require' name='vme'/>
   <feature policy='require' name='ss'/>
-  <feature policy='require' name='f16c'/>
-  <feature policy='require' name='rdrand'/>
   <feature policy='require' name='hypervisor'/>
-  <feature policy='require' name='arat'/>
   <feature policy='require' name='tsc_adjust'/>
-  <feature policy='require' name='xsaveopt'/>
   <feature policy='require' name='pdpe1gb'/>
-  <feature policy='require' name='abm'/>
 </cpu>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2623-v4-guest.xml b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2623-v4-guest.xml
index a5c6d9b471..e34fad1620 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2623-v4-guest.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2623-v4-guest.xml
@@ -1,7 +1,6 @@
 <cpu mode='custom' match='exact'>
   <model fallback='forbid'>Broadwell-IBRS</model>
   <vendor>Intel</vendor>
-  <feature policy='require' name='vme'/>
   <feature policy='require' name='ds'/>
   <feature policy='require' name='acpi'/>
   <feature policy='require' name='ss'/>
@@ -19,17 +18,12 @@
   <feature policy='require' name='pdcm'/>
   <feature policy='require' name='dca'/>
   <feature policy='require' name='osxsave'/>
-  <feature policy='require' name='f16c'/>
-  <feature policy='require' name='rdrand'/>
-  <feature policy='require' name='arat'/>
   <feature policy='require' name='tsc_adjust'/>
   <feature policy='require' name='cmt'/>
   <feature policy='require' name='intel-pt'/>
   <feature policy='require' name='stibp'/>
-  <feature policy='require' name='xsaveopt'/>
   <feature policy='require' name='mbm_total'/>
   <feature policy='require' name='mbm_local'/>
   <feature policy='require' name='pdpe1gb'/>
-  <feature policy='require' name='abm'/>
   <feature policy='require' name='invtsc'/>
 </cpu>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2623-v4-host.xml b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2623-v4-host.xml
index 70419d7944..a20cd7eff5 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2623-v4-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2623-v4-host.xml
@@ -3,7 +3,6 @@
   <model>Broadwell-IBRS</model>
   <vendor>Intel</vendor>
   <signature family='6' model='79' stepping='1'/>
-  <feature name='vme'/>
   <feature name='ds'/>
   <feature name='acpi'/>
   <feature name='ss'/>
@@ -21,17 +20,12 @@
   <feature name='pdcm'/>
   <feature name='dca'/>
   <feature name='osxsave'/>
-  <feature name='f16c'/>
-  <feature name='rdrand'/>
-  <feature name='arat'/>
   <feature name='tsc_adjust'/>
   <feature name='cmt'/>
   <feature name='intel-pt'/>
   <feature name='stibp'/>
-  <feature name='xsaveopt'/>
   <feature name='mbm_total'/>
   <feature name='mbm_local'/>
   <feature name='pdpe1gb'/>
-  <feature name='abm'/>
   <feature name='invtsc'/>
 </cpu>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2623-v4-json.xml b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2623-v4-json.xml
index de082dbd93..193994481f 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2623-v4-json.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2623-v4-json.xml
@@ -1,14 +1,8 @@
 <cpu mode='custom' match='exact'>
   <model fallback='forbid'>Broadwell-IBRS</model>
   <vendor>Intel</vendor>
-  <feature policy='require' name='vme'/>
   <feature policy='require' name='ss'/>
-  <feature policy='require' name='f16c'/>
-  <feature policy='require' name='rdrand'/>
   <feature policy='require' name='hypervisor'/>
-  <feature policy='require' name='arat'/>
   <feature policy='require' name='tsc_adjust'/>
-  <feature policy='require' name='xsaveopt'/>
   <feature policy='require' name='pdpe1gb'/>
-  <feature policy='require' name='abm'/>
 </cpu>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2630-v3-guest.xml b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2630-v3-guest.xml
index 980af07890..98b9d43916 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2630-v3-guest.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2630-v3-guest.xml
@@ -1,7 +1,6 @@
 <cpu mode='custom' match='exact'>
   <model fallback='forbid'>Haswell-noTSX</model>
   <vendor>Intel</vendor>
-  <feature policy='require' name='vme'/>
   <feature policy='require' name='ds'/>
   <feature policy='require' name='acpi'/>
   <feature policy='require' name='ss'/>
@@ -19,13 +18,8 @@
   <feature policy='require' name='pdcm'/>
   <feature policy='require' name='dca'/>
   <feature policy='require' name='osxsave'/>
-  <feature policy='require' name='f16c'/>
-  <feature policy='require' name='rdrand'/>
-  <feature policy='require' name='arat'/>
   <feature policy='require' name='tsc_adjust'/>
   <feature policy='require' name='cmt'/>
-  <feature policy='require' name='xsaveopt'/>
   <feature policy='require' name='pdpe1gb'/>
-  <feature policy='require' name='abm'/>
   <feature policy='require' name='invtsc'/>
 </cpu>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2630-v3-host.xml b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2630-v3-host.xml
index 6d959eedc3..446228723e 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2630-v3-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2630-v3-host.xml
@@ -3,7 +3,6 @@
   <model>Haswell-noTSX</model>
   <vendor>Intel</vendor>
   <signature family='6' model='63' stepping='2'/>
-  <feature name='vme'/>
   <feature name='ds'/>
   <feature name='acpi'/>
   <feature name='ss'/>
@@ -21,13 +20,8 @@
   <feature name='pdcm'/>
   <feature name='dca'/>
   <feature name='osxsave'/>
-  <feature name='f16c'/>
-  <feature name='rdrand'/>
-  <feature name='arat'/>
   <feature name='tsc_adjust'/>
   <feature name='cmt'/>
-  <feature name='xsaveopt'/>
   <feature name='pdpe1gb'/>
-  <feature name='abm'/>
   <feature name='invtsc'/>
 </cpu>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2630-v3-json.xml b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2630-v3-json.xml
index 78b8be1118..b3f1d2835e 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2630-v3-json.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2630-v3-json.xml
@@ -1,13 +1,9 @@
 <cpu mode='custom' match='exact'>
   <model fallback='forbid'>Haswell-noTSX</model>
   <vendor>Intel</vendor>
-  <feature policy='require' name='vme'/>
   <feature policy='require' name='ss'/>
-  <feature policy='require' name='f16c'/>
-  <feature policy='require' name='rdrand'/>
   <feature policy='require' name='hypervisor'/>
   <feature policy='require' name='tsc_adjust'/>
-  <feature policy='require' name='xsaveopt'/>
   <feature policy='require' name='pdpe1gb'/>
-  <feature policy='require' name='abm'/>
+  <feature policy='disable' name='arat'/>
 </cpu>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2630-v4-guest.xml b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2630-v4-guest.xml
index e2999db8e9..21254b6bca 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2630-v4-guest.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2630-v4-guest.xml
@@ -1,7 +1,6 @@
 <cpu mode='custom' match='exact'>
   <model fallback='forbid'>Broadwell</model>
   <vendor>Intel</vendor>
-  <feature policy='require' name='vme'/>
   <feature policy='require' name='ds'/>
   <feature policy='require' name='acpi'/>
   <feature policy='require' name='ss'/>
@@ -19,16 +18,11 @@
   <feature policy='require' name='pdcm'/>
   <feature policy='require' name='dca'/>
   <feature policy='require' name='osxsave'/>
-  <feature policy='require' name='f16c'/>
-  <feature policy='require' name='rdrand'/>
-  <feature policy='require' name='arat'/>
   <feature policy='require' name='tsc_adjust'/>
   <feature policy='require' name='cmt'/>
   <feature policy='require' name='intel-pt'/>
-  <feature policy='require' name='xsaveopt'/>
   <feature policy='require' name='mbm_total'/>
   <feature policy='require' name='mbm_local'/>
   <feature policy='require' name='pdpe1gb'/>
-  <feature policy='require' name='abm'/>
   <feature policy='require' name='invtsc'/>
 </cpu>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2630-v4-host.xml b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2630-v4-host.xml
index e2ace9021b..b4bc6c20a5 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2630-v4-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2630-v4-host.xml
@@ -3,7 +3,6 @@
   <model>Broadwell</model>
   <vendor>Intel</vendor>
   <signature family='6' model='79' stepping='1'/>
-  <feature name='vme'/>
   <feature name='ds'/>
   <feature name='acpi'/>
   <feature name='ss'/>
@@ -21,16 +20,11 @@
   <feature name='pdcm'/>
   <feature name='dca'/>
   <feature name='osxsave'/>
-  <feature name='f16c'/>
-  <feature name='rdrand'/>
-  <feature name='arat'/>
   <feature name='tsc_adjust'/>
   <feature name='cmt'/>
   <feature name='intel-pt'/>
-  <feature name='xsaveopt'/>
   <feature name='mbm_total'/>
   <feature name='mbm_local'/>
   <feature name='pdpe1gb'/>
-  <feature name='abm'/>
   <feature name='invtsc'/>
 </cpu>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2630-v4-json.xml b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2630-v4-json.xml
index 5b8891093a..c8de8dc4d9 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2630-v4-json.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2630-v4-json.xml
@@ -1,14 +1,8 @@
 <cpu mode='custom' match='exact'>
   <model fallback='forbid'>Broadwell</model>
   <vendor>Intel</vendor>
-  <feature policy='require' name='vme'/>
   <feature policy='require' name='ss'/>
-  <feature policy='require' name='f16c'/>
-  <feature policy='require' name='rdrand'/>
   <feature policy='require' name='hypervisor'/>
-  <feature policy='require' name='arat'/>
   <feature policy='require' name='tsc_adjust'/>
-  <feature policy='require' name='xsaveopt'/>
   <feature policy='require' name='pdpe1gb'/>
-  <feature policy='require' name='abm'/>
 </cpu>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-guest.xml b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-guest.xml
index db1efe0549..4d83a04db7 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-guest.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-guest.xml
@@ -1,7 +1,6 @@
 <cpu mode='custom' match='exact'>
   <model fallback='forbid'>SandyBridge-IBRS</model>
   <vendor>Intel</vendor>
-  <feature policy='require' name='vme'/>
   <feature policy='require' name='ds'/>
   <feature policy='require' name='acpi'/>
   <feature policy='require' name='ss'/>
@@ -20,11 +19,9 @@
   <feature policy='require' name='pcid'/>
   <feature policy='require' name='dca'/>
   <feature policy='require' name='osxsave'/>
-  <feature policy='require' name='arat'/>
   <feature policy='require' name='stibp'/>
   <feature policy='require' name='flush-l1d'/>
   <feature policy='require' name='ssbd'/>
-  <feature policy='require' name='xsaveopt'/>
   <feature policy='require' name='pdpe1gb'/>
   <feature policy='require' name='invtsc'/>
 </cpu>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-host.xml b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-host.xml
index 6f2de0ca5b..c6005df48e 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-host.xml
@@ -3,7 +3,6 @@
   <model>SandyBridge-IBRS</model>
   <vendor>Intel</vendor>
   <signature family='6' model='45' stepping='7'/>
-  <feature name='vme'/>
   <feature name='ds'/>
   <feature name='acpi'/>
   <feature name='ss'/>
@@ -22,11 +21,9 @@
   <feature name='pcid'/>
   <feature name='dca'/>
   <feature name='osxsave'/>
-  <feature name='arat'/>
   <feature name='stibp'/>
   <feature name='flush-l1d'/>
   <feature name='ssbd'/>
-  <feature name='xsaveopt'/>
   <feature name='pdpe1gb'/>
   <feature name='invtsc'/>
 </cpu>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-json.xml b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-json.xml
index bf587d3ffc..68c2d05ce0 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-json.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-json.xml
@@ -1,14 +1,11 @@
 <cpu mode='custom' match='exact'>
   <model fallback='forbid'>SandyBridge-IBRS</model>
   <vendor>Intel</vendor>
-  <feature policy='require' name='vme'/>
   <feature policy='require' name='ss'/>
   <feature policy='require' name='pcid'/>
   <feature policy='require' name='hypervisor'/>
-  <feature policy='require' name='arat'/>
   <feature policy='require' name='tsc_adjust'/>
   <feature policy='require' name='stibp'/>
   <feature policy='require' name='ssbd'/>
-  <feature policy='require' name='xsaveopt'/>
   <feature policy='require' name='pdpe1gb'/>
 </cpu>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-v3-guest.xml b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-v3-guest.xml
index 980af07890..98b9d43916 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-v3-guest.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-v3-guest.xml
@@ -1,7 +1,6 @@
 <cpu mode='custom' match='exact'>
   <model fallback='forbid'>Haswell-noTSX</model>
   <vendor>Intel</vendor>
-  <feature policy='require' name='vme'/>
   <feature policy='require' name='ds'/>
   <feature policy='require' name='acpi'/>
   <feature policy='require' name='ss'/>
@@ -19,13 +18,8 @@
   <feature policy='require' name='pdcm'/>
   <feature policy='require' name='dca'/>
   <feature policy='require' name='osxsave'/>
-  <feature policy='require' name='f16c'/>
-  <feature policy='require' name='rdrand'/>
-  <feature policy='require' name='arat'/>
   <feature policy='require' name='tsc_adjust'/>
   <feature policy='require' name='cmt'/>
-  <feature policy='require' name='xsaveopt'/>
   <feature policy='require' name='pdpe1gb'/>
-  <feature policy='require' name='abm'/>
   <feature policy='require' name='invtsc'/>
 </cpu>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-v3-host.xml b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-v3-host.xml
index 6d959eedc3..446228723e 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-v3-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-v3-host.xml
@@ -3,7 +3,6 @@
   <model>Haswell-noTSX</model>
   <vendor>Intel</vendor>
   <signature family='6' model='63' stepping='2'/>
-  <feature name='vme'/>
   <feature name='ds'/>
   <feature name='acpi'/>
   <feature name='ss'/>
@@ -21,13 +20,8 @@
   <feature name='pdcm'/>
   <feature name='dca'/>
   <feature name='osxsave'/>
-  <feature name='f16c'/>
-  <feature name='rdrand'/>
-  <feature name='arat'/>
   <feature name='tsc_adjust'/>
   <feature name='cmt'/>
-  <feature name='xsaveopt'/>
   <feature name='pdpe1gb'/>
-  <feature name='abm'/>
   <feature name='invtsc'/>
 </cpu>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-v3-json.xml b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-v3-json.xml
index 2227ed0031..86f1091dec 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-v3-json.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-v3-json.xml
@@ -1,12 +1,10 @@
 <cpu mode='custom' match='exact'>
   <model fallback='forbid'>Haswell-noTSX</model>
   <vendor>Intel</vendor>
-  <feature policy='require' name='vme'/>
   <feature policy='require' name='ss'/>
   <feature policy='require' name='vmx'/>
-  <feature policy='require' name='f16c'/>
-  <feature policy='require' name='rdrand'/>
   <feature policy='require' name='hypervisor'/>
   <feature policy='require' name='pdpe1gb'/>
-  <feature policy='require' name='abm'/>
+  <feature policy='disable' name='arat'/>
+  <feature policy='disable' name='xsaveopt'/>
 </cpu>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-v4-guest.xml b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-v4-guest.xml
index e2999db8e9..21254b6bca 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-v4-guest.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-v4-guest.xml
@@ -1,7 +1,6 @@
 <cpu mode='custom' match='exact'>
   <model fallback='forbid'>Broadwell</model>
   <vendor>Intel</vendor>
-  <feature policy='require' name='vme'/>
   <feature policy='require' name='ds'/>
   <feature policy='require' name='acpi'/>
   <feature policy='require' name='ss'/>
@@ -19,16 +18,11 @@
   <feature policy='require' name='pdcm'/>
   <feature policy='require' name='dca'/>
   <feature policy='require' name='osxsave'/>
-  <feature policy='require' name='f16c'/>
-  <feature policy='require' name='rdrand'/>
-  <feature policy='require' name='arat'/>
   <feature policy='require' name='tsc_adjust'/>
   <feature policy='require' name='cmt'/>
   <feature policy='require' name='intel-pt'/>
-  <feature policy='require' name='xsaveopt'/>
   <feature policy='require' name='mbm_total'/>
   <feature policy='require' name='mbm_local'/>
   <feature policy='require' name='pdpe1gb'/>
-  <feature policy='require' name='abm'/>
   <feature policy='require' name='invtsc'/>
 </cpu>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-v4-host.xml b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-v4-host.xml
index e2ace9021b..b4bc6c20a5 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-v4-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-v4-host.xml
@@ -3,7 +3,6 @@
   <model>Broadwell</model>
   <vendor>Intel</vendor>
   <signature family='6' model='79' stepping='1'/>
-  <feature name='vme'/>
   <feature name='ds'/>
   <feature name='acpi'/>
   <feature name='ss'/>
@@ -21,16 +20,11 @@
   <feature name='pdcm'/>
   <feature name='dca'/>
   <feature name='osxsave'/>
-  <feature name='f16c'/>
-  <feature name='rdrand'/>
-  <feature name='arat'/>
   <feature name='tsc_adjust'/>
   <feature name='cmt'/>
   <feature name='intel-pt'/>
-  <feature name='xsaveopt'/>
   <feature name='mbm_total'/>
   <feature name='mbm_local'/>
   <feature name='pdpe1gb'/>
-  <feature name='abm'/>
   <feature name='invtsc'/>
 </cpu>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-v4-json.xml b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-v4-json.xml
index 5b8891093a..c8de8dc4d9 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-v4-json.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-v4-json.xml
@@ -1,14 +1,8 @@
 <cpu mode='custom' match='exact'>
   <model fallback='forbid'>Broadwell</model>
   <vendor>Intel</vendor>
-  <feature policy='require' name='vme'/>
   <feature policy='require' name='ss'/>
-  <feature policy='require' name='f16c'/>
-  <feature policy='require' name='rdrand'/>
   <feature policy='require' name='hypervisor'/>
-  <feature policy='require' name='arat'/>
   <feature policy='require' name='tsc_adjust'/>
-  <feature policy='require' name='xsaveopt'/>
   <feature policy='require' name='pdpe1gb'/>
-  <feature policy='require' name='abm'/>
 </cpu>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E7-4820-guest.xml b/tests/cputestdata/x86_64-cpuid-Xeon-E7-4820-guest.xml
index 659779687a..f6567f34d1 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-E7-4820-guest.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E7-4820-guest.xml
@@ -1,14 +1,12 @@
 <cpu mode='custom' match='exact'>
   <model fallback='forbid'>Westmere</model>
   <vendor>Intel</vendor>
-  <feature policy='require' name='vme'/>
   <feature policy='require' name='ds'/>
   <feature policy='require' name='acpi'/>
   <feature policy='require' name='ss'/>
   <feature policy='require' name='ht'/>
   <feature policy='require' name='tm'/>
   <feature policy='require' name='pbe'/>
-  <feature policy='require' name='pclmuldq'/>
   <feature policy='require' name='dtes64'/>
   <feature policy='require' name='monitor'/>
   <feature policy='require' name='ds_cpl'/>
@@ -21,7 +19,6 @@
   <feature policy='require' name='pcid'/>
   <feature policy='require' name='dca'/>
   <feature policy='require' name='x2apic'/>
-  <feature policy='require' name='arat'/>
   <feature policy='require' name='pdpe1gb'/>
   <feature policy='require' name='rdtscp'/>
   <feature policy='require' name='invtsc'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E7-4820-host.xml b/tests/cputestdata/x86_64-cpuid-Xeon-E7-4820-host.xml
index 58468cd096..a93d99f082 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-E7-4820-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E7-4820-host.xml
@@ -3,14 +3,12 @@
   <model>Westmere</model>
   <vendor>Intel</vendor>
   <signature family='6' model='47' stepping='2'/>
-  <feature name='vme'/>
   <feature name='ds'/>
   <feature name='acpi'/>
   <feature name='ss'/>
   <feature name='ht'/>
   <feature name='tm'/>
   <feature name='pbe'/>
-  <feature name='pclmuldq'/>
   <feature name='dtes64'/>
   <feature name='monitor'/>
   <feature name='ds_cpl'/>
@@ -23,7 +21,6 @@
   <feature name='pcid'/>
   <feature name='dca'/>
   <feature name='x2apic'/>
-  <feature name='arat'/>
   <feature name='pdpe1gb'/>
   <feature name='rdtscp'/>
   <feature name='invtsc'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E7-4820-json.xml b/tests/cputestdata/x86_64-cpuid-Xeon-E7-4820-json.xml
index e8b74c5c30..9979c302fd 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-E7-4820-json.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E7-4820-json.xml
@@ -1,12 +1,12 @@
 <cpu mode='custom' match='exact'>
-  <model fallback='forbid'>Westmere</model>
+  <model fallback='forbid'>Nehalem</model>
   <vendor>Intel</vendor>
-  <feature policy='require' name='vme'/>
   <feature policy='require' name='ss'/>
   <feature policy='require' name='pclmuldq'/>
   <feature policy='require' name='pcid'/>
   <feature policy='require' name='x2apic'/>
   <feature policy='require' name='tsc-deadline'/>
+  <feature policy='require' name='aes'/>
   <feature policy='require' name='hypervisor'/>
   <feature policy='require' name='tsc_adjust'/>
   <feature policy='require' name='pdpe1gb'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E7-4830-guest.xml b/tests/cputestdata/x86_64-cpuid-Xeon-E7-4830-guest.xml
index 659779687a..f6567f34d1 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-E7-4830-guest.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E7-4830-guest.xml
@@ -1,14 +1,12 @@
 <cpu mode='custom' match='exact'>
   <model fallback='forbid'>Westmere</model>
   <vendor>Intel</vendor>
-  <feature policy='require' name='vme'/>
   <feature policy='require' name='ds'/>
   <feature policy='require' name='acpi'/>
   <feature policy='require' name='ss'/>
   <feature policy='require' name='ht'/>
   <feature policy='require' name='tm'/>
   <feature policy='require' name='pbe'/>
-  <feature policy='require' name='pclmuldq'/>
   <feature policy='require' name='dtes64'/>
   <feature policy='require' name='monitor'/>
   <feature policy='require' name='ds_cpl'/>
@@ -21,7 +19,6 @@
   <feature policy='require' name='pcid'/>
   <feature policy='require' name='dca'/>
   <feature policy='require' name='x2apic'/>
-  <feature policy='require' name='arat'/>
   <feature policy='require' name='pdpe1gb'/>
   <feature policy='require' name='rdtscp'/>
   <feature policy='require' name='invtsc'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E7-4830-host.xml b/tests/cputestdata/x86_64-cpuid-Xeon-E7-4830-host.xml
index 58468cd096..a93d99f082 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-E7-4830-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E7-4830-host.xml
@@ -3,14 +3,12 @@
   <model>Westmere</model>
   <vendor>Intel</vendor>
   <signature family='6' model='47' stepping='2'/>
-  <feature name='vme'/>
   <feature name='ds'/>
   <feature name='acpi'/>
   <feature name='ss'/>
   <feature name='ht'/>
   <feature name='tm'/>
   <feature name='pbe'/>
-  <feature name='pclmuldq'/>
   <feature name='dtes64'/>
   <feature name='monitor'/>
   <feature name='ds_cpl'/>
@@ -23,7 +21,6 @@
   <feature name='pcid'/>
   <feature name='dca'/>
   <feature name='x2apic'/>
-  <feature name='arat'/>
   <feature name='pdpe1gb'/>
   <feature name='rdtscp'/>
   <feature name='invtsc'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E7-4830-json.xml b/tests/cputestdata/x86_64-cpuid-Xeon-E7-4830-json.xml
index da949ad25e..908945af29 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-E7-4830-json.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E7-4830-json.xml
@@ -1,14 +1,11 @@
 <cpu mode='custom' match='exact'>
   <model fallback='forbid'>Westmere</model>
   <vendor>Intel</vendor>
-  <feature policy='require' name='vme'/>
   <feature policy='require' name='ss'/>
-  <feature policy='require' name='pclmuldq'/>
   <feature policy='require' name='pcid'/>
   <feature policy='require' name='x2apic'/>
   <feature policy='require' name='tsc-deadline'/>
   <feature policy='require' name='hypervisor'/>
-  <feature policy='require' name='arat'/>
   <feature policy='require' name='tsc_adjust'/>
   <feature policy='require' name='pdpe1gb'/>
   <feature policy='require' name='rdtscp'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E7-8890-v3-guest.xml b/tests/cputestdata/x86_64-cpuid-Xeon-E7-8890-v3-guest.xml
index 16d333aa26..3d49cea064 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-E7-8890-v3-guest.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E7-8890-v3-guest.xml
@@ -1,7 +1,6 @@
 <cpu mode='custom' match='exact'>
   <model fallback='forbid'>Haswell</model>
   <vendor>Intel</vendor>
-  <feature policy='require' name='vme'/>
   <feature policy='require' name='ds'/>
   <feature policy='require' name='acpi'/>
   <feature policy='require' name='ss'/>
@@ -19,13 +18,8 @@
   <feature policy='require' name='pdcm'/>
   <feature policy='require' name='dca'/>
   <feature policy='require' name='osxsave'/>
-  <feature policy='require' name='f16c'/>
-  <feature policy='require' name='rdrand'/>
-  <feature policy='require' name='arat'/>
   <feature policy='require' name='tsc_adjust'/>
   <feature policy='require' name='cmt'/>
-  <feature policy='require' name='xsaveopt'/>
   <feature policy='require' name='pdpe1gb'/>
-  <feature policy='require' name='abm'/>
   <feature policy='require' name='invtsc'/>
 </cpu>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E7-8890-v3-host.xml b/tests/cputestdata/x86_64-cpuid-Xeon-E7-8890-v3-host.xml
index 6a18204c02..4297116353 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-E7-8890-v3-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E7-8890-v3-host.xml
@@ -3,7 +3,6 @@
   <model>Haswell</model>
   <vendor>Intel</vendor>
   <signature family='6' model='63' stepping='4'/>
-  <feature name='vme'/>
   <feature name='ds'/>
   <feature name='acpi'/>
   <feature name='ss'/>
@@ -21,13 +20,8 @@
   <feature name='pdcm'/>
   <feature name='dca'/>
   <feature name='osxsave'/>
-  <feature name='f16c'/>
-  <feature name='rdrand'/>
-  <feature name='arat'/>
   <feature name='tsc_adjust'/>
   <feature name='cmt'/>
-  <feature name='xsaveopt'/>
   <feature name='pdpe1gb'/>
-  <feature name='abm'/>
   <feature name='invtsc'/>
 </cpu>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E7-8890-v3-json.xml b/tests/cputestdata/x86_64-cpuid-Xeon-E7-8890-v3-json.xml
index e542456c8b..4fa824ebfc 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-E7-8890-v3-json.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E7-8890-v3-json.xml
@@ -1,14 +1,8 @@
 <cpu mode='custom' match='exact'>
   <model fallback='forbid'>Haswell</model>
   <vendor>Intel</vendor>
-  <feature policy='require' name='vme'/>
   <feature policy='require' name='ss'/>
-  <feature policy='require' name='f16c'/>
-  <feature policy='require' name='rdrand'/>
   <feature policy='require' name='hypervisor'/>
-  <feature policy='require' name='arat'/>
   <feature policy='require' name='tsc_adjust'/>
-  <feature policy='require' name='xsaveopt'/>
   <feature policy='require' name='pdpe1gb'/>
-  <feature policy='require' name='abm'/>
 </cpu>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E7540-guest.xml b/tests/cputestdata/x86_64-cpuid-Xeon-E7540-guest.xml
index fbc05fe0d8..64fae823ec 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-E7540-guest.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E7540-guest.xml
@@ -1,7 +1,6 @@
 <cpu mode='custom' match='exact'>
   <model fallback='forbid'>Nehalem-IBRS</model>
   <vendor>Intel</vendor>
-  <feature policy='require' name='vme'/>
   <feature policy='require' name='ds'/>
   <feature policy='require' name='acpi'/>
   <feature policy='require' name='ss'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E7540-host.xml b/tests/cputestdata/x86_64-cpuid-Xeon-E7540-host.xml
index 15fea29e06..ed5e7e00f5 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-E7540-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E7540-host.xml
@@ -3,7 +3,6 @@
   <model>Nehalem-IBRS</model>
   <vendor>Intel</vendor>
   <signature family='6' model='46' stepping='6'/>
-  <feature name='vme'/>
   <feature name='ds'/>
   <feature name='acpi'/>
   <feature name='ss'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E7540-json.xml b/tests/cputestdata/x86_64-cpuid-Xeon-E7540-json.xml
index 32cd1000c8..3726a1e312 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-E7540-json.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E7540-json.xml
@@ -1,7 +1,6 @@
 <cpu mode='custom' match='exact'>
   <model fallback='forbid'>Nehalem-IBRS</model>
   <vendor>Intel</vendor>
-  <feature policy='require' name='vme'/>
   <feature policy='require' name='ss'/>
   <feature policy='require' name='x2apic'/>
   <feature policy='require' name='tsc-deadline'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-Gold-5115-guest.xml b/tests/cputestdata/x86_64-cpuid-Xeon-Gold-5115-guest.xml
index 8f014f6e28..fe6db40258 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-Gold-5115-guest.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-Gold-5115-guest.xml
@@ -20,9 +20,9 @@
   <feature policy='require' name='osxsave'/>
   <feature policy='require' name='tsc_adjust'/>
   <feature policy='require' name='cmt'/>
+  <feature policy='require' name='mpx'/>
   <feature policy='require' name='clflushopt'/>
   <feature policy='require' name='intel-pt'/>
-  <feature policy='require' name='pku'/>
   <feature policy='require' name='stibp'/>
   <feature policy='require' name='xsaves'/>
   <feature policy='require' name='mbm_total'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-Gold-5115-host.xml b/tests/cputestdata/x86_64-cpuid-Xeon-Gold-5115-host.xml
index e004747ada..d3020f0f4f 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-Gold-5115-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-Gold-5115-host.xml
@@ -22,9 +22,9 @@
   <feature name='osxsave'/>
   <feature name='tsc_adjust'/>
   <feature name='cmt'/>
+  <feature name='mpx'/>
   <feature name='clflushopt'/>
   <feature name='intel-pt'/>
-  <feature name='pku'/>
   <feature name='stibp'/>
   <feature name='xsaves'/>
   <feature name='mbm_total'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-Gold-5115-json.xml b/tests/cputestdata/x86_64-cpuid-Xeon-Gold-5115-json.xml
index 7c7e95ce0d..d20dc7575f 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-Gold-5115-json.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-Gold-5115-json.xml
@@ -4,5 +4,7 @@
   <feature policy='require' name='ss'/>
   <feature policy='require' name='hypervisor'/>
   <feature policy='require' name='tsc_adjust'/>
+  <feature policy='require' name='mpx'/>
   <feature policy='require' name='clflushopt'/>
+  <feature policy='disable' name='pku'/>
 </cpu>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-Gold-6130-guest.xml b/tests/cputestdata/x86_64-cpuid-Xeon-Gold-6130-guest.xml
index f4f0199607..f3164525c4 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-Gold-6130-guest.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-Gold-6130-guest.xml
@@ -20,9 +20,9 @@
   <feature policy='require' name='osxsave'/>
   <feature policy='require' name='tsc_adjust'/>
   <feature policy='require' name='cmt'/>
+  <feature policy='require' name='mpx'/>
   <feature policy='require' name='clflushopt'/>
   <feature policy='require' name='intel-pt'/>
-  <feature policy='require' name='pku'/>
   <feature policy='require' name='ospke'/>
   <feature policy='require' name='md-clear'/>
   <feature policy='require' name='stibp'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-Gold-6130-host.xml b/tests/cputestdata/x86_64-cpuid-Xeon-Gold-6130-host.xml
index 325c2fe26f..60e45e2e67 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-Gold-6130-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-Gold-6130-host.xml
@@ -22,9 +22,9 @@
   <feature name='osxsave'/>
   <feature name='tsc_adjust'/>
   <feature name='cmt'/>
+  <feature name='mpx'/>
   <feature name='clflushopt'/>
   <feature name='intel-pt'/>
-  <feature name='pku'/>
   <feature name='ospke'/>
   <feature name='md-clear'/>
   <feature name='stibp'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-Gold-6130-json.xml b/tests/cputestdata/x86_64-cpuid-Xeon-Gold-6130-json.xml
index b482043ccf..65b93c2829 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-Gold-6130-json.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-Gold-6130-json.xml
@@ -5,9 +5,9 @@
   <feature policy='require' name='vmx'/>
   <feature policy='require' name='hypervisor'/>
   <feature policy='require' name='tsc_adjust'/>
+  <feature policy='require' name='mpx'/>
   <feature policy='require' name='clflushopt'/>
   <feature policy='require' name='umip'/>
-  <feature policy='require' name='pku'/>
   <feature policy='require' name='md-clear'/>
   <feature policy='require' name='stibp'/>
   <feature policy='require' name='arch-capabilities'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-Gold-6148-guest.xml b/tests/cputestdata/x86_64-cpuid-Xeon-Gold-6148-guest.xml
index f31ca1ffc5..0d198c991b 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-Gold-6148-guest.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-Gold-6148-guest.xml
@@ -20,9 +20,8 @@
   <feature policy='require' name='osxsave'/>
   <feature policy='require' name='tsc_adjust'/>
   <feature policy='require' name='cmt'/>
-  <feature policy='require' name='clflushopt'/>
+  <feature policy='require' name='mpx'/>
   <feature policy='require' name='intel-pt'/>
-  <feature policy='require' name='pku'/>
   <feature policy='require' name='xsaves'/>
   <feature policy='require' name='mbm_total'/>
   <feature policy='require' name='mbm_local'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-Gold-6148-host.xml b/tests/cputestdata/x86_64-cpuid-Xeon-Gold-6148-host.xml
index da7e96e533..4ee12fcfdc 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-Gold-6148-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-Gold-6148-host.xml
@@ -22,9 +22,8 @@
   <feature name='osxsave'/>
   <feature name='tsc_adjust'/>
   <feature name='cmt'/>
-  <feature name='clflushopt'/>
+  <feature name='mpx'/>
   <feature name='intel-pt'/>
-  <feature name='pku'/>
   <feature name='xsaves'/>
   <feature name='mbm_total'/>
   <feature name='mbm_local'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-Gold-6148-json.xml b/tests/cputestdata/x86_64-cpuid-Xeon-Gold-6148-json.xml
index 1dfad4a0cb..42f2497776 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-Gold-6148-json.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-Gold-6148-json.xml
@@ -4,5 +4,6 @@
   <feature policy='require' name='ss'/>
   <feature policy='require' name='hypervisor'/>
   <feature policy='require' name='tsc_adjust'/>
-  <feature policy='require' name='clflushopt'/>
+  <feature policy='require' name='mpx'/>
+  <feature policy='disable' name='pku'/>
 </cpu>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-Platinum-8268-json.xml b/tests/cputestdata/x86_64-cpuid-Xeon-Platinum-8268-json.xml
index 78863c61d1..77d1f873a1 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-Platinum-8268-json.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-Platinum-8268-json.xml
@@ -4,8 +4,8 @@
   <feature policy='require' name='ss'/>
   <feature policy='require' name='hypervisor'/>
   <feature policy='require' name='tsc_adjust'/>
+  <feature policy='require' name='mpx'/>
   <feature policy='require' name='umip'/>
-  <feature policy='require' name='pku'/>
   <feature policy='require' name='xsaves'/>
   <feature policy='require' name='rdctl-no'/>
   <feature policy='require' name='ibrs-all'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-W3520-guest.xml b/tests/cputestdata/x86_64-cpuid-Xeon-W3520-guest.xml
index 9c975c6792..29e119100f 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-W3520-guest.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-W3520-guest.xml
@@ -1,7 +1,6 @@
 <cpu mode='custom' match='exact'>
   <model fallback='forbid'>Nehalem</model>
   <vendor>Intel</vendor>
-  <feature policy='require' name='vme'/>
   <feature policy='require' name='ds'/>
   <feature policy='require' name='acpi'/>
   <feature policy='require' name='ss'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-W3520-host.xml b/tests/cputestdata/x86_64-cpuid-Xeon-W3520-host.xml
index 35dd63f360..07d69d1c71 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-W3520-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-W3520-host.xml
@@ -3,7 +3,6 @@
   <model>Nehalem</model>
   <vendor>Intel</vendor>
   <signature family='6' model='26' stepping='5'/>
-  <feature name='vme'/>
   <feature name='ds'/>
   <feature name='acpi'/>
   <feature name='ss'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-W3520-json.xml b/tests/cputestdata/x86_64-cpuid-Xeon-W3520-json.xml
index 038c98e1d1..fdd1b5cfae 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-W3520-json.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-W3520-json.xml
@@ -1,7 +1,6 @@
 <cpu mode='custom' match='exact'>
   <model fallback='forbid'>Nehalem</model>
   <vendor>Intel</vendor>
-  <feature policy='require' name='vme'/>
   <feature policy='require' name='ss'/>
   <feature policy='require' name='x2apic'/>
   <feature policy='require' name='hypervisor'/>
diff --git a/tests/cputestdata/x86_64-cpuid-baseline-Broadwell-IBRS+Cascadelake.xml b/tests/cputestdata/x86_64-cpuid-baseline-Broadwell-IBRS+Cascadelake.xml
index 99bce8db87..b88e71ce39 100644
--- a/tests/cputestdata/x86_64-cpuid-baseline-Broadwell-IBRS+Cascadelake.xml
+++ b/tests/cputestdata/x86_64-cpuid-baseline-Broadwell-IBRS+Cascadelake.xml
@@ -1,14 +1,8 @@
 <cpu mode='custom' match='exact'>
   <model fallback='allow'>Broadwell-IBRS</model>
   <vendor>Intel</vendor>
-  <feature policy='require' name='vme'/>
   <feature policy='require' name='ss'/>
-  <feature policy='require' name='f16c'/>
-  <feature policy='require' name='rdrand'/>
   <feature policy='require' name='hypervisor'/>
-  <feature policy='require' name='arat'/>
   <feature policy='require' name='tsc_adjust'/>
-  <feature policy='require' name='xsaveopt'/>
   <feature policy='require' name='pdpe1gb'/>
-  <feature policy='require' name='abm'/>
 </cpu>
diff --git a/tests/cputestdata/x86_64-cpuid-baseline-Cascadelake+Skylake-IBRS.xml b/tests/cputestdata/x86_64-cpuid-baseline-Cascadelake+Skylake-IBRS.xml
index 5e42876b39..698613a8a0 100644
--- a/tests/cputestdata/x86_64-cpuid-baseline-Cascadelake+Skylake-IBRS.xml
+++ b/tests/cputestdata/x86_64-cpuid-baseline-Cascadelake+Skylake-IBRS.xml
@@ -4,9 +4,9 @@
   <feature policy='require' name='ss'/>
   <feature policy='require' name='hypervisor'/>
   <feature policy='require' name='tsc_adjust'/>
+  <feature policy='require' name='mpx'/>
   <feature policy='require' name='clflushopt'/>
   <feature policy='require' name='umip'/>
-  <feature policy='require' name='pku'/>
   <feature policy='require' name='ssbd'/>
   <feature policy='require' name='xsaves'/>
   <feature policy='require' name='skip-l1dfl-vmentry'/>
diff --git a/tests/cputestdata/x86_64-cpuid-baseline-Cascadelake+Skylake.xml b/tests/cputestdata/x86_64-cpuid-baseline-Cascadelake+Skylake.xml
index 906259df0b..3383eb30d2 100644
--- a/tests/cputestdata/x86_64-cpuid-baseline-Cascadelake+Skylake.xml
+++ b/tests/cputestdata/x86_64-cpuid-baseline-Cascadelake+Skylake.xml
@@ -4,5 +4,6 @@
   <feature policy='require' name='ss'/>
   <feature policy='require' name='hypervisor'/>
   <feature policy='require' name='tsc_adjust'/>
-  <feature policy='require' name='clflushopt'/>
+  <feature policy='require' name='mpx'/>
+  <feature policy='disable' name='pku'/>
 </cpu>
diff --git a/tests/cputestdata/x86_64-cpuid-baseline-EPYC+Rome.xml b/tests/cputestdata/x86_64-cpuid-baseline-EPYC+Rome.xml
index 66f89b118a..207c904158 100644
--- a/tests/cputestdata/x86_64-cpuid-baseline-EPYC+Rome.xml
+++ b/tests/cputestdata/x86_64-cpuid-baseline-EPYC+Rome.xml
@@ -7,5 +7,4 @@
   <feature policy='require' name='tsc_adjust'/>
   <feature policy='require' name='cmp_legacy'/>
   <feature policy='disable' name='svm'/>
-  <feature policy='disable' name='monitor'/>
 </cpu>
diff --git a/tests/cputestdata/x86_64-cpuid-baseline-Haswell+Skylake.xml b/tests/cputestdata/x86_64-cpuid-baseline-Haswell+Skylake.xml
index e687a679b3..6f89d05744 100644
--- a/tests/cputestdata/x86_64-cpuid-baseline-Haswell+Skylake.xml
+++ b/tests/cputestdata/x86_64-cpuid-baseline-Haswell+Skylake.xml
@@ -1,14 +1,8 @@
 <cpu mode='custom' match='exact'>
   <model fallback='allow'>Haswell</model>
   <vendor>Intel</vendor>
-  <feature policy='require' name='vme'/>
   <feature policy='require' name='ss'/>
-  <feature policy='require' name='f16c'/>
-  <feature policy='require' name='rdrand'/>
   <feature policy='require' name='hypervisor'/>
-  <feature policy='require' name='arat'/>
   <feature policy='require' name='tsc_adjust'/>
-  <feature policy='require' name='xsaveopt'/>
   <feature policy='require' name='pdpe1gb'/>
-  <feature policy='require' name='abm'/>
 </cpu>
diff --git a/tests/cputestdata/x86_64-cpuid-baseline-Haswell-noTSX-IBRS+Broadwell.xml b/tests/cputestdata/x86_64-cpuid-baseline-Haswell-noTSX-IBRS+Broadwell.xml
index 651457b17a..da0c7b7969 100644
--- a/tests/cputestdata/x86_64-cpuid-baseline-Haswell-noTSX-IBRS+Broadwell.xml
+++ b/tests/cputestdata/x86_64-cpuid-baseline-Haswell-noTSX-IBRS+Broadwell.xml
@@ -1,14 +1,8 @@
 <cpu mode='custom' match='exact'>
   <model fallback='allow'>Haswell-noTSX</model>
   <vendor>Intel</vendor>
-  <feature policy='require' name='vme'/>
   <feature policy='require' name='ss'/>
-  <feature policy='require' name='f16c'/>
-  <feature policy='require' name='rdrand'/>
   <feature policy='require' name='hypervisor'/>
-  <feature policy='require' name='arat'/>
   <feature policy='require' name='tsc_adjust'/>
-  <feature policy='require' name='xsaveopt'/>
   <feature policy='require' name='pdpe1gb'/>
-  <feature policy='require' name='abm'/>
 </cpu>
diff --git a/tests/cputestdata/x86_64-cpuid-baseline-Haswell-noTSX-IBRS+Skylake-IBRS.xml b/tests/cputestdata/x86_64-cpuid-baseline-Haswell-noTSX-IBRS+Skylake-IBRS.xml
index 8bda1c02e2..f794e9027b 100644
--- a/tests/cputestdata/x86_64-cpuid-baseline-Haswell-noTSX-IBRS+Skylake-IBRS.xml
+++ b/tests/cputestdata/x86_64-cpuid-baseline-Haswell-noTSX-IBRS+Skylake-IBRS.xml
@@ -1,14 +1,8 @@
 <cpu mode='custom' match='exact'>
   <model fallback='allow'>Haswell-noTSX-IBRS</model>
   <vendor>Intel</vendor>
-  <feature policy='require' name='vme'/>
   <feature policy='require' name='ss'/>
-  <feature policy='require' name='f16c'/>
-  <feature policy='require' name='rdrand'/>
   <feature policy='require' name='hypervisor'/>
-  <feature policy='require' name='arat'/>
   <feature policy='require' name='tsc_adjust'/>
-  <feature policy='require' name='xsaveopt'/>
   <feature policy='require' name='pdpe1gb'/>
-  <feature policy='require' name='abm'/>
 </cpu>
diff --git a/tests/cputestdata/x86_64-cpuid-baseline-Haswell-noTSX-IBRS+Skylake.xml b/tests/cputestdata/x86_64-cpuid-baseline-Haswell-noTSX-IBRS+Skylake.xml
index 651457b17a..da0c7b7969 100644
--- a/tests/cputestdata/x86_64-cpuid-baseline-Haswell-noTSX-IBRS+Skylake.xml
+++ b/tests/cputestdata/x86_64-cpuid-baseline-Haswell-noTSX-IBRS+Skylake.xml
@@ -1,14 +1,8 @@
 <cpu mode='custom' match='exact'>
   <model fallback='allow'>Haswell-noTSX</model>
   <vendor>Intel</vendor>
-  <feature policy='require' name='vme'/>
   <feature policy='require' name='ss'/>
-  <feature policy='require' name='f16c'/>
-  <feature policy='require' name='rdrand'/>
   <feature policy='require' name='hypervisor'/>
-  <feature policy='require' name='arat'/>
   <feature policy='require' name='tsc_adjust'/>
-  <feature policy='require' name='xsaveopt'/>
   <feature policy='require' name='pdpe1gb'/>
-  <feature policy='require' name='abm'/>
 </cpu>
diff --git a/tests/cputestdata/x86_64-cpuid-baseline-Ryzen+Rome.xml b/tests/cputestdata/x86_64-cpuid-baseline-Ryzen+Rome.xml
index 308869a308..b4d56921b4 100644
--- a/tests/cputestdata/x86_64-cpuid-baseline-Ryzen+Rome.xml
+++ b/tests/cputestdata/x86_64-cpuid-baseline-Ryzen+Rome.xml
@@ -7,5 +7,4 @@
   <feature policy='require' name='tsc_adjust'/>
   <feature policy='require' name='cmp_legacy'/>
   <feature policy='disable' name='sha-ni'/>
-  <feature policy='disable' name='monitor'/>
 </cpu>
diff --git a/tests/cputestdata/x86_64-cpuid-baseline-Skylake-Client+Server.xml b/tests/cputestdata/x86_64-cpuid-baseline-Skylake-Client+Server.xml
index d46ff26eeb..7091fec30d 100644
--- a/tests/cputestdata/x86_64-cpuid-baseline-Skylake-Client+Server.xml
+++ b/tests/cputestdata/x86_64-cpuid-baseline-Skylake-Client+Server.xml
@@ -4,6 +4,7 @@
   <feature policy='require' name='ss'/>
   <feature policy='require' name='hypervisor'/>
   <feature policy='require' name='tsc_adjust'/>
+  <feature policy='require' name='mpx'/>
   <feature policy='require' name='clflushopt'/>
   <feature policy='require' name='pdpe1gb'/>
 </cpu>
diff --git a/tests/domaincapsdata/qemu_4.2.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_4.2.0-q35.x86_64.xml
index 010bf581af..990b412e44 100644
--- a/tests/domaincapsdata/qemu_4.2.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_4.2.0-q35.x86_64.xml
@@ -48,6 +48,7 @@
       <feature policy='require' name='vmx'/>
       <feature policy='require' name='hypervisor'/>
       <feature policy='require' name='tsc_adjust'/>
+      <feature policy='require' name='mpx'/>
       <feature policy='require' name='clflushopt'/>
       <feature policy='require' name='umip'/>
       <feature policy='require' name='md-clear'/>
diff --git a/tests/domaincapsdata/qemu_4.2.0.x86_64.xml b/tests/domaincapsdata/qemu_4.2.0.x86_64.xml
index e3b70598cd..df54a4d279 100644
--- a/tests/domaincapsdata/qemu_4.2.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_4.2.0.x86_64.xml
@@ -47,6 +47,7 @@
       <feature policy='require' name='vmx'/>
       <feature policy='require' name='hypervisor'/>
       <feature policy='require' name='tsc_adjust'/>
+      <feature policy='require' name='mpx'/>
       <feature policy='require' name='clflushopt'/>
       <feature policy='require' name='umip'/>
       <feature policy='require' name='md-clear'/>
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 578a9c80c6..826476c807 100644
--- a/tests/domaincapsdata/qemu_5.0.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_5.0.0-q35.x86_64.xml
@@ -48,6 +48,7 @@
       <feature policy='require' name='vmx'/>
       <feature policy='require' name='hypervisor'/>
       <feature policy='require' name='tsc_adjust'/>
+      <feature policy='require' name='mpx'/>
       <feature policy='require' name='clflushopt'/>
       <feature policy='require' name='umip'/>
       <feature policy='require' name='md-clear'/>
diff --git a/tests/domaincapsdata/qemu_5.0.0.x86_64.xml b/tests/domaincapsdata/qemu_5.0.0.x86_64.xml
index 9c7e6e1df3..0c88b239da 100644
--- a/tests/domaincapsdata/qemu_5.0.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_5.0.0.x86_64.xml
@@ -47,6 +47,7 @@
       <feature policy='require' name='vmx'/>
       <feature policy='require' name='hypervisor'/>
       <feature policy='require' name='tsc_adjust'/>
+      <feature policy='require' name='mpx'/>
       <feature policy='require' name='clflushopt'/>
       <feature policy='require' name='umip'/>
       <feature policy='require' name='md-clear'/>
diff --git a/tests/qemuxml2argvdata/cpu-Icelake-Server-pconfig.x86_64-latest.args b/tests/qemuxml2argvdata/cpu-Icelake-Server-pconfig.x86_64-latest.args
index c841bb80c8..2c8b083773 100644
--- a/tests/qemuxml2argvdata/cpu-Icelake-Server-pconfig.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/cpu-Icelake-Server-pconfig.x86_64-latest.args
@@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-test/.config \
 -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-test/master-key.aes"}' \
 -machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram,acpi=off \
 -accel kvm \
--cpu Icelake-Server,intel-pt=off \
+-cpu Icelake-Server \
 -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.x86_64-4.2.0.args b/tests/qemuxml2argvdata/cpu-host-model.x86_64-4.2.0.args
index 945163795d..977bc6ee21 100644
--- a/tests/qemuxml2argvdata/cpu-host-model.x86_64-4.2.0.args
+++ b/tests/qemuxml2argvdata/cpu-host-model.x86_64-4.2.0.args
@@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \
 -object secret,id=masterKey0,format=raw,file=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes \
 -machine pc-q35-4.2,usb=off,dump-guest-core=off \
 -accel kvm \
--cpu Skylake-Client-IBRS,ss=on,vmx=on,hypervisor=on,tsc-adjust=on,clflushopt=on,umip=on,md-clear=on,stibp=on,arch-capabilities=on,ssbd=on,xsaves=on,pdpe1gb=on,skip-l1dfl-vmentry=on,pschange-mc-no=on \
+-cpu Skylake-Client-IBRS,ss=on,vmx=on,hypervisor=on,tsc-adjust=on,mpx=on,clflushopt=on,umip=on,md-clear=on,stibp=on,arch-capabilities=on,ssbd=on,xsaves=on,pdpe1gb=on,skip-l1dfl-vmentry=on,pschange-mc-no=on \
 -m size=219136k \
 -overcommit mem-lock=off \
 -smp 1,sockets=1,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/cpu-host-model.x86_64-5.0.0.args b/tests/qemuxml2argvdata/cpu-host-model.x86_64-5.0.0.args
index 95c88f1ace..c9ea13bb81 100644
--- a/tests/qemuxml2argvdata/cpu-host-model.x86_64-5.0.0.args
+++ b/tests/qemuxml2argvdata/cpu-host-model.x86_64-5.0.0.args
@@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \
 -object secret,id=masterKey0,format=raw,file=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes \
 -machine pc-q35-5.0,usb=off,dump-guest-core=off \
 -accel kvm \
--cpu Skylake-Client-IBRS,ss=on,vmx=on,hypervisor=on,tsc-adjust=on,clflushopt=on,umip=on,md-clear=on,stibp=on,arch-capabilities=on,ssbd=on,xsaves=on,pdpe1gb=on,skip-l1dfl-vmentry=on,pschange-mc-no=on \
+-cpu Skylake-Client-IBRS,ss=on,vmx=on,hypervisor=on,tsc-adjust=on,mpx=on,clflushopt=on,umip=on,md-clear=on,stibp=on,arch-capabilities=on,ssbd=on,xsaves=on,pdpe1gb=on,skip-l1dfl-vmentry=on,pschange-mc-no=on \
 -m size=219136k \
 -overcommit mem-lock=off \
 -smp 1,sockets=1,cores=1,threads=1 \
-- 
2.41.0
_______________________________________________
Devel mailing list -- devel@lists.libvirt.org
To unsubscribe send an email to devel-leave@lists.libvirt.org
Re: [libvirt PATCH 19/19] NOMERGE: RFC: regenerate all cpu definitions
Posted by Jiri Denemark 2 years, 1 month ago
On Mon, Nov 06, 2023 at 16:21:24 -0600, Jonathon Jongsma wrote:
> This is just for discussion. I used the
> src/cpu_map/sync_qemu_models_i386.py script and regenerated the CPU
> model definitions from the current qemu master source code. I then
> regenerated all test output to see what the result would be. I am not
> suggesting that this is a viable approach, but... Are there some updates
> that should happen here?

Not really. In general we can't change the definition of existing models
to avoid breaking migrations. Both sides of migration need to share the
same CPU model definition.

Jirka
_______________________________________________
Devel mailing list -- devel@lists.libvirt.org
To unsubscribe send an email to devel-leave@lists.libvirt.org