Do not merge this commit. This commit contains the changes that would be suggested by the cpu_map sync script (see last commit): ./sync_qemu_i386.py ~/git/qemu/target/i386/cpu.c . Note: * Some models have "signature" / "vendor" added. * Models with multiple "signature"s lose all but one. * Comments are not preserved. * "stepping" in "signature" is not preseved. * "decode" is just flat on + on. * New models: denverton, knightsmill, snowridge --- src/cpu_map/x86_486.xml | 8 ++ src/cpu_map/x86_Broadwell-IBRS.xml | 19 ++++- src/cpu_map/x86_Broadwell-noTSX-IBRS.xml | 19 ++++- src/cpu_map/x86_Broadwell-noTSX.xml | 19 ++++- src/cpu_map/x86_Broadwell.xml | 18 ++++- src/cpu_map/x86_Cascadelake-Server-noTSX.xml | 20 ++++- src/cpu_map/x86_Cascadelake-Server.xml | 17 +++- src/cpu_map/x86_Conroe.xml | 10 ++- src/cpu_map/x86_Cooperlake.xml | 8 +- src/cpu_map/x86_Denverton.xml | 74 +++++++++++++++++ src/cpu_map/x86_Dhyana.xml | 12 ++- src/cpu_map/x86_EPYC-IBPB.xml | 19 ++++- src/cpu_map/x86_EPYC-Rome.xml | 9 +++ src/cpu_map/x86_EPYC.xml | 14 +++- src/cpu_map/x86_Haswell-IBRS.xml | 20 ++++- src/cpu_map/x86_Haswell-noTSX-IBRS.xml | 20 ++++- src/cpu_map/x86_Haswell-noTSX.xml | 20 ++++- src/cpu_map/x86_Haswell.xml | 18 ++++- src/cpu_map/x86_Icelake-Client-noTSX.xml | 14 +++- src/cpu_map/x86_Icelake-Client.xml | 11 ++- src/cpu_map/x86_Icelake-Server-noTSX.xml | 29 ++++++- src/cpu_map/x86_Icelake-Server.xml | 11 ++- src/cpu_map/x86_IvyBridge-IBRS.xml | 13 ++- src/cpu_map/x86_IvyBridge.xml | 12 ++- src/cpu_map/x86_KnightsMill.xml | 77 ++++++++++++++++++ src/cpu_map/x86_Nehalem-IBRS.xml | 14 +++- src/cpu_map/x86_Nehalem.xml | 13 ++- src/cpu_map/x86_Opteron_G1.xml | 9 ++- src/cpu_map/x86_Opteron_G2.xml | 10 ++- src/cpu_map/x86_Opteron_G3.xml | 10 ++- src/cpu_map/x86_Opteron_G4.xml | 11 ++- src/cpu_map/x86_Opteron_G5.xml | 11 ++- src/cpu_map/x86_Penryn.xml | 10 ++- src/cpu_map/x86_SandyBridge-IBRS.xml | 14 +++- src/cpu_map/x86_SandyBridge.xml | 13 ++- src/cpu_map/x86_Skylake-Client-IBRS.xml | 16 ++-- src/cpu_map/x86_Skylake-Client-noTSX-IBRS.xml | 18 +++-- src/cpu_map/x86_Skylake-Client.xml | 15 ++-- src/cpu_map/x86_Skylake-Server-IBRS.xml | 12 ++- src/cpu_map/x86_Skylake-Server-noTSX-IBRS.xml | 15 +++- src/cpu_map/x86_Skylake-Server.xml | 12 ++- src/cpu_map/x86_Snowridge.xml | 79 +++++++++++++++++++ src/cpu_map/x86_Westmere-IBRS.xml | 13 ++- src/cpu_map/x86_Westmere.xml | 14 +++- src/cpu_map/x86_athlon.xml | 8 ++ src/cpu_map/x86_core2duo.xml | 12 ++- src/cpu_map/x86_coreduo.xml | 10 ++- src/cpu_map/x86_kvm32.xml | 9 +++ src/cpu_map/x86_kvm64.xml | 9 +++ src/cpu_map/x86_n270.xml | 12 ++- src/cpu_map/x86_pentium.xml | 9 +++ src/cpu_map/x86_pentium2.xml | 9 +++ src/cpu_map/x86_pentium3.xml | 9 +++ src/cpu_map/x86_phenom.xml | 17 +++- src/cpu_map/x86_qemu32.xml | 8 ++ src/cpu_map/x86_qemu64.xml | 17 ++-- 56 files changed, 819 insertions(+), 130 deletions(-) create mode 100644 src/cpu_map/x86_Denverton.xml create mode 100644 src/cpu_map/x86_KnightsMill.xml create mode 100644 src/cpu_map/x86_Snowridge.xml diff --git a/src/cpu_map/x86_486.xml b/src/cpu_map/x86_486.xml index d05b277392..ff68909012 100644 --- a/src/cpu_map/x86_486.xml +++ b/src/cpu_map/x86_486.xml @@ -1,6 +1,14 @@ +<!-- extra info from qemu: + 'model.level': '1' + 'model.stepping': '0' + 'model.xlevel': '0' + 'model.model_id': '' +--> <cpus> <model name='486'> <decode host='on' guest='on'/> + <signature family='4' model='8'/> + <vendor name='Intel'/> <feature name='fpu'/> <feature name='pse'/> <feature name='vme'/> diff --git a/src/cpu_map/x86_Broadwell-IBRS.xml b/src/cpu_map/x86_Broadwell-IBRS.xml index 9033d5fcd5..ce7df8183c 100644 --- a/src/cpu_map/x86_Broadwell-IBRS.xml +++ b/src/cpu_map/x86_Broadwell-IBRS.xml @@ -1,15 +1,22 @@ +<!-- extra info from qemu: + 'model.level': '0xd' + 'model.stepping': '2' + 'model.xlevel': '0x80000008' + 'model.model_id': 'Intel Core Processor (Broadwell)' + 'version.version': '3' + 'property.model-id': 'Intel Core Processor (Broadwell, IBRS)' +--> <cpus> <model name='Broadwell-IBRS'> <decode host='on' guest='on'/> - <signature family='6' model='61'/> <!-- 0306d0 --> - <signature family='6' model='71'/> <!-- 040670 --> - <signature family='6' model='79'/> <!-- 0406f0 --> - <signature family='6' model='86'/> <!-- 050660 --> + <signature family='6' model='61'/> <vendor name='Intel'/> <feature name='3dnowprefetch'/> + <feature name='abm'/> <feature name='adx'/> <feature name='aes'/> <feature name='apic'/> + <feature name='arat'/> <feature name='avx'/> <feature name='avx2'/> <feature name='bmi1'/> @@ -20,6 +27,7 @@ <feature name='cx8'/> <feature name='de'/> <feature name='erms'/> + <feature name='f16c'/> <feature name='fma'/> <feature name='fpu'/> <feature name='fsgsbase'/> @@ -44,6 +52,7 @@ <feature name='popcnt'/> <feature name='pse'/> <feature name='pse36'/> + <feature name='rdrand'/> <feature name='rdseed'/> <feature name='rdtscp'/> <feature name='rtm'/> @@ -59,7 +68,9 @@ <feature name='syscall'/> <feature name='tsc'/> <feature name='tsc-deadline'/> + <feature name='vme'/> <feature name='x2apic'/> <feature name='xsave'/> + <feature name='xsaveopt'/> </model> </cpus> diff --git a/src/cpu_map/x86_Broadwell-noTSX-IBRS.xml b/src/cpu_map/x86_Broadwell-noTSX-IBRS.xml index c044b60e36..e88ca0979d 100644 --- a/src/cpu_map/x86_Broadwell-noTSX-IBRS.xml +++ b/src/cpu_map/x86_Broadwell-noTSX-IBRS.xml @@ -1,15 +1,22 @@ +<!-- extra info from qemu: + 'model.level': '0xd' + 'model.stepping': '2' + 'model.xlevel': '0x80000008' + 'model.model_id': 'Intel Core Processor (Broadwell)' + 'version.version': '4' + 'property.model-id': 'Intel Core Processor (Broadwell, no TSX, IBRS)' +--> <cpus> <model name='Broadwell-noTSX-IBRS'> <decode host='on' guest='on'/> - <signature family='6' model='61'/> <!-- 0306d0 --> - <signature family='6' model='71'/> <!-- 040670 --> - <signature family='6' model='79'/> <!-- 0406f0 --> - <signature family='6' model='86'/> <!-- 050660 --> + <signature family='6' model='61'/> <vendor name='Intel'/> <feature name='3dnowprefetch'/> + <feature name='abm'/> <feature name='adx'/> <feature name='aes'/> <feature name='apic'/> + <feature name='arat'/> <feature name='avx'/> <feature name='avx2'/> <feature name='bmi1'/> @@ -20,6 +27,7 @@ <feature name='cx8'/> <feature name='de'/> <feature name='erms'/> + <feature name='f16c'/> <feature name='fma'/> <feature name='fpu'/> <feature name='fsgsbase'/> @@ -43,6 +51,7 @@ <feature name='popcnt'/> <feature name='pse'/> <feature name='pse36'/> + <feature name='rdrand'/> <feature name='rdseed'/> <feature name='rdtscp'/> <feature name='sep'/> @@ -57,7 +66,9 @@ <feature name='syscall'/> <feature name='tsc'/> <feature name='tsc-deadline'/> + <feature name='vme'/> <feature name='x2apic'/> <feature name='xsave'/> + <feature name='xsaveopt'/> </model> </cpus> diff --git a/src/cpu_map/x86_Broadwell-noTSX.xml b/src/cpu_map/x86_Broadwell-noTSX.xml index 637f29ba1c..cc6f621467 100644 --- a/src/cpu_map/x86_Broadwell-noTSX.xml +++ b/src/cpu_map/x86_Broadwell-noTSX.xml @@ -1,15 +1,22 @@ +<!-- extra info from qemu: + 'model.level': '0xd' + 'model.stepping': '2' + 'model.xlevel': '0x80000008' + 'model.model_id': 'Intel Core Processor (Broadwell)' + 'version.version': '2' + 'property.model-id': 'Intel Core Processor (Broadwell, no TSX)' +--> <cpus> <model name='Broadwell-noTSX'> <decode host='on' guest='on'/> - <signature family='6' model='61'/> <!-- 0306d0 --> - <signature family='6' model='71'/> <!-- 040670 --> - <signature family='6' model='79'/> <!-- 0406f0 --> - <signature family='6' model='86'/> <!-- 050660 --> + <signature family='6' model='61'/> <vendor name='Intel'/> <feature name='3dnowprefetch'/> + <feature name='abm'/> <feature name='adx'/> <feature name='aes'/> <feature name='apic'/> + <feature name='arat'/> <feature name='avx'/> <feature name='avx2'/> <feature name='bmi1'/> @@ -20,6 +27,7 @@ <feature name='cx8'/> <feature name='de'/> <feature name='erms'/> + <feature name='f16c'/> <feature name='fma'/> <feature name='fpu'/> <feature name='fsgsbase'/> @@ -43,6 +51,7 @@ <feature name='popcnt'/> <feature name='pse'/> <feature name='pse36'/> + <feature name='rdrand'/> <feature name='rdseed'/> <feature name='rdtscp'/> <feature name='sep'/> @@ -56,7 +65,9 @@ <feature name='syscall'/> <feature name='tsc'/> <feature name='tsc-deadline'/> + <feature name='vme'/> <feature name='x2apic'/> <feature name='xsave'/> + <feature name='xsaveopt'/> </model> </cpus> diff --git a/src/cpu_map/x86_Broadwell.xml b/src/cpu_map/x86_Broadwell.xml index 82939a4509..d60ec31660 100644 --- a/src/cpu_map/x86_Broadwell.xml +++ b/src/cpu_map/x86_Broadwell.xml @@ -1,15 +1,21 @@ +<!-- extra info from qemu: + 'model.level': '0xd' + 'model.stepping': '2' + 'model.xlevel': '0x80000008' + 'model.model_id': 'Intel Core Processor (Broadwell)' + 'version.version': '1' +--> <cpus> <model name='Broadwell'> <decode host='on' guest='on'/> - <signature family='6' model='61'/> <!-- 0306d0 --> - <signature family='6' model='71'/> <!-- 040670 --> - <signature family='6' model='79'/> <!-- 0406f0 --> - <signature family='6' model='86'/> <!-- 050660 --> + <signature family='6' model='61'/> <vendor name='Intel'/> <feature name='3dnowprefetch'/> + <feature name='abm'/> <feature name='adx'/> <feature name='aes'/> <feature name='apic'/> + <feature name='arat'/> <feature name='avx'/> <feature name='avx2'/> <feature name='bmi1'/> @@ -20,6 +26,7 @@ <feature name='cx8'/> <feature name='de'/> <feature name='erms'/> + <feature name='f16c'/> <feature name='fma'/> <feature name='fpu'/> <feature name='fsgsbase'/> @@ -44,6 +51,7 @@ <feature name='popcnt'/> <feature name='pse'/> <feature name='pse36'/> + <feature name='rdrand'/> <feature name='rdseed'/> <feature name='rdtscp'/> <feature name='rtm'/> @@ -58,7 +66,9 @@ <feature name='syscall'/> <feature name='tsc'/> <feature name='tsc-deadline'/> + <feature name='vme'/> <feature name='x2apic'/> <feature name='xsave'/> + <feature name='xsaveopt'/> </model> </cpus> diff --git a/src/cpu_map/x86_Cascadelake-Server-noTSX.xml b/src/cpu_map/x86_Cascadelake-Server-noTSX.xml index bfd4629836..cb2c4c204d 100644 --- a/src/cpu_map/x86_Cascadelake-Server-noTSX.xml +++ b/src/cpu_map/x86_Cascadelake-Server-noTSX.xml @@ -1,7 +1,15 @@ +<!-- extra info from qemu: + 'model.level': '0xd' + 'model.stepping': '6' + 'model.xlevel': '0x80000008' + 'model.model_id': 'Intel Xeon Processor (Cascadelake)' + 'version.version': '4' + 'version.note': 'ARCH_CAPABILITIES, no TSX' +--> <cpus> <model name='Cascadelake-Server-noTSX'> - <decode host='on' guest='off'/> - <signature family='6' model='85' stepping='5-7'/> <!-- 050654 --> + <decode host='on' guest='on'/> + <signature family='6' model='85'/> <vendor name='Intel'/> <feature name='3dnowprefetch'/> <feature name='abm'/> @@ -9,6 +17,7 @@ <feature name='aes'/> <feature name='apic'/> <feature name='arat'/> + <feature name='arch-capabilities'/> <feature name='avx'/> <feature name='avx2'/> <feature name='avx512bw'/> @@ -32,14 +41,15 @@ <feature name='fpu'/> <feature name='fsgsbase'/> <feature name='fxsr'/> + <feature name='ibrs-all'/> <feature name='invpcid'/> <feature name='lahf_lm'/> <feature name='lm'/> <feature name='mca'/> <feature name='mce'/> + <feature name='mds-no'/> <feature name='mmx'/> <feature name='movbe'/> - <feature name='mpx'/> <feature name='msr'/> <feature name='mtrr'/> <feature name='nx'/> @@ -49,14 +59,17 @@ <feature name='pclmuldq'/> <feature name='pdpe1gb'/> <feature name='pge'/> + <feature name='pku'/> <feature name='pni'/> <feature name='popcnt'/> <feature name='pse'/> <feature name='pse36'/> + <feature name='rdctl-no'/> <feature name='rdrand'/> <feature name='rdseed'/> <feature name='rdtscp'/> <feature name='sep'/> + <feature name='skip-l1dfl-vmentry'/> <feature name='smap'/> <feature name='smep'/> <feature name='spec-ctrl'/> @@ -70,6 +83,7 @@ <feature name='tsc'/> <feature name='tsc-deadline'/> <feature name='vme'/> + <feature name='vmx-eptp-switching'/> <feature name='x2apic'/> <feature name='xgetbv1'/> <feature name='xsave'/> diff --git a/src/cpu_map/x86_Cascadelake-Server.xml b/src/cpu_map/x86_Cascadelake-Server.xml index 335e9cb584..a68a332700 100644 --- a/src/cpu_map/x86_Cascadelake-Server.xml +++ b/src/cpu_map/x86_Cascadelake-Server.xml @@ -1,7 +1,15 @@ +<!-- extra info from qemu: + 'model.level': '0xd' + 'model.stepping': '6' + 'model.xlevel': '0x80000008' + 'model.model_id': 'Intel Xeon Processor (Cascadelake)' + 'version.version': '2' + 'version.note': 'ARCH_CAPABILITIES' +--> <cpus> <model name='Cascadelake-Server'> <decode host='on' guest='on'/> - <signature family='6' model='85' stepping='5-7'/> <!-- 050654 --> + <signature family='6' model='85'/> <vendor name='Intel'/> <feature name='3dnowprefetch'/> <feature name='abm'/> @@ -9,6 +17,7 @@ <feature name='aes'/> <feature name='apic'/> <feature name='arat'/> + <feature name='arch-capabilities'/> <feature name='avx'/> <feature name='avx2'/> <feature name='avx512bw'/> @@ -33,14 +42,15 @@ <feature name='fsgsbase'/> <feature name='fxsr'/> <feature name='hle'/> + <feature name='ibrs-all'/> <feature name='invpcid'/> <feature name='lahf_lm'/> <feature name='lm'/> <feature name='mca'/> <feature name='mce'/> + <feature name='mds-no'/> <feature name='mmx'/> <feature name='movbe'/> - <feature name='mpx'/> <feature name='msr'/> <feature name='mtrr'/> <feature name='nx'/> @@ -50,15 +60,18 @@ <feature name='pclmuldq'/> <feature name='pdpe1gb'/> <feature name='pge'/> + <feature name='pku'/> <feature name='pni'/> <feature name='popcnt'/> <feature name='pse'/> <feature name='pse36'/> + <feature name='rdctl-no'/> <feature name='rdrand'/> <feature name='rdseed'/> <feature name='rdtscp'/> <feature name='rtm'/> <feature name='sep'/> + <feature name='skip-l1dfl-vmentry'/> <feature name='smap'/> <feature name='smep'/> <feature name='spec-ctrl'/> diff --git a/src/cpu_map/x86_Conroe.xml b/src/cpu_map/x86_Conroe.xml index 4cacee6142..3484befbeb 100644 --- a/src/cpu_map/x86_Conroe.xml +++ b/src/cpu_map/x86_Conroe.xml @@ -1,8 +1,13 @@ +<!-- extra info from qemu: + 'model.level': '10' + 'model.stepping': '3' + 'model.xlevel': '0x80000008' + 'model.model_id': 'Intel Celeron_4x0 (Conroe/Merom Class Core 2)' +--> <cpus> <model name='Conroe'> <decode host='on' guest='on'/> - <signature family='6' model='15'/> <!-- 0006f0 --> - <signature family='6' model='22'/> <!-- 010660 --> + <signature family='6' model='15'/> <vendor name='Intel'/> <feature name='apic'/> <feature name='clflush'/> @@ -31,5 +36,6 @@ <feature name='ssse3'/> <feature name='syscall'/> <feature name='tsc'/> + <feature name='vme'/> </model> </cpus> diff --git a/src/cpu_map/x86_Cooperlake.xml b/src/cpu_map/x86_Cooperlake.xml index ceca687334..bb15c1f262 100644 --- a/src/cpu_map/x86_Cooperlake.xml +++ b/src/cpu_map/x86_Cooperlake.xml @@ -1,7 +1,13 @@ +<!-- extra info from qemu: + 'model.level': '0xd' + 'model.stepping': '10' + 'model.xlevel': '0x80000008' + 'model.model_id': 'Intel Xeon Processor (Cooperlake)' +--> <cpus> <model name='Cooperlake'> <decode host='on' guest='on'/> - <signature family='6' model='85' stepping='10-11'/> <!-- 05065b --> + <signature family='6' model='85'/> <vendor name='Intel'/> <feature name='3dnowprefetch'/> <feature name='abm'/> diff --git a/src/cpu_map/x86_Denverton.xml b/src/cpu_map/x86_Denverton.xml new file mode 100644 index 0000000000..c6337bc12a --- /dev/null +++ b/src/cpu_map/x86_Denverton.xml @@ -0,0 +1,74 @@ +<!-- extra info from qemu: + 'model.level': '21' + 'model.stepping': '1' + 'model.xlevel': '0x80000008' + 'model.model_id': 'Intel Atom Processor (Denverton)' + 'version.version': '2' + 'property.monitor': 'off' + 'version.note': 'no MPX, no MONITOR' +--> +<cpus> + <model name='Denverton'> + <decode host='on' guest='on'/> + <signature family='6' model='95'/> + <vendor name='Intel'/> + <feature name='3dnowprefetch'/> + <feature name='aes'/> + <feature name='apic'/> + <feature name='arat'/> + <feature name='arch-capabilities'/> + <feature name='clflush'/> + <feature name='clflushopt'/> + <feature name='cmov'/> + <feature name='cx16'/> + <feature name='cx8'/> + <feature name='de'/> + <feature name='erms'/> + <feature name='fpu'/> + <feature name='fsgsbase'/> + <feature name='fxsr'/> + <feature name='lahf_lm'/> + <feature name='lm'/> + <feature name='mca'/> + <feature name='mce'/> + <feature name='mmx'/> + <feature name='movbe'/> + <feature name='msr'/> + <feature name='mtrr'/> + <feature name='nx'/> + <feature name='pae'/> + <feature name='pat'/> + <feature name='pclmuldq'/> + <feature name='pdpe1gb'/> + <feature name='pge'/> + <feature name='pni'/> + <feature name='popcnt'/> + <feature name='pse'/> + <feature name='pse36'/> + <feature name='rdctl-no'/> + <feature name='rdrand'/> + <feature name='rdseed'/> + <feature name='rdtscp'/> + <feature name='sep'/> + <feature name='sha-ni'/> + <feature name='skip-l1dfl-vmentry'/> + <feature name='smap'/> + <feature name='smep'/> + <feature name='spec-ctrl'/> + <feature name='ssbd'/> + <feature name='sse'/> + <feature name='sse2'/> + <feature name='sse4.1'/> + <feature name='sse4.2'/> + <feature name='ssse3'/> + <feature name='syscall'/> + <feature name='tsc'/> + <feature name='tsc-deadline'/> + <feature name='vme'/> + <feature name='x2apic'/> + <feature name='xgetbv1'/> + <feature name='xsave'/> + <feature name='xsavec'/> + <feature name='xsaveopt'/> + </model> +</cpus> diff --git a/src/cpu_map/x86_Dhyana.xml b/src/cpu_map/x86_Dhyana.xml index 689daf8649..3190d5357b 100644 --- a/src/cpu_map/x86_Dhyana.xml +++ b/src/cpu_map/x86_Dhyana.xml @@ -1,7 +1,14 @@ +<!-- extra info from qemu: + 'model.level': '0xd' + 'model.stepping': '1' + 'model.xlevel': '0x8000001E' + 'model.model_id': 'Hygon Dhyana Processor' + 'model.cache_info': '&epyc_cache_info' +--> <cpus> <model name='Dhyana'> <decode host='on' guest='on'/> - <signature family='24' model='0'/> <!-- 900f00 --> + <signature family='24' model='0'/> <vendor name='Hygon'/> <feature name='3dnowprefetch'/> <feature name='abm'/> @@ -33,10 +40,11 @@ <feature name='misalignsse'/> <feature name='mmx'/> <feature name='mmxext'/> - <feature name='monitor'/> <feature name='movbe'/> <feature name='msr'/> <feature name='mtrr'/> + <feature name='npt'/> + <feature name='nrip-save'/> <feature name='nx'/> <feature name='osvw'/> <feature name='pae'/> diff --git a/src/cpu_map/x86_EPYC-IBPB.xml b/src/cpu_map/x86_EPYC-IBPB.xml index 983c5f4445..b9e90e0186 100644 --- a/src/cpu_map/x86_EPYC-IBPB.xml +++ b/src/cpu_map/x86_EPYC-IBPB.xml @@ -1,7 +1,17 @@ +<!-- extra info from qemu: + 'model.level': '0xd' + 'model.stepping': '2' + 'model.xlevel': '0x8000001E' + 'model.model_id': 'AMD EPYC Processor' + 'model.cache_info': '&epyc_cache_info' + 'model.use_epyc_apic_id_encoding': '1' + 'version.version': '3' + 'property.model-id': 'AMD EPYC Processor' +--> <cpus> <model name='EPYC-IBPB'> <decode host='on' guest='on'/> - <signature family='23' model='1'/> <!-- 800f10 --> + <signature family='23' model='1'/> <vendor name='AMD'/> <feature name='3dnowprefetch'/> <feature name='abm'/> @@ -15,6 +25,7 @@ <feature name='bmi2'/> <feature name='clflush'/> <feature name='clflushopt'/> + <feature name='clzero'/> <feature name='cmov'/> <feature name='cr8legacy'/> <feature name='cx16'/> @@ -34,16 +45,18 @@ <feature name='misalignsse'/> <feature name='mmx'/> <feature name='mmxext'/> - <feature name='monitor'/> <feature name='movbe'/> <feature name='msr'/> <feature name='mtrr'/> + <feature name='npt'/> + <feature name='nrip-save'/> <feature name='nx'/> <feature name='osvw'/> <feature name='pae'/> <feature name='pat'/> <feature name='pclmuldq'/> <feature name='pdpe1gb'/> + <feature name='perfctr-core'/> <feature name='pge'/> <feature name='pni'/> <feature name='popcnt'/> @@ -69,6 +82,8 @@ <feature name='xgetbv1'/> <feature name='xsave'/> <feature name='xsavec'/> + <feature name='xsaveerptr'/> <feature name='xsaveopt'/> + <feature name='xsaves'/> </model> </cpus> diff --git a/src/cpu_map/x86_EPYC-Rome.xml b/src/cpu_map/x86_EPYC-Rome.xml index e54d0a48d8..c26a715446 100644 --- a/src/cpu_map/x86_EPYC-Rome.xml +++ b/src/cpu_map/x86_EPYC-Rome.xml @@ -1,3 +1,11 @@ +<!-- extra info from qemu: + 'model.level': '0xd' + 'model.stepping': '0' + 'model.xlevel': '0x8000001E' + 'model.model_id': 'AMD EPYC-Rome Processor' + 'model.cache_info': '&epyc_rome_cache_info' + 'model.use_epyc_apic_id_encoding': '1' +--> <cpus> <model name='EPYC-Rome'> <decode host='on' guest='on'/> @@ -79,5 +87,6 @@ <feature name='xsavec'/> <feature name='xsaveerptr'/> <feature name='xsaveopt'/> + <feature name='xsaves'/> </model> </cpus> diff --git a/src/cpu_map/x86_EPYC.xml b/src/cpu_map/x86_EPYC.xml index 3ebba9f4ed..99478fd0d9 100644 --- a/src/cpu_map/x86_EPYC.xml +++ b/src/cpu_map/x86_EPYC.xml @@ -1,7 +1,16 @@ +<!-- extra info from qemu: + 'model.level': '0xd' + 'model.stepping': '2' + 'model.xlevel': '0x8000001E' + 'model.model_id': 'AMD EPYC Processor' + 'model.cache_info': '&epyc_cache_info' + 'model.use_epyc_apic_id_encoding': '1' + 'version.version': '1' +--> <cpus> <model name='EPYC'> <decode host='on' guest='on'/> - <signature family='23' model='1'/> <!-- 800f10 --> + <signature family='23' model='1'/> <vendor name='AMD'/> <feature name='3dnowprefetch'/> <feature name='abm'/> @@ -33,10 +42,11 @@ <feature name='misalignsse'/> <feature name='mmx'/> <feature name='mmxext'/> - <feature name='monitor'/> <feature name='movbe'/> <feature name='msr'/> <feature name='mtrr'/> + <feature name='npt'/> + <feature name='nrip-save'/> <feature name='nx'/> <feature name='osvw'/> <feature name='pae'/> diff --git a/src/cpu_map/x86_Haswell-IBRS.xml b/src/cpu_map/x86_Haswell-IBRS.xml index 0ffe2bae0d..067c19cb7a 100644 --- a/src/cpu_map/x86_Haswell-IBRS.xml +++ b/src/cpu_map/x86_Haswell-IBRS.xml @@ -1,13 +1,21 @@ +<!-- extra info from qemu: + 'model.level': '0xd' + 'model.stepping': '4' + 'model.xlevel': '0x80000008' + 'model.model_id': 'Intel Core Processor (Haswell)' + 'version.version': '3' + 'property.stepping': '4' + 'property.model-id': 'Intel Core Processor (Haswell, IBRS)' +--> <cpus> <model name='Haswell-IBRS'> <decode host='on' guest='on'/> - <signature family='6' model='60'/> <!-- 0306c0 --> - <signature family='6' model='63'/> <!-- 0306f0 --> - <signature family='6' model='69'/> <!-- 040650 --> - <signature family='6' model='70'/> <!-- 040660 --> + <signature family='6' model='60'/> <vendor name='Intel'/> + <feature name='abm'/> <feature name='aes'/> <feature name='apic'/> + <feature name='arat'/> <feature name='avx'/> <feature name='avx2'/> <feature name='bmi1'/> @@ -18,6 +26,7 @@ <feature name='cx8'/> <feature name='de'/> <feature name='erms'/> + <feature name='f16c'/> <feature name='fma'/> <feature name='fpu'/> <feature name='fsgsbase'/> @@ -42,6 +51,7 @@ <feature name='popcnt'/> <feature name='pse'/> <feature name='pse36'/> + <feature name='rdrand'/> <feature name='rdtscp'/> <feature name='rtm'/> <feature name='sep'/> @@ -55,7 +65,9 @@ <feature name='syscall'/> <feature name='tsc'/> <feature name='tsc-deadline'/> + <feature name='vme'/> <feature name='x2apic'/> <feature name='xsave'/> + <feature name='xsaveopt'/> </model> </cpus> diff --git a/src/cpu_map/x86_Haswell-noTSX-IBRS.xml b/src/cpu_map/x86_Haswell-noTSX-IBRS.xml index 75d709c009..c18f09acd9 100644 --- a/src/cpu_map/x86_Haswell-noTSX-IBRS.xml +++ b/src/cpu_map/x86_Haswell-noTSX-IBRS.xml @@ -1,13 +1,21 @@ +<!-- extra info from qemu: + 'model.level': '0xd' + 'model.stepping': '4' + 'model.xlevel': '0x80000008' + 'model.model_id': 'Intel Core Processor (Haswell)' + 'version.version': '4' + 'property.stepping': '1' + 'property.model-id': 'Intel Core Processor (Haswell, no TSX, IBRS)' +--> <cpus> <model name='Haswell-noTSX-IBRS'> <decode host='on' guest='on'/> - <signature family='6' model='60'/> <!-- 0306c0 --> - <signature family='6' model='63'/> <!-- 0306f0 --> - <signature family='6' model='69'/> <!-- 040650 --> - <signature family='6' model='70'/> <!-- 040660 --> + <signature family='6' model='60'/> <vendor name='Intel'/> + <feature name='abm'/> <feature name='aes'/> <feature name='apic'/> + <feature name='arat'/> <feature name='avx'/> <feature name='avx2'/> <feature name='bmi1'/> @@ -18,6 +26,7 @@ <feature name='cx8'/> <feature name='de'/> <feature name='erms'/> + <feature name='f16c'/> <feature name='fma'/> <feature name='fpu'/> <feature name='fsgsbase'/> @@ -41,6 +50,7 @@ <feature name='popcnt'/> <feature name='pse'/> <feature name='pse36'/> + <feature name='rdrand'/> <feature name='rdtscp'/> <feature name='sep'/> <feature name='smep'/> @@ -53,7 +63,9 @@ <feature name='syscall'/> <feature name='tsc'/> <feature name='tsc-deadline'/> + <feature name='vme'/> <feature name='x2apic'/> <feature name='xsave'/> + <feature name='xsaveopt'/> </model> </cpus> diff --git a/src/cpu_map/x86_Haswell-noTSX.xml b/src/cpu_map/x86_Haswell-noTSX.xml index b0a0faa856..8cf672b3d2 100644 --- a/src/cpu_map/x86_Haswell-noTSX.xml +++ b/src/cpu_map/x86_Haswell-noTSX.xml @@ -1,13 +1,21 @@ +<!-- extra info from qemu: + 'model.level': '0xd' + 'model.stepping': '4' + 'model.xlevel': '0x80000008' + 'model.model_id': 'Intel Core Processor (Haswell)' + 'version.version': '2' + 'property.stepping': '1' + 'property.model-id': 'Intel Core Processor (Haswell, no TSX)' +--> <cpus> <model name='Haswell-noTSX'> <decode host='on' guest='on'/> - <signature family='6' model='60'/> <!-- 0306c0 --> - <signature family='6' model='63'/> <!-- 0306f0 --> - <signature family='6' model='69'/> <!-- 040650 --> - <signature family='6' model='70'/> <!-- 040660 --> + <signature family='6' model='60'/> <vendor name='Intel'/> + <feature name='abm'/> <feature name='aes'/> <feature name='apic'/> + <feature name='arat'/> <feature name='avx'/> <feature name='avx2'/> <feature name='bmi1'/> @@ -18,6 +26,7 @@ <feature name='cx8'/> <feature name='de'/> <feature name='erms'/> + <feature name='f16c'/> <feature name='fma'/> <feature name='fpu'/> <feature name='fsgsbase'/> @@ -41,6 +50,7 @@ <feature name='popcnt'/> <feature name='pse'/> <feature name='pse36'/> + <feature name='rdrand'/> <feature name='rdtscp'/> <feature name='sep'/> <feature name='smep'/> @@ -52,7 +62,9 @@ <feature name='syscall'/> <feature name='tsc'/> <feature name='tsc-deadline'/> + <feature name='vme'/> <feature name='x2apic'/> <feature name='xsave'/> + <feature name='xsaveopt'/> </model> </cpus> diff --git a/src/cpu_map/x86_Haswell.xml b/src/cpu_map/x86_Haswell.xml index ee16b30f19..16ffd6983a 100644 --- a/src/cpu_map/x86_Haswell.xml +++ b/src/cpu_map/x86_Haswell.xml @@ -1,13 +1,19 @@ +<!-- extra info from qemu: + 'model.level': '0xd' + 'model.stepping': '4' + 'model.xlevel': '0x80000008' + 'model.model_id': 'Intel Core Processor (Haswell)' + 'version.version': '1' +--> <cpus> <model name='Haswell'> <decode host='on' guest='on'/> - <signature family='6' model='60'/> <!-- 0306c0 --> - <signature family='6' model='63'/> <!-- 0306f0 --> - <signature family='6' model='69'/> <!-- 040650 --> - <signature family='6' model='70'/> <!-- 040660 --> + <signature family='6' model='60'/> <vendor name='Intel'/> + <feature name='abm'/> <feature name='aes'/> <feature name='apic'/> + <feature name='arat'/> <feature name='avx'/> <feature name='avx2'/> <feature name='bmi1'/> @@ -18,6 +24,7 @@ <feature name='cx8'/> <feature name='de'/> <feature name='erms'/> + <feature name='f16c'/> <feature name='fma'/> <feature name='fpu'/> <feature name='fsgsbase'/> @@ -42,6 +49,7 @@ <feature name='popcnt'/> <feature name='pse'/> <feature name='pse36'/> + <feature name='rdrand'/> <feature name='rdtscp'/> <feature name='rtm'/> <feature name='sep'/> @@ -54,7 +62,9 @@ <feature name='syscall'/> <feature name='tsc'/> <feature name='tsc-deadline'/> + <feature name='vme'/> <feature name='x2apic'/> <feature name='xsave'/> + <feature name='xsaveopt'/> </model> </cpus> diff --git a/src/cpu_map/x86_Icelake-Client-noTSX.xml b/src/cpu_map/x86_Icelake-Client-noTSX.xml index 65e648ae21..cf1634a0b8 100644 --- a/src/cpu_map/x86_Icelake-Client-noTSX.xml +++ b/src/cpu_map/x86_Icelake-Client-noTSX.xml @@ -1,7 +1,15 @@ +<!-- extra info from qemu: + 'model.level': '0xd' + 'model.stepping': '0' + 'model.xlevel': '0x80000008' + 'model.model_id': 'Intel Core Processor (Icelake)' + 'version.version': '2' + 'version.note': 'no TSX' +--> <cpus> <model name='Icelake-Client-noTSX'> - <decode host='on' guest='off'/> - <signature family='6' model='126'/> <!-- 0706e0 --> + <decode host='on' guest='on'/> + <signature family='6' model='126'/> <vendor name='Intel'/> <feature name='3dnowprefetch'/> <feature name='abm'/> @@ -30,7 +38,6 @@ <feature name='fsgsbase'/> <feature name='fxsr'/> <feature name='gfni'/> - <feature name='intel-pt'/> <feature name='invpcid'/> <feature name='lahf_lm'/> <feature name='lm'/> @@ -38,7 +45,6 @@ <feature name='mce'/> <feature name='mmx'/> <feature name='movbe'/> - <feature name='mpx'/> <feature name='msr'/> <feature name='mtrr'/> <feature name='nx'/> diff --git a/src/cpu_map/x86_Icelake-Client.xml b/src/cpu_map/x86_Icelake-Client.xml index 5cf32e91fa..5b7b819182 100644 --- a/src/cpu_map/x86_Icelake-Client.xml +++ b/src/cpu_map/x86_Icelake-Client.xml @@ -1,7 +1,14 @@ +<!-- extra info from qemu: + 'model.level': '0xd' + 'model.stepping': '0' + 'model.xlevel': '0x80000008' + 'model.model_id': 'Intel Core Processor (Icelake)' + 'version.version': '1' +--> <cpus> <model name='Icelake-Client'> <decode host='on' guest='on'/> - <signature family='6' model='126'/> <!-- 0706e0 --> + <signature family='6' model='126'/> <vendor name='Intel'/> <feature name='3dnowprefetch'/> <feature name='abm'/> @@ -31,7 +38,6 @@ <feature name='fxsr'/> <feature name='gfni'/> <feature name='hle'/> - <feature name='intel-pt'/> <feature name='invpcid'/> <feature name='lahf_lm'/> <feature name='lm'/> @@ -39,7 +45,6 @@ <feature name='mce'/> <feature name='mmx'/> <feature name='movbe'/> - <feature name='mpx'/> <feature name='msr'/> <feature name='mtrr'/> <feature name='nx'/> diff --git a/src/cpu_map/x86_Icelake-Server-noTSX.xml b/src/cpu_map/x86_Icelake-Server-noTSX.xml index 2fd6906406..69635fb96b 100644 --- a/src/cpu_map/x86_Icelake-Server-noTSX.xml +++ b/src/cpu_map/x86_Icelake-Server-noTSX.xml @@ -1,7 +1,16 @@ +<!-- extra info from qemu: + 'model.level': '0xd' + 'model.stepping': '0' + 'model.xlevel': '0x80000008' + 'model.model_id': 'Intel Xeon Processor (Icelake)' + 'version.version': '4' + 'version.note': 'no TSX' + 'property.model': '106' +--> <cpus> <model name='Icelake-Server-noTSX'> - <decode host='on' guest='off'/> - <signature family='6' model='134'/> <!-- 080660 --> + <decode host='on' guest='on'/> + <signature family='6' model='134'/> <vendor name='Intel'/> <feature name='3dnowprefetch'/> <feature name='abm'/> @@ -9,6 +18,7 @@ <feature name='aes'/> <feature name='apic'/> <feature name='arat'/> + <feature name='arch-capabilities'/> <feature name='avx'/> <feature name='avx2'/> <feature name='avx512-vpopcntdq'/> @@ -17,6 +27,7 @@ <feature name='avx512cd'/> <feature name='avx512dq'/> <feature name='avx512f'/> + <feature name='avx512ifma'/> <feature name='avx512vbmi'/> <feature name='avx512vbmi2'/> <feature name='avx512vl'/> @@ -35,18 +46,19 @@ <feature name='fma'/> <feature name='fpu'/> <feature name='fsgsbase'/> + <feature name='fsrm'/> <feature name='fxsr'/> <feature name='gfni'/> - <feature name='intel-pt'/> + <feature name='ibrs-all'/> <feature name='invpcid'/> <feature name='la57'/> <feature name='lahf_lm'/> <feature name='lm'/> <feature name='mca'/> <feature name='mce'/> + <feature name='mds-no'/> <feature name='mmx'/> <feature name='movbe'/> - <feature name='mpx'/> <feature name='msr'/> <feature name='mtrr'/> <feature name='nx'/> @@ -59,12 +71,17 @@ <feature name='pku'/> <feature name='pni'/> <feature name='popcnt'/> + <feature name='pschange-mc-no'/> <feature name='pse'/> <feature name='pse36'/> + <feature name='rdctl-no'/> + <feature name='rdpid'/> <feature name='rdrand'/> <feature name='rdseed'/> <feature name='rdtscp'/> <feature name='sep'/> + <feature name='sha-ni'/> + <feature name='skip-l1dfl-vmentry'/> <feature name='smap'/> <feature name='smep'/> <feature name='spec-ctrl'/> @@ -75,11 +92,15 @@ <feature name='sse4.2'/> <feature name='ssse3'/> <feature name='syscall'/> + <feature name='taa-no'/> <feature name='tsc'/> <feature name='tsc-deadline'/> <feature name='umip'/> <feature name='vaes'/> <feature name='vme'/> + <feature name='vmx-eptp-switching'/> + <feature name='vmx-pml'/> + <feature name='vmx-rdseed-exit'/> <feature name='vpclmulqdq'/> <feature name='wbnoinvd'/> <feature name='x2apic'/> diff --git a/src/cpu_map/x86_Icelake-Server.xml b/src/cpu_map/x86_Icelake-Server.xml index 367ade7240..a88df26ec2 100644 --- a/src/cpu_map/x86_Icelake-Server.xml +++ b/src/cpu_map/x86_Icelake-Server.xml @@ -1,7 +1,14 @@ +<!-- extra info from qemu: + 'model.level': '0xd' + 'model.stepping': '0' + 'model.xlevel': '0x80000008' + 'model.model_id': 'Intel Xeon Processor (Icelake)' + 'version.version': '1' +--> <cpus> <model name='Icelake-Server'> <decode host='on' guest='on'/> - <signature family='6' model='134'/> <!-- 080660 --> + <signature family='6' model='134'/> <vendor name='Intel'/> <feature name='3dnowprefetch'/> <feature name='abm'/> @@ -38,7 +45,6 @@ <feature name='fxsr'/> <feature name='gfni'/> <feature name='hle'/> - <feature name='intel-pt'/> <feature name='invpcid'/> <feature name='la57'/> <feature name='lahf_lm'/> @@ -47,7 +53,6 @@ <feature name='mce'/> <feature name='mmx'/> <feature name='movbe'/> - <feature name='mpx'/> <feature name='msr'/> <feature name='mtrr'/> <feature name='nx'/> diff --git a/src/cpu_map/x86_IvyBridge-IBRS.xml b/src/cpu_map/x86_IvyBridge-IBRS.xml index 430bc3232d..3323c51e4e 100644 --- a/src/cpu_map/x86_IvyBridge-IBRS.xml +++ b/src/cpu_map/x86_IvyBridge-IBRS.xml @@ -1,11 +1,19 @@ +<!-- extra info from qemu: + 'model.level': '0xd' + 'model.stepping': '9' + 'model.xlevel': '0x80000008' + 'model.model_id': 'Intel Xeon E3-12xx v2 (Ivy Bridge)' + 'version.version': '2' + 'property.model-id': 'Intel Xeon E3-12xx v2 (Ivy Bridge, IBRS)' +--> <cpus> <model name='IvyBridge-IBRS'> <decode host='on' guest='on'/> - <signature family='6' model='58'/> <!-- 0306a0 --> - <signature family='6' model='62'/> <!-- 0306e0 --> + <signature family='6' model='58'/> <vendor name='Intel'/> <feature name='aes'/> <feature name='apic'/> + <feature name='arat'/> <feature name='avx'/> <feature name='clflush'/> <feature name='cmov'/> @@ -49,5 +57,6 @@ <feature name='vme'/> <feature name='x2apic'/> <feature name='xsave'/> + <feature name='xsaveopt'/> </model> </cpus> diff --git a/src/cpu_map/x86_IvyBridge.xml b/src/cpu_map/x86_IvyBridge.xml index eaf5d02e82..e4edad09b0 100644 --- a/src/cpu_map/x86_IvyBridge.xml +++ b/src/cpu_map/x86_IvyBridge.xml @@ -1,11 +1,18 @@ +<!-- extra info from qemu: + 'model.level': '0xd' + 'model.stepping': '9' + 'model.xlevel': '0x80000008' + 'model.model_id': 'Intel Xeon E3-12xx v2 (Ivy Bridge)' + 'version.version': '1' +--> <cpus> <model name='IvyBridge'> <decode host='on' guest='on'/> - <signature family='6' model='58'/> <!-- 0306a0 --> - <signature family='6' model='62'/> <!-- 0306e0 --> + <signature family='6' model='58'/> <vendor name='Intel'/> <feature name='aes'/> <feature name='apic'/> + <feature name='arat'/> <feature name='avx'/> <feature name='clflush'/> <feature name='cmov'/> @@ -48,5 +55,6 @@ <feature name='vme'/> <feature name='x2apic'/> <feature name='xsave'/> + <feature name='xsaveopt'/> </model> </cpus> diff --git a/src/cpu_map/x86_KnightsMill.xml b/src/cpu_map/x86_KnightsMill.xml new file mode 100644 index 0000000000..df81bdf715 --- /dev/null +++ b/src/cpu_map/x86_KnightsMill.xml @@ -0,0 +1,77 @@ +<!-- extra info from qemu: + 'model.level': '0xd' + 'model.stepping': '0' + 'model.xlevel': '0x80000008' + 'model.model_id': 'Intel Xeon Phi Processor (Knights Mill)' +--> +<cpus> + <model name='KnightsMill'> + <decode host='on' guest='on'/> + <signature family='6' model='133'/> + <vendor name='Intel'/> + <feature name='3dnowprefetch'/> + <feature name='abm'/> + <feature name='adx'/> + <feature name='aes'/> + <feature name='apic'/> + <feature name='arat'/> + <feature name='avx'/> + <feature name='avx2'/> + <feature name='avx512-4fmaps'/> + <feature name='avx512-4vnniw'/> + <feature name='avx512-vpopcntdq'/> + <feature name='avx512cd'/> + <feature name='avx512er'/> + <feature name='avx512f'/> + <feature name='avx512pf'/> + <feature name='bmi1'/> + <feature name='bmi2'/> + <feature name='clflush'/> + <feature name='cmov'/> + <feature name='cx16'/> + <feature name='cx8'/> + <feature name='de'/> + <feature name='erms'/> + <feature name='f16c'/> + <feature name='fma'/> + <feature name='fpu'/> + <feature name='fsgsbase'/> + <feature name='fxsr'/> + <feature name='lahf_lm'/> + <feature name='lm'/> + <feature name='mca'/> + <feature name='mce'/> + <feature name='mmx'/> + <feature name='movbe'/> + <feature name='msr'/> + <feature name='mtrr'/> + <feature name='nx'/> + <feature name='pae'/> + <feature name='pat'/> + <feature name='pclmuldq'/> + <feature name='pdpe1gb'/> + <feature name='pge'/> + <feature name='pni'/> + <feature name='popcnt'/> + <feature name='pse'/> + <feature name='pse36'/> + <feature name='rdrand'/> + <feature name='rdseed'/> + <feature name='rdtscp'/> + <feature name='sep'/> + <feature name='smep'/> + <feature name='ss'/> + <feature name='sse'/> + <feature name='sse2'/> + <feature name='sse4.1'/> + <feature name='sse4.2'/> + <feature name='ssse3'/> + <feature name='syscall'/> + <feature name='tsc'/> + <feature name='tsc-deadline'/> + <feature name='vme'/> + <feature name='x2apic'/> + <feature name='xsave'/> + <feature name='xsaveopt'/> + </model> +</cpus> diff --git a/src/cpu_map/x86_Nehalem-IBRS.xml b/src/cpu_map/x86_Nehalem-IBRS.xml index 00d0d2fe51..3a5660454f 100644 --- a/src/cpu_map/x86_Nehalem-IBRS.xml +++ b/src/cpu_map/x86_Nehalem-IBRS.xml @@ -1,10 +1,15 @@ +<!-- extra info from qemu: + 'model.level': '11' + 'model.stepping': '3' + 'model.xlevel': '0x80000008' + 'model.model_id': 'Intel Core i7 9xx (Nehalem Class Core i7)' + 'version.version': '2' + 'property.model-id': 'Intel Core i7 9xx (Nehalem Core i7, IBRS update)' +--> <cpus> <model name='Nehalem-IBRS'> <decode host='on' guest='on'/> - <signature family='6' model='26'/> <!-- 0106a0 --> - <signature family='6' model='30'/> <!-- 0106e0 --> - <signature family='6' model='31'/> <!-- 0106f0 --> - <signature family='6' model='46'/> <!-- 0206e0 --> + <signature family='6' model='26'/> <vendor name='Intel'/> <feature name='apic'/> <feature name='clflush'/> @@ -38,5 +43,6 @@ <feature name='ssse3'/> <feature name='syscall'/> <feature name='tsc'/> + <feature name='vme'/> </model> </cpus> diff --git a/src/cpu_map/x86_Nehalem.xml b/src/cpu_map/x86_Nehalem.xml index 9968001fe7..d5811d27ba 100644 --- a/src/cpu_map/x86_Nehalem.xml +++ b/src/cpu_map/x86_Nehalem.xml @@ -1,10 +1,14 @@ +<!-- extra info from qemu: + 'model.level': '11' + 'model.stepping': '3' + 'model.xlevel': '0x80000008' + 'model.model_id': 'Intel Core i7 9xx (Nehalem Class Core i7)' + 'version.version': '1' +--> <cpus> <model name='Nehalem'> <decode host='on' guest='on'/> - <signature family='6' model='26'/> <!-- 0106a0 --> - <signature family='6' model='30'/> <!-- 0106e0 --> - <signature family='6' model='31'/> <!-- 0106f0 --> - <signature family='6' model='46'/> <!-- 0206e0 --> + <signature family='6' model='26'/> <vendor name='Intel'/> <feature name='apic'/> <feature name='clflush'/> @@ -37,5 +41,6 @@ <feature name='ssse3'/> <feature name='syscall'/> <feature name='tsc'/> + <feature name='vme'/> </model> </cpus> diff --git a/src/cpu_map/x86_Opteron_G1.xml b/src/cpu_map/x86_Opteron_G1.xml index 57648ca93f..ad6cd87ca5 100644 --- a/src/cpu_map/x86_Opteron_G1.xml +++ b/src/cpu_map/x86_Opteron_G1.xml @@ -1,7 +1,13 @@ +<!-- extra info from qemu: + 'model.level': '5' + 'model.stepping': '1' + 'model.xlevel': '0x80000008' + 'model.model_id': 'AMD Opteron 240 (Gen 1 Class Opteron)' +--> <cpus> <model name='Opteron_G1'> <decode host='on' guest='on'/> - <signature family='15' model='6'/> <!-- 100e60 --> + <signature family='15' model='6'/> <vendor name='AMD'/> <feature name='apic'/> <feature name='clflush'/> @@ -28,5 +34,6 @@ <feature name='sse2'/> <feature name='syscall'/> <feature name='tsc'/> + <feature name='vme'/> </model> </cpus> diff --git a/src/cpu_map/x86_Opteron_G2.xml b/src/cpu_map/x86_Opteron_G2.xml index db961b0067..6341f3f4ce 100644 --- a/src/cpu_map/x86_Opteron_G2.xml +++ b/src/cpu_map/x86_Opteron_G2.xml @@ -1,7 +1,13 @@ +<!-- extra info from qemu: + 'model.level': '5' + 'model.stepping': '1' + 'model.xlevel': '0x80000008' + 'model.model_id': 'AMD Opteron 22xx (Gen 2 Class Opteron)' +--> <cpus> <model name='Opteron_G2'> <decode host='on' guest='on'/> - <signature family='15' model='6'/> <!-- 100e60 --> + <signature family='15' model='6'/> <vendor name='AMD'/> <feature name='apic'/> <feature name='clflush'/> @@ -25,12 +31,12 @@ <feature name='pni'/> <feature name='pse'/> <feature name='pse36'/> - <feature name='rdtscp'/> <feature name='sep'/> <feature name='sse'/> <feature name='sse2'/> <feature name='svm'/> <feature name='syscall'/> <feature name='tsc'/> + <feature name='vme'/> </model> </cpus> diff --git a/src/cpu_map/x86_Opteron_G3.xml b/src/cpu_map/x86_Opteron_G3.xml index dab59d4f82..3085e180e8 100644 --- a/src/cpu_map/x86_Opteron_G3.xml +++ b/src/cpu_map/x86_Opteron_G3.xml @@ -1,7 +1,13 @@ +<!-- extra info from qemu: + 'model.level': '5' + 'model.stepping': '3' + 'model.xlevel': '0x80000008' + 'model.model_id': 'AMD Opteron 23xx (Gen 3 Class Opteron)' +--> <cpus> <model name='Opteron_G3'> <decode host='on' guest='on'/> - <signature family='15' model='6'/> <!-- 100e60 --> + <signature family='16' model='2'/> <vendor name='AMD'/> <feature name='abm'/> <feature name='apic'/> @@ -18,7 +24,6 @@ <feature name='mce'/> <feature name='misalignsse'/> <feature name='mmx'/> - <feature name='monitor'/> <feature name='msr'/> <feature name='mtrr'/> <feature name='nx'/> @@ -37,5 +42,6 @@ <feature name='svm'/> <feature name='syscall'/> <feature name='tsc'/> + <feature name='vme'/> </model> </cpus> diff --git a/src/cpu_map/x86_Opteron_G4.xml b/src/cpu_map/x86_Opteron_G4.xml index a7fc8d5828..30f8b7d33a 100644 --- a/src/cpu_map/x86_Opteron_G4.xml +++ b/src/cpu_map/x86_Opteron_G4.xml @@ -1,7 +1,13 @@ +<!-- extra info from qemu: + 'model.level': '0xd' + 'model.stepping': '2' + 'model.xlevel': '0x8000001A' + 'model.model_id': 'AMD Opteron 62xx class CPU' +--> <cpus> <model name='Opteron_G4'> <decode host='on' guest='on'/> - <signature family='21' model='1'/> <!-- 600f10 --> + <signature family='21' model='1'/> <vendor name='AMD'/> <feature name='3dnowprefetch'/> <feature name='abm'/> @@ -24,6 +30,8 @@ <feature name='mmx'/> <feature name='msr'/> <feature name='mtrr'/> + <feature name='npt'/> + <feature name='nrip-save'/> <feature name='nx'/> <feature name='pae'/> <feature name='pat'/> @@ -45,6 +53,7 @@ <feature name='svm'/> <feature name='syscall'/> <feature name='tsc'/> + <feature name='vme'/> <feature name='xop'/> <feature name='xsave'/> </model> diff --git a/src/cpu_map/x86_Opteron_G5.xml b/src/cpu_map/x86_Opteron_G5.xml index ff775bdcef..148009a083 100644 --- a/src/cpu_map/x86_Opteron_G5.xml +++ b/src/cpu_map/x86_Opteron_G5.xml @@ -1,7 +1,13 @@ +<!-- extra info from qemu: + 'model.level': '0xd' + 'model.stepping': '0' + 'model.xlevel': '0x8000001A' + 'model.model_id': 'AMD Opteron 63xx class CPU' +--> <cpus> <model name='Opteron_G5'> <decode host='on' guest='on'/> - <signature family='21' model='2'/> <!-- 600f20 --> + <signature family='21' model='2'/> <vendor name='AMD'/> <feature name='3dnowprefetch'/> <feature name='abm'/> @@ -26,6 +32,8 @@ <feature name='mmx'/> <feature name='msr'/> <feature name='mtrr'/> + <feature name='npt'/> + <feature name='nrip-save'/> <feature name='nx'/> <feature name='pae'/> <feature name='pat'/> @@ -48,6 +56,7 @@ <feature name='syscall'/> <feature name='tbm'/> <feature name='tsc'/> + <feature name='vme'/> <feature name='xop'/> <feature name='xsave'/> </model> diff --git a/src/cpu_map/x86_Penryn.xml b/src/cpu_map/x86_Penryn.xml index 29d4cd635b..f30aaf4682 100644 --- a/src/cpu_map/x86_Penryn.xml +++ b/src/cpu_map/x86_Penryn.xml @@ -1,8 +1,13 @@ +<!-- extra info from qemu: + 'model.level': '10' + 'model.stepping': '3' + 'model.xlevel': '0x80000008' + 'model.model_id': 'Intel Core 2 Duo P9xxx (Penryn Class Core 2)' +--> <cpus> <model name='Penryn'> <decode host='on' guest='on'/> - <signature family='6' model='23'/> <!-- 010670 --> - <signature family='6' model='29'/> <!-- 0106d0 --> + <signature family='6' model='23'/> <vendor name='Intel'/> <feature name='apic'/> <feature name='clflush'/> @@ -33,5 +38,6 @@ <feature name='ssse3'/> <feature name='syscall'/> <feature name='tsc'/> + <feature name='vme'/> </model> </cpus> diff --git a/src/cpu_map/x86_SandyBridge-IBRS.xml b/src/cpu_map/x86_SandyBridge-IBRS.xml index fbdb4f2bf6..a38c36763e 100644 --- a/src/cpu_map/x86_SandyBridge-IBRS.xml +++ b/src/cpu_map/x86_SandyBridge-IBRS.xml @@ -1,11 +1,19 @@ +<!-- extra info from qemu: + 'model.level': '0xd' + 'model.stepping': '1' + 'model.xlevel': '0x80000008' + 'model.model_id': 'Intel Xeon E312xx (Sandy Bridge)' + 'version.version': '2' + 'property.model-id': 'Intel Xeon E312xx (Sandy Bridge, IBRS update)' +--> <cpus> <model name='SandyBridge-IBRS'> <decode host='on' guest='on'/> - <signature family='6' model='42'/> <!-- 0206a0 --> - <signature family='6' model='45'/> <!-- 0206d0 --> + <signature family='6' model='42'/> <vendor name='Intel'/> <feature name='aes'/> <feature name='apic'/> + <feature name='arat'/> <feature name='avx'/> <feature name='clflush'/> <feature name='cmov'/> @@ -41,7 +49,9 @@ <feature name='syscall'/> <feature name='tsc'/> <feature name='tsc-deadline'/> + <feature name='vme'/> <feature name='x2apic'/> <feature name='xsave'/> + <feature name='xsaveopt'/> </model> </cpus> diff --git a/src/cpu_map/x86_SandyBridge.xml b/src/cpu_map/x86_SandyBridge.xml index 7c85ed42df..d67525e569 100644 --- a/src/cpu_map/x86_SandyBridge.xml +++ b/src/cpu_map/x86_SandyBridge.xml @@ -1,11 +1,18 @@ +<!-- extra info from qemu: + 'model.level': '0xd' + 'model.stepping': '1' + 'model.xlevel': '0x80000008' + 'model.model_id': 'Intel Xeon E312xx (Sandy Bridge)' + 'version.version': '1' +--> <cpus> <model name='SandyBridge'> <decode host='on' guest='on'/> - <signature family='6' model='42'/> <!-- 0206a0 --> - <signature family='6' model='45'/> <!-- 0206d0 --> + <signature family='6' model='42'/> <vendor name='Intel'/> <feature name='aes'/> <feature name='apic'/> + <feature name='arat'/> <feature name='avx'/> <feature name='clflush'/> <feature name='cmov'/> @@ -40,7 +47,9 @@ <feature name='syscall'/> <feature name='tsc'/> <feature name='tsc-deadline'/> + <feature name='vme'/> <feature name='x2apic'/> <feature name='xsave'/> + <feature name='xsaveopt'/> </model> </cpus> diff --git a/src/cpu_map/x86_Skylake-Client-IBRS.xml b/src/cpu_map/x86_Skylake-Client-IBRS.xml index 5709e7c2f9..7e5c6d3c41 100644 --- a/src/cpu_map/x86_Skylake-Client-IBRS.xml +++ b/src/cpu_map/x86_Skylake-Client-IBRS.xml @@ -1,12 +1,15 @@ +<!-- extra info from qemu: + 'model.level': '0xd' + 'model.stepping': '3' + 'model.xlevel': '0x80000008' + 'model.model_id': 'Intel Core Processor (Skylake)' + 'version.version': '2' + 'property.model-id': 'Intel Core Processor (Skylake, IBRS)' +--> <cpus> <model name='Skylake-Client-IBRS'> <decode host='on' guest='on'/> - <signature family='6' model='94'/> <!-- 0506e0 --> - <signature family='6' model='78'/> <!-- 0406e0 --> - <!-- These are Kaby Lake and Coffee Lake successors to Skylake, - but we don't have specific models for them. --> - <signature family='6' model='142'/> <!-- 0806e0 --> - <signature family='6' model='158'/> <!-- 0906e0 --> + <signature family='6' model='94'/> <vendor name='Intel'/> <feature name='3dnowprefetch'/> <feature name='abm'/> @@ -37,7 +40,6 @@ <feature name='mce'/> <feature name='mmx'/> <feature name='movbe'/> - <feature name='mpx'/> <feature name='msr'/> <feature name='mtrr'/> <feature name='nx'/> diff --git a/src/cpu_map/x86_Skylake-Client-noTSX-IBRS.xml b/src/cpu_map/x86_Skylake-Client-noTSX-IBRS.xml index ffba34502a..1b8fd4c1a0 100644 --- a/src/cpu_map/x86_Skylake-Client-noTSX-IBRS.xml +++ b/src/cpu_map/x86_Skylake-Client-noTSX-IBRS.xml @@ -1,12 +1,15 @@ +<!-- extra info from qemu: + 'model.level': '0xd' + 'model.stepping': '3' + 'model.xlevel': '0x80000008' + 'model.model_id': 'Intel Core Processor (Skylake)' + 'version.version': '3' + 'property.model-id': 'Intel Core Processor (Skylake, IBRS, no TSX)' +--> <cpus> <model name='Skylake-Client-noTSX-IBRS'> - <decode host='on' guest='off'/> - <signature family='6' model='94'/> <!-- 0506e0 --> - <signature family='6' model='78'/> <!-- 0406e0 --> - <!-- These are Kaby Lake and Coffee Lake successors to Skylake, - but we don't have specific models for them. --> - <signature family='6' model='142'/> <!-- 0806e0 --> - <signature family='6' model='158'/> <!-- 0906e0 --> + <decode host='on' guest='on'/> + <signature family='6' model='94'/> <vendor name='Intel'/> <feature name='3dnowprefetch'/> <feature name='abm'/> @@ -36,7 +39,6 @@ <feature name='mce'/> <feature name='mmx'/> <feature name='movbe'/> - <feature name='mpx'/> <feature name='msr'/> <feature name='mtrr'/> <feature name='nx'/> diff --git a/src/cpu_map/x86_Skylake-Client.xml b/src/cpu_map/x86_Skylake-Client.xml index 14cd57e176..aae96a8980 100644 --- a/src/cpu_map/x86_Skylake-Client.xml +++ b/src/cpu_map/x86_Skylake-Client.xml @@ -1,12 +1,14 @@ +<!-- extra info from qemu: + 'model.level': '0xd' + 'model.stepping': '3' + 'model.xlevel': '0x80000008' + 'model.model_id': 'Intel Core Processor (Skylake)' + 'version.version': '1' +--> <cpus> <model name='Skylake-Client'> <decode host='on' guest='on'/> - <signature family='6' model='94'/> <!-- 0506e0 --> - <signature family='6' model='78'/> <!-- 0406e0 --> - <!-- These are Kaby Lake and Coffee Lake successors to Skylake, - but we don't have specific models for them. --> - <signature family='6' model='142'/> <!-- 0806e0 --> - <signature family='6' model='158'/> <!-- 0906e0 --> + <signature family='6' model='94'/> <vendor name='Intel'/> <feature name='3dnowprefetch'/> <feature name='abm'/> @@ -37,7 +39,6 @@ <feature name='mce'/> <feature name='mmx'/> <feature name='movbe'/> - <feature name='mpx'/> <feature name='msr'/> <feature name='mtrr'/> <feature name='nx'/> diff --git a/src/cpu_map/x86_Skylake-Server-IBRS.xml b/src/cpu_map/x86_Skylake-Server-IBRS.xml index 9fb3488809..35d5d55083 100644 --- a/src/cpu_map/x86_Skylake-Server-IBRS.xml +++ b/src/cpu_map/x86_Skylake-Server-IBRS.xml @@ -1,7 +1,15 @@ +<!-- extra info from qemu: + 'model.level': '0xd' + 'model.stepping': '4' + 'model.xlevel': '0x80000008' + 'model.model_id': 'Intel Xeon Processor (Skylake)' + 'version.version': '2' + 'property.model-id': 'Intel Xeon Processor (Skylake, IBRS)' +--> <cpus> <model name='Skylake-Server-IBRS'> <decode host='on' guest='on'/> - <signature family='6' model='85' stepping='0-4'/> <!-- 050654 --> + <signature family='6' model='85'/> <vendor name='Intel'/> <feature name='3dnowprefetch'/> <feature name='abm'/> @@ -38,7 +46,6 @@ <feature name='mce'/> <feature name='mmx'/> <feature name='movbe'/> - <feature name='mpx'/> <feature name='msr'/> <feature name='mtrr'/> <feature name='nx'/> @@ -48,6 +55,7 @@ <feature name='pclmuldq'/> <feature name='pdpe1gb'/> <feature name='pge'/> + <feature name='pku'/> <feature name='pni'/> <feature name='popcnt'/> <feature name='pse'/> diff --git a/src/cpu_map/x86_Skylake-Server-noTSX-IBRS.xml b/src/cpu_map/x86_Skylake-Server-noTSX-IBRS.xml index c162c0acc3..dc371cf83b 100644 --- a/src/cpu_map/x86_Skylake-Server-noTSX-IBRS.xml +++ b/src/cpu_map/x86_Skylake-Server-noTSX-IBRS.xml @@ -1,7 +1,15 @@ +<!-- extra info from qemu: + 'model.level': '0xd' + 'model.stepping': '4' + 'model.xlevel': '0x80000008' + 'model.model_id': 'Intel Xeon Processor (Skylake)' + 'version.version': '4' + 'property.model-id': 'Intel Xeon Processor (Skylake, IBRS, no TSX)' +--> <cpus> <model name='Skylake-Server-noTSX-IBRS'> - <decode host='on' guest='off'/> - <signature family='6' model='85' stepping='0-4'/> <!-- 050654 --> + <decode host='on' guest='on'/> + <signature family='6' model='85'/> <vendor name='Intel'/> <feature name='3dnowprefetch'/> <feature name='abm'/> @@ -37,7 +45,6 @@ <feature name='mce'/> <feature name='mmx'/> <feature name='movbe'/> - <feature name='mpx'/> <feature name='msr'/> <feature name='mtrr'/> <feature name='nx'/> @@ -47,6 +54,7 @@ <feature name='pclmuldq'/> <feature name='pdpe1gb'/> <feature name='pge'/> + <feature name='pku'/> <feature name='pni'/> <feature name='popcnt'/> <feature name='pse'/> @@ -67,6 +75,7 @@ <feature name='tsc'/> <feature name='tsc-deadline'/> <feature name='vme'/> + <feature name='vmx-eptp-switching'/> <feature name='x2apic'/> <feature name='xgetbv1'/> <feature name='xsave'/> diff --git a/src/cpu_map/x86_Skylake-Server.xml b/src/cpu_map/x86_Skylake-Server.xml index e022d94c84..c7735929d3 100644 --- a/src/cpu_map/x86_Skylake-Server.xml +++ b/src/cpu_map/x86_Skylake-Server.xml @@ -1,7 +1,14 @@ +<!-- extra info from qemu: + 'model.level': '0xd' + 'model.stepping': '4' + 'model.xlevel': '0x80000008' + 'model.model_id': 'Intel Xeon Processor (Skylake)' + 'version.version': '1' +--> <cpus> <model name='Skylake-Server'> <decode host='on' guest='on'/> - <signature family='6' model='85' stepping='0-4'/> <!-- 050654 --> + <signature family='6' model='85'/> <vendor name='Intel'/> <feature name='3dnowprefetch'/> <feature name='abm'/> @@ -19,6 +26,7 @@ <feature name='bmi1'/> <feature name='bmi2'/> <feature name='clflush'/> + <feature name='clflushopt'/> <feature name='clwb'/> <feature name='cmov'/> <feature name='cx16'/> @@ -38,7 +46,6 @@ <feature name='mce'/> <feature name='mmx'/> <feature name='movbe'/> - <feature name='mpx'/> <feature name='msr'/> <feature name='mtrr'/> <feature name='nx'/> @@ -48,6 +55,7 @@ <feature name='pclmuldq'/> <feature name='pdpe1gb'/> <feature name='pge'/> + <feature name='pku'/> <feature name='pni'/> <feature name='popcnt'/> <feature name='pse'/> diff --git a/src/cpu_map/x86_Snowridge.xml b/src/cpu_map/x86_Snowridge.xml new file mode 100644 index 0000000000..ad3fdc6dad --- /dev/null +++ b/src/cpu_map/x86_Snowridge.xml @@ -0,0 +1,79 @@ +<!-- extra info from qemu: + 'model.level': '27' + 'model.stepping': '1' + 'model.xlevel': '0x80000008' + 'model.model_id': 'Intel Atom Processor (SnowRidge)' + 'version.version': '2' + 'property.model-id': 'Intel Atom Processor (Snowridge, no MPX)' +--> +<cpus> + <model name='Snowridge'> + <decode host='on' guest='on'/> + <signature family='6' model='134'/> + <vendor name='Intel'/> + <feature name='3dnowprefetch'/> + <feature name='aes'/> + <feature name='apic'/> + <feature name='arat'/> + <feature name='arch-capabilities'/> + <feature name='cldemote'/> + <feature name='clflush'/> + <feature name='clflushopt'/> + <feature name='clwb'/> + <feature name='cmov'/> + <feature name='core-capability'/> + <feature name='cx16'/> + <feature name='cx8'/> + <feature name='de'/> + <feature name='erms'/> + <feature name='fpu'/> + <feature name='fsgsbase'/> + <feature name='fxsr'/> + <feature name='gfni'/> + <feature name='lahf_lm'/> + <feature name='lm'/> + <feature name='mca'/> + <feature name='mce'/> + <feature name='mmx'/> + <feature name='movbe'/> + <feature name='movdir64b'/> + <feature name='movdiri'/> + <feature name='msr'/> + <feature name='mtrr'/> + <feature name='nx'/> + <feature name='pae'/> + <feature name='pat'/> + <feature name='pclmuldq'/> + <feature name='pdpe1gb'/> + <feature name='pge'/> + <feature name='pni'/> + <feature name='popcnt'/> + <feature name='pse'/> + <feature name='pse36'/> + <feature name='rdrand'/> + <feature name='rdseed'/> + <feature name='rdtscp'/> + <feature name='sep'/> + <feature name='sha-ni'/> + <feature name='smap'/> + <feature name='smep'/> + <feature name='spec-ctrl'/> + <feature name='split-lock-detect'/> + <feature name='ssbd'/> + <feature name='sse'/> + <feature name='sse2'/> + <feature name='sse4.1'/> + <feature name='sse4.2'/> + <feature name='ssse3'/> + <feature name='syscall'/> + <feature name='tsc'/> + <feature name='tsc-deadline'/> + <feature name='umip'/> + <feature name='vme'/> + <feature name='x2apic'/> + <feature name='xgetbv1'/> + <feature name='xsave'/> + <feature name='xsavec'/> + <feature name='xsaveopt'/> + </model> +</cpus> diff --git a/src/cpu_map/x86_Westmere-IBRS.xml b/src/cpu_map/x86_Westmere-IBRS.xml index c7898f0c22..2372df2241 100644 --- a/src/cpu_map/x86_Westmere-IBRS.xml +++ b/src/cpu_map/x86_Westmere-IBRS.xml @@ -1,10 +1,19 @@ +<!-- extra info from qemu: + 'model.level': '11' + 'model.stepping': '1' + 'model.xlevel': '0x80000008' + 'model.model_id': 'Westmere E56xx/L56xx/X56xx (Nehalem-C)' + 'version.version': '2' + 'property.model-id': 'Westmere E56xx/L56xx/X56xx (IBRS update)' +--> <cpus> <model name='Westmere-IBRS'> <decode host='on' guest='on'/> - <signature family='6' model='44'/> <!-- 0206c0 --> + <signature family='6' model='44'/> <vendor name='Intel'/> <feature name='aes'/> <feature name='apic'/> + <feature name='arat'/> <feature name='clflush'/> <feature name='cmov'/> <feature name='cx16'/> @@ -22,6 +31,7 @@ <feature name='nx'/> <feature name='pae'/> <feature name='pat'/> + <feature name='pclmuldq'/> <feature name='pge'/> <feature name='pni'/> <feature name='popcnt'/> @@ -36,5 +46,6 @@ <feature name='ssse3'/> <feature name='syscall'/> <feature name='tsc'/> + <feature name='vme'/> </model> </cpus> diff --git a/src/cpu_map/x86_Westmere.xml b/src/cpu_map/x86_Westmere.xml index 16e4ad6c30..3d51f0ae34 100644 --- a/src/cpu_map/x86_Westmere.xml +++ b/src/cpu_map/x86_Westmere.xml @@ -1,12 +1,18 @@ +<!-- extra info from qemu: + 'model.level': '11' + 'model.stepping': '1' + 'model.xlevel': '0x80000008' + 'model.model_id': 'Westmere E56xx/L56xx/X56xx (Nehalem-C)' + 'version.version': '1' +--> <cpus> <model name='Westmere'> <decode host='on' guest='on'/> - <signature family='6' model='44'/> <!-- 0206c0 --> - <signature family='6' model='47'/> <!-- 0206f0 --> - <signature family='6' model='37'/> <!-- 020650 --> + <signature family='6' model='44'/> <vendor name='Intel'/> <feature name='aes'/> <feature name='apic'/> + <feature name='arat'/> <feature name='clflush'/> <feature name='cmov'/> <feature name='cx16'/> @@ -24,6 +30,7 @@ <feature name='nx'/> <feature name='pae'/> <feature name='pat'/> + <feature name='pclmuldq'/> <feature name='pge'/> <feature name='pni'/> <feature name='popcnt'/> @@ -37,5 +44,6 @@ <feature name='ssse3'/> <feature name='syscall'/> <feature name='tsc'/> + <feature name='vme'/> </model> </cpus> diff --git a/src/cpu_map/x86_athlon.xml b/src/cpu_map/x86_athlon.xml index 81c43c81e8..2f762cfb14 100644 --- a/src/cpu_map/x86_athlon.xml +++ b/src/cpu_map/x86_athlon.xml @@ -1,6 +1,13 @@ +<!-- extra info from qemu: + 'model.level': '2' + 'model.stepping': '3' + 'model.xlevel': '0x80000008' + 'model.model_id': 'QEMU Virtual CPU version QEMU_HW_VERSION' +--> <cpus> <model name='athlon'> <decode host='on' guest='on'/> + <signature family='6' model='2'/> <vendor name='AMD'/> <feature name='3dnow'/> <feature name='3dnowext'/> @@ -10,6 +17,7 @@ <feature name='de'/> <feature name='fpu'/> <feature name='fxsr'/> + <feature name='mca'/> <feature name='mce'/> <feature name='mmx'/> <feature name='mmxext'/> diff --git a/src/cpu_map/x86_core2duo.xml b/src/cpu_map/x86_core2duo.xml index 412039fe55..9b2f0bdf82 100644 --- a/src/cpu_map/x86_core2duo.xml +++ b/src/cpu_map/x86_core2duo.xml @@ -1,19 +1,28 @@ +<!-- extra info from qemu: + 'model.level': '10' + 'model.stepping': '11' + 'model.xlevel': '0x80000008' + 'model.model_id': 'Intel(R) Core(TM)2 Duo CPU T7700 @ 2.40GHz' +--> <cpus> <model name='core2duo'> <decode host='on' guest='on'/> + <signature family='6' model='15'/> <vendor name='Intel'/> + <feature name='acpi'/> <feature name='apic'/> <feature name='clflush'/> <feature name='cmov'/> + <feature name='cx16'/> <feature name='cx8'/> <feature name='de'/> <feature name='fpu'/> <feature name='fxsr'/> + <feature name='lahf_lm'/> <feature name='lm'/> <feature name='mca'/> <feature name='mce'/> <feature name='mmx'/> - <feature name='monitor'/> <feature name='msr'/> <feature name='mtrr'/> <feature name='nx'/> @@ -24,6 +33,7 @@ <feature name='pse'/> <feature name='pse36'/> <feature name='sep'/> + <feature name='ss'/> <feature name='sse'/> <feature name='sse2'/> <feature name='ssse3'/> diff --git a/src/cpu_map/x86_coreduo.xml b/src/cpu_map/x86_coreduo.xml index e2fda9a1d4..439e13f21f 100644 --- a/src/cpu_map/x86_coreduo.xml +++ b/src/cpu_map/x86_coreduo.xml @@ -1,7 +1,15 @@ +<!-- extra info from qemu: + 'model.level': '10' + 'model.stepping': '8' + 'model.xlevel': '0x80000008' + 'model.model_id': 'Genuine Intel(R) CPU T2600 @ 2.16GHz' +--> <cpus> <model name='coreduo'> <decode host='on' guest='on'/> + <signature family='6' model='14'/> <vendor name='Intel'/> + <feature name='acpi'/> <feature name='apic'/> <feature name='clflush'/> <feature name='cmov'/> @@ -12,7 +20,6 @@ <feature name='mca'/> <feature name='mce'/> <feature name='mmx'/> - <feature name='monitor'/> <feature name='msr'/> <feature name='mtrr'/> <feature name='nx'/> @@ -22,6 +29,7 @@ <feature name='pni'/> <feature name='pse'/> <feature name='sep'/> + <feature name='ss'/> <feature name='sse'/> <feature name='sse2'/> <feature name='tsc'/> diff --git a/src/cpu_map/x86_kvm32.xml b/src/cpu_map/x86_kvm32.xml index 9dd96d5b56..2b208b25eb 100644 --- a/src/cpu_map/x86_kvm32.xml +++ b/src/cpu_map/x86_kvm32.xml @@ -1,6 +1,14 @@ +<!-- extra info from qemu: + 'model.level': '5' + 'model.stepping': '1' + 'model.xlevel': '0x80000008' + 'model.model_id': 'Common 32-bit KVM processor' +--> <cpus> <model name='kvm32'> <decode host='on' guest='on'/> + <signature family='15' model='6'/> + <vendor name='Intel'/> <feature name='apic'/> <feature name='clflush'/> <feature name='cmov'/> @@ -23,5 +31,6 @@ <feature name='sse'/> <feature name='sse2'/> <feature name='tsc'/> + <feature name='vme'/> </model> </cpus> diff --git a/src/cpu_map/x86_kvm64.xml b/src/cpu_map/x86_kvm64.xml index 185af06f78..6ebf590858 100644 --- a/src/cpu_map/x86_kvm64.xml +++ b/src/cpu_map/x86_kvm64.xml @@ -1,6 +1,14 @@ +<!-- extra info from qemu: + 'model.level': '0xd' + 'model.stepping': '1' + 'model.xlevel': '0x80000008' + 'model.model_id': 'Common KVM processor' +--> <cpus> <model name='kvm64'> <decode host='on' guest='on'/> + <signature family='15' model='6'/> + <vendor name='Intel'/> <feature name='apic'/> <feature name='clflush'/> <feature name='cmov'/> @@ -27,5 +35,6 @@ <feature name='sse2'/> <feature name='syscall'/> <feature name='tsc'/> + <feature name='vme'/> </model> </cpus> diff --git a/src/cpu_map/x86_n270.xml b/src/cpu_map/x86_n270.xml index 5507d2ea3b..28c26e8535 100644 --- a/src/cpu_map/x86_n270.xml +++ b/src/cpu_map/x86_n270.xml @@ -1,7 +1,15 @@ +<!-- extra info from qemu: + 'model.level': '10' + 'model.stepping': '2' + 'model.xlevel': '0x80000008' + 'model.model_id': 'Intel(R) Atom(TM) CPU N270 @ 1.60GHz' +--> <cpus> <model name='n270'> <decode host='on' guest='on'/> + <signature family='6' model='28'/> <vendor name='Intel'/> + <feature name='acpi'/> <feature name='apic'/> <feature name='clflush'/> <feature name='cmov'/> @@ -9,10 +17,11 @@ <feature name='de'/> <feature name='fpu'/> <feature name='fxsr'/> + <feature name='lahf_lm'/> <feature name='mca'/> <feature name='mce'/> <feature name='mmx'/> - <feature name='monitor'/> + <feature name='movbe'/> <feature name='msr'/> <feature name='mtrr'/> <feature name='nx'/> @@ -22,6 +31,7 @@ <feature name='pni'/> <feature name='pse'/> <feature name='sep'/> + <feature name='ss'/> <feature name='sse'/> <feature name='sse2'/> <feature name='ssse3'/> diff --git a/src/cpu_map/x86_pentium.xml b/src/cpu_map/x86_pentium.xml index f0a8982115..ce6cb1820d 100644 --- a/src/cpu_map/x86_pentium.xml +++ b/src/cpu_map/x86_pentium.xml @@ -1,6 +1,15 @@ +<!-- extra info from qemu: + 'model.level': '1' + 'model.stepping': '3' + 'model.xlevel': '0' + 'model.model_id': '' +--> <cpus> <model name='pentium'> <decode host='on' guest='on'/> + <signature family='5' model='4'/> + <vendor name='Intel'/> + <feature name='apic'/> <feature name='cx8'/> <feature name='de'/> <feature name='fpu'/> diff --git a/src/cpu_map/x86_pentium2.xml b/src/cpu_map/x86_pentium2.xml index aeba082297..def4a5c3c9 100644 --- a/src/cpu_map/x86_pentium2.xml +++ b/src/cpu_map/x86_pentium2.xml @@ -1,6 +1,15 @@ +<!-- extra info from qemu: + 'model.level': '2' + 'model.stepping': '2' + 'model.xlevel': '0' + 'model.model_id': '' +--> <cpus> <model name='pentium2'> <decode host='on' guest='on'/> + <signature family='6' model='5'/> + <vendor name='Intel'/> + <feature name='apic'/> <feature name='cmov'/> <feature name='cx8'/> <feature name='de'/> diff --git a/src/cpu_map/x86_pentium3.xml b/src/cpu_map/x86_pentium3.xml index ab85d2967f..715599b9a4 100644 --- a/src/cpu_map/x86_pentium3.xml +++ b/src/cpu_map/x86_pentium3.xml @@ -1,6 +1,15 @@ +<!-- extra info from qemu: + 'model.level': '3' + 'model.stepping': '3' + 'model.xlevel': '0' + 'model.model_id': '' +--> <cpus> <model name='pentium3'> <decode host='on' guest='on'/> + <signature family='6' model='7'/> + <vendor name='Intel'/> + <feature name='apic'/> <feature name='cmov'/> <feature name='cx8'/> <feature name='de'/> diff --git a/src/cpu_map/x86_phenom.xml b/src/cpu_map/x86_phenom.xml index f0f8ece57a..57b77803d7 100644 --- a/src/cpu_map/x86_phenom.xml +++ b/src/cpu_map/x86_phenom.xml @@ -1,37 +1,52 @@ +<!-- extra info from qemu: + 'model.level': '5' + 'model.stepping': '3' + 'model.xlevel': '0x8000001A' + 'model.model_id': 'AMD Phenom(tm) 9550 Quad-Core Processor' +--> <cpus> <model name='phenom'> <decode host='on' guest='on'/> + <signature family='16' model='2'/> <vendor name='AMD'/> <feature name='3dnow'/> <feature name='3dnowext'/> + <feature name='abm'/> <feature name='apic'/> <feature name='clflush'/> <feature name='cmov'/> + <feature name='cx16'/> <feature name='cx8'/> <feature name='de'/> <feature name='fpu'/> <feature name='fxsr'/> <feature name='fxsr_opt'/> + <feature name='lahf_lm'/> <feature name='lm'/> <feature name='mca'/> <feature name='mce'/> <feature name='mmx'/> <feature name='mmxext'/> - <feature name='monitor'/> <feature name='msr'/> <feature name='mtrr'/> + <feature name='npt'/> <feature name='nx'/> <feature name='pae'/> <feature name='pat'/> + <feature name='pdpe1gb'/> <feature name='pge'/> <feature name='pni'/> + <feature name='popcnt'/> <feature name='pse'/> <feature name='pse36'/> + <feature name='rdtscp'/> <feature name='sep'/> <feature name='sse'/> <feature name='sse2'/> + <feature name='sse4a'/> <feature name='svm'/> <feature name='syscall'/> <feature name='tsc'/> + <feature name='vme'/> </model> </cpus> diff --git a/src/cpu_map/x86_qemu32.xml b/src/cpu_map/x86_qemu32.xml index f3fb1959be..3d20add85e 100644 --- a/src/cpu_map/x86_qemu32.xml +++ b/src/cpu_map/x86_qemu32.xml @@ -1,6 +1,14 @@ +<!-- extra info from qemu: + 'model.level': '4' + 'model.stepping': '3' + 'model.xlevel': '0x80000004' + 'model.model_id': 'QEMU Virtual CPU version QEMU_HW_VERSION' +--> <cpus> <model name='qemu32'> <decode host='on' guest='on'/> + <signature family='6' model='6'/> + <vendor name='Intel'/> <feature name='apic'/> <feature name='cmov'/> <feature name='cx8'/> diff --git a/src/cpu_map/x86_qemu64.xml b/src/cpu_map/x86_qemu64.xml index 0fe207a2b4..09c0c2a1f1 100644 --- a/src/cpu_map/x86_qemu64.xml +++ b/src/cpu_map/x86_qemu64.xml @@ -1,14 +1,14 @@ +<!-- extra info from qemu: + 'model.level': '0xd' + 'model.stepping': '3' + 'model.xlevel': '0x8000000A' + 'model.model_id': 'QEMU Virtual CPU version QEMU_HW_VERSION' +--> <cpus> <model name='qemu64'> <decode host='on' guest='on'/> - <!-- These are supported only by TCG. KVM supports them only if the - host does. So we leave them out: - - <feature name='abm'/> - <feature name='lahf_lm'/> - <feature name='popcnt'/> - <feature name='sse4a'/> - --> + <signature family='6' model='6'/> + <vendor name='AMD'/> <feature name='apic'/> <feature name='clflush'/> <feature name='cmov'/> @@ -17,6 +17,7 @@ <feature name='de'/> <feature name='fpu'/> <feature name='fxsr'/> + <feature name='lahf_lm'/> <feature name='lm'/> <feature name='mca'/> <feature name='mce'/> -- 2.26.2