[libvirt PATCH 3/3] [DONTMERGE] Sample output of new sync script

Tim Wiederhake twiederh at redhat.com
Thu Oct 15 14:18:05 UTC 2020


Do not merge this commit.

This commit contains the changes that would be suggested by the
cpu_map sync script (see last commit):

  ./sync_qemu_i386.py ~/git/qemu/target/i386/cpu.c .

Note:
* Some models have "signature" / "vendor" added.
* Models with multiple "signature"s lose all but one.
* Comments are not preserved.
* "stepping" in "signature" is not preseved.
* "decode" is just flat on + on.
* New models: denverton, knightsmill, snowridge
---
 src/cpu_map/x86_486.xml                       |  8 ++
 src/cpu_map/x86_Broadwell-IBRS.xml            | 19 ++++-
 src/cpu_map/x86_Broadwell-noTSX-IBRS.xml      | 19 ++++-
 src/cpu_map/x86_Broadwell-noTSX.xml           | 19 ++++-
 src/cpu_map/x86_Broadwell.xml                 | 18 ++++-
 src/cpu_map/x86_Cascadelake-Server-noTSX.xml  | 20 ++++-
 src/cpu_map/x86_Cascadelake-Server.xml        | 17 +++-
 src/cpu_map/x86_Conroe.xml                    | 10 ++-
 src/cpu_map/x86_Cooperlake.xml                |  8 +-
 src/cpu_map/x86_Denverton.xml                 | 74 +++++++++++++++++
 src/cpu_map/x86_Dhyana.xml                    | 12 ++-
 src/cpu_map/x86_EPYC-IBPB.xml                 | 19 ++++-
 src/cpu_map/x86_EPYC-Rome.xml                 |  9 +++
 src/cpu_map/x86_EPYC.xml                      | 14 +++-
 src/cpu_map/x86_Haswell-IBRS.xml              | 20 ++++-
 src/cpu_map/x86_Haswell-noTSX-IBRS.xml        | 20 ++++-
 src/cpu_map/x86_Haswell-noTSX.xml             | 20 ++++-
 src/cpu_map/x86_Haswell.xml                   | 18 ++++-
 src/cpu_map/x86_Icelake-Client-noTSX.xml      | 14 +++-
 src/cpu_map/x86_Icelake-Client.xml            | 11 ++-
 src/cpu_map/x86_Icelake-Server-noTSX.xml      | 29 ++++++-
 src/cpu_map/x86_Icelake-Server.xml            | 11 ++-
 src/cpu_map/x86_IvyBridge-IBRS.xml            | 13 ++-
 src/cpu_map/x86_IvyBridge.xml                 | 12 ++-
 src/cpu_map/x86_KnightsMill.xml               | 77 ++++++++++++++++++
 src/cpu_map/x86_Nehalem-IBRS.xml              | 14 +++-
 src/cpu_map/x86_Nehalem.xml                   | 13 ++-
 src/cpu_map/x86_Opteron_G1.xml                |  9 ++-
 src/cpu_map/x86_Opteron_G2.xml                | 10 ++-
 src/cpu_map/x86_Opteron_G3.xml                | 10 ++-
 src/cpu_map/x86_Opteron_G4.xml                | 11 ++-
 src/cpu_map/x86_Opteron_G5.xml                | 11 ++-
 src/cpu_map/x86_Penryn.xml                    | 10 ++-
 src/cpu_map/x86_SandyBridge-IBRS.xml          | 14 +++-
 src/cpu_map/x86_SandyBridge.xml               | 13 ++-
 src/cpu_map/x86_Skylake-Client-IBRS.xml       | 16 ++--
 src/cpu_map/x86_Skylake-Client-noTSX-IBRS.xml | 18 +++--
 src/cpu_map/x86_Skylake-Client.xml            | 15 ++--
 src/cpu_map/x86_Skylake-Server-IBRS.xml       | 12 ++-
 src/cpu_map/x86_Skylake-Server-noTSX-IBRS.xml | 15 +++-
 src/cpu_map/x86_Skylake-Server.xml            | 12 ++-
 src/cpu_map/x86_Snowridge.xml                 | 79 +++++++++++++++++++
 src/cpu_map/x86_Westmere-IBRS.xml             | 13 ++-
 src/cpu_map/x86_Westmere.xml                  | 14 +++-
 src/cpu_map/x86_athlon.xml                    |  8 ++
 src/cpu_map/x86_core2duo.xml                  | 12 ++-
 src/cpu_map/x86_coreduo.xml                   | 10 ++-
 src/cpu_map/x86_kvm32.xml                     |  9 +++
 src/cpu_map/x86_kvm64.xml                     |  9 +++
 src/cpu_map/x86_n270.xml                      | 12 ++-
 src/cpu_map/x86_pentium.xml                   |  9 +++
 src/cpu_map/x86_pentium2.xml                  |  9 +++
 src/cpu_map/x86_pentium3.xml                  |  9 +++
 src/cpu_map/x86_phenom.xml                    | 17 +++-
 src/cpu_map/x86_qemu32.xml                    |  8 ++
 src/cpu_map/x86_qemu64.xml                    | 17 ++--
 56 files changed, 819 insertions(+), 130 deletions(-)
 create mode 100644 src/cpu_map/x86_Denverton.xml
 create mode 100644 src/cpu_map/x86_KnightsMill.xml
 create mode 100644 src/cpu_map/x86_Snowridge.xml

diff --git a/src/cpu_map/x86_486.xml b/src/cpu_map/x86_486.xml
index afc56dacae..acc3ecb7ee 100644
--- a/src/cpu_map/x86_486.xml
+++ b/src/cpu_map/x86_486.xml
@@ -1,6 +1,14 @@
+<!-- extra info from qemu:
+  "model.level": "1"
+  "model.stepping": "0"
+  "model.xlevel": "0"
+  "model.model_id": ""
+-->
 <cpus>
   <model name="486">
     <decode host="on" guest="on"/>
+    <signature family="4" model="8"/>
+    <vendor name="Intel"/>
     <feature name="fpu"/>
     <feature name="pse"/>
     <feature name="vme"/>
diff --git a/src/cpu_map/x86_Broadwell-IBRS.xml b/src/cpu_map/x86_Broadwell-IBRS.xml
index 66ff838233..1f3d6bdd91 100644
--- a/src/cpu_map/x86_Broadwell-IBRS.xml
+++ b/src/cpu_map/x86_Broadwell-IBRS.xml
@@ -1,15 +1,22 @@
+<!-- extra info from qemu:
+  "model.level": "0xd"
+  "model.stepping": "2"
+  "model.xlevel": "0x80000008"
+  "model.model_id": "Intel Core Processor (Broadwell)"
+  "version.version": "3"
+  "property.model-id": "Intel Core Processor (Broadwell, IBRS)"
+-->
 <cpus>
   <model name="Broadwell-IBRS">
     <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"/>
@@ -20,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 +52,7 @@
     <feature name="popcnt"/>
     <feature name="pse"/>
     <feature name="pse36"/>
+    <feature name="rdrand"/>
     <feature name="rdseed"/>
     <feature name="rdtscp"/>
     <feature name="rtm"/>
@@ -59,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 2c8f5a9f1b..32acac2693 100644
--- a/src/cpu_map/x86_Broadwell-noTSX-IBRS.xml
+++ b/src/cpu_map/x86_Broadwell-noTSX-IBRS.xml
@@ -1,15 +1,22 @@
+<!-- extra info from qemu:
+  "model.level": "0xd"
+  "model.stepping": "2"
+  "model.xlevel": "0x80000008"
+  "model.model_id": "Intel Core Processor (Broadwell)"
+  "version.version": "4"
+  "property.model-id": "Intel Core Processor (Broadwell, no TSX, IBRS)"
+-->
 <cpus>
   <model name="Broadwell-noTSX-IBRS">
     <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"/>
@@ -20,6 +27,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="rdseed"/>
     <feature name="rdtscp"/>
     <feature name="sep"/>
@@ -57,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 4039f2b8d5..7568dd796e 100644
--- a/src/cpu_map/x86_Broadwell-noTSX.xml
+++ b/src/cpu_map/x86_Broadwell-noTSX.xml
@@ -1,15 +1,22 @@
+<!-- extra info from qemu:
+  "model.level": "0xd"
+  "model.stepping": "2"
+  "model.xlevel": "0x80000008"
+  "model.model_id": "Intel Core Processor (Broadwell)"
+  "version.version": "2"
+  "property.model-id": "Intel Core Processor (Broadwell, no TSX)"
+-->
 <cpus>
   <model name="Broadwell-noTSX">
     <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"/>
@@ -20,6 +27,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="rdseed"/>
     <feature name="rdtscp"/>
     <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_Broadwell.xml b/src/cpu_map/x86_Broadwell.xml
index cc5cbc5183..1b88ec4887 100644
--- a/src/cpu_map/x86_Broadwell.xml
+++ b/src/cpu_map/x86_Broadwell.xml
@@ -1,15 +1,21 @@
+<!-- extra info from qemu:
+  "model.level": "0xd"
+  "model.stepping": "2"
+  "model.xlevel": "0x80000008"
+  "model.model_id": "Intel Core Processor (Broadwell)"
+  "version.version": "1"
+-->
 <cpus>
   <model name="Broadwell">
     <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"/>
@@ -20,6 +26,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="rtm"/>
@@ -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_Cascadelake-Server-noTSX.xml b/src/cpu_map/x86_Cascadelake-Server-noTSX.xml
index f45a7720e9..9b2bcce6f7 100644
--- a/src/cpu_map/x86_Cascadelake-Server-noTSX.xml
+++ b/src/cpu_map/x86_Cascadelake-Server-noTSX.xml
@@ -1,7 +1,15 @@
+<!-- extra info from qemu:
+  "model.level": "0xd"
+  "model.stepping": "6"
+  "model.xlevel": "0x80000008"
+  "model.model_id": "Intel Xeon Processor (Cascadelake)"
+  "version.version": "4"
+  "version.note": "ARCH_CAPABILITIES, no TSX"
+-->
 <cpus>
   <model name="Cascadelake-Server-noTSX">
-    <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"/>
@@ -9,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"/>
@@ -32,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"/>
@@ -49,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"/>
@@ -70,6 +83,7 @@
     <feature name="tsc"/>
     <feature name="tsc-deadline"/>
     <feature name="vme"/>
+    <feature name="vmx-eptp-switching"/>
     <feature name="x2apic"/>
     <feature name="xgetbv1"/>
     <feature name="xsave"/>
diff --git a/src/cpu_map/x86_Cascadelake-Server.xml b/src/cpu_map/x86_Cascadelake-Server.xml
index b6c39153a5..7c397ba004 100644
--- a/src/cpu_map/x86_Cascadelake-Server.xml
+++ b/src/cpu_map/x86_Cascadelake-Server.xml
@@ -1,7 +1,15 @@
+<!-- extra info from qemu:
+  "model.level": "0xd"
+  "model.stepping": "6"
+  "model.xlevel": "0x80000008"
+  "model.model_id": "Intel Xeon Processor (Cascadelake)"
+  "version.version": "2"
+  "version.note": "ARCH_CAPABILITIES"
+-->
 <cpus>
   <model name="Cascadelake-Server">
     <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"/>
@@ -9,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 +42,15 @@
     <feature name="fsgsbase"/>
     <feature name="fxsr"/>
     <feature name="hle"/>
+    <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,15 +60,18 @@
     <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="rtm"/>
     <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_Conroe.xml b/src/cpu_map/x86_Conroe.xml
index 6ab92274dd..f4d11f3ddb 100644
--- a/src/cpu_map/x86_Conroe.xml
+++ b/src/cpu_map/x86_Conroe.xml
@@ -1,8 +1,13 @@
+<!-- extra info from qemu:
+  "model.level": "10"
+  "model.stepping": "3"
+  "model.xlevel": "0x80000008"
+  "model.model_id": "Intel Celeron_4x0 (Conroe/Merom Class Core 2)"
+-->
 <cpus>
   <model name="Conroe">
     <decode host="on" guest="on"/>
-    <signature family="6" model="15"/> <!-- 0006f0 -->
-    <signature family="6" model="22"/> <!-- 010660 -->
+    <signature family="6" model="15"/>
     <vendor name="Intel"/>
     <feature name="apic"/>
     <feature name="clflush"/>
@@ -31,5 +36,6 @@
     <feature name="ssse3"/>
     <feature name="syscall"/>
     <feature name="tsc"/>
+    <feature name="vme"/>
   </model>
 </cpus>
diff --git a/src/cpu_map/x86_Cooperlake.xml b/src/cpu_map/x86_Cooperlake.xml
index a2bac92526..6e7c3780d9 100644
--- a/src/cpu_map/x86_Cooperlake.xml
+++ b/src/cpu_map/x86_Cooperlake.xml
@@ -1,7 +1,13 @@
+<!-- extra info from qemu:
+  "model.level": "0xd"
+  "model.stepping": "10"
+  "model.xlevel": "0x80000008"
+  "model.model_id": "Intel Xeon Processor (Cooperlake)"
+-->
 <cpus>
   <model name="Cooperlake">
     <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_Denverton.xml b/src/cpu_map/x86_Denverton.xml
new file mode 100644
index 0000000000..3f356eb876
--- /dev/null
+++ b/src/cpu_map/x86_Denverton.xml
@@ -0,0 +1,74 @@
+<!-- extra info from qemu:
+  "model.level": "21"
+  "model.stepping": "1"
+  "model.xlevel": "0x80000008"
+  "model.model_id": "Intel Atom Processor (Denverton)"
+  "version.version": "2"
+  "property.monitor": "off"
+  "version.note": "no MPX, no MONITOR"
+-->
+<cpus>
+  <model name="Denverton">
+    <decode host="on" guest="on"/>
+    <signature family="6" model="95"/>
+    <vendor name="Intel"/>
+    <feature name="3dnowprefetch"/>
+    <feature name="aes"/>
+    <feature name="apic"/>
+    <feature name="arat"/>
+    <feature name="arch-capabilities"/>
+    <feature name="clflush"/>
+    <feature name="clflushopt"/>
+    <feature name="cmov"/>
+    <feature name="cx16"/>
+    <feature name="cx8"/>
+    <feature name="de"/>
+    <feature name="erms"/>
+    <feature name="fpu"/>
+    <feature name="fsgsbase"/>
+    <feature name="fxsr"/>
+    <feature name="lahf_lm"/>
+    <feature name="lm"/>
+    <feature name="mca"/>
+    <feature name="mce"/>
+    <feature name="mmx"/>
+    <feature name="movbe"/>
+    <feature name="msr"/>
+    <feature name="mtrr"/>
+    <feature name="nx"/>
+    <feature name="pae"/>
+    <feature name="pat"/>
+    <feature name="pclmuldq"/>
+    <feature name="pdpe1gb"/>
+    <feature name="pge"/>
+    <feature name="pni"/>
+    <feature name="popcnt"/>
+    <feature name="pse"/>
+    <feature name="pse36"/>
+    <feature name="rdctl-no"/>
+    <feature name="rdrand"/>
+    <feature name="rdseed"/>
+    <feature name="rdtscp"/>
+    <feature name="sep"/>
+    <feature name="sha-ni"/>
+    <feature name="skip-l1dfl-vmentry"/>
+    <feature name="smap"/>
+    <feature name="smep"/>
+    <feature name="spec-ctrl"/>
+    <feature name="ssbd"/>
+    <feature name="sse"/>
+    <feature name="sse2"/>
+    <feature name="sse4.1"/>
+    <feature name="sse4.2"/>
+    <feature name="ssse3"/>
+    <feature name="syscall"/>
+    <feature name="tsc"/>
+    <feature name="tsc-deadline"/>
+    <feature name="vme"/>
+    <feature name="x2apic"/>
+    <feature name="xgetbv1"/>
+    <feature name="xsave"/>
+    <feature name="xsavec"/>
+    <feature name="xsaveopt"/>
+  </model>
+</cpus>
diff --git a/src/cpu_map/x86_Dhyana.xml b/src/cpu_map/x86_Dhyana.xml
index 1a00833d02..bbf5c31f14 100644
--- a/src/cpu_map/x86_Dhyana.xml
+++ b/src/cpu_map/x86_Dhyana.xml
@@ -1,7 +1,14 @@
+<!-- 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">
     <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"/>
@@ -33,10 +40,11 @@
     <feature name="misalignsse"/>
     <feature name="mmx"/>
     <feature name="mmxext"/>
-    <feature name="monitor"/>
     <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-IBPB.xml b/src/cpu_map/x86_EPYC-IBPB.xml
index 0ea2a2edfb..db0b29eb8d 100644
--- a/src/cpu_map/x86_EPYC-IBPB.xml
+++ b/src/cpu_map/x86_EPYC-IBPB.xml
@@ -1,7 +1,17 @@
+<!-- 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"
+  "model.use_epyc_apic_id_encoding": "1"
+  "version.version": "3"
+  "property.model-id": "AMD EPYC Processor"
+-->
 <cpus>
   <model name="EPYC-IBPB">
     <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"/>
@@ -15,6 +25,7 @@
     <feature name="bmi2"/>
     <feature name="clflush"/>
     <feature name="clflushopt"/>
+    <feature name="clzero"/>
     <feature name="cmov"/>
     <feature name="cr8legacy"/>
     <feature name="cx16"/>
@@ -34,16 +45,18 @@
     <feature name="misalignsse"/>
     <feature name="mmx"/>
     <feature name="mmxext"/>
-    <feature name="monitor"/>
     <feature name="movbe"/>
     <feature name="msr"/>
     <feature name="mtrr"/>
+    <feature name="npt"/>
+    <feature name="nrip-save"/>
     <feature name="nx"/>
     <feature name="osvw"/>
     <feature name="pae"/>
     <feature name="pat"/>
     <feature name="pclmuldq"/>
     <feature name="pdpe1gb"/>
+    <feature name="perfctr-core"/>
     <feature name="pge"/>
     <feature name="pni"/>
     <feature name="popcnt"/>
@@ -69,6 +82,8 @@
     <feature name="xgetbv1"/>
     <feature name="xsave"/>
     <feature name="xsavec"/>
+    <feature name="xsaveerptr"/>
     <feature name="xsaveopt"/>
+    <feature name="xsaves"/>
   </model>
 </cpus>
diff --git a/src/cpu_map/x86_EPYC-Rome.xml b/src/cpu_map/x86_EPYC-Rome.xml
index c38fb760a8..26ef2aa504 100644
--- a/src/cpu_map/x86_EPYC-Rome.xml
+++ b/src/cpu_map/x86_EPYC-Rome.xml
@@ -1,3 +1,11 @@
+<!-- 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"
+  "model.use_epyc_apic_id_encoding": "1"
+-->
 <cpus>
   <model name="EPYC-Rome">
     <decode host="on" guest="on"/>
@@ -79,5 +87,6 @@
     <feature name="xsavec"/>
     <feature name="xsaveerptr"/>
     <feature name="xsaveopt"/>
+    <feature name="xsaves"/>
   </model>
 </cpus>
diff --git a/src/cpu_map/x86_EPYC.xml b/src/cpu_map/x86_EPYC.xml
index 36462a0dda..5ea9c8845f 100644
--- a/src/cpu_map/x86_EPYC.xml
+++ b/src/cpu_map/x86_EPYC.xml
@@ -1,7 +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"
+  "model.use_epyc_apic_id_encoding": "1"
+  "version.version": "1"
+-->
 <cpus>
   <model name="EPYC">
     <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"/>
@@ -33,10 +42,11 @@
     <feature name="misalignsse"/>
     <feature name="mmx"/>
     <feature name="mmxext"/>
-    <feature name="monitor"/>
     <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_Haswell-IBRS.xml b/src/cpu_map/x86_Haswell-IBRS.xml
index 51052a16de..8a831f84dc 100644
--- a/src/cpu_map/x86_Haswell-IBRS.xml
+++ b/src/cpu_map/x86_Haswell-IBRS.xml
@@ -1,13 +1,21 @@
+<!-- extra info from qemu:
+  "model.level": "0xd"
+  "model.stepping": "4"
+  "model.xlevel": "0x80000008"
+  "model.model_id": "Intel Core Processor (Haswell)"
+  "version.version": "3"
+  "property.stepping": "4"
+  "property.model-id": "Intel Core Processor (Haswell, IBRS)"
+-->
 <cpus>
   <model name="Haswell-IBRS">
     <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"/>
@@ -18,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 +51,7 @@
     <feature name="popcnt"/>
     <feature name="pse"/>
     <feature name="pse36"/>
+    <feature name="rdrand"/>
     <feature name="rdtscp"/>
     <feature name="rtm"/>
     <feature name="sep"/>
@@ -55,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 8db662a267..47d653fa9b 100644
--- a/src/cpu_map/x86_Haswell-noTSX-IBRS.xml
+++ b/src/cpu_map/x86_Haswell-noTSX-IBRS.xml
@@ -1,13 +1,21 @@
+<!-- extra info from qemu:
+  "model.level": "0xd"
+  "model.stepping": "4"
+  "model.xlevel": "0x80000008"
+  "model.model_id": "Intel Core Processor (Haswell)"
+  "version.version": "4"
+  "property.stepping": "1"
+  "property.model-id": "Intel Core Processor (Haswell, no TSX, IBRS)"
+-->
 <cpus>
   <model name="Haswell-noTSX-IBRS">
     <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"/>
@@ -18,6 +26,7 @@
     <feature name="cx8"/>
     <feature name="de"/>
     <feature name="erms"/>
+    <feature name="f16c"/>
     <feature name="fma"/>
     <feature name="fpu"/>
     <feature name="fsgsbase"/>
@@ -41,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 +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 2379564011..92c1ad5928 100644
--- a/src/cpu_map/x86_Haswell-noTSX.xml
+++ b/src/cpu_map/x86_Haswell-noTSX.xml
@@ -1,13 +1,21 @@
+<!-- extra info from qemu:
+  "model.level": "0xd"
+  "model.stepping": "4"
+  "model.xlevel": "0x80000008"
+  "model.model_id": "Intel Core Processor (Haswell)"
+  "version.version": "2"
+  "property.stepping": "1"
+  "property.model-id": "Intel Core Processor (Haswell, no TSX)"
+-->
 <cpus>
   <model name="Haswell-noTSX">
     <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"/>
@@ -18,6 +26,7 @@
     <feature name="cx8"/>
     <feature name="de"/>
     <feature name="erms"/>
+    <feature name="f16c"/>
     <feature name="fma"/>
     <feature name="fpu"/>
     <feature name="fsgsbase"/>
@@ -41,6 +50,7 @@
     <feature name="popcnt"/>
     <feature name="pse"/>
     <feature name="pse36"/>
+    <feature name="rdrand"/>
     <feature name="rdtscp"/>
     <feature name="sep"/>
     <feature name="smep"/>
@@ -52,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 6670303b8b..cc2e2d9343 100644
--- a/src/cpu_map/x86_Haswell.xml
+++ b/src/cpu_map/x86_Haswell.xml
@@ -1,13 +1,19 @@
+<!-- extra info from qemu:
+  "model.level": "0xd"
+  "model.stepping": "4"
+  "model.xlevel": "0x80000008"
+  "model.model_id": "Intel Core Processor (Haswell)"
+  "version.version": "1"
+-->
 <cpus>
   <model name="Haswell">
     <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"/>
@@ -18,6 +24,7 @@
     <feature name="cx8"/>
     <feature name="de"/>
     <feature name="erms"/>
+    <feature name="f16c"/>
     <feature name="fma"/>
     <feature name="fpu"/>
     <feature name="fsgsbase"/>
@@ -42,6 +49,7 @@
     <feature name="popcnt"/>
     <feature name="pse"/>
     <feature name="pse36"/>
+    <feature name="rdrand"/>
     <feature name="rdtscp"/>
     <feature name="rtm"/>
     <feature name="sep"/>
@@ -54,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-Client-noTSX.xml b/src/cpu_map/x86_Icelake-Client-noTSX.xml
index 57bd2c2587..3f3243f15f 100644
--- a/src/cpu_map/x86_Icelake-Client-noTSX.xml
+++ b/src/cpu_map/x86_Icelake-Client-noTSX.xml
@@ -1,7 +1,15 @@
+<!-- extra info from qemu:
+  "model.level": "0xd"
+  "model.stepping": "0"
+  "model.xlevel": "0x80000008"
+  "model.model_id": "Intel Core Processor (Icelake)"
+  "version.version": "2"
+  "version.note": "no TSX"
+-->
 <cpus>
   <model name="Icelake-Client-noTSX">
-    <decode host="on" guest="off"/>
-    <signature family="6" model="126"/> <!-- 0706e0 -->
+    <decode host="on" guest="on"/>
+    <signature family="6" model="126"/>
     <vendor name="Intel"/>
     <feature name="3dnowprefetch"/>
     <feature name="abm"/>
@@ -30,7 +38,6 @@
     <feature name="fsgsbase"/>
     <feature name="fxsr"/>
     <feature name="gfni"/>
-    <feature name="intel-pt"/>
     <feature name="invpcid"/>
     <feature name="lahf_lm"/>
     <feature name="lm"/>
@@ -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"/>
diff --git a/src/cpu_map/x86_Icelake-Client.xml b/src/cpu_map/x86_Icelake-Client.xml
index c927ac1993..f6b80b9165 100644
--- a/src/cpu_map/x86_Icelake-Client.xml
+++ b/src/cpu_map/x86_Icelake-Client.xml
@@ -1,7 +1,14 @@
+<!-- extra info from qemu:
+  "model.level": "0xd"
+  "model.stepping": "0"
+  "model.xlevel": "0x80000008"
+  "model.model_id": "Intel Core Processor (Icelake)"
+  "version.version": "1"
+-->
 <cpus>
   <model name="Icelake-Client">
     <decode host="on" guest="on"/>
-    <signature family="6" model="126"/> <!-- 0706e0 -->
+    <signature family="6" model="126"/>
     <vendor name="Intel"/>
     <feature name="3dnowprefetch"/>
     <feature name="abm"/>
@@ -31,7 +38,6 @@
     <feature name="fxsr"/>
     <feature name="gfni"/>
     <feature name="hle"/>
-    <feature name="intel-pt"/>
     <feature name="invpcid"/>
     <feature name="lahf_lm"/>
     <feature name="lm"/>
@@ -39,7 +45,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-noTSX.xml b/src/cpu_map/x86_Icelake-Server-noTSX.xml
index 3ed475bb32..74d47dc6c2 100644
--- a/src/cpu_map/x86_Icelake-Server-noTSX.xml
+++ b/src/cpu_map/x86_Icelake-Server-noTSX.xml
@@ -1,7 +1,16 @@
+<!-- extra info from qemu:
+  "model.level": "0xd"
+  "model.stepping": "0"
+  "model.xlevel": "0x80000008"
+  "model.model_id": "Intel Xeon Processor (Icelake)"
+  "version.version": "4"
+  "version.note": "no TSX"
+  "property.model": "106"
+-->
 <cpus>
   <model name="Icelake-Server-noTSX">
-    <decode host="on" guest="off"/>
-    <signature family="6" model="134"/> <!-- 080660 -->
+    <decode host="on" guest="on"/>
+    <signature family="6" model="134"/>
     <vendor name="Intel"/>
     <feature name="3dnowprefetch"/>
     <feature name="abm"/>
@@ -9,6 +18,7 @@
     <feature name="aes"/>
     <feature name="apic"/>
     <feature name="arat"/>
+    <feature name="arch-capabilities"/>
     <feature name="avx"/>
     <feature name="avx2"/>
     <feature name="avx512-vpopcntdq"/>
@@ -17,6 +27,7 @@
     <feature name="avx512cd"/>
     <feature name="avx512dq"/>
     <feature name="avx512f"/>
+    <feature name="avx512ifma"/>
     <feature name="avx512vbmi"/>
     <feature name="avx512vbmi2"/>
     <feature name="avx512vl"/>
@@ -35,18 +46,19 @@
     <feature name="fma"/>
     <feature name="fpu"/>
     <feature name="fsgsbase"/>
+    <feature name="fsrm"/>
     <feature name="fxsr"/>
     <feature name="gfni"/>
-    <feature name="intel-pt"/>
+    <feature name="ibrs-all"/>
     <feature name="invpcid"/>
     <feature name="la57"/>
     <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"/>
@@ -59,12 +71,17 @@
     <feature name="pku"/>
     <feature name="pni"/>
     <feature name="popcnt"/>
+    <feature name="pschange-mc-no"/>
     <feature name="pse"/>
     <feature name="pse36"/>
+    <feature name="rdctl-no"/>
+    <feature name="rdpid"/>
     <feature name="rdrand"/>
     <feature name="rdseed"/>
     <feature name="rdtscp"/>
     <feature name="sep"/>
+    <feature name="sha-ni"/>
+    <feature name="skip-l1dfl-vmentry"/>
     <feature name="smap"/>
     <feature name="smep"/>
     <feature name="spec-ctrl"/>
@@ -75,11 +92,15 @@
     <feature name="sse4.2"/>
     <feature name="ssse3"/>
     <feature name="syscall"/>
+    <feature name="taa-no"/>
     <feature name="tsc"/>
     <feature name="tsc-deadline"/>
     <feature name="umip"/>
     <feature name="vaes"/>
     <feature name="vme"/>
+    <feature name="vmx-eptp-switching"/>
+    <feature name="vmx-pml"/>
+    <feature name="vmx-rdseed-exit"/>
     <feature name="vpclmulqdq"/>
     <feature name="wbnoinvd"/>
     <feature name="x2apic"/>
diff --git a/src/cpu_map/x86_Icelake-Server.xml b/src/cpu_map/x86_Icelake-Server.xml
index 19c7da10b0..e50b92ccf4 100644
--- a/src/cpu_map/x86_Icelake-Server.xml
+++ b/src/cpu_map/x86_Icelake-Server.xml
@@ -1,7 +1,14 @@
+<!-- extra info from qemu:
+  "model.level": "0xd"
+  "model.stepping": "0"
+  "model.xlevel": "0x80000008"
+  "model.model_id": "Intel Xeon Processor (Icelake)"
+  "version.version": "1"
+-->
 <cpus>
   <model name="Icelake-Server">
     <decode host="on" guest="on"/>
-    <signature family="6" model="134"/> <!-- 080660 -->
+    <signature family="6" model="134"/>
     <vendor name="Intel"/>
     <feature name="3dnowprefetch"/>
     <feature name="abm"/>
@@ -38,7 +45,6 @@
     <feature name="fxsr"/>
     <feature name="gfni"/>
     <feature name="hle"/>
-    <feature name="intel-pt"/>
     <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_IvyBridge-IBRS.xml b/src/cpu_map/x86_IvyBridge-IBRS.xml
index cd37b62cff..aa84d43eb0 100644
--- a/src/cpu_map/x86_IvyBridge-IBRS.xml
+++ b/src/cpu_map/x86_IvyBridge-IBRS.xml
@@ -1,11 +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)"
+  "version.version": "2"
+  "property.model-id": "Intel Xeon E3-12xx v2 (Ivy Bridge, IBRS)"
+-->
 <cpus>
   <model name="IvyBridge-IBRS">
     <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 +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 1718e14e13..8ce1464eb4 100644
--- a/src/cpu_map/x86_IvyBridge.xml
+++ b/src/cpu_map/x86_IvyBridge.xml
@@ -1,11 +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)"
+  "version.version": "1"
+-->
 <cpus>
   <model name="IvyBridge">
     <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"/>
@@ -48,5 +55,6 @@
     <feature name="vme"/>
     <feature name="x2apic"/>
     <feature name="xsave"/>
+    <feature name="xsaveopt"/>
   </model>
 </cpus>
diff --git a/src/cpu_map/x86_KnightsMill.xml b/src/cpu_map/x86_KnightsMill.xml
new file mode 100644
index 0000000000..13e68efa84
--- /dev/null
+++ b/src/cpu_map/x86_KnightsMill.xml
@@ -0,0 +1,77 @@
+<!-- extra info from qemu:
+  "model.level": "0xd"
+  "model.stepping": "0"
+  "model.xlevel": "0x80000008"
+  "model.model_id": "Intel Xeon Phi Processor (Knights Mill)"
+-->
+<cpus>
+  <model name="KnightsMill">
+    <decode host="on" guest="on"/>
+    <signature family="6" model="133"/>
+    <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="avx512-4fmaps"/>
+    <feature name="avx512-4vnniw"/>
+    <feature name="avx512-vpopcntdq"/>
+    <feature name="avx512cd"/>
+    <feature name="avx512er"/>
+    <feature name="avx512f"/>
+    <feature name="avx512pf"/>
+    <feature name="bmi1"/>
+    <feature name="bmi2"/>
+    <feature name="clflush"/>
+    <feature name="cmov"/>
+    <feature name="cx16"/>
+    <feature name="cx8"/>
+    <feature name="de"/>
+    <feature name="erms"/>
+    <feature name="f16c"/>
+    <feature name="fma"/>
+    <feature name="fpu"/>
+    <feature name="fsgsbase"/>
+    <feature name="fxsr"/>
+    <feature name="lahf_lm"/>
+    <feature name="lm"/>
+    <feature name="mca"/>
+    <feature name="mce"/>
+    <feature name="mmx"/>
+    <feature name="movbe"/>
+    <feature name="msr"/>
+    <feature name="mtrr"/>
+    <feature name="nx"/>
+    <feature name="pae"/>
+    <feature name="pat"/>
+    <feature name="pclmuldq"/>
+    <feature name="pdpe1gb"/>
+    <feature name="pge"/>
+    <feature name="pni"/>
+    <feature name="popcnt"/>
+    <feature name="pse"/>
+    <feature name="pse36"/>
+    <feature name="rdrand"/>
+    <feature name="rdseed"/>
+    <feature name="rdtscp"/>
+    <feature name="sep"/>
+    <feature name="smep"/>
+    <feature name="ss"/>
+    <feature name="sse"/>
+    <feature name="sse2"/>
+    <feature name="sse4.1"/>
+    <feature name="sse4.2"/>
+    <feature name="ssse3"/>
+    <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_Nehalem-IBRS.xml b/src/cpu_map/x86_Nehalem-IBRS.xml
index 9f10bf1b01..d72d8d97ce 100644
--- a/src/cpu_map/x86_Nehalem-IBRS.xml
+++ b/src/cpu_map/x86_Nehalem-IBRS.xml
@@ -1,10 +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)"
+  "version.version": "2"
+  "property.model-id": "Intel Core i7 9xx (Nehalem Core i7, IBRS update)"
+-->
 <cpus>
   <model name="Nehalem-IBRS">
     <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 +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 bfa2224794..4a0a1c3cad 100644
--- a/src/cpu_map/x86_Nehalem.xml
+++ b/src/cpu_map/x86_Nehalem.xml
@@ -1,10 +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)"
+  "version.version": "1"
+-->
 <cpus>
   <model name="Nehalem">
     <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"/>
@@ -37,5 +41,6 @@
     <feature name="ssse3"/>
     <feature name="syscall"/>
     <feature name="tsc"/>
+    <feature name="vme"/>
   </model>
 </cpus>
diff --git a/src/cpu_map/x86_Opteron_G1.xml b/src/cpu_map/x86_Opteron_G1.xml
index cbb28aad84..56c5a7ba6a 100644
--- a/src/cpu_map/x86_Opteron_G1.xml
+++ b/src/cpu_map/x86_Opteron_G1.xml
@@ -1,7 +1,13 @@
+<!-- extra info from qemu:
+  "model.level": "5"
+  "model.stepping": "1"
+  "model.xlevel": "0x80000008"
+  "model.model_id": "AMD Opteron 240 (Gen 1 Class Opteron)"
+-->
 <cpus>
   <model name="Opteron_G1">
     <decode host="on" guest="on"/>
-    <signature family="15" model="6"/> <!-- 100e60 -->
+    <signature family="15" model="6"/>
     <vendor name="AMD"/>
     <feature name="apic"/>
     <feature name="clflush"/>
@@ -28,5 +34,6 @@
     <feature name="sse2"/>
     <feature name="syscall"/>
     <feature name="tsc"/>
+    <feature name="vme"/>
   </model>
 </cpus>
diff --git a/src/cpu_map/x86_Opteron_G2.xml b/src/cpu_map/x86_Opteron_G2.xml
index 4888d8ec4b..4d894ed72c 100644
--- a/src/cpu_map/x86_Opteron_G2.xml
+++ b/src/cpu_map/x86_Opteron_G2.xml
@@ -1,7 +1,13 @@
+<!-- extra info from qemu:
+  "model.level": "5"
+  "model.stepping": "1"
+  "model.xlevel": "0x80000008"
+  "model.model_id": "AMD Opteron 22xx (Gen 2 Class Opteron)"
+-->
 <cpus>
   <model name="Opteron_G2">
     <decode host="on" guest="on"/>
-    <signature family="15" model="6"/> <!-- 100e60 -->
+    <signature family="15" model="6"/>
     <vendor name="AMD"/>
     <feature name="apic"/>
     <feature name="clflush"/>
@@ -25,12 +31,12 @@
     <feature name="pni"/>
     <feature name="pse"/>
     <feature name="pse36"/>
-    <feature name="rdtscp"/>
     <feature name="sep"/>
     <feature name="sse"/>
     <feature name="sse2"/>
     <feature name="svm"/>
     <feature name="syscall"/>
     <feature name="tsc"/>
+    <feature name="vme"/>
   </model>
 </cpus>
diff --git a/src/cpu_map/x86_Opteron_G3.xml b/src/cpu_map/x86_Opteron_G3.xml
index 7dd0eb99ed..7f2929a503 100644
--- a/src/cpu_map/x86_Opteron_G3.xml
+++ b/src/cpu_map/x86_Opteron_G3.xml
@@ -1,7 +1,13 @@
+<!-- extra info from qemu:
+  "model.level": "5"
+  "model.stepping": "3"
+  "model.xlevel": "0x80000008"
+  "model.model_id": "AMD Opteron 23xx (Gen 3 Class Opteron)"
+-->
 <cpus>
   <model name="Opteron_G3">
     <decode host="on" guest="on"/>
-    <signature family="15" model="6"/> <!-- 100e60 -->
+    <signature family="16" model="2"/>
     <vendor name="AMD"/>
     <feature name="abm"/>
     <feature name="apic"/>
@@ -18,7 +24,6 @@
     <feature name="mce"/>
     <feature name="misalignsse"/>
     <feature name="mmx"/>
-    <feature name="monitor"/>
     <feature name="msr"/>
     <feature name="mtrr"/>
     <feature name="nx"/>
@@ -37,5 +42,6 @@
     <feature name="svm"/>
     <feature name="syscall"/>
     <feature name="tsc"/>
+    <feature name="vme"/>
   </model>
 </cpus>
diff --git a/src/cpu_map/x86_Opteron_G4.xml b/src/cpu_map/x86_Opteron_G4.xml
index 2b6e986839..b61df726a5 100644
--- a/src/cpu_map/x86_Opteron_G4.xml
+++ b/src/cpu_map/x86_Opteron_G4.xml
@@ -1,7 +1,13 @@
+<!-- extra info from qemu:
+  "model.level": "0xd"
+  "model.stepping": "2"
+  "model.xlevel": "0x8000001A"
+  "model.model_id": "AMD Opteron 62xx class CPU"
+-->
 <cpus>
   <model name="Opteron_G4">
     <decode host="on" guest="on"/>
-    <signature family="21" model="1"/> <!-- 600f10 -->
+    <signature family="21" model="1"/>
     <vendor name="AMD"/>
     <feature name="3dnowprefetch"/>
     <feature name="abm"/>
@@ -24,6 +30,8 @@
     <feature name="mmx"/>
     <feature name="msr"/>
     <feature name="mtrr"/>
+    <feature name="npt"/>
+    <feature name="nrip-save"/>
     <feature name="nx"/>
     <feature name="pae"/>
     <feature name="pat"/>
@@ -45,6 +53,7 @@
     <feature name="svm"/>
     <feature name="syscall"/>
     <feature name="tsc"/>
+    <feature name="vme"/>
     <feature name="xop"/>
     <feature name="xsave"/>
   </model>
diff --git a/src/cpu_map/x86_Opteron_G5.xml b/src/cpu_map/x86_Opteron_G5.xml
index 9827161a54..970eb90fcc 100644
--- a/src/cpu_map/x86_Opteron_G5.xml
+++ b/src/cpu_map/x86_Opteron_G5.xml
@@ -1,7 +1,13 @@
+<!-- extra info from qemu:
+  "model.level": "0xd"
+  "model.stepping": "0"
+  "model.xlevel": "0x8000001A"
+  "model.model_id": "AMD Opteron 63xx class CPU"
+-->
 <cpus>
   <model name="Opteron_G5">
     <decode host="on" guest="on"/>
-    <signature family="21" model="2"/> <!-- 600f20 -->
+    <signature family="21" model="2"/>
     <vendor name="AMD"/>
     <feature name="3dnowprefetch"/>
     <feature name="abm"/>
@@ -26,6 +32,8 @@
     <feature name="mmx"/>
     <feature name="msr"/>
     <feature name="mtrr"/>
+    <feature name="npt"/>
+    <feature name="nrip-save"/>
     <feature name="nx"/>
     <feature name="pae"/>
     <feature name="pat"/>
@@ -48,6 +56,7 @@
     <feature name="syscall"/>
     <feature name="tbm"/>
     <feature name="tsc"/>
+    <feature name="vme"/>
     <feature name="xop"/>
     <feature name="xsave"/>
   </model>
diff --git a/src/cpu_map/x86_Penryn.xml b/src/cpu_map/x86_Penryn.xml
index 9b756f758b..d306be84d6 100644
--- a/src/cpu_map/x86_Penryn.xml
+++ b/src/cpu_map/x86_Penryn.xml
@@ -1,8 +1,13 @@
+<!-- extra info from qemu:
+  "model.level": "10"
+  "model.stepping": "3"
+  "model.xlevel": "0x80000008"
+  "model.model_id": "Intel Core 2 Duo P9xxx (Penryn Class Core 2)"
+-->
 <cpus>
   <model name="Penryn">
     <decode host="on" guest="on"/>
-    <signature family="6" model="23"/> <!-- 010670 -->
-    <signature family="6" model="29"/> <!-- 0106d0 -->
+    <signature family="6" model="23"/>
     <vendor name="Intel"/>
     <feature name="apic"/>
     <feature name="clflush"/>
@@ -33,5 +38,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 995b00db11..0f73113566 100644
--- a/src/cpu_map/x86_SandyBridge-IBRS.xml
+++ b/src/cpu_map/x86_SandyBridge-IBRS.xml
@@ -1,11 +1,19 @@
+<!-- extra info from qemu:
+  "model.level": "0xd"
+  "model.stepping": "1"
+  "model.xlevel": "0x80000008"
+  "model.model_id": "Intel Xeon E312xx (Sandy Bridge)"
+  "version.version": "2"
+  "property.model-id": "Intel Xeon E312xx (Sandy Bridge, IBRS update)"
+-->
 <cpus>
   <model name="SandyBridge-IBRS">
     <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 +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 c4e2f28ec0..a47ffe1bc6 100644
--- a/src/cpu_map/x86_SandyBridge.xml
+++ b/src/cpu_map/x86_SandyBridge.xml
@@ -1,11 +1,18 @@
+<!-- extra info from qemu:
+  "model.level": "0xd"
+  "model.stepping": "1"
+  "model.xlevel": "0x80000008"
+  "model.model_id": "Intel Xeon E312xx (Sandy Bridge)"
+  "version.version": "1"
+-->
 <cpus>
   <model name="SandyBridge">
     <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"/>
@@ -40,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_Skylake-Client-IBRS.xml b/src/cpu_map/x86_Skylake-Client-IBRS.xml
index 768221d5c6..bf5de2ce64 100644
--- a/src/cpu_map/x86_Skylake-Client-IBRS.xml
+++ b/src/cpu_map/x86_Skylake-Client-IBRS.xml
@@ -1,12 +1,15 @@
+<!-- extra info from qemu:
+  "model.level": "0xd"
+  "model.stepping": "3"
+  "model.xlevel": "0x80000008"
+  "model.model_id": "Intel Core Processor (Skylake)"
+  "version.version": "2"
+  "property.model-id": "Intel Core Processor (Skylake, IBRS)"
+-->
 <cpus>
   <model name="Skylake-Client-IBRS">
     <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"/>
@@ -37,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 2df69661a4..c5d53bb33a 100644
--- a/src/cpu_map/x86_Skylake-Client-noTSX-IBRS.xml
+++ b/src/cpu_map/x86_Skylake-Client-noTSX-IBRS.xml
@@ -1,12 +1,15 @@
+<!-- extra info from qemu:
+  "model.level": "0xd"
+  "model.stepping": "3"
+  "model.xlevel": "0x80000008"
+  "model.model_id": "Intel Core Processor (Skylake)"
+  "version.version": "3"
+  "property.model-id": "Intel Core Processor (Skylake, IBRS, no TSX)"
+-->
 <cpus>
   <model name="Skylake-Client-noTSX-IBRS">
-    <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"/>
@@ -36,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 d0e034ee90..36f16e9698 100644
--- a/src/cpu_map/x86_Skylake-Client.xml
+++ b/src/cpu_map/x86_Skylake-Client.xml
@@ -1,12 +1,14 @@
+<!-- extra info from qemu:
+  "model.level": "0xd"
+  "model.stepping": "3"
+  "model.xlevel": "0x80000008"
+  "model.model_id": "Intel Core Processor (Skylake)"
+  "version.version": "1"
+-->
 <cpus>
   <model name="Skylake-Client">
     <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"/>
@@ -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-Server-IBRS.xml b/src/cpu_map/x86_Skylake-Server-IBRS.xml
index 47cdc5541f..6a7915806c 100644
--- a/src/cpu_map/x86_Skylake-Server-IBRS.xml
+++ b/src/cpu_map/x86_Skylake-Server-IBRS.xml
@@ -1,7 +1,15 @@
+<!-- extra info from qemu:
+  "model.level": "0xd"
+  "model.stepping": "4"
+  "model.xlevel": "0x80000008"
+  "model.model_id": "Intel Xeon Processor (Skylake)"
+  "version.version": "2"
+  "property.model-id": "Intel Xeon Processor (Skylake, IBRS)"
+-->
 <cpus>
   <model name="Skylake-Server-IBRS">
     <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"/>
@@ -38,7 +46,6 @@
     <feature name="mce"/>
     <feature name="mmx"/>
     <feature name="movbe"/>
-    <feature name="mpx"/>
     <feature name="msr"/>
     <feature name="mtrr"/>
     <feature name="nx"/>
@@ -48,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 5338f6bcf8..5ef7df5e40 100644
--- a/src/cpu_map/x86_Skylake-Server-noTSX-IBRS.xml
+++ b/src/cpu_map/x86_Skylake-Server-noTSX-IBRS.xml
@@ -1,7 +1,15 @@
+<!-- extra info from qemu:
+  "model.level": "0xd"
+  "model.stepping": "4"
+  "model.xlevel": "0x80000008"
+  "model.model_id": "Intel Xeon Processor (Skylake)"
+  "version.version": "4"
+  "property.model-id": "Intel Xeon Processor (Skylake, IBRS, no TSX)"
+-->
 <cpus>
   <model name="Skylake-Server-noTSX-IBRS">
-    <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"/>
@@ -37,7 +45,6 @@
     <feature name="mce"/>
     <feature name="mmx"/>
     <feature name="movbe"/>
-    <feature name="mpx"/>
     <feature name="msr"/>
     <feature name="mtrr"/>
     <feature name="nx"/>
@@ -47,6 +54,7 @@
     <feature name="pclmuldq"/>
     <feature name="pdpe1gb"/>
     <feature name="pge"/>
+    <feature name="pku"/>
     <feature name="pni"/>
     <feature name="popcnt"/>
     <feature name="pse"/>
@@ -67,6 +75,7 @@
     <feature name="tsc"/>
     <feature name="tsc-deadline"/>
     <feature name="vme"/>
+    <feature name="vmx-eptp-switching"/>
     <feature name="x2apic"/>
     <feature name="xgetbv1"/>
     <feature name="xsave"/>
diff --git a/src/cpu_map/x86_Skylake-Server.xml b/src/cpu_map/x86_Skylake-Server.xml
index a608573740..ed414f9f3b 100644
--- a/src/cpu_map/x86_Skylake-Server.xml
+++ b/src/cpu_map/x86_Skylake-Server.xml
@@ -1,7 +1,14 @@
+<!-- extra info from qemu:
+  "model.level": "0xd"
+  "model.stepping": "4"
+  "model.xlevel": "0x80000008"
+  "model.model_id": "Intel Xeon Processor (Skylake)"
+  "version.version": "1"
+-->
 <cpus>
   <model name="Skylake-Server">
     <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"/>
@@ -19,6 +26,7 @@
     <feature name="bmi1"/>
     <feature name="bmi2"/>
     <feature name="clflush"/>
+    <feature name="clflushopt"/>
     <feature name="clwb"/>
     <feature name="cmov"/>
     <feature name="cx16"/>
@@ -38,7 +46,6 @@
     <feature name="mce"/>
     <feature name="mmx"/>
     <feature name="movbe"/>
-    <feature name="mpx"/>
     <feature name="msr"/>
     <feature name="mtrr"/>
     <feature name="nx"/>
@@ -48,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
new file mode 100644
index 0000000000..5e43d59ac1
--- /dev/null
+++ b/src/cpu_map/x86_Snowridge.xml
@@ -0,0 +1,79 @@
+<!-- extra info from qemu:
+  "model.level": "27"
+  "model.stepping": "1"
+  "model.xlevel": "0x80000008"
+  "model.model_id": "Intel Atom Processor (SnowRidge)"
+  "version.version": "2"
+  "property.model-id": "Intel Atom Processor (Snowridge, no MPX)"
+-->
+<cpus>
+  <model name="Snowridge">
+    <decode host="on" guest="on"/>
+    <signature family="6" model="134"/>
+    <vendor name="Intel"/>
+    <feature name="3dnowprefetch"/>
+    <feature name="aes"/>
+    <feature name="apic"/>
+    <feature name="arat"/>
+    <feature name="arch-capabilities"/>
+    <feature name="cldemote"/>
+    <feature name="clflush"/>
+    <feature name="clflushopt"/>
+    <feature name="clwb"/>
+    <feature name="cmov"/>
+    <feature name="core-capability"/>
+    <feature name="cx16"/>
+    <feature name="cx8"/>
+    <feature name="de"/>
+    <feature name="erms"/>
+    <feature name="fpu"/>
+    <feature name="fsgsbase"/>
+    <feature name="fxsr"/>
+    <feature name="gfni"/>
+    <feature name="lahf_lm"/>
+    <feature name="lm"/>
+    <feature name="mca"/>
+    <feature name="mce"/>
+    <feature name="mmx"/>
+    <feature name="movbe"/>
+    <feature name="movdir64b"/>
+    <feature name="movdiri"/>
+    <feature name="msr"/>
+    <feature name="mtrr"/>
+    <feature name="nx"/>
+    <feature name="pae"/>
+    <feature name="pat"/>
+    <feature name="pclmuldq"/>
+    <feature name="pdpe1gb"/>
+    <feature name="pge"/>
+    <feature name="pni"/>
+    <feature name="popcnt"/>
+    <feature name="pse"/>
+    <feature name="pse36"/>
+    <feature name="rdrand"/>
+    <feature name="rdseed"/>
+    <feature name="rdtscp"/>
+    <feature name="sep"/>
+    <feature name="sha-ni"/>
+    <feature name="smap"/>
+    <feature name="smep"/>
+    <feature name="spec-ctrl"/>
+    <feature name="split-lock-detect"/>
+    <feature name="ssbd"/>
+    <feature name="sse"/>
+    <feature name="sse2"/>
+    <feature name="sse4.1"/>
+    <feature name="sse4.2"/>
+    <feature name="ssse3"/>
+    <feature name="syscall"/>
+    <feature name="tsc"/>
+    <feature name="tsc-deadline"/>
+    <feature name="umip"/>
+    <feature name="vme"/>
+    <feature name="x2apic"/>
+    <feature name="xgetbv1"/>
+    <feature name="xsave"/>
+    <feature name="xsavec"/>
+    <feature name="xsaveopt"/>
+  </model>
+</cpus>
diff --git a/src/cpu_map/x86_Westmere-IBRS.xml b/src/cpu_map/x86_Westmere-IBRS.xml
index 2e4bfd171d..a3ab58afb2 100644
--- a/src/cpu_map/x86_Westmere-IBRS.xml
+++ b/src/cpu_map/x86_Westmere-IBRS.xml
@@ -1,10 +1,19 @@
+<!-- extra info from qemu:
+  "model.level": "11"
+  "model.stepping": "1"
+  "model.xlevel": "0x80000008"
+  "model.model_id": "Westmere E56xx/L56xx/X56xx (Nehalem-C)"
+  "version.version": "2"
+  "property.model-id": "Westmere E56xx/L56xx/X56xx (IBRS update)"
+-->
 <cpus>
   <model name="Westmere-IBRS">
     <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"/>
@@ -22,6 +31,7 @@
     <feature name="nx"/>
     <feature name="pae"/>
     <feature name="pat"/>
+    <feature name="pclmuldq"/>
     <feature name="pge"/>
     <feature name="pni"/>
     <feature name="popcnt"/>
@@ -36,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 259b6c75ee..72bf717092 100644
--- a/src/cpu_map/x86_Westmere.xml
+++ b/src/cpu_map/x86_Westmere.xml
@@ -1,12 +1,18 @@
+<!-- extra info from qemu:
+  "model.level": "11"
+  "model.stepping": "1"
+  "model.xlevel": "0x80000008"
+  "model.model_id": "Westmere E56xx/L56xx/X56xx (Nehalem-C)"
+  "version.version": "1"
+-->
 <cpus>
   <model name="Westmere">
     <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"/>
@@ -24,6 +30,7 @@
     <feature name="nx"/>
     <feature name="pae"/>
     <feature name="pat"/>
+    <feature name="pclmuldq"/>
     <feature name="pge"/>
     <feature name="pni"/>
     <feature name="popcnt"/>
@@ -37,5 +44,6 @@
     <feature name="ssse3"/>
     <feature name="syscall"/>
     <feature name="tsc"/>
+    <feature name="vme"/>
   </model>
 </cpus>
diff --git a/src/cpu_map/x86_athlon.xml b/src/cpu_map/x86_athlon.xml
index 7ae992c491..ae25605445 100644
--- a/src/cpu_map/x86_athlon.xml
+++ b/src/cpu_map/x86_athlon.xml
@@ -1,6 +1,13 @@
+<!-- extra info from qemu:
+  "model.level": "2"
+  "model.stepping": "3"
+  "model.xlevel": "0x80000008"
+  "model.model_id": "QEMU Virtual CPU version  QEMU_HW_VERSION"
+-->
 <cpus>
   <model name="athlon">
     <decode host="on" guest="on"/>
+    <signature family="6" model="2"/>
     <vendor name="AMD"/>
     <feature name="3dnow"/>
     <feature name="3dnowext"/>
@@ -10,6 +17,7 @@
     <feature name="de"/>
     <feature name="fpu"/>
     <feature name="fxsr"/>
+    <feature name="mca"/>
     <feature name="mce"/>
     <feature name="mmx"/>
     <feature name="mmxext"/>
diff --git a/src/cpu_map/x86_core2duo.xml b/src/cpu_map/x86_core2duo.xml
index e22b183b42..796eca2cdb 100644
--- a/src/cpu_map/x86_core2duo.xml
+++ b/src/cpu_map/x86_core2duo.xml
@@ -1,19 +1,28 @@
+<!-- extra info from qemu:
+  "model.level": "10"
+  "model.stepping": "11"
+  "model.xlevel": "0x80000008"
+  "model.model_id": "Intel(R) Core(TM)2 Duo CPU     T7700  @ 2.40GHz"
+-->
 <cpus>
   <model name="core2duo">
     <decode host="on" guest="on"/>
+    <signature family="6" model="15"/>
     <vendor name="Intel"/>
+    <feature name="acpi"/>
     <feature name="apic"/>
     <feature name="clflush"/>
     <feature name="cmov"/>
+    <feature name="cx16"/>
     <feature name="cx8"/>
     <feature name="de"/>
     <feature name="fpu"/>
     <feature name="fxsr"/>
+    <feature name="lahf_lm"/>
     <feature name="lm"/>
     <feature name="mca"/>
     <feature name="mce"/>
     <feature name="mmx"/>
-    <feature name="monitor"/>
     <feature name="msr"/>
     <feature name="mtrr"/>
     <feature name="nx"/>
@@ -24,6 +33,7 @@
     <feature name="pse"/>
     <feature name="pse36"/>
     <feature name="sep"/>
+    <feature name="ss"/>
     <feature name="sse"/>
     <feature name="sse2"/>
     <feature name="ssse3"/>
diff --git a/src/cpu_map/x86_coreduo.xml b/src/cpu_map/x86_coreduo.xml
index d9888beb51..e139a88404 100644
--- a/src/cpu_map/x86_coreduo.xml
+++ b/src/cpu_map/x86_coreduo.xml
@@ -1,7 +1,15 @@
+<!-- extra info from qemu:
+  "model.level": "10"
+  "model.stepping": "8"
+  "model.xlevel": "0x80000008"
+  "model.model_id": "Genuine Intel(R) CPU           T2600  @ 2.16GHz"
+-->
 <cpus>
   <model name="coreduo">
     <decode host="on" guest="on"/>
+    <signature family="6" model="14"/>
     <vendor name="Intel"/>
+    <feature name="acpi"/>
     <feature name="apic"/>
     <feature name="clflush"/>
     <feature name="cmov"/>
@@ -12,7 +20,6 @@
     <feature name="mca"/>
     <feature name="mce"/>
     <feature name="mmx"/>
-    <feature name="monitor"/>
     <feature name="msr"/>
     <feature name="mtrr"/>
     <feature name="nx"/>
@@ -22,6 +29,7 @@
     <feature name="pni"/>
     <feature name="pse"/>
     <feature name="sep"/>
+    <feature name="ss"/>
     <feature name="sse"/>
     <feature name="sse2"/>
     <feature name="tsc"/>
diff --git a/src/cpu_map/x86_kvm32.xml b/src/cpu_map/x86_kvm32.xml
index c35985f274..c5c958626a 100644
--- a/src/cpu_map/x86_kvm32.xml
+++ b/src/cpu_map/x86_kvm32.xml
@@ -1,6 +1,14 @@
+<!-- extra info from qemu:
+  "model.level": "5"
+  "model.stepping": "1"
+  "model.xlevel": "0x80000008"
+  "model.model_id": "Common 32-bit KVM processor"
+-->
 <cpus>
   <model name="kvm32">
     <decode host="on" guest="on"/>
+    <signature family="15" model="6"/>
+    <vendor name="Intel"/>
     <feature name="apic"/>
     <feature name="clflush"/>
     <feature name="cmov"/>
@@ -23,5 +31,6 @@
     <feature name="sse"/>
     <feature name="sse2"/>
     <feature name="tsc"/>
+    <feature name="vme"/>
   </model>
 </cpus>
diff --git a/src/cpu_map/x86_kvm64.xml b/src/cpu_map/x86_kvm64.xml
index dafdd7c979..6f59433ec6 100644
--- a/src/cpu_map/x86_kvm64.xml
+++ b/src/cpu_map/x86_kvm64.xml
@@ -1,6 +1,14 @@
+<!-- extra info from qemu:
+  "model.level": "0xd"
+  "model.stepping": "1"
+  "model.xlevel": "0x80000008"
+  "model.model_id": "Common KVM processor"
+-->
 <cpus>
   <model name="kvm64">
     <decode host="on" guest="on"/>
+    <signature family="15" model="6"/>
+    <vendor name="Intel"/>
     <feature name="apic"/>
     <feature name="clflush"/>
     <feature name="cmov"/>
@@ -27,5 +35,6 @@
     <feature name="sse2"/>
     <feature name="syscall"/>
     <feature name="tsc"/>
+    <feature name="vme"/>
   </model>
 </cpus>
diff --git a/src/cpu_map/x86_n270.xml b/src/cpu_map/x86_n270.xml
index 0fc392cbe9..870ce88725 100644
--- a/src/cpu_map/x86_n270.xml
+++ b/src/cpu_map/x86_n270.xml
@@ -1,7 +1,15 @@
+<!-- extra info from qemu:
+  "model.level": "10"
+  "model.stepping": "2"
+  "model.xlevel": "0x80000008"
+  "model.model_id": "Intel(R) Atom(TM) CPU N270   @ 1.60GHz"
+-->
 <cpus>
   <model name="n270">
     <decode host="on" guest="on"/>
+    <signature family="6" model="28"/>
     <vendor name="Intel"/>
+    <feature name="acpi"/>
     <feature name="apic"/>
     <feature name="clflush"/>
     <feature name="cmov"/>
@@ -9,10 +17,11 @@
     <feature name="de"/>
     <feature name="fpu"/>
     <feature name="fxsr"/>
+    <feature name="lahf_lm"/>
     <feature name="mca"/>
     <feature name="mce"/>
     <feature name="mmx"/>
-    <feature name="monitor"/>
+    <feature name="movbe"/>
     <feature name="msr"/>
     <feature name="mtrr"/>
     <feature name="nx"/>
@@ -22,6 +31,7 @@
     <feature name="pni"/>
     <feature name="pse"/>
     <feature name="sep"/>
+    <feature name="ss"/>
     <feature name="sse"/>
     <feature name="sse2"/>
     <feature name="ssse3"/>
diff --git a/src/cpu_map/x86_pentium.xml b/src/cpu_map/x86_pentium.xml
index 9863e495eb..4c65b1c00a 100644
--- a/src/cpu_map/x86_pentium.xml
+++ b/src/cpu_map/x86_pentium.xml
@@ -1,6 +1,15 @@
+<!-- extra info from qemu:
+  "model.level": "1"
+  "model.stepping": "3"
+  "model.xlevel": "0"
+  "model.model_id": ""
+-->
 <cpus>
   <model name="pentium">
     <decode host="on" guest="on"/>
+    <signature family="5" model="4"/>
+    <vendor name="Intel"/>
+    <feature name="apic"/>
     <feature name="cx8"/>
     <feature name="de"/>
     <feature name="fpu"/>
diff --git a/src/cpu_map/x86_pentium2.xml b/src/cpu_map/x86_pentium2.xml
index a8fc0fea78..3f59d20b0a 100644
--- a/src/cpu_map/x86_pentium2.xml
+++ b/src/cpu_map/x86_pentium2.xml
@@ -1,6 +1,15 @@
+<!-- extra info from qemu:
+  "model.level": "2"
+  "model.stepping": "2"
+  "model.xlevel": "0"
+  "model.model_id": ""
+-->
 <cpus>
   <model name="pentium2">
     <decode host="on" guest="on"/>
+    <signature family="6" model="5"/>
+    <vendor name="Intel"/>
+    <feature name="apic"/>
     <feature name="cmov"/>
     <feature name="cx8"/>
     <feature name="de"/>
diff --git a/src/cpu_map/x86_pentium3.xml b/src/cpu_map/x86_pentium3.xml
index 7a75b1c517..c25c8c24ad 100644
--- a/src/cpu_map/x86_pentium3.xml
+++ b/src/cpu_map/x86_pentium3.xml
@@ -1,6 +1,15 @@
+<!-- extra info from qemu:
+  "model.level": "3"
+  "model.stepping": "3"
+  "model.xlevel": "0"
+  "model.model_id": ""
+-->
 <cpus>
   <model name="pentium3">
     <decode host="on" guest="on"/>
+    <signature family="6" model="7"/>
+    <vendor name="Intel"/>
+    <feature name="apic"/>
     <feature name="cmov"/>
     <feature name="cx8"/>
     <feature name="de"/>
diff --git a/src/cpu_map/x86_phenom.xml b/src/cpu_map/x86_phenom.xml
index 76bd20b594..f1deb66b38 100644
--- a/src/cpu_map/x86_phenom.xml
+++ b/src/cpu_map/x86_phenom.xml
@@ -1,37 +1,52 @@
+<!-- extra info from qemu:
+  "model.level": "5"
+  "model.stepping": "3"
+  "model.xlevel": "0x8000001A"
+  "model.model_id": "AMD Phenom(tm) 9550 Quad-Core Processor"
+-->
 <cpus>
   <model name="phenom">
     <decode host="on" guest="on"/>
+    <signature family="16" model="2"/>
     <vendor name="AMD"/>
     <feature name="3dnow"/>
     <feature name="3dnowext"/>
+    <feature name="abm"/>
     <feature name="apic"/>
     <feature name="clflush"/>
     <feature name="cmov"/>
+    <feature name="cx16"/>
     <feature name="cx8"/>
     <feature name="de"/>
     <feature name="fpu"/>
     <feature name="fxsr"/>
     <feature name="fxsr_opt"/>
+    <feature name="lahf_lm"/>
     <feature name="lm"/>
     <feature name="mca"/>
     <feature name="mce"/>
     <feature name="mmx"/>
     <feature name="mmxext"/>
-    <feature name="monitor"/>
     <feature name="msr"/>
     <feature name="mtrr"/>
+    <feature name="npt"/>
     <feature name="nx"/>
     <feature name="pae"/>
     <feature name="pat"/>
+    <feature name="pdpe1gb"/>
     <feature name="pge"/>
     <feature name="pni"/>
+    <feature name="popcnt"/>
     <feature name="pse"/>
     <feature name="pse36"/>
+    <feature name="rdtscp"/>
     <feature name="sep"/>
     <feature name="sse"/>
     <feature name="sse2"/>
+    <feature name="sse4a"/>
     <feature name="svm"/>
     <feature name="syscall"/>
     <feature name="tsc"/>
+    <feature name="vme"/>
   </model>
 </cpus>
diff --git a/src/cpu_map/x86_qemu32.xml b/src/cpu_map/x86_qemu32.xml
index 2a126384a6..6c71e5ac17 100644
--- a/src/cpu_map/x86_qemu32.xml
+++ b/src/cpu_map/x86_qemu32.xml
@@ -1,6 +1,14 @@
+<!-- extra info from qemu:
+  "model.level": "4"
+  "model.stepping": "3"
+  "model.xlevel": "0x80000004"
+  "model.model_id": "QEMU Virtual CPU version  QEMU_HW_VERSION"
+-->
 <cpus>
   <model name="qemu32">
     <decode host="on" guest="on"/>
+    <signature family="6" model="6"/>
+    <vendor name="Intel"/>
     <feature name="apic"/>
     <feature name="cmov"/>
     <feature name="cx8"/>
diff --git a/src/cpu_map/x86_qemu64.xml b/src/cpu_map/x86_qemu64.xml
index 61b1ea5a71..d9b7d785e0 100644
--- a/src/cpu_map/x86_qemu64.xml
+++ b/src/cpu_map/x86_qemu64.xml
@@ -1,14 +1,14 @@
+<!-- extra info from qemu:
+  "model.level": "0xd"
+  "model.stepping": "3"
+  "model.xlevel": "0x8000000A"
+  "model.model_id": "QEMU Virtual CPU version  QEMU_HW_VERSION"
+-->
 <cpus>
   <model name="qemu64">
     <decode host="on" guest="on"/>
-    <!-- These are supported only by TCG.  KVM supports them only if the
-         host does.  So we leave them out:
-
-    <feature name="abm"/>
-    <feature name="lahf_lm"/>
-    <feature name="popcnt"/>
-    <feature name="sse4a"/>
-    -->
+    <signature family="6" model="6"/>
+    <vendor name="AMD"/>
     <feature name="apic"/>
     <feature name="clflush"/>
     <feature name="cmov"/>
@@ -17,6 +17,7 @@
     <feature name="de"/>
     <feature name="fpu"/>
     <feature name="fxsr"/>
+    <feature name="lahf_lm"/>
     <feature name="lm"/>
     <feature name="mca"/>
     <feature name="mce"/>
-- 
2.26.2




More information about the libvir-list mailing list