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

Tim Wiederhake twiederh at redhat.com
Wed Nov 4 10:53:51 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 d05b277392..ff68909012 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 9033d5fcd5..ce7df8183c 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 c044b60e36..e88ca0979d 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 637f29ba1c..cc6f621467 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 82939a4509..d60ec31660 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 bfd4629836..cb2c4c204d 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 335e9cb584..a68a332700 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 4cacee6142..3484befbeb 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 ceca687334..bb15c1f262 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..c6337bc12a
--- /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 689daf8649..3190d5357b 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 983c5f4445..b9e90e0186 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 e54d0a48d8..c26a715446 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 3ebba9f4ed..99478fd0d9 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 0ffe2bae0d..067c19cb7a 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 75d709c009..c18f09acd9 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 b0a0faa856..8cf672b3d2 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 ee16b30f19..16ffd6983a 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 65e648ae21..cf1634a0b8 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 5cf32e91fa..5b7b819182 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 2fd6906406..69635fb96b 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 367ade7240..a88df26ec2 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 430bc3232d..3323c51e4e 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 eaf5d02e82..e4edad09b0 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..df81bdf715
--- /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 00d0d2fe51..3a5660454f 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 9968001fe7..d5811d27ba 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 57648ca93f..ad6cd87ca5 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 db961b0067..6341f3f4ce 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 dab59d4f82..3085e180e8 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 a7fc8d5828..30f8b7d33a 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 ff775bdcef..148009a083 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 29d4cd635b..f30aaf4682 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 fbdb4f2bf6..a38c36763e 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 7c85ed42df..d67525e569 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 5709e7c2f9..7e5c6d3c41 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 ffba34502a..1b8fd4c1a0 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 14cd57e176..aae96a8980 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 9fb3488809..35d5d55083 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 c162c0acc3..dc371cf83b 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 e022d94c84..c7735929d3 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..ad3fdc6dad
--- /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 c7898f0c22..2372df2241 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 16e4ad6c30..3d51f0ae34 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 81c43c81e8..2f762cfb14 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 412039fe55..9b2f0bdf82 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 e2fda9a1d4..439e13f21f 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 9dd96d5b56..2b208b25eb 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 185af06f78..6ebf590858 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 5507d2ea3b..28c26e8535 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 f0a8982115..ce6cb1820d 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 aeba082297..def4a5c3c9 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 ab85d2967f..715599b9a4 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 f0f8ece57a..57b77803d7 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 f3fb1959be..3d20add85e 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 0fe207a2b4..09c0c2a1f1 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