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