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