Signed-off-by: Daniel P. Berrangé <berrange(a)redhat.com>
---
src/cpu/cpu_map.xml | 2374 +-----------------
src/cpu/cpu_map_x86_486.xml | 7 +
src/cpu/cpu_map_x86_Broadwell-IBRS.xml | 61 +
src/cpu/cpu_map_x86_Broadwell-noTSX-IBRS.xml | 59 +
src/cpu/cpu_map_x86_Broadwell-noTSX.xml | 58 +
src/cpu/cpu_map_x86_Broadwell.xml | 60 +
src/cpu/cpu_map_x86_Conroe.xml | 33 +
src/cpu/cpu_map_x86_EPYC-IBRS.xml | 73 +
src/cpu/cpu_map_x86_EPYC.xml | 72 +
src/cpu/cpu_map_x86_Haswell-IBRS.xml | 57 +
src/cpu/cpu_map_x86_Haswell-noTSX-IBRS.xml | 55 +
src/cpu/cpu_map_x86_Haswell-noTSX.xml | 54 +
src/cpu/cpu_map_x86_Haswell.xml | 56 +
src/cpu/cpu_map_x86_IvyBridge-IBRS.xml | 51 +
src/cpu/cpu_map_x86_IvyBridge.xml | 50 +
src/cpu/cpu_map_x86_Nehalem-IBRS.xml | 38 +
src/cpu/cpu_map_x86_Nehalem.xml | 37 +
src/cpu/cpu_map_x86_Opteron_G1.xml | 31 +
src/cpu/cpu_map_x86_Opteron_G2.xml | 35 +
src/cpu/cpu_map_x86_Opteron_G3.xml | 40 +
src/cpu/cpu_map_x86_Opteron_G4.xml | 50 +
src/cpu/cpu_map_x86_Opteron_G5.xml | 53 +
src/cpu/cpu_map_x86_Penryn.xml | 35 +
src/cpu/cpu_map_x86_SandyBridge-IBRS.xml | 45 +
src/cpu/cpu_map_x86_SandyBridge.xml | 44 +
src/cpu/cpu_map_x86_Skylake-Client-IBRS.xml | 70 +
src/cpu/cpu_map_x86_Skylake-Client.xml | 69 +
src/cpu/cpu_map_x86_Skylake-Server-IBRS.xml | 77 +
src/cpu/cpu_map_x86_Skylake-Server.xml | 76 +
src/cpu/cpu_map_x86_Westmere-IBRS.xml | 39 +
src/cpu/cpu_map_x86_Westmere.xml | 38 +
src/cpu/cpu_map_x86_athlon.xml | 28 +
src/cpu/cpu_map_x86_core2duo.xml | 33 +
src/cpu/cpu_map_x86_coreduo.xml | 29 +
src/cpu/cpu_map_x86_cpu64-rhel5.xml | 29 +
src/cpu/cpu_map_x86_cpu64-rhel6.xml | 31 +
src/cpu/cpu_map_x86_features.xml | 440 ++++
src/cpu/cpu_map_x86_kvm32.xml | 26 +
src/cpu/cpu_map_x86_kvm64.xml | 30 +
src/cpu/cpu_map_x86_n270.xml | 30 +
src/cpu/cpu_map_x86_pentium.xml | 13 +
src/cpu/cpu_map_x86_pentium2.xml | 22 +
src/cpu/cpu_map_x86_pentium3.xml | 23 +
src/cpu/cpu_map_x86_pentiumpro.xml | 21 +
src/cpu/cpu_map_x86_phenom.xml | 36 +
src/cpu/cpu_map_x86_qemu32.xml | 22 +
src/cpu/cpu_map_x86_qemu64.xml | 40 +
src/cpu/cpu_map_x86_vendors.xml | 4 +
48 files changed, 2427 insertions(+), 2327 deletions(-)
create mode 100644 src/cpu/cpu_map_x86_486.xml
create mode 100644 src/cpu/cpu_map_x86_Broadwell-IBRS.xml
create mode 100644 src/cpu/cpu_map_x86_Broadwell-noTSX-IBRS.xml
create mode 100644 src/cpu/cpu_map_x86_Broadwell-noTSX.xml
create mode 100644 src/cpu/cpu_map_x86_Broadwell.xml
create mode 100644 src/cpu/cpu_map_x86_Conroe.xml
create mode 100644 src/cpu/cpu_map_x86_EPYC-IBRS.xml
create mode 100644 src/cpu/cpu_map_x86_EPYC.xml
create mode 100644 src/cpu/cpu_map_x86_Haswell-IBRS.xml
create mode 100644 src/cpu/cpu_map_x86_Haswell-noTSX-IBRS.xml
create mode 100644 src/cpu/cpu_map_x86_Haswell-noTSX.xml
create mode 100644 src/cpu/cpu_map_x86_Haswell.xml
create mode 100644 src/cpu/cpu_map_x86_IvyBridge-IBRS.xml
create mode 100644 src/cpu/cpu_map_x86_IvyBridge.xml
create mode 100644 src/cpu/cpu_map_x86_Nehalem-IBRS.xml
create mode 100644 src/cpu/cpu_map_x86_Nehalem.xml
create mode 100644 src/cpu/cpu_map_x86_Opteron_G1.xml
create mode 100644 src/cpu/cpu_map_x86_Opteron_G2.xml
create mode 100644 src/cpu/cpu_map_x86_Opteron_G3.xml
create mode 100644 src/cpu/cpu_map_x86_Opteron_G4.xml
create mode 100644 src/cpu/cpu_map_x86_Opteron_G5.xml
create mode 100644 src/cpu/cpu_map_x86_Penryn.xml
create mode 100644 src/cpu/cpu_map_x86_SandyBridge-IBRS.xml
create mode 100644 src/cpu/cpu_map_x86_SandyBridge.xml
create mode 100644 src/cpu/cpu_map_x86_Skylake-Client-IBRS.xml
create mode 100644 src/cpu/cpu_map_x86_Skylake-Client.xml
create mode 100644 src/cpu/cpu_map_x86_Skylake-Server-IBRS.xml
create mode 100644 src/cpu/cpu_map_x86_Skylake-Server.xml
create mode 100644 src/cpu/cpu_map_x86_Westmere-IBRS.xml
create mode 100644 src/cpu/cpu_map_x86_Westmere.xml
create mode 100644 src/cpu/cpu_map_x86_athlon.xml
create mode 100644 src/cpu/cpu_map_x86_core2duo.xml
create mode 100644 src/cpu/cpu_map_x86_coreduo.xml
create mode 100644 src/cpu/cpu_map_x86_cpu64-rhel5.xml
create mode 100644 src/cpu/cpu_map_x86_cpu64-rhel6.xml
create mode 100644 src/cpu/cpu_map_x86_features.xml
create mode 100644 src/cpu/cpu_map_x86_kvm32.xml
create mode 100644 src/cpu/cpu_map_x86_kvm64.xml
create mode 100644 src/cpu/cpu_map_x86_n270.xml
create mode 100644 src/cpu/cpu_map_x86_pentium.xml
create mode 100644 src/cpu/cpu_map_x86_pentium2.xml
create mode 100644 src/cpu/cpu_map_x86_pentium3.xml
create mode 100644 src/cpu/cpu_map_x86_pentiumpro.xml
create mode 100644 src/cpu/cpu_map_x86_phenom.xml
create mode 100644 src/cpu/cpu_map_x86_qemu32.xml
create mode 100644 src/cpu/cpu_map_x86_qemu64.xml
create mode 100644 src/cpu/cpu_map_x86_vendors.xml
diff --git a/src/cpu/cpu_map.xml b/src/cpu/cpu_map.xml
index e236c41733..80674a678b 100644
--- a/src/cpu/cpu_map.xml
+++ b/src/cpu/cpu_map.xml
@@ -1,2342 +1,62 @@
<cpus>
<arch name='x86'>
- <!-- vendor definitions -->
- <vendor name='Intel' string='GenuineIntel'/>
- <vendor name='AMD' string='AuthenticAMD'/>
-
- <!-- standard features, EDX -->
- <feature name='fpu'>
- <cpuid eax_in='0x01' edx='0x00000001'/>
- </feature>
- <feature name='vme'>
- <cpuid eax_in='0x01' edx='0x00000002'/>
- </feature>
- <feature name='de'>
- <cpuid eax_in='0x01' edx='0x00000004'/>
- </feature>
- <feature name='pse'>
- <cpuid eax_in='0x01' edx='0x00000008'/>
- </feature>
- <feature name='tsc'>
- <cpuid eax_in='0x01' edx='0x00000010'/>
- </feature>
- <feature name='msr'>
- <cpuid eax_in='0x01' edx='0x00000020'/>
- </feature>
- <feature name='pae'>
- <cpuid eax_in='0x01' edx='0x00000040'/>
- </feature>
- <feature name='mce'>
- <cpuid eax_in='0x01' edx='0x00000080'/>
- </feature>
- <feature name='cx8'>
- <cpuid eax_in='0x01' edx='0x00000100'/>
- </feature>
- <feature name='apic'>
- <cpuid eax_in='0x01' edx='0x00000200'/>
- </feature>
- <feature name='sep'>
- <cpuid eax_in='0x01' edx='0x00000800'/>
- </feature>
- <feature name='mtrr'>
- <cpuid eax_in='0x01' edx='0x00001000'/>
- </feature>
- <feature name='pge'>
- <cpuid eax_in='0x01' edx='0x00002000'/>
- </feature>
- <feature name='mca'>
- <cpuid eax_in='0x01' edx='0x00004000'/>
- </feature>
- <feature name='cmov'>
- <cpuid eax_in='0x01' edx='0x00008000'/>
- </feature>
- <feature name='pat'>
- <cpuid eax_in='0x01' edx='0x00010000'/>
- </feature>
- <feature name='pse36'>
- <cpuid eax_in='0x01' edx='0x00020000'/>
- </feature>
- <feature name='pn'>
- <cpuid eax_in='0x01' edx='0x00040000'/>
- </feature>
- <feature name='clflush'>
- <cpuid eax_in='0x01' edx='0x00080000'/>
- </feature>
- <feature name='ds'>
- <cpuid eax_in='0x01' edx='0x00200000'/>
- </feature>
- <feature name='acpi'>
- <cpuid eax_in='0x01' edx='0x00400000'/>
- </feature>
- <feature name='mmx'>
- <cpuid eax_in='0x01' edx='0x00800000'/>
- </feature>
- <feature name='fxsr'>
- <cpuid eax_in='0x01' edx='0x01000000'/>
- </feature>
- <feature name='sse'>
- <cpuid eax_in='0x01' edx='0x02000000'/>
- </feature>
- <feature name='sse2'>
- <cpuid eax_in='0x01' edx='0x04000000'/>
- </feature>
- <feature name='ss'>
- <cpuid eax_in='0x01' edx='0x08000000'/>
- </feature>
- <feature name='ht'>
- <cpuid eax_in='0x01' edx='0x10000000'/>
- </feature>
- <feature name='tm'>
- <cpuid eax_in='0x01' edx='0x20000000'/>
- </feature>
- <feature name='ia64'>
- <cpuid eax_in='0x01' edx='0x40000000'/>
- </feature>
- <feature name='pbe'>
- <cpuid eax_in='0x01' edx='0x80000000'/>
- </feature>
-
- <!-- standard features, ECX -->
- <feature name='pni'> <!-- sse3 -->
- <cpuid eax_in='0x01' ecx='0x00000001'/>
- </feature>
- <feature name='pclmuldq'> <!-- pclmulqdq -->
- <cpuid eax_in='0x01' ecx='0x00000002'/>
- </feature>
- <feature name='dtes64'>
- <cpuid eax_in='0x01' ecx='0x00000004'/>
- </feature>
- <feature name='monitor'>
- <cpuid eax_in='0x01' ecx='0x00000008'/>
- </feature>
- <feature name='ds_cpl'> <!-- ds-cpl -->
- <cpuid eax_in='0x01' ecx='0x00000010'/>
- </feature>
- <feature name='vmx'>
- <cpuid eax_in='0x01' ecx='0x00000020'/>
- </feature>
- <feature name='smx'>
- <cpuid eax_in='0x01' ecx='0x00000040'/>
- </feature>
- <feature name='est'>
- <cpuid eax_in='0x01' ecx='0x00000080'/>
- </feature>
- <feature name='tm2'>
- <cpuid eax_in='0x01' ecx='0x00000100'/>
- </feature>
- <feature name='ssse3'>
- <cpuid eax_in='0x01' ecx='0x00000200'/>
- </feature>
- <feature name='cid'>
- <cpuid eax_in='0x01' ecx='0x00000400'/>
- </feature>
- <feature name='fma'>
- <cpuid eax_in='0x01' ecx='0x00001000'/>
- </feature>
- <feature name='cx16'>
- <cpuid eax_in='0x01' ecx='0x00002000'/>
- </feature>
- <feature name='xtpr'>
- <cpuid eax_in='0x01' ecx='0x00004000'/>
- </feature>
- <feature name='pdcm'>
- <cpuid eax_in='0x01' ecx='0x00008000'/>
- </feature>
- <feature name='pcid'>
- <cpuid eax_in='0x01' ecx='0x00020000'/>
- </feature>
- <feature name='dca'>
- <cpuid eax_in='0x01' ecx='0x00040000'/>
- </feature>
- <feature name='sse4.1'> <!-- sse4-1, sse4_1 -->
- <cpuid eax_in='0x01' ecx='0x00080000'/>
- </feature>
- <feature name='sse4.2'> <!-- sse4-2, sse4_2 -->
- <cpuid eax_in='0x01' ecx='0x00100000'/>
- </feature>
- <feature name='x2apic'>
- <cpuid eax_in='0x01' ecx='0x00200000'/>
- </feature>
- <feature name='movbe'>
- <cpuid eax_in='0x01' ecx='0x00400000'/>
- </feature>
- <feature name='popcnt'>
- <cpuid eax_in='0x01' ecx='0x00800000'/>
- </feature>
- <feature name='tsc-deadline'>
- <cpuid eax_in='0x01' ecx='0x01000000'/>
- </feature>
- <feature name='aes'>
- <cpuid eax_in='0x01' ecx='0x02000000'/>
- </feature>
- <feature name='xsave'>
- <cpuid eax_in='0x01' ecx='0x04000000'/>
- </feature>
- <feature name='osxsave'>
- <cpuid eax_in='0x01' ecx='0x08000000'/>
- </feature>
- <feature name='avx'>
- <cpuid eax_in='0x01' ecx='0x10000000'/>
- </feature>
- <feature name='f16c'>
- <cpuid eax_in='0x01' ecx='0x20000000'/>
- </feature>
- <feature name='rdrand'>
- <cpuid eax_in='0x01' ecx='0x40000000'/>
- </feature>
- <feature name='hypervisor'>
- <cpuid eax_in='0x01' ecx='0x80000000'/>
- </feature>
-
- <!-- Termal Power and Management -->
- <feature name='arat'>
- <cpuid eax_in='0x06' eax='0x00000004'/>
- </feature>
-
- <!-- cpuid function 0x7 ecx 0x0 features -->
- <feature name='fsgsbase'>
- <cpuid eax_in='0x07' ecx_in='0x00'
ebx='0x00000001'/>
- </feature>
- <feature name='tsc_adjust'> <!-- tsc-adjust -->
- <cpuid eax_in='0x07' ecx_in='0x00'
ebx='0x00000002'/>
- </feature>
- <feature name='bmi1'>
- <cpuid eax_in='0x07' ecx_in='0x00'
ebx='0x00000008'/>
- </feature>
- <feature name='hle'>
- <cpuid eax_in='0x07' ecx_in='0x00'
ebx='0x00000010'/>
- </feature>
- <feature name='avx2'>
- <cpuid eax_in='0x07' ecx_in='0x00'
ebx='0x00000020'/>
- </feature>
- <feature name='smep'>
- <cpuid eax_in='0x07' ecx_in='0x00'
ebx='0x00000080'/>
- </feature>
- <feature name='bmi2'>
- <cpuid eax_in='0x07' ecx_in='0x00'
ebx='0x00000100'/>
- </feature>
- <feature name='erms'>
- <cpuid eax_in='0x07' ecx_in='0x00'
ebx='0x00000200'/>
- </feature>
- <feature name='invpcid'>
- <cpuid eax_in='0x07' ecx_in='0x00'
ebx='0x00000400'/>
- </feature>
- <feature name='rtm'>
- <cpuid eax_in='0x07' ecx_in='0x00'
ebx='0x00000800'/>
- </feature>
- <feature name='cmt'> <!-- cqm -->
- <cpuid eax_in='0x07' ecx_in='0x00'
ebx='0x00001000'/>
- </feature>
- <feature name='mpx'>
- <cpuid eax_in='0x07' ecx_in='0x00'
ebx='0x00004000'/>
- </feature>
- <feature name='avx512f'>
- <cpuid eax_in='0x07' ecx_in='0x00'
ebx='0x00010000'/>
- </feature>
- <feature name='avx512dq'>
- <cpuid eax_in='0x07' ecx_in='0x00'
ebx='0x00020000'/>
- </feature>
- <feature name='rdseed'>
- <cpuid eax_in='0x07' ecx_in='0x00'
ebx='0x00040000'/>
- </feature>
- <feature name='adx'>
- <cpuid eax_in='0x07' ecx_in='0x00'
ebx='0x00080000'/>
- </feature>
- <feature name='smap'>
- <cpuid eax_in='0x07' ecx_in='0x00'
ebx='0x00100000'/>
- </feature>
- <feature name='avx512ifma'>
- <cpuid eax_in='0x07' ecx_in='0x00'
ebx='0x00200000'/>
- </feature>
- <feature name='pcommit'>
- <cpuid eax_in='0x07' ecx_in='0x00'
ebx='0x00400000'/>
- </feature>
- <feature name='clflushopt'>
- <cpuid eax_in='0x07' ecx_in='0x00'
ebx='0x00800000'/>
- </feature>
- <feature name='clwb'>
- <cpuid eax_in='0x07' ecx_in='0x00'
ebx='0x01000000'/>
- </feature>
- <feature name='avx512pf'>
- <cpuid eax_in='0x07' ecx_in='0x00'
ebx='0x04000000'/>
- </feature>
- <feature name='avx512er'>
- <cpuid eax_in='0x07' ecx_in='0x00'
ebx='0x08000000'/>
- </feature>
- <feature name='avx512cd'>
- <cpuid eax_in='0x07' ecx_in='0x00'
ebx='0x10000000'/>
- </feature>
- <feature name='sha-ni'>
- <cpuid eax_in='0x07' ecx_in='0x00'
ebx='0x20000000'/>
- </feature>
- <feature name='avx512bw'>
- <cpuid eax_in='0x07' ecx_in='0x00'
ebx='0x40000000'/>
- </feature>
- <feature name='avx512vl'>
- <cpuid eax_in='0x07' ecx_in='0x00'
ebx='0x80000000'/>
- </feature>
-
- <feature name='avx512vbmi'>
- <cpuid eax_in='0x07' ecx_in='0x00'
ecx='0x00000002'/>
- </feature>
- <feature name='pku'>
- <cpuid eax_in='0x07' ecx_in='0x00'
ecx='0x00000008'/>
- </feature>
- <feature name='ospke'>
- <cpuid eax_in='0x07' ecx_in='0x00'
ecx='0x00000010'/>
- </feature>
- <feature name='la57'>
- <cpuid eax_in='0x07' ecx_in='0x00'
ecx='0x00010000'/>
- </feature>
-
- <feature name='avx512-4vnniw'>
- <cpuid eax_in='0x07' ecx_in='0x00'
edx='0x00000004'/>
- </feature>
- <feature name='avx512-4fmaps'>
- <cpuid eax_in='0x07' ecx_in='0x00'
edx='0x00000008'/>
- </feature>
- <feature name='spec-ctrl'>
- <cpuid eax_in='0x07' ecx_in='0x00'
edx='0x04000000'/>
- </feature>
- <feature name='ssbd'>
- <cpuid eax_in='0x07' ecx_in='0x00'
edx='0x80000000'/>
- </feature>
-
- <!-- Processor Extended State Enumeration sub leaf 1 -->
- <feature name='xsaveopt'>
- <cpuid eax_in='0x0d' ecx_in='0x01'
eax='0x00000001'/>
- </feature>
- <feature name='xsavec'>
- <cpuid eax_in='0x0d' ecx_in='0x01'
eax='0x00000002'/>
- </feature>
- <feature name='xgetbv1'>
- <cpuid eax_in='0x0d' ecx_in='0x01'
eax='0x00000004'/>
- </feature>
- <feature name='xsaves' migratable='no'>
- <cpuid eax_in='0x0d' ecx_in='0x01'
eax='0x00000008'/>
- </feature>
-
- <!-- cpuid level 0x0000000f:1 (edx) -->
- <feature name='mbm_total'>
- <cpuid eax_in='0x0f' ecx_in='0x01'
edx='0x00000002'/>
- </feature>
- <feature name='mbm_local'>
- <cpuid eax_in='0x0f' ecx_in='0x01'
edx='0x00000004'/>
- </feature>
-
- <!-- extended features, EDX -->
- <feature name='syscall'>
- <cpuid eax_in='0x80000001' edx='0x00000800'/>
- </feature>
- <feature name='nx'> <!-- xd -->
- <cpuid eax_in='0x80000001' edx='0x00100000'/>
- </feature>
- <feature name='mmxext'>
- <cpuid eax_in='0x80000001' edx='0x00400000'/>
- </feature>
- <feature name='fxsr_opt'> <!-- ffxsr, fxsr-opt -->
- <cpuid eax_in='0x80000001' edx='0x02000000'/>
- </feature>
- <feature name='pdpe1gb'>
- <cpuid eax_in='0x80000001' edx='0x04000000'/>
- </feature>
- <feature name='rdtscp'>
- <cpuid eax_in='0x80000001' edx='0x08000000'/>
- </feature>
- <feature name='lm'> <!-- i64 -->
- <cpuid eax_in='0x80000001' edx='0x20000000'/>
- </feature>
- <feature name='3dnowext'>
- <cpuid eax_in='0x80000001' edx='0x40000000'/>
- </feature>
- <feature name='3dnow'>
- <cpuid eax_in='0x80000001' edx='0x80000000'/>
- </feature>
-
- <!-- extended features, ECX -->
- <feature name='lahf_lm'> <!-- lahf-lm -->
- <cpuid eax_in='0x80000001' ecx='0x00000001'/>
- </feature>
- <feature name='cmp_legacy'> <!-- cmp-legacy -->
- <cpuid eax_in='0x80000001' ecx='0x00000002'/>
- </feature>
- <feature name='svm'>
- <cpuid eax_in='0x80000001' ecx='0x00000004'/>
- </feature>
- <feature name='extapic'>
- <cpuid eax_in='0x80000001' ecx='0x00000008'/>
- </feature>
- <feature name='cr8legacy'>
- <cpuid eax_in='0x80000001' ecx='0x00000010'/>
- </feature>
- <feature name='abm'>
- <cpuid eax_in='0x80000001' ecx='0x00000020'/>
- </feature>
- <feature name='sse4a'>
- <cpuid eax_in='0x80000001' ecx='0x00000040'/>
- </feature>
- <feature name='misalignsse'>
- <cpuid eax_in='0x80000001' ecx='0x00000080'/>
- </feature>
- <feature name='3dnowprefetch'>
- <cpuid eax_in='0x80000001' ecx='0x00000100'/>
- </feature>
- <feature name='osvw'>
- <cpuid eax_in='0x80000001' ecx='0x00000200'/>
- </feature>
- <feature name='ibs'>
- <cpuid eax_in='0x80000001' ecx='0x00000400'/>
- </feature>
- <feature name='xop'>
- <cpuid eax_in='0x80000001' ecx='0x00000800'/>
- </feature>
- <feature name='skinit'>
- <cpuid eax_in='0x80000001' ecx='0x00001000'/>
- </feature>
- <feature name='wdt'>
- <cpuid eax_in='0x80000001' ecx='0x00002000'/>
- </feature>
- <feature name='lwp'>
- <cpuid eax_in='0x80000001' ecx='0x00008000'/>
- </feature>
- <feature name='fma4'>
- <cpuid eax_in='0x80000001' ecx='0x00010000'/>
- </feature>
- <feature name='tce'>
- <cpuid eax_in='0x80000001' ecx='0x00020000'/>
- </feature>
- <feature name='cvt16'>
- <cpuid eax_in='0x80000001' ecx='0x00040000'/>
- </feature>
- <feature name='nodeid_msr'> <!-- nodeid-msr -->
- <cpuid eax_in='0x80000001' ecx='0x00080000'/>
- </feature>
- <feature name='tbm'>
- <cpuid eax_in='0x80000001' ecx='0x00200000'/>
- </feature>
- <feature name='topoext'>
- <cpuid eax_in='0x80000001' ecx='0x00400000'/>
- </feature>
- <feature name='perfctr_core'> <!-- perfctr-core -->
- <cpuid eax_in='0x80000001' ecx='0x00800000'/>
- </feature>
- <feature name='perfctr_nb'> <!-- perfctr-nb -->
- <cpuid eax_in='0x80000001' ecx='0x01000000'/>
- </feature>
-
- <!-- Advanced Power Management edx features -->
- <feature name='invtsc' migratable='no'>
- <cpuid eax_in='0x80000007' edx='0x00000100'/>
- </feature>
-
- <!-- More AMD-specific features -->
- <feature name='ibpb'>
- <cpuid eax_in='0x80000008' ebx='0x00001000'/>
- </feature>
- <feature name='amd-ssbd'>
- <cpuid eax_in='0x80000008' ebx='0x01000000'/>
- </feature>
- <feature name='virt-ssbd'>
- <cpuid eax_in='0x80000008' ebx='0x02000000'/>
- </feature>
- <feature name='amd-no-ssb'>
- <cpuid eax_in='0x80000008' ebx='0x04000000'/>
- </feature>
+ <include filename="cpu_map_x86_vendors.xml"/>
+ <include filename="cpu_map_x86_features.xml"/>
<!-- models -->
- <model name='486'>
- <feature name='fpu'/>
- <feature name='pse'/>
- <feature name='vme'/>
- </model>
+ <include filename="cpu_map_x86_486.xml"/>
<!-- Intel-based QEMU generic CPU models -->
- <model name='pentium'>
- <feature name='cx8'/>
- <feature name='de'/>
- <feature name='fpu'/>
- <feature name='mce'/>
- <feature name='mmx'/>
- <feature name='msr'/>
- <feature name='pse'/>
- <feature name='tsc'/>
- <feature name='vme'/>
- </model>
-
- <model name='pentium2'>
- <feature name='cmov'/>
- <feature name='cx8'/>
- <feature name='de'/>
- <feature name='fpu'/>
- <feature name='fxsr'/>
- <feature name='mca'/>
- <feature name='mce'/>
- <feature name='mmx'/>
- <feature name='msr'/>
- <feature name='mtrr'/>
- <feature name='pae'/>
- <feature name='pat'/>
- <feature name='pge'/>
- <feature name='pse'/>
- <feature name='pse36'/>
- <feature name='sep'/>
- <feature name='tsc'/>
- <feature name='vme'/>
- </model>
-
- <model name='pentium3'>
- <feature name='cmov'/>
- <feature name='cx8'/>
- <feature name='de'/>
- <feature name='fpu'/>
- <feature name='fxsr'/>
- <feature name='mca'/>
- <feature name='mce'/>
- <feature name='mmx'/>
- <feature name='msr'/>
- <feature name='mtrr'/>
- <feature name='pae'/>
- <feature name='pat'/>
- <feature name='pge'/>
- <feature name='pse'/>
- <feature name='pse36'/>
- <feature name='sep'/>
- <feature name='sse'/>
- <feature name='tsc'/>
- <feature name='vme'/>
- </model>
-
- <model name='pentiumpro'>
- <feature name='apic'/>
- <feature name='cmov'/>
- <feature name='cx8'/>
- <feature name='de'/>
- <feature name='fpu'/>
- <feature name='fxsr'/>
- <feature name='mce'/>
- <feature name='mmx'/>
- <feature name='msr'/>
- <feature name='pae'/>
- <feature name='pat'/>
- <feature name='pge'/>
- <feature name='pse'/>
- <feature name='sep'/>
- <feature name='sse'/>
- <feature name='sse2'/>
- <feature name='tsc'/>
- </model>
-
- <model name='coreduo'>
- <vendor name='Intel'/>
- <feature name='apic'/>
- <feature name='clflush'/>
- <feature name='cmov'/>
- <feature name='cx8'/>
- <feature name='de'/>
- <feature name='fpu'/>
- <feature name='fxsr'/>
- <feature name='mca'/>
- <feature name='mce'/>
- <feature name='mmx'/>
- <feature name='monitor'/>
- <feature name='msr'/>
- <feature name='mtrr'/>
- <feature name='nx'/>
- <feature name='pae'/>
- <feature name='pat'/>
- <feature name='pge'/>
- <feature name='pni'/>
- <feature name='pse'/>
- <feature name='sep'/>
- <feature name='sse'/>
- <feature name='sse2'/>
- <feature name='tsc'/>
- <feature name='vme'/>
- </model>
-
- <model name='n270'>
- <vendor name='Intel'/>
- <feature name='apic'/>
- <feature name='clflush'/>
- <feature name='cmov'/>
- <feature name='cx8'/>
- <feature name='de'/>
- <feature name='fpu'/>
- <feature name='fxsr'/>
- <feature name='mca'/>
- <feature name='mce'/>
- <feature name='mmx'/>
- <feature name='monitor'/>
- <feature name='msr'/>
- <feature name='mtrr'/>
- <feature name='nx'/>
- <feature name='pae'/>
- <feature name='pat'/>
- <feature name='pge'/>
- <feature name='pni'/>
- <feature name='pse'/>
- <feature name='sep'/>
- <feature name='sse'/>
- <feature name='sse2'/>
- <feature name='ssse3'/>
- <feature name='tsc'/>
- <feature name='vme'/>
- </model>
-
- <model name='core2duo'>
- <vendor name='Intel'/>
- <feature name='apic'/>
- <feature name='clflush'/>
- <feature name='cmov'/>
- <feature name='cx8'/>
- <feature name='de'/>
- <feature name='fpu'/>
- <feature name='fxsr'/>
- <feature name='lm'/>
- <feature name='mca'/>
- <feature name='mce'/>
- <feature name='mmx'/>
- <feature name='monitor'/>
- <feature name='msr'/>
- <feature name='mtrr'/>
- <feature name='nx'/>
- <feature name='pae'/>
- <feature name='pat'/>
- <feature name='pge'/>
- <feature name='pni'/>
- <feature name='pse'/>
- <feature name='pse36'/>
- <feature name='sep'/>
- <feature name='sse'/>
- <feature name='sse2'/>
- <feature name='ssse3'/>
- <feature name='syscall'/>
- <feature name='tsc'/>
- <feature name='vme'/>
- </model>
+ <include filename="cpu_map_x86_pentium.xml"/>
+ <include filename="cpu_map_x86_pentium2.xml"/>
+ <include filename="cpu_map_x86_pentium3.xml"/>
+ <include filename="cpu_map_x86_pentiumpro.xml"/>
+ <include filename="cpu_map_x86_coreduo.xml"/>
+ <include filename="cpu_map_x86_n270.xml"/>
+ <include filename="cpu_map_x86_core2duo.xml"/>
<!-- Generic QEMU CPU models -->
- <model name='qemu32'>
- <feature name='apic'/>
- <feature name='cmov'/>
- <feature name='cx8'/>
- <feature name='de'/>
- <feature name='fpu'/>
- <feature name='fxsr'/>
- <feature name='mce'/>
- <feature name='mmx'/>
- <feature name='msr'/>
- <feature name='pae'/>
- <feature name='pat'/>
- <feature name='pge'/>
- <feature name='pni'/>
- <feature name='pse'/>
- <feature name='sep'/>
- <feature name='sse'/>
- <feature name='sse2'/>
- <feature name='tsc'/>
- </model>
-
- <model name='kvm32'>
- <feature name='apic'/>
- <feature name='clflush'/>
- <feature name='cmov'/>
- <feature name='cx8'/>
- <feature name='de'/>
- <feature name='fpu'/>
- <feature name='fxsr'/>
- <feature name='mca'/>
- <feature name='mce'/>
- <feature name='mmx'/>
- <feature name='msr'/>
- <feature name='mtrr'/>
- <feature name='pae'/>
- <feature name='pat'/>
- <feature name='pge'/>
- <feature name='pni'/>
- <feature name='pse'/>
- <feature name='pse36'/>
- <feature name='sep'/>
- <feature name='sse'/>
- <feature name='sse2'/>
- <feature name='tsc'/>
- </model>
-
- <model name='cpu64-rhel5'>
- <feature name='apic'/>
- <feature name='clflush'/>
- <feature name='cmov'/>
- <feature name='cx8'/>
- <feature name='de'/>
- <feature name='fpu'/>
- <feature name='fxsr'/>
- <feature name='lm'/>
- <feature name='mca'/>
- <feature name='mce'/>
- <feature name='mmx'/>
- <feature name='msr'/>
- <feature name='mtrr'/>
- <feature name='nx'/>
- <feature name='pae'/>
- <feature name='pat'/>
- <feature name='pge'/>
- <feature name='pni'/>
- <feature name='pse'/>
- <feature name='pse36'/>
- <feature name='sep'/>
- <feature name='sse'/>
- <feature name='sse2'/>
- <feature name='syscall'/>
- <feature name='tsc'/>
- </model>
-
- <model name='cpu64-rhel6'>
- <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='msr'/>
- <feature name='mtrr'/>
- <feature name='nx'/>
- <feature name='pae'/>
- <feature name='pat'/>
- <feature name='pge'/>
- <feature name='pni'/>
- <feature name='pse'/>
- <feature name='pse36'/>
- <feature name='sep'/>
- <feature name='sse'/>
- <feature name='sse2'/>
- <feature name='syscall'/>
- <feature name='tsc'/>
- </model>
-
- <model name='kvm64'>
- <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='lm'/>
- <feature name='mca'/>
- <feature name='mce'/>
- <feature name='mmx'/>
- <feature name='msr'/>
- <feature name='mtrr'/>
- <feature name='nx'/>
- <feature name='pae'/>
- <feature name='pat'/>
- <feature name='pge'/>
- <feature name='pni'/>
- <feature name='pse'/>
- <feature name='pse36'/>
- <feature name='sep'/>
- <feature name='sse'/>
- <feature name='sse2'/>
- <feature name='syscall'/>
- <feature name='tsc'/>
- </model>
-
- <model name='qemu64'>
- <!-- 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'/>
- -->
- <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='lm'/>
- <feature name='mca'/>
- <feature name='mce'/>
- <feature name='mmx'/>
- <feature name='msr'/>
- <feature name='mtrr'/>
- <feature name='nx'/>
- <feature name='pae'/>
- <feature name='pat'/>
- <feature name='pge'/>
- <feature name='pni'/>
- <feature name='pse'/>
- <feature name='pse36'/>
- <feature name='sep'/>
- <feature name='sse'/>
- <feature name='sse2'/>
- <feature name='svm'/>
- <feature name='syscall'/>
- <feature name='tsc'/>
- </model>
+ <include filename="cpu_map_x86_qemu32.xml"/>
+ <include filename="cpu_map_x86_kvm32.xml"/>
+ <include filename="cpu_map_x86_cpu64-rhel5.xml"/>
+ <include filename="cpu_map_x86_cpu64-rhel6.xml"/>
+ <include filename="cpu_map_x86_qemu64.xml"/>
+ <include filename="cpu_map_x86_kvm64.xml"/>
<!-- Intel CPU models -->
- <model name='Conroe'>
- <signature family='6' model='15'/>
- <vendor name='Intel'/>
- <feature name='apic'/>
- <feature name='clflush'/>
- <feature name='cmov'/>
- <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='msr'/>
- <feature name='mtrr'/>
- <feature name='nx'/>
- <feature name='pae'/>
- <feature name='pat'/>
- <feature name='pge'/>
- <feature name='pni'/>
- <feature name='pse'/>
- <feature name='pse36'/>
- <feature name='sep'/>
- <feature name='sse'/>
- <feature name='sse2'/>
- <feature name='ssse3'/>
- <feature name='syscall'/>
- <feature name='tsc'/>
- </model>
-
- <model name='Penryn'>
- <signature family='6' model='23'/>
- <vendor name='Intel'/>
- <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='msr'/>
- <feature name='mtrr'/>
- <feature name='nx'/>
- <feature name='pae'/>
- <feature name='pat'/>
- <feature name='pge'/>
- <feature name='pni'/>
- <feature name='pse'/>
- <feature name='pse36'/>
- <feature name='sep'/>
- <feature name='sse'/>
- <feature name='sse2'/>
- <feature name='sse4.1'/>
- <feature name='ssse3'/>
- <feature name='syscall'/>
- <feature name='tsc'/>
- </model>
-
- <model name='Nehalem'>
- <signature family='6' model='26'/>
- <vendor name='Intel'/>
- <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='msr'/>
- <feature name='mtrr'/>
- <feature name='nx'/>
- <feature name='pae'/>
- <feature name='pat'/>
- <feature name='pge'/>
- <feature name='pni'/>
- <feature name='popcnt'/>
- <feature name='pse'/>
- <feature name='pse36'/>
- <feature name='sep'/>
- <feature name='sse'/>
- <feature name='sse2'/>
- <feature name='sse4.1'/>
- <feature name='sse4.2'/>
- <feature name='ssse3'/>
- <feature name='syscall'/>
- <feature name='tsc'/>
- </model>
-
- <model name='Nehalem-IBRS'>
- <signature family='6' model='26'/>
- <vendor name='Intel'/>
- <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='msr'/>
- <feature name='mtrr'/>
- <feature name='nx'/>
- <feature name='pae'/>
- <feature name='pat'/>
- <feature name='pge'/>
- <feature name='pni'/>
- <feature name='popcnt'/>
- <feature name='pse'/>
- <feature name='pse36'/>
- <feature name='sep'/>
- <feature name='spec-ctrl'/>
- <feature name='sse'/>
- <feature name='sse2'/>
- <feature name='sse4.1'/>
- <feature name='sse4.2'/>
- <feature name='ssse3'/>
- <feature name='syscall'/>
- <feature name='tsc'/>
- </model>
-
- <model name='Westmere'>
- <signature family='6' model='44'/>
- <vendor name='Intel'/>
- <feature name='aes'/>
- <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='msr'/>
- <feature name='mtrr'/>
- <feature name='nx'/>
- <feature name='pae'/>
- <feature name='pat'/>
- <feature name='pge'/>
- <feature name='pni'/>
- <feature name='popcnt'/>
- <feature name='pse'/>
- <feature name='pse36'/>
- <feature name='sep'/>
- <feature name='sse'/>
- <feature name='sse2'/>
- <feature name='sse4.1'/>
- <feature name='sse4.2'/>
- <feature name='ssse3'/>
- <feature name='syscall'/>
- <feature name='tsc'/>
- </model>
-
- <model name='Westmere-IBRS'>
- <signature family='6' model='44'/>
- <vendor name='Intel'/>
- <feature name='aes'/>
- <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='msr'/>
- <feature name='mtrr'/>
- <feature name='nx'/>
- <feature name='pae'/>
- <feature name='pat'/>
- <feature name='pge'/>
- <feature name='pni'/>
- <feature name='popcnt'/>
- <feature name='pse'/>
- <feature name='pse36'/>
- <feature name='sep'/>
- <feature name='spec-ctrl'/>
- <feature name='sse'/>
- <feature name='sse2'/>
- <feature name='sse4.1'/>
- <feature name='sse4.2'/>
- <feature name='ssse3'/>
- <feature name='syscall'/>
- <feature name='tsc'/>
- </model>
-
- <model name='SandyBridge'>
- <signature family='6' model='42'/>
- <vendor name='Intel'/>
- <feature name='aes'/>
- <feature name='apic'/>
- <feature name='avx'/>
- <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='msr'/>
- <feature name='mtrr'/>
- <feature name='nx'/>
- <feature name='pae'/>
- <feature name='pat'/>
- <feature name='pclmuldq'/>
- <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='sse4.1'/>
- <feature name='sse4.2'/>
- <feature name='ssse3'/>
- <feature name='syscall'/>
- <feature name='tsc'/>
- <feature name='tsc-deadline'/>
- <feature name='x2apic'/>
- <feature name='xsave'/>
- </model>
-
- <model name='SandyBridge-IBRS'>
- <signature family='6' model='42'/>
- <vendor name='Intel'/>
- <feature name='aes'/>
- <feature name='apic'/>
- <feature name='avx'/>
- <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='msr'/>
- <feature name='mtrr'/>
- <feature name='nx'/>
- <feature name='pae'/>
- <feature name='pat'/>
- <feature name='pclmuldq'/>
- <feature name='pge'/>
- <feature name='pni'/>
- <feature name='popcnt'/>
- <feature name='pse'/>
- <feature name='pse36'/>
- <feature name='rdtscp'/>
- <feature name='sep'/>
- <feature name='spec-ctrl'/>
- <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='x2apic'/>
- <feature name='xsave'/>
- </model>
-
- <model name='IvyBridge'>
- <signature family='6' model='58'/>
- <vendor name='Intel'/>
- <feature name='aes'/>
- <feature name='apic'/>
- <feature name='avx'/>
- <feature name='clflush'/>
- <feature name='cmov'/>
- <feature name='cx16'/>
- <feature name='cx8'/>
- <feature name='de'/>
- <feature name='erms'/>
- <feature name='f16c'/>
- <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='msr'/>
- <feature name='mtrr'/>
- <feature name='nx'/>
- <feature name='pae'/>
- <feature name='pat'/>
- <feature name='pclmuldq'/>
- <feature name='pge'/>
- <feature name='pni'/>
- <feature name='popcnt'/>
- <feature name='pse'/>
- <feature name='pse36'/>
- <feature name='rdrand'/>
- <feature name='rdtscp'/>
- <feature name='sep'/>
- <feature name='smep'/>
- <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'/>
- </model>
-
- <model name='IvyBridge-IBRS'>
- <signature family='6' model='58'/>
- <vendor name='Intel'/>
- <feature name='aes'/>
- <feature name='apic'/>
- <feature name='avx'/>
- <feature name='clflush'/>
- <feature name='cmov'/>
- <feature name='cx16'/>
- <feature name='cx8'/>
- <feature name='de'/>
- <feature name='erms'/>
- <feature name='f16c'/>
- <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='msr'/>
- <feature name='mtrr'/>
- <feature name='nx'/>
- <feature name='pae'/>
- <feature name='pat'/>
- <feature name='pclmuldq'/>
- <feature name='pge'/>
- <feature name='pni'/>
- <feature name='popcnt'/>
- <feature name='pse'/>
- <feature name='pse36'/>
- <feature name='rdrand'/>
- <feature name='rdtscp'/>
- <feature name='sep'/>
- <feature name='smep'/>
- <feature name='spec-ctrl'/>
- <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'/>
- </model>
-
- <model name='Haswell-noTSX'>
- <signature family='6' model='60'/>
- <vendor name='Intel'/>
- <feature name='aes'/>
- <feature name='apic'/>
- <feature name='avx'/>
- <feature name='avx2'/>
- <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='fma'/>
- <feature name='fpu'/>
- <feature name='fsgsbase'/>
- <feature name='fxsr'/>
- <feature name='invpcid'/>
- <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='pcid'/>
- <feature name='pclmuldq'/>
- <feature name='pge'/>
- <feature name='pni'/>
- <feature name='popcnt'/>
- <feature name='pse'/>
- <feature name='pse36'/>
- <feature name='rdtscp'/>
- <feature name='sep'/>
- <feature name='smep'/>
- <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='x2apic'/>
- <feature name='xsave'/>
- </model>
-
- <model name='Haswell-noTSX-IBRS'>
- <signature family='6' model='60'/>
- <vendor name='Intel'/>
- <feature name='aes'/>
- <feature name='apic'/>
- <feature name='avx'/>
- <feature name='avx2'/>
- <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='fma'/>
- <feature name='fpu'/>
- <feature name='fsgsbase'/>
- <feature name='fxsr'/>
- <feature name='invpcid'/>
- <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='pcid'/>
- <feature name='pclmuldq'/>
- <feature name='pge'/>
- <feature name='pni'/>
- <feature name='popcnt'/>
- <feature name='pse'/>
- <feature name='pse36'/>
- <feature name='rdtscp'/>
- <feature name='sep'/>
- <feature name='smep'/>
- <feature name='spec-ctrl'/>
- <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='x2apic'/>
- <feature name='xsave'/>
- </model>
-
- <model name='Haswell'>
- <signature family='6' model='60'/>
- <vendor name='Intel'/>
- <feature name='aes'/>
- <feature name='apic'/>
- <feature name='avx'/>
- <feature name='avx2'/>
- <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='fma'/>
- <feature name='fpu'/>
- <feature name='fsgsbase'/>
- <feature name='fxsr'/>
- <feature name='hle'/>
- <feature name='invpcid'/>
- <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='pcid'/>
- <feature name='pclmuldq'/>
- <feature name='pge'/>
- <feature name='pni'/>
- <feature name='popcnt'/>
- <feature name='pse'/>
- <feature name='pse36'/>
- <feature name='rdtscp'/>
- <feature name='rtm'/>
- <feature name='sep'/>
- <feature name='smep'/>
- <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='x2apic'/>
- <feature name='xsave'/>
- </model>
-
- <model name='Haswell-IBRS'>
- <signature family='6' model='60'/>
- <vendor name='Intel'/>
- <feature name='aes'/>
- <feature name='apic'/>
- <feature name='avx'/>
- <feature name='avx2'/>
- <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='fma'/>
- <feature name='fpu'/>
- <feature name='fsgsbase'/>
- <feature name='fxsr'/>
- <feature name='hle'/>
- <feature name='invpcid'/>
- <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='pcid'/>
- <feature name='pclmuldq'/>
- <feature name='pge'/>
- <feature name='pni'/>
- <feature name='popcnt'/>
- <feature name='pse'/>
- <feature name='pse36'/>
- <feature name='rdtscp'/>
- <feature name='rtm'/>
- <feature name='sep'/>
- <feature name='smep'/>
- <feature name='spec-ctrl'/>
- <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='x2apic'/>
- <feature name='xsave'/>
- </model>
-
- <model name='Broadwell-noTSX'>
- <signature family='6' model='61'/>
- <vendor name='Intel'/>
- <feature name='3dnowprefetch'/>
- <feature name='adx'/>
- <feature name='aes'/>
- <feature name='apic'/>
- <feature name='avx'/>
- <feature name='avx2'/>
- <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='fma'/>
- <feature name='fpu'/>
- <feature name='fsgsbase'/>
- <feature name='fxsr'/>
- <feature name='invpcid'/>
- <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='pcid'/>
- <feature name='pclmuldq'/>
- <feature name='pge'/>
- <feature name='pni'/>
- <feature name='popcnt'/>
- <feature name='pse'/>
- <feature name='pse36'/>
- <feature name='rdseed'/>
- <feature name='rdtscp'/>
- <feature name='sep'/>
- <feature name='smap'/>
- <feature name='smep'/>
- <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='x2apic'/>
- <feature name='xsave'/>
- </model>
-
- <model name='Broadwell-noTSX-IBRS'>
- <signature family='6' model='61'/>
- <vendor name='Intel'/>
- <feature name='3dnowprefetch'/>
- <feature name='adx'/>
- <feature name='aes'/>
- <feature name='apic'/>
- <feature name='avx'/>
- <feature name='avx2'/>
- <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='fma'/>
- <feature name='fpu'/>
- <feature name='fsgsbase'/>
- <feature name='fxsr'/>
- <feature name='invpcid'/>
- <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='pcid'/>
- <feature name='pclmuldq'/>
- <feature name='pge'/>
- <feature name='pni'/>
- <feature name='popcnt'/>
- <feature name='pse'/>
- <feature name='pse36'/>
- <feature name='rdseed'/>
- <feature name='rdtscp'/>
- <feature name='sep'/>
- <feature name='smap'/>
- <feature name='smep'/>
- <feature name='spec-ctrl'/>
- <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='x2apic'/>
- <feature name='xsave'/>
- </model>
-
- <model name='Broadwell'>
- <signature family='6' model='61'/>
- <vendor name='Intel'/>
- <feature name='3dnowprefetch'/>
- <feature name='adx'/>
- <feature name='aes'/>
- <feature name='apic'/>
- <feature name='avx'/>
- <feature name='avx2'/>
- <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='fma'/>
- <feature name='fpu'/>
- <feature name='fsgsbase'/>
- <feature name='fxsr'/>
- <feature name='hle'/>
- <feature name='invpcid'/>
- <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='pcid'/>
- <feature name='pclmuldq'/>
- <feature name='pge'/>
- <feature name='pni'/>
- <feature name='popcnt'/>
- <feature name='pse'/>
- <feature name='pse36'/>
- <feature name='rdseed'/>
- <feature name='rdtscp'/>
- <feature name='rtm'/>
- <feature name='sep'/>
- <feature name='smap'/>
- <feature name='smep'/>
- <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='x2apic'/>
- <feature name='xsave'/>
- </model>
-
- <model name='Broadwell-IBRS'>
- <signature family='6' model='61'/>
- <vendor name='Intel'/>
- <feature name='3dnowprefetch'/>
- <feature name='adx'/>
- <feature name='aes'/>
- <feature name='apic'/>
- <feature name='avx'/>
- <feature name='avx2'/>
- <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='fma'/>
- <feature name='fpu'/>
- <feature name='fsgsbase'/>
- <feature name='fxsr'/>
- <feature name='hle'/>
- <feature name='invpcid'/>
- <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='pcid'/>
- <feature name='pclmuldq'/>
- <feature name='pge'/>
- <feature name='pni'/>
- <feature name='popcnt'/>
- <feature name='pse'/>
- <feature name='pse36'/>
- <feature name='rdseed'/>
- <feature name='rdtscp'/>
- <feature name='rtm'/>
- <feature name='sep'/>
- <feature name='smap'/>
- <feature name='smep'/>
- <feature name='spec-ctrl'/>
- <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='x2apic'/>
- <feature name='xsave'/>
- </model>
-
- <model name='Skylake-Client'>
- <signature family='6' model='94'/>
- <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'/>
- <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='hle'/>
- <feature name='invpcid'/>
- <feature name='lahf_lm'/>
- <feature name='lm'/>
- <feature name='mca'/>
- <feature name='mce'/>
- <feature name='mmx'/>
- <feature name='movbe'/>
- <feature name='mpx'/>
- <feature name='msr'/>
- <feature name='mtrr'/>
- <feature name='nx'/>
- <feature name='pae'/>
- <feature name='pat'/>
- <feature name='pcid'/>
- <feature name='pclmuldq'/>
- <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='rtm'/>
- <feature name='sep'/>
- <feature name='smap'/>
- <feature name='smep'/>
- <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>
-
- <model name='Skylake-Client-IBRS'>
- <signature family='6' model='94'/>
- <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'/>
- <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='hle'/>
- <feature name='invpcid'/>
- <feature name='lahf_lm'/>
- <feature name='lm'/>
- <feature name='mca'/>
- <feature name='mce'/>
- <feature name='mmx'/>
- <feature name='movbe'/>
- <feature name='mpx'/>
- <feature name='msr'/>
- <feature name='mtrr'/>
- <feature name='nx'/>
- <feature name='pae'/>
- <feature name='pat'/>
- <feature name='pcid'/>
- <feature name='pclmuldq'/>
- <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='rtm'/>
- <feature name='sep'/>
- <feature name='smap'/>
- <feature name='smep'/>
- <feature name='spec-ctrl'/>
- <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>
-
- <model name='Skylake-Server'>
- <signature family='6' model='85'/>
- <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='avx512bw'/>
- <feature name='avx512cd'/>
- <feature name='avx512dq'/>
- <feature name='avx512f'/>
- <feature name='avx512vl'/>
- <feature name='bmi1'/>
- <feature name='bmi2'/>
- <feature name='clflush'/>
- <feature name='clwb'/>
- <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='hle'/>
- <feature name='invpcid'/>
- <feature name='lahf_lm'/>
- <feature name='lm'/>
- <feature name='mca'/>
- <feature name='mce'/>
- <feature name='mmx'/>
- <feature name='movbe'/>
- <feature name='mpx'/>
- <feature name='msr'/>
- <feature name='mtrr'/>
- <feature name='nx'/>
- <feature name='pae'/>
- <feature name='pat'/>
- <feature name='pcid'/>
- <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='rtm'/>
- <feature name='sep'/>
- <feature name='smap'/>
- <feature name='smep'/>
- <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>
-
- <model name='Skylake-Server-IBRS'>
- <signature family='6' model='85'/>
- <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='avx512bw'/>
- <feature name='avx512cd'/>
- <feature name='avx512dq'/>
- <feature name='avx512f'/>
- <feature name='avx512vl'/>
- <feature name='bmi1'/>
- <feature name='bmi2'/>
- <feature name='clflush'/>
- <feature name='clwb'/>
- <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='hle'/>
- <feature name='invpcid'/>
- <feature name='lahf_lm'/>
- <feature name='lm'/>
- <feature name='mca'/>
- <feature name='mce'/>
- <feature name='mmx'/>
- <feature name='movbe'/>
- <feature name='mpx'/>
- <feature name='msr'/>
- <feature name='mtrr'/>
- <feature name='nx'/>
- <feature name='pae'/>
- <feature name='pat'/>
- <feature name='pcid'/>
- <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='rtm'/>
- <feature name='sep'/>
- <feature name='smap'/>
- <feature name='smep'/>
- <feature name='spec-ctrl'/>
- <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>
+ <include filename="cpu_map_x86_Conroe.xml"/>
+ <include filename="cpu_map_x86_Penryn.xml"/>
+ <include filename="cpu_map_x86_Nehalem.xml"/>
+ <include filename="cpu_map_x86_Nehalem-IBRS.xml"/>
+ <include filename="cpu_map_x86_Westmere.xml"/>
+ <include filename="cpu_map_x86_Westmere-IBRS.xml"/>
+ <include filename="cpu_map_x86_SandyBridge.xml"/>
+ <include filename="cpu_map_x86_SandyBridge-IBRS.xml"/>
+ <include filename="cpu_map_x86_IvyBridge.xml"/>
+ <include filename="cpu_map_x86_IvyBridge-IBRS.xml"/>
+ <include filename="cpu_map_x86_Haswell-noTSX.xml"/>
+ <include filename="cpu_map_x86_Haswell-noTSX-IBRS.xml"/>
+ <include filename="cpu_map_x86_Haswell.xml"/>
+ <include filename="cpu_map_x86_Haswell-IBRS.xml"/>
+ <include filename="cpu_map_x86_Broadwell-noTSX.xml"/>
+ <include filename="cpu_map_x86_Broadwell-noTSX-IBRS.xml"/>
+ <include filename="cpu_map_x86_Broadwell.xml"/>
+ <include filename="cpu_map_x86_Broadwell-IBRS.xml"/>
+ <include filename="cpu_map_x86_Skylake-Client.xml"/>
+ <include filename="cpu_map_x86_Skylake-Client-IBRS.xml"/>
+ <include filename="cpu_map_x86_Skylake-Server.xml"/>
+ <include filename="cpu_map_x86_Skylake-Server-IBRS.xml"/>
<!-- AMD CPUs -->
- <model name='athlon'>
- <vendor name='AMD'/>
- <feature name='3dnow'/>
- <feature name='3dnowext'/>
- <feature name='apic'/>
- <feature name='cmov'/>
- <feature name='cx8'/>
- <feature name='de'/>
- <feature name='fpu'/>
- <feature name='fxsr'/>
- <feature name='mce'/>
- <feature name='mmx'/>
- <feature name='mmxext'/>
- <feature name='msr'/>
- <feature name='mtrr'/>
- <feature name='pae'/>
- <feature name='pat'/>
- <feature name='pge'/>
- <feature name='pse'/>
- <feature name='pse36'/>
- <feature name='sep'/>
- <feature name='sse'/>
- <feature name='sse2'/>
- <feature name='tsc'/>
- <feature name='vme'/>
- </model>
-
- <model name='phenom'>
- <vendor name='AMD'/>
- <feature name='3dnow'/>
- <feature name='3dnowext'/>
- <feature name='apic'/>
- <feature name='clflush'/>
- <feature name='cmov'/>
- <feature name='cx8'/>
- <feature name='de'/>
- <feature name='fpu'/>
- <feature name='fxsr'/>
- <feature name='fxsr_opt'/>
- <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='nx'/>
- <feature name='pae'/>
- <feature name='pat'/>
- <feature name='pge'/>
- <feature name='pni'/>
- <feature name='pse'/>
- <feature name='pse36'/>
- <feature name='sep'/>
- <feature name='sse'/>
- <feature name='sse2'/>
- <feature name='svm'/>
- <feature name='syscall'/>
- <feature name='tsc'/>
- </model>
-
- <model name='Opteron_G1'>
- <signature family='15' model='6'/>
- <vendor name='AMD'/>
- <feature name='apic'/>
- <feature name='clflush'/>
- <feature name='cmov'/>
- <feature name='cx8'/>
- <feature name='de'/>
- <feature name='fpu'/>
- <feature name='fxsr'/>
- <feature name='lm'/>
- <feature name='mca'/>
- <feature name='mce'/>
- <feature name='mmx'/>
- <feature name='msr'/>
- <feature name='mtrr'/>
- <feature name='nx'/>
- <feature name='pae'/>
- <feature name='pat'/>
- <feature name='pge'/>
- <feature name='pni'/>
- <feature name='pse'/>
- <feature name='pse36'/>
- <feature name='sep'/>
- <feature name='sse'/>
- <feature name='sse2'/>
- <feature name='syscall'/>
- <feature name='tsc'/>
- </model>
-
- <model name='Opteron_G2'>
- <signature family='15' model='6'/>
- <vendor name='AMD'/>
- <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='msr'/>
- <feature name='mtrr'/>
- <feature name='nx'/>
- <feature name='pae'/>
- <feature name='pat'/>
- <feature name='pge'/>
- <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'/>
- </model>
-
- <model name='Opteron_G3'>
- <signature family='15' model='6'/>
- <vendor name='AMD'/>
- <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='lahf_lm'/>
- <feature name='lm'/>
- <feature name='mca'/>
- <feature name='mce'/>
- <feature name='misalignsse'/>
- <feature name='mmx'/>
- <feature name='monitor'/>
- <feature name='msr'/>
- <feature name='mtrr'/>
- <feature name='nx'/>
- <feature name='pae'/>
- <feature name='pat'/>
- <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'/>
- </model>
-
- <model name='Opteron_G4'>
- <signature family='21' model='1'/>
- <vendor name='AMD'/>
- <feature name='3dnowprefetch'/>
- <feature name='abm'/>
- <feature name='aes'/>
- <feature name='apic'/>
- <feature name='avx'/>
- <feature name='clflush'/>
- <feature name='cmov'/>
- <feature name='cx16'/>
- <feature name='cx8'/>
- <feature name='de'/>
- <feature name='fma4'/>
- <feature name='fpu'/>
- <feature name='fxsr'/>
- <feature name='lahf_lm'/>
- <feature name='lm'/>
- <feature name='mca'/>
- <feature name='mce'/>
- <feature name='misalignsse'/>
- <feature name='mmx'/>
- <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='rdtscp'/>
- <feature name='sep'/>
- <feature name='sse'/>
- <feature name='sse2'/>
- <feature name='sse4.1'/>
- <feature name='sse4.2'/>
- <feature name='sse4a'/>
- <feature name='ssse3'/>
- <feature name='svm'/>
- <feature name='syscall'/>
- <feature name='tsc'/>
- <feature name='xop'/>
- <feature name='xsave'/>
- </model>
-
- <model name='Opteron_G5'>
- <signature family='21' model='2'/>
- <vendor name='AMD'/>
- <feature name='3dnowprefetch'/>
- <feature name='abm'/>
- <feature name='aes'/>
- <feature name='apic'/>
- <feature name='avx'/>
- <feature name='clflush'/>
- <feature name='cmov'/>
- <feature name='cx16'/>
- <feature name='cx8'/>
- <feature name='de'/>
- <feature name='f16c'/>
- <feature name='fma'/>
- <feature name='fma4'/>
- <feature name='fpu'/>
- <feature name='fxsr'/>
- <feature name='lahf_lm'/>
- <feature name='lm'/>
- <feature name='mca'/>
- <feature name='mce'/>
- <feature name='misalignsse'/>
- <feature name='mmx'/>
- <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='rdtscp'/>
- <feature name='sep'/>
- <feature name='sse'/>
- <feature name='sse2'/>
- <feature name='sse4.1'/>
- <feature name='sse4.2'/>
- <feature name='sse4a'/>
- <feature name='ssse3'/>
- <feature name='svm'/>
- <feature name='syscall'/>
- <feature name='tbm'/>
- <feature name='tsc'/>
- <feature name='xop'/>
- <feature name='xsave'/>
- </model>
-
- <model name='EPYC'>
- <signature family='23' model='1'/>
- <vendor name='AMD'/>
- <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'/>
- <feature name='bmi2'/>
- <feature name='clflush'/>
- <feature name='clflushopt'/>
- <feature name='cmov'/>
- <feature name='cr8legacy'/>
- <feature name='cx16'/>
- <feature name='cx8'/>
- <feature name='de'/>
- <feature name='f16c'/>
- <feature name='fma'/>
- <feature name='fpu'/>
- <feature name='fsgsbase'/>
- <feature name='fxsr'/>
- <feature name='fxsr_opt'/>
- <feature name='lahf_lm'/>
- <feature name='lm'/>
- <feature name='mca'/>
- <feature name='mce'/>
- <feature name='misalignsse'/>
- <feature name='mmx'/>
- <feature name='mmxext'/>
- <feature name='monitor'/>
- <feature name='movbe'/>
- <feature name='msr'/>
- <feature name='mtrr'/>
- <feature name='nx'/>
- <feature name='osvw'/>
- <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='sse'/>
- <feature name='sse2'/>
- <feature name='sse4.1'/>
- <feature name='sse4.2'/>
- <feature name='sse4a'/>
- <feature name='ssse3'/>
- <feature name='svm'/>
- <feature name='syscall'/>
- <feature name='tsc'/>
- <feature name='vme'/>
- <feature name='xgetbv1'/>
- <feature name='xsave'/>
- <feature name='xsavec'/>
- <feature name='xsaveopt'/>
- </model>
-
- <model name='EPYC-IBPB'>
- <signature family='23' model='1'/>
- <vendor name='AMD'/>
- <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'/>
- <feature name='bmi2'/>
- <feature name='clflush'/>
- <feature name='clflushopt'/>
- <feature name='cmov'/>
- <feature name='cr8legacy'/>
- <feature name='cx16'/>
- <feature name='cx8'/>
- <feature name='de'/>
- <feature name='f16c'/>
- <feature name='fma'/>
- <feature name='fpu'/>
- <feature name='fsgsbase'/>
- <feature name='fxsr'/>
- <feature name='fxsr_opt'/>
- <feature name='ibpb'/>
- <feature name='lahf_lm'/>
- <feature name='lm'/>
- <feature name='mca'/>
- <feature name='mce'/>
- <feature name='misalignsse'/>
- <feature name='mmx'/>
- <feature name='mmxext'/>
- <feature name='monitor'/>
- <feature name='movbe'/>
- <feature name='msr'/>
- <feature name='mtrr'/>
- <feature name='nx'/>
- <feature name='osvw'/>
- <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='sse'/>
- <feature name='sse2'/>
- <feature name='sse4.1'/>
- <feature name='sse4.2'/>
- <feature name='sse4a'/>
- <feature name='ssse3'/>
- <feature name='svm'/>
- <feature name='syscall'/>
- <feature name='tsc'/>
- <feature name='vme'/>
- <feature name='xgetbv1'/>
- <feature name='xsave'/>
- <feature name='xsavec'/>
- <feature name='xsaveopt'/>
- </model>
+ <include filename="cpu_map_x86_athlon.xml"/>
+ <include filename="cpu_map_x86_phenom.xml"/>
+ <include filename="cpu_map_x86_Opteron_G1.xml"/>
+ <include filename="cpu_map_x86_Opteron_G2.xml"/>
+ <include filename="cpu_map_x86_Opteron_G3.xml"/>
+ <include filename="cpu_map_x86_Opteron_G4.xml"/>
+ <include filename="cpu_map_x86_Opteron_G5.xml"/>
+ <include filename="cpu_map_x86_EPYC.xml"/>
+ <include filename="cpu_map_x86_EPYC-IBRS.xml"/>
</arch>
<arch name='ppc64'>
diff --git a/src/cpu/cpu_map_x86_486.xml b/src/cpu/cpu_map_x86_486.xml
new file mode 100644
index 0000000000..61fa3797e8
--- /dev/null
+++ b/src/cpu/cpu_map_x86_486.xml
@@ -0,0 +1,7 @@
+<cpus>
+ <model name='486'>
+ <feature name='fpu'/>
+ <feature name='pse'/>
+ <feature name='vme'/>
+ </model>
+</cpus>
diff --git a/src/cpu/cpu_map_x86_Broadwell-IBRS.xml
b/src/cpu/cpu_map_x86_Broadwell-IBRS.xml
new file mode 100644
index 0000000000..fc7a3371a5
--- /dev/null
+++ b/src/cpu/cpu_map_x86_Broadwell-IBRS.xml
@@ -0,0 +1,61 @@
+<cpus>
+ <model name='Broadwell-IBRS'>
+ <signature family='6' model='61'/>
+ <vendor name='Intel'/>
+ <feature name='3dnowprefetch'/>
+ <feature name='adx'/>
+ <feature name='aes'/>
+ <feature name='apic'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <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='fma'/>
+ <feature name='fpu'/>
+ <feature name='fsgsbase'/>
+ <feature name='fxsr'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <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='pcid'/>
+ <feature name='pclmuldq'/>
+ <feature name='pge'/>
+ <feature name='pni'/>
+ <feature name='popcnt'/>
+ <feature name='pse'/>
+ <feature name='pse36'/>
+ <feature name='rdseed'/>
+ <feature name='rdtscp'/>
+ <feature name='rtm'/>
+ <feature name='sep'/>
+ <feature name='smap'/>
+ <feature name='smep'/>
+ <feature name='spec-ctrl'/>
+ <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='x2apic'/>
+ <feature name='xsave'/>
+ </model>
+</cpus>
diff --git a/src/cpu/cpu_map_x86_Broadwell-noTSX-IBRS.xml
b/src/cpu/cpu_map_x86_Broadwell-noTSX-IBRS.xml
new file mode 100644
index 0000000000..19949cb6ca
--- /dev/null
+++ b/src/cpu/cpu_map_x86_Broadwell-noTSX-IBRS.xml
@@ -0,0 +1,59 @@
+<cpus>
+ <model name='Broadwell-noTSX-IBRS'>
+ <signature family='6' model='61'/>
+ <vendor name='Intel'/>
+ <feature name='3dnowprefetch'/>
+ <feature name='adx'/>
+ <feature name='aes'/>
+ <feature name='apic'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <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='fma'/>
+ <feature name='fpu'/>
+ <feature name='fsgsbase'/>
+ <feature name='fxsr'/>
+ <feature name='invpcid'/>
+ <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='pcid'/>
+ <feature name='pclmuldq'/>
+ <feature name='pge'/>
+ <feature name='pni'/>
+ <feature name='popcnt'/>
+ <feature name='pse'/>
+ <feature name='pse36'/>
+ <feature name='rdseed'/>
+ <feature name='rdtscp'/>
+ <feature name='sep'/>
+ <feature name='smap'/>
+ <feature name='smep'/>
+ <feature name='spec-ctrl'/>
+ <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='x2apic'/>
+ <feature name='xsave'/>
+ </model>
+</cpus>
diff --git a/src/cpu/cpu_map_x86_Broadwell-noTSX.xml
b/src/cpu/cpu_map_x86_Broadwell-noTSX.xml
new file mode 100644
index 0000000000..6219bd4102
--- /dev/null
+++ b/src/cpu/cpu_map_x86_Broadwell-noTSX.xml
@@ -0,0 +1,58 @@
+<cpus>
+ <model name='Broadwell-noTSX'>
+ <signature family='6' model='61'/>
+ <vendor name='Intel'/>
+ <feature name='3dnowprefetch'/>
+ <feature name='adx'/>
+ <feature name='aes'/>
+ <feature name='apic'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <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='fma'/>
+ <feature name='fpu'/>
+ <feature name='fsgsbase'/>
+ <feature name='fxsr'/>
+ <feature name='invpcid'/>
+ <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='pcid'/>
+ <feature name='pclmuldq'/>
+ <feature name='pge'/>
+ <feature name='pni'/>
+ <feature name='popcnt'/>
+ <feature name='pse'/>
+ <feature name='pse36'/>
+ <feature name='rdseed'/>
+ <feature name='rdtscp'/>
+ <feature name='sep'/>
+ <feature name='smap'/>
+ <feature name='smep'/>
+ <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='x2apic'/>
+ <feature name='xsave'/>
+ </model>
+</cpus>
diff --git a/src/cpu/cpu_map_x86_Broadwell.xml b/src/cpu/cpu_map_x86_Broadwell.xml
new file mode 100644
index 0000000000..1511394f0b
--- /dev/null
+++ b/src/cpu/cpu_map_x86_Broadwell.xml
@@ -0,0 +1,60 @@
+<cpus>
+ <model name='Broadwell'>
+ <signature family='6' model='61'/>
+ <vendor name='Intel'/>
+ <feature name='3dnowprefetch'/>
+ <feature name='adx'/>
+ <feature name='aes'/>
+ <feature name='apic'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <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='fma'/>
+ <feature name='fpu'/>
+ <feature name='fsgsbase'/>
+ <feature name='fxsr'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <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='pcid'/>
+ <feature name='pclmuldq'/>
+ <feature name='pge'/>
+ <feature name='pni'/>
+ <feature name='popcnt'/>
+ <feature name='pse'/>
+ <feature name='pse36'/>
+ <feature name='rdseed'/>
+ <feature name='rdtscp'/>
+ <feature name='rtm'/>
+ <feature name='sep'/>
+ <feature name='smap'/>
+ <feature name='smep'/>
+ <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='x2apic'/>
+ <feature name='xsave'/>
+ </model>
+</cpus>
diff --git a/src/cpu/cpu_map_x86_Conroe.xml b/src/cpu/cpu_map_x86_Conroe.xml
new file mode 100644
index 0000000000..ebcab7be31
--- /dev/null
+++ b/src/cpu/cpu_map_x86_Conroe.xml
@@ -0,0 +1,33 @@
+<cpus>
+ <model name='Conroe'>
+ <signature family='6' model='15'/>
+ <vendor name='Intel'/>
+ <feature name='apic'/>
+ <feature name='clflush'/>
+ <feature name='cmov'/>
+ <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='msr'/>
+ <feature name='mtrr'/>
+ <feature name='nx'/>
+ <feature name='pae'/>
+ <feature name='pat'/>
+ <feature name='pge'/>
+ <feature name='pni'/>
+ <feature name='pse'/>
+ <feature name='pse36'/>
+ <feature name='sep'/>
+ <feature name='sse'/>
+ <feature name='sse2'/>
+ <feature name='ssse3'/>
+ <feature name='syscall'/>
+ <feature name='tsc'/>
+ </model>
+</cpus>
diff --git a/src/cpu/cpu_map_x86_EPYC-IBRS.xml b/src/cpu/cpu_map_x86_EPYC-IBRS.xml
new file mode 100644
index 0000000000..219ead70df
--- /dev/null
+++ b/src/cpu/cpu_map_x86_EPYC-IBRS.xml
@@ -0,0 +1,73 @@
+<cpus>
+ <model name='EPYC-IBPB'>
+ <signature family='23' model='1'/>
+ <vendor name='AMD'/>
+ <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'/>
+ <feature name='bmi2'/>
+ <feature name='clflush'/>
+ <feature name='clflushopt'/>
+ <feature name='cmov'/>
+ <feature name='cr8legacy'/>
+ <feature name='cx16'/>
+ <feature name='cx8'/>
+ <feature name='de'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='fpu'/>
+ <feature name='fsgsbase'/>
+ <feature name='fxsr'/>
+ <feature name='fxsr_opt'/>
+ <feature name='ibpb'/>
+ <feature name='lahf_lm'/>
+ <feature name='lm'/>
+ <feature name='mca'/>
+ <feature name='mce'/>
+ <feature name='misalignsse'/>
+ <feature name='mmx'/>
+ <feature name='mmxext'/>
+ <feature name='monitor'/>
+ <feature name='movbe'/>
+ <feature name='msr'/>
+ <feature name='mtrr'/>
+ <feature name='nx'/>
+ <feature name='osvw'/>
+ <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='sse'/>
+ <feature name='sse2'/>
+ <feature name='sse4.1'/>
+ <feature name='sse4.2'/>
+ <feature name='sse4a'/>
+ <feature name='ssse3'/>
+ <feature name='svm'/>
+ <feature name='syscall'/>
+ <feature name='tsc'/>
+ <feature name='vme'/>
+ <feature name='xgetbv1'/>
+ <feature name='xsave'/>
+ <feature name='xsavec'/>
+ <feature name='xsaveopt'/>
+ </model>
+</cpus>
diff --git a/src/cpu/cpu_map_x86_EPYC.xml b/src/cpu/cpu_map_x86_EPYC.xml
new file mode 100644
index 0000000000..6458dc820c
--- /dev/null
+++ b/src/cpu/cpu_map_x86_EPYC.xml
@@ -0,0 +1,72 @@
+<cpus>
+ <model name='EPYC'>
+ <signature family='23' model='1'/>
+ <vendor name='AMD'/>
+ <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'/>
+ <feature name='bmi2'/>
+ <feature name='clflush'/>
+ <feature name='clflushopt'/>
+ <feature name='cmov'/>
+ <feature name='cr8legacy'/>
+ <feature name='cx16'/>
+ <feature name='cx8'/>
+ <feature name='de'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='fpu'/>
+ <feature name='fsgsbase'/>
+ <feature name='fxsr'/>
+ <feature name='fxsr_opt'/>
+ <feature name='lahf_lm'/>
+ <feature name='lm'/>
+ <feature name='mca'/>
+ <feature name='mce'/>
+ <feature name='misalignsse'/>
+ <feature name='mmx'/>
+ <feature name='mmxext'/>
+ <feature name='monitor'/>
+ <feature name='movbe'/>
+ <feature name='msr'/>
+ <feature name='mtrr'/>
+ <feature name='nx'/>
+ <feature name='osvw'/>
+ <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='sse'/>
+ <feature name='sse2'/>
+ <feature name='sse4.1'/>
+ <feature name='sse4.2'/>
+ <feature name='sse4a'/>
+ <feature name='ssse3'/>
+ <feature name='svm'/>
+ <feature name='syscall'/>
+ <feature name='tsc'/>
+ <feature name='vme'/>
+ <feature name='xgetbv1'/>
+ <feature name='xsave'/>
+ <feature name='xsavec'/>
+ <feature name='xsaveopt'/>
+ </model>
+</cpus>
diff --git a/src/cpu/cpu_map_x86_Haswell-IBRS.xml b/src/cpu/cpu_map_x86_Haswell-IBRS.xml
new file mode 100644
index 0000000000..01bab7b803
--- /dev/null
+++ b/src/cpu/cpu_map_x86_Haswell-IBRS.xml
@@ -0,0 +1,57 @@
+<cpus>
+ <model name='Haswell-IBRS'>
+ <signature family='6' model='60'/>
+ <vendor name='Intel'/>
+ <feature name='aes'/>
+ <feature name='apic'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <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='fma'/>
+ <feature name='fpu'/>
+ <feature name='fsgsbase'/>
+ <feature name='fxsr'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <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='pcid'/>
+ <feature name='pclmuldq'/>
+ <feature name='pge'/>
+ <feature name='pni'/>
+ <feature name='popcnt'/>
+ <feature name='pse'/>
+ <feature name='pse36'/>
+ <feature name='rdtscp'/>
+ <feature name='rtm'/>
+ <feature name='sep'/>
+ <feature name='smep'/>
+ <feature name='spec-ctrl'/>
+ <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='x2apic'/>
+ <feature name='xsave'/>
+ </model>
+</cpus>
diff --git a/src/cpu/cpu_map_x86_Haswell-noTSX-IBRS.xml
b/src/cpu/cpu_map_x86_Haswell-noTSX-IBRS.xml
new file mode 100644
index 0000000000..7b53b7be29
--- /dev/null
+++ b/src/cpu/cpu_map_x86_Haswell-noTSX-IBRS.xml
@@ -0,0 +1,55 @@
+<cpus>
+ <model name='Haswell-noTSX-IBRS'>
+ <signature family='6' model='60'/>
+ <vendor name='Intel'/>
+ <feature name='aes'/>
+ <feature name='apic'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <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='fma'/>
+ <feature name='fpu'/>
+ <feature name='fsgsbase'/>
+ <feature name='fxsr'/>
+ <feature name='invpcid'/>
+ <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='pcid'/>
+ <feature name='pclmuldq'/>
+ <feature name='pge'/>
+ <feature name='pni'/>
+ <feature name='popcnt'/>
+ <feature name='pse'/>
+ <feature name='pse36'/>
+ <feature name='rdtscp'/>
+ <feature name='sep'/>
+ <feature name='smep'/>
+ <feature name='spec-ctrl'/>
+ <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='x2apic'/>
+ <feature name='xsave'/>
+ </model>
+</cpus>
diff --git a/src/cpu/cpu_map_x86_Haswell-noTSX.xml
b/src/cpu/cpu_map_x86_Haswell-noTSX.xml
new file mode 100644
index 0000000000..10b460818a
--- /dev/null
+++ b/src/cpu/cpu_map_x86_Haswell-noTSX.xml
@@ -0,0 +1,54 @@
+<cpus>
+ <model name='Haswell-noTSX'>
+ <signature family='6' model='60'/>
+ <vendor name='Intel'/>
+ <feature name='aes'/>
+ <feature name='apic'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <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='fma'/>
+ <feature name='fpu'/>
+ <feature name='fsgsbase'/>
+ <feature name='fxsr'/>
+ <feature name='invpcid'/>
+ <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='pcid'/>
+ <feature name='pclmuldq'/>
+ <feature name='pge'/>
+ <feature name='pni'/>
+ <feature name='popcnt'/>
+ <feature name='pse'/>
+ <feature name='pse36'/>
+ <feature name='rdtscp'/>
+ <feature name='sep'/>
+ <feature name='smep'/>
+ <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='x2apic'/>
+ <feature name='xsave'/>
+ </model>
+</cpus>
diff --git a/src/cpu/cpu_map_x86_Haswell.xml b/src/cpu/cpu_map_x86_Haswell.xml
new file mode 100644
index 0000000000..84275b1bdf
--- /dev/null
+++ b/src/cpu/cpu_map_x86_Haswell.xml
@@ -0,0 +1,56 @@
+<cpus>
+ <model name='Haswell'>
+ <signature family='6' model='60'/>
+ <vendor name='Intel'/>
+ <feature name='aes'/>
+ <feature name='apic'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <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='fma'/>
+ <feature name='fpu'/>
+ <feature name='fsgsbase'/>
+ <feature name='fxsr'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <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='pcid'/>
+ <feature name='pclmuldq'/>
+ <feature name='pge'/>
+ <feature name='pni'/>
+ <feature name='popcnt'/>
+ <feature name='pse'/>
+ <feature name='pse36'/>
+ <feature name='rdtscp'/>
+ <feature name='rtm'/>
+ <feature name='sep'/>
+ <feature name='smep'/>
+ <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='x2apic'/>
+ <feature name='xsave'/>
+ </model>
+</cpus>
diff --git a/src/cpu/cpu_map_x86_IvyBridge-IBRS.xml
b/src/cpu/cpu_map_x86_IvyBridge-IBRS.xml
new file mode 100644
index 0000000000..27eb120a8a
--- /dev/null
+++ b/src/cpu/cpu_map_x86_IvyBridge-IBRS.xml
@@ -0,0 +1,51 @@
+<cpus>
+ <model name='IvyBridge-IBRS'>
+ <signature family='6' model='58'/>
+ <vendor name='Intel'/>
+ <feature name='aes'/>
+ <feature name='apic'/>
+ <feature name='avx'/>
+ <feature name='clflush'/>
+ <feature name='cmov'/>
+ <feature name='cx16'/>
+ <feature name='cx8'/>
+ <feature name='de'/>
+ <feature name='erms'/>
+ <feature name='f16c'/>
+ <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='msr'/>
+ <feature name='mtrr'/>
+ <feature name='nx'/>
+ <feature name='pae'/>
+ <feature name='pat'/>
+ <feature name='pclmuldq'/>
+ <feature name='pge'/>
+ <feature name='pni'/>
+ <feature name='popcnt'/>
+ <feature name='pse'/>
+ <feature name='pse36'/>
+ <feature name='rdrand'/>
+ <feature name='rdtscp'/>
+ <feature name='sep'/>
+ <feature name='smep'/>
+ <feature name='spec-ctrl'/>
+ <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'/>
+ </model>
+</cpus>
diff --git a/src/cpu/cpu_map_x86_IvyBridge.xml b/src/cpu/cpu_map_x86_IvyBridge.xml
new file mode 100644
index 0000000000..54f5f55a51
--- /dev/null
+++ b/src/cpu/cpu_map_x86_IvyBridge.xml
@@ -0,0 +1,50 @@
+<cpus>
+ <model name='IvyBridge'>
+ <signature family='6' model='58'/>
+ <vendor name='Intel'/>
+ <feature name='aes'/>
+ <feature name='apic'/>
+ <feature name='avx'/>
+ <feature name='clflush'/>
+ <feature name='cmov'/>
+ <feature name='cx16'/>
+ <feature name='cx8'/>
+ <feature name='de'/>
+ <feature name='erms'/>
+ <feature name='f16c'/>
+ <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='msr'/>
+ <feature name='mtrr'/>
+ <feature name='nx'/>
+ <feature name='pae'/>
+ <feature name='pat'/>
+ <feature name='pclmuldq'/>
+ <feature name='pge'/>
+ <feature name='pni'/>
+ <feature name='popcnt'/>
+ <feature name='pse'/>
+ <feature name='pse36'/>
+ <feature name='rdrand'/>
+ <feature name='rdtscp'/>
+ <feature name='sep'/>
+ <feature name='smep'/>
+ <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'/>
+ </model>
+</cpus>
diff --git a/src/cpu/cpu_map_x86_Nehalem-IBRS.xml b/src/cpu/cpu_map_x86_Nehalem-IBRS.xml
new file mode 100644
index 0000000000..f2230ffa89
--- /dev/null
+++ b/src/cpu/cpu_map_x86_Nehalem-IBRS.xml
@@ -0,0 +1,38 @@
+<cpus>
+ <model name='Nehalem-IBRS'>
+ <signature family='6' model='26'/>
+ <vendor name='Intel'/>
+ <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='msr'/>
+ <feature name='mtrr'/>
+ <feature name='nx'/>
+ <feature name='pae'/>
+ <feature name='pat'/>
+ <feature name='pge'/>
+ <feature name='pni'/>
+ <feature name='popcnt'/>
+ <feature name='pse'/>
+ <feature name='pse36'/>
+ <feature name='sep'/>
+ <feature name='spec-ctrl'/>
+ <feature name='sse'/>
+ <feature name='sse2'/>
+ <feature name='sse4.1'/>
+ <feature name='sse4.2'/>
+ <feature name='ssse3'/>
+ <feature name='syscall'/>
+ <feature name='tsc'/>
+ </model>
+</cpus>
diff --git a/src/cpu/cpu_map_x86_Nehalem.xml b/src/cpu/cpu_map_x86_Nehalem.xml
new file mode 100644
index 0000000000..8e0fd5dc49
--- /dev/null
+++ b/src/cpu/cpu_map_x86_Nehalem.xml
@@ -0,0 +1,37 @@
+<cpus>
+ <model name='Nehalem'>
+ <signature family='6' model='26'/>
+ <vendor name='Intel'/>
+ <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='msr'/>
+ <feature name='mtrr'/>
+ <feature name='nx'/>
+ <feature name='pae'/>
+ <feature name='pat'/>
+ <feature name='pge'/>
+ <feature name='pni'/>
+ <feature name='popcnt'/>
+ <feature name='pse'/>
+ <feature name='pse36'/>
+ <feature name='sep'/>
+ <feature name='sse'/>
+ <feature name='sse2'/>
+ <feature name='sse4.1'/>
+ <feature name='sse4.2'/>
+ <feature name='ssse3'/>
+ <feature name='syscall'/>
+ <feature name='tsc'/>
+ </model>
+</cpus>
diff --git a/src/cpu/cpu_map_x86_Opteron_G1.xml b/src/cpu/cpu_map_x86_Opteron_G1.xml
new file mode 100644
index 0000000000..8d043fe889
--- /dev/null
+++ b/src/cpu/cpu_map_x86_Opteron_G1.xml
@@ -0,0 +1,31 @@
+<cpus>
+ <model name='Opteron_G1'>
+ <signature family='15' model='6'/>
+ <vendor name='AMD'/>
+ <feature name='apic'/>
+ <feature name='clflush'/>
+ <feature name='cmov'/>
+ <feature name='cx8'/>
+ <feature name='de'/>
+ <feature name='fpu'/>
+ <feature name='fxsr'/>
+ <feature name='lm'/>
+ <feature name='mca'/>
+ <feature name='mce'/>
+ <feature name='mmx'/>
+ <feature name='msr'/>
+ <feature name='mtrr'/>
+ <feature name='nx'/>
+ <feature name='pae'/>
+ <feature name='pat'/>
+ <feature name='pge'/>
+ <feature name='pni'/>
+ <feature name='pse'/>
+ <feature name='pse36'/>
+ <feature name='sep'/>
+ <feature name='sse'/>
+ <feature name='sse2'/>
+ <feature name='syscall'/>
+ <feature name='tsc'/>
+ </model>
+</cpus>
diff --git a/src/cpu/cpu_map_x86_Opteron_G2.xml b/src/cpu/cpu_map_x86_Opteron_G2.xml
new file mode 100644
index 0000000000..774e86462f
--- /dev/null
+++ b/src/cpu/cpu_map_x86_Opteron_G2.xml
@@ -0,0 +1,35 @@
+<cpus>
+ <model name='Opteron_G2'>
+ <signature family='15' model='6'/>
+ <vendor name='AMD'/>
+ <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='msr'/>
+ <feature name='mtrr'/>
+ <feature name='nx'/>
+ <feature name='pae'/>
+ <feature name='pat'/>
+ <feature name='pge'/>
+ <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'/>
+ </model>
+</cpus>
diff --git a/src/cpu/cpu_map_x86_Opteron_G3.xml b/src/cpu/cpu_map_x86_Opteron_G3.xml
new file mode 100644
index 0000000000..5d27e635dc
--- /dev/null
+++ b/src/cpu/cpu_map_x86_Opteron_G3.xml
@@ -0,0 +1,40 @@
+<cpus>
+ <model name='Opteron_G3'>
+ <signature family='15' model='6'/>
+ <vendor name='AMD'/>
+ <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='lahf_lm'/>
+ <feature name='lm'/>
+ <feature name='mca'/>
+ <feature name='mce'/>
+ <feature name='misalignsse'/>
+ <feature name='mmx'/>
+ <feature name='monitor'/>
+ <feature name='msr'/>
+ <feature name='mtrr'/>
+ <feature name='nx'/>
+ <feature name='pae'/>
+ <feature name='pat'/>
+ <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'/>
+ </model>
+</cpus>
diff --git a/src/cpu/cpu_map_x86_Opteron_G4.xml b/src/cpu/cpu_map_x86_Opteron_G4.xml
new file mode 100644
index 0000000000..d77cc286ff
--- /dev/null
+++ b/src/cpu/cpu_map_x86_Opteron_G4.xml
@@ -0,0 +1,50 @@
+<cpus>
+ <model name='Opteron_G4'>
+ <signature family='21' model='1'/>
+ <vendor name='AMD'/>
+ <feature name='3dnowprefetch'/>
+ <feature name='abm'/>
+ <feature name='aes'/>
+ <feature name='apic'/>
+ <feature name='avx'/>
+ <feature name='clflush'/>
+ <feature name='cmov'/>
+ <feature name='cx16'/>
+ <feature name='cx8'/>
+ <feature name='de'/>
+ <feature name='fma4'/>
+ <feature name='fpu'/>
+ <feature name='fxsr'/>
+ <feature name='lahf_lm'/>
+ <feature name='lm'/>
+ <feature name='mca'/>
+ <feature name='mce'/>
+ <feature name='misalignsse'/>
+ <feature name='mmx'/>
+ <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='rdtscp'/>
+ <feature name='sep'/>
+ <feature name='sse'/>
+ <feature name='sse2'/>
+ <feature name='sse4.1'/>
+ <feature name='sse4.2'/>
+ <feature name='sse4a'/>
+ <feature name='ssse3'/>
+ <feature name='svm'/>
+ <feature name='syscall'/>
+ <feature name='tsc'/>
+ <feature name='xop'/>
+ <feature name='xsave'/>
+ </model>
+</cpus>
diff --git a/src/cpu/cpu_map_x86_Opteron_G5.xml b/src/cpu/cpu_map_x86_Opteron_G5.xml
new file mode 100644
index 0000000000..9a5ecbd4da
--- /dev/null
+++ b/src/cpu/cpu_map_x86_Opteron_G5.xml
@@ -0,0 +1,53 @@
+<cpus>
+ <model name='Opteron_G5'>
+ <signature family='21' model='2'/>
+ <vendor name='AMD'/>
+ <feature name='3dnowprefetch'/>
+ <feature name='abm'/>
+ <feature name='aes'/>
+ <feature name='apic'/>
+ <feature name='avx'/>
+ <feature name='clflush'/>
+ <feature name='cmov'/>
+ <feature name='cx16'/>
+ <feature name='cx8'/>
+ <feature name='de'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='fma4'/>
+ <feature name='fpu'/>
+ <feature name='fxsr'/>
+ <feature name='lahf_lm'/>
+ <feature name='lm'/>
+ <feature name='mca'/>
+ <feature name='mce'/>
+ <feature name='misalignsse'/>
+ <feature name='mmx'/>
+ <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='rdtscp'/>
+ <feature name='sep'/>
+ <feature name='sse'/>
+ <feature name='sse2'/>
+ <feature name='sse4.1'/>
+ <feature name='sse4.2'/>
+ <feature name='sse4a'/>
+ <feature name='ssse3'/>
+ <feature name='svm'/>
+ <feature name='syscall'/>
+ <feature name='tbm'/>
+ <feature name='tsc'/>
+ <feature name='xop'/>
+ <feature name='xsave'/>
+ </model>
+</cpus>
diff --git a/src/cpu/cpu_map_x86_Penryn.xml b/src/cpu/cpu_map_x86_Penryn.xml
new file mode 100644
index 0000000000..9b0c0cfd0e
--- /dev/null
+++ b/src/cpu/cpu_map_x86_Penryn.xml
@@ -0,0 +1,35 @@
+<cpus>
+ <model name='Penryn'>
+ <signature family='6' model='23'/>
+ <vendor name='Intel'/>
+ <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='msr'/>
+ <feature name='mtrr'/>
+ <feature name='nx'/>
+ <feature name='pae'/>
+ <feature name='pat'/>
+ <feature name='pge'/>
+ <feature name='pni'/>
+ <feature name='pse'/>
+ <feature name='pse36'/>
+ <feature name='sep'/>
+ <feature name='sse'/>
+ <feature name='sse2'/>
+ <feature name='sse4.1'/>
+ <feature name='ssse3'/>
+ <feature name='syscall'/>
+ <feature name='tsc'/>
+ </model>
+</cpus>
diff --git a/src/cpu/cpu_map_x86_SandyBridge-IBRS.xml
b/src/cpu/cpu_map_x86_SandyBridge-IBRS.xml
new file mode 100644
index 0000000000..1f56b4bc81
--- /dev/null
+++ b/src/cpu/cpu_map_x86_SandyBridge-IBRS.xml
@@ -0,0 +1,45 @@
+<cpus>
+ <model name='SandyBridge-IBRS'>
+ <signature family='6' model='42'/>
+ <vendor name='Intel'/>
+ <feature name='aes'/>
+ <feature name='apic'/>
+ <feature name='avx'/>
+ <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='msr'/>
+ <feature name='mtrr'/>
+ <feature name='nx'/>
+ <feature name='pae'/>
+ <feature name='pat'/>
+ <feature name='pclmuldq'/>
+ <feature name='pge'/>
+ <feature name='pni'/>
+ <feature name='popcnt'/>
+ <feature name='pse'/>
+ <feature name='pse36'/>
+ <feature name='rdtscp'/>
+ <feature name='sep'/>
+ <feature name='spec-ctrl'/>
+ <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='x2apic'/>
+ <feature name='xsave'/>
+ </model>
+</cpus>
diff --git a/src/cpu/cpu_map_x86_SandyBridge.xml b/src/cpu/cpu_map_x86_SandyBridge.xml
new file mode 100644
index 0000000000..eea85fc3f3
--- /dev/null
+++ b/src/cpu/cpu_map_x86_SandyBridge.xml
@@ -0,0 +1,44 @@
+<cpus>
+ <model name='SandyBridge'>
+ <signature family='6' model='42'/>
+ <vendor name='Intel'/>
+ <feature name='aes'/>
+ <feature name='apic'/>
+ <feature name='avx'/>
+ <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='msr'/>
+ <feature name='mtrr'/>
+ <feature name='nx'/>
+ <feature name='pae'/>
+ <feature name='pat'/>
+ <feature name='pclmuldq'/>
+ <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='sse4.1'/>
+ <feature name='sse4.2'/>
+ <feature name='ssse3'/>
+ <feature name='syscall'/>
+ <feature name='tsc'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsave'/>
+ </model>
+</cpus>
diff --git a/src/cpu/cpu_map_x86_Skylake-Client-IBRS.xml
b/src/cpu/cpu_map_x86_Skylake-Client-IBRS.xml
new file mode 100644
index 0000000000..1603bb8c13
--- /dev/null
+++ b/src/cpu/cpu_map_x86_Skylake-Client-IBRS.xml
@@ -0,0 +1,70 @@
+<cpus>
+ <model name='Skylake-Client-IBRS'>
+ <signature family='6' model='94'/>
+ <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'/>
+ <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='hle'/>
+ <feature name='invpcid'/>
+ <feature name='lahf_lm'/>
+ <feature name='lm'/>
+ <feature name='mca'/>
+ <feature name='mce'/>
+ <feature name='mmx'/>
+ <feature name='movbe'/>
+ <feature name='mpx'/>
+ <feature name='msr'/>
+ <feature name='mtrr'/>
+ <feature name='nx'/>
+ <feature name='pae'/>
+ <feature name='pat'/>
+ <feature name='pcid'/>
+ <feature name='pclmuldq'/>
+ <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='rtm'/>
+ <feature name='sep'/>
+ <feature name='smap'/>
+ <feature name='smep'/>
+ <feature name='spec-ctrl'/>
+ <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/cpu_map_x86_Skylake-Client.xml
b/src/cpu/cpu_map_x86_Skylake-Client.xml
new file mode 100644
index 0000000000..c0286b9fa5
--- /dev/null
+++ b/src/cpu/cpu_map_x86_Skylake-Client.xml
@@ -0,0 +1,69 @@
+<cpus>
+ <model name='Skylake-Client'>
+ <signature family='6' model='94'/>
+ <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'/>
+ <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='hle'/>
+ <feature name='invpcid'/>
+ <feature name='lahf_lm'/>
+ <feature name='lm'/>
+ <feature name='mca'/>
+ <feature name='mce'/>
+ <feature name='mmx'/>
+ <feature name='movbe'/>
+ <feature name='mpx'/>
+ <feature name='msr'/>
+ <feature name='mtrr'/>
+ <feature name='nx'/>
+ <feature name='pae'/>
+ <feature name='pat'/>
+ <feature name='pcid'/>
+ <feature name='pclmuldq'/>
+ <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='rtm'/>
+ <feature name='sep'/>
+ <feature name='smap'/>
+ <feature name='smep'/>
+ <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/cpu_map_x86_Skylake-Server-IBRS.xml
b/src/cpu/cpu_map_x86_Skylake-Server-IBRS.xml
new file mode 100644
index 0000000000..45350792a0
--- /dev/null
+++ b/src/cpu/cpu_map_x86_Skylake-Server-IBRS.xml
@@ -0,0 +1,77 @@
+<cpus>
+ <model name='Skylake-Server-IBRS'>
+ <signature family='6' model='85'/>
+ <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='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='bmi1'/>
+ <feature name='bmi2'/>
+ <feature name='clflush'/>
+ <feature name='clwb'/>
+ <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='hle'/>
+ <feature name='invpcid'/>
+ <feature name='lahf_lm'/>
+ <feature name='lm'/>
+ <feature name='mca'/>
+ <feature name='mce'/>
+ <feature name='mmx'/>
+ <feature name='movbe'/>
+ <feature name='mpx'/>
+ <feature name='msr'/>
+ <feature name='mtrr'/>
+ <feature name='nx'/>
+ <feature name='pae'/>
+ <feature name='pat'/>
+ <feature name='pcid'/>
+ <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='rtm'/>
+ <feature name='sep'/>
+ <feature name='smap'/>
+ <feature name='smep'/>
+ <feature name='spec-ctrl'/>
+ <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/cpu_map_x86_Skylake-Server.xml
b/src/cpu/cpu_map_x86_Skylake-Server.xml
new file mode 100644
index 0000000000..0119428357
--- /dev/null
+++ b/src/cpu/cpu_map_x86_Skylake-Server.xml
@@ -0,0 +1,76 @@
+<cpus>
+ <model name='Skylake-Server'>
+ <signature family='6' model='85'/>
+ <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='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='bmi1'/>
+ <feature name='bmi2'/>
+ <feature name='clflush'/>
+ <feature name='clwb'/>
+ <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='hle'/>
+ <feature name='invpcid'/>
+ <feature name='lahf_lm'/>
+ <feature name='lm'/>
+ <feature name='mca'/>
+ <feature name='mce'/>
+ <feature name='mmx'/>
+ <feature name='movbe'/>
+ <feature name='mpx'/>
+ <feature name='msr'/>
+ <feature name='mtrr'/>
+ <feature name='nx'/>
+ <feature name='pae'/>
+ <feature name='pat'/>
+ <feature name='pcid'/>
+ <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='rtm'/>
+ <feature name='sep'/>
+ <feature name='smap'/>
+ <feature name='smep'/>
+ <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/cpu_map_x86_Westmere-IBRS.xml
b/src/cpu/cpu_map_x86_Westmere-IBRS.xml
new file mode 100644
index 0000000000..dea7a73dcd
--- /dev/null
+++ b/src/cpu/cpu_map_x86_Westmere-IBRS.xml
@@ -0,0 +1,39 @@
+<cpus>
+ <model name='Westmere-IBRS'>
+ <signature family='6' model='44'/>
+ <vendor name='Intel'/>
+ <feature name='aes'/>
+ <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='msr'/>
+ <feature name='mtrr'/>
+ <feature name='nx'/>
+ <feature name='pae'/>
+ <feature name='pat'/>
+ <feature name='pge'/>
+ <feature name='pni'/>
+ <feature name='popcnt'/>
+ <feature name='pse'/>
+ <feature name='pse36'/>
+ <feature name='sep'/>
+ <feature name='spec-ctrl'/>
+ <feature name='sse'/>
+ <feature name='sse2'/>
+ <feature name='sse4.1'/>
+ <feature name='sse4.2'/>
+ <feature name='ssse3'/>
+ <feature name='syscall'/>
+ <feature name='tsc'/>
+ </model>
+</cpus>
diff --git a/src/cpu/cpu_map_x86_Westmere.xml b/src/cpu/cpu_map_x86_Westmere.xml
new file mode 100644
index 0000000000..f5c31449e0
--- /dev/null
+++ b/src/cpu/cpu_map_x86_Westmere.xml
@@ -0,0 +1,38 @@
+<cpus>
+ <model name='Westmere'>
+ <signature family='6' model='44'/>
+ <vendor name='Intel'/>
+ <feature name='aes'/>
+ <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='msr'/>
+ <feature name='mtrr'/>
+ <feature name='nx'/>
+ <feature name='pae'/>
+ <feature name='pat'/>
+ <feature name='pge'/>
+ <feature name='pni'/>
+ <feature name='popcnt'/>
+ <feature name='pse'/>
+ <feature name='pse36'/>
+ <feature name='sep'/>
+ <feature name='sse'/>
+ <feature name='sse2'/>
+ <feature name='sse4.1'/>
+ <feature name='sse4.2'/>
+ <feature name='ssse3'/>
+ <feature name='syscall'/>
+ <feature name='tsc'/>
+ </model>
+</cpus>
diff --git a/src/cpu/cpu_map_x86_athlon.xml b/src/cpu/cpu_map_x86_athlon.xml
new file mode 100644
index 0000000000..0d44508e20
--- /dev/null
+++ b/src/cpu/cpu_map_x86_athlon.xml
@@ -0,0 +1,28 @@
+<cpus>
+ <model name='athlon'>
+ <vendor name='AMD'/>
+ <feature name='3dnow'/>
+ <feature name='3dnowext'/>
+ <feature name='apic'/>
+ <feature name='cmov'/>
+ <feature name='cx8'/>
+ <feature name='de'/>
+ <feature name='fpu'/>
+ <feature name='fxsr'/>
+ <feature name='mce'/>
+ <feature name='mmx'/>
+ <feature name='mmxext'/>
+ <feature name='msr'/>
+ <feature name='mtrr'/>
+ <feature name='pae'/>
+ <feature name='pat'/>
+ <feature name='pge'/>
+ <feature name='pse'/>
+ <feature name='pse36'/>
+ <feature name='sep'/>
+ <feature name='sse'/>
+ <feature name='sse2'/>
+ <feature name='tsc'/>
+ <feature name='vme'/>
+ </model>
+</cpus>
diff --git a/src/cpu/cpu_map_x86_core2duo.xml b/src/cpu/cpu_map_x86_core2duo.xml
new file mode 100644
index 0000000000..3c9a148f3c
--- /dev/null
+++ b/src/cpu/cpu_map_x86_core2duo.xml
@@ -0,0 +1,33 @@
+<cpus>
+ <model name='core2duo'>
+ <vendor name='Intel'/>
+ <feature name='apic'/>
+ <feature name='clflush'/>
+ <feature name='cmov'/>
+ <feature name='cx8'/>
+ <feature name='de'/>
+ <feature name='fpu'/>
+ <feature name='fxsr'/>
+ <feature name='lm'/>
+ <feature name='mca'/>
+ <feature name='mce'/>
+ <feature name='mmx'/>
+ <feature name='monitor'/>
+ <feature name='msr'/>
+ <feature name='mtrr'/>
+ <feature name='nx'/>
+ <feature name='pae'/>
+ <feature name='pat'/>
+ <feature name='pge'/>
+ <feature name='pni'/>
+ <feature name='pse'/>
+ <feature name='pse36'/>
+ <feature name='sep'/>
+ <feature name='sse'/>
+ <feature name='sse2'/>
+ <feature name='ssse3'/>
+ <feature name='syscall'/>
+ <feature name='tsc'/>
+ <feature name='vme'/>
+ </model>
+</cpus>
diff --git a/src/cpu/cpu_map_x86_coreduo.xml b/src/cpu/cpu_map_x86_coreduo.xml
new file mode 100644
index 0000000000..676e846920
--- /dev/null
+++ b/src/cpu/cpu_map_x86_coreduo.xml
@@ -0,0 +1,29 @@
+<cpus>
+ <model name='coreduo'>
+ <vendor name='Intel'/>
+ <feature name='apic'/>
+ <feature name='clflush'/>
+ <feature name='cmov'/>
+ <feature name='cx8'/>
+ <feature name='de'/>
+ <feature name='fpu'/>
+ <feature name='fxsr'/>
+ <feature name='mca'/>
+ <feature name='mce'/>
+ <feature name='mmx'/>
+ <feature name='monitor'/>
+ <feature name='msr'/>
+ <feature name='mtrr'/>
+ <feature name='nx'/>
+ <feature name='pae'/>
+ <feature name='pat'/>
+ <feature name='pge'/>
+ <feature name='pni'/>
+ <feature name='pse'/>
+ <feature name='sep'/>
+ <feature name='sse'/>
+ <feature name='sse2'/>
+ <feature name='tsc'/>
+ <feature name='vme'/>
+ </model>
+</cpus>
diff --git a/src/cpu/cpu_map_x86_cpu64-rhel5.xml b/src/cpu/cpu_map_x86_cpu64-rhel5.xml
new file mode 100644
index 0000000000..670a92f274
--- /dev/null
+++ b/src/cpu/cpu_map_x86_cpu64-rhel5.xml
@@ -0,0 +1,29 @@
+<cpus>
+ <model name='cpu64-rhel5'>
+ <feature name='apic'/>
+ <feature name='clflush'/>
+ <feature name='cmov'/>
+ <feature name='cx8'/>
+ <feature name='de'/>
+ <feature name='fpu'/>
+ <feature name='fxsr'/>
+ <feature name='lm'/>
+ <feature name='mca'/>
+ <feature name='mce'/>
+ <feature name='mmx'/>
+ <feature name='msr'/>
+ <feature name='mtrr'/>
+ <feature name='nx'/>
+ <feature name='pae'/>
+ <feature name='pat'/>
+ <feature name='pge'/>
+ <feature name='pni'/>
+ <feature name='pse'/>
+ <feature name='pse36'/>
+ <feature name='sep'/>
+ <feature name='sse'/>
+ <feature name='sse2'/>
+ <feature name='syscall'/>
+ <feature name='tsc'/>
+ </model>
+</cpus>
diff --git a/src/cpu/cpu_map_x86_cpu64-rhel6.xml b/src/cpu/cpu_map_x86_cpu64-rhel6.xml
new file mode 100644
index 0000000000..3cae0f00c2
--- /dev/null
+++ b/src/cpu/cpu_map_x86_cpu64-rhel6.xml
@@ -0,0 +1,31 @@
+<cpus>
+ <model name='cpu64-rhel6'>
+ <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='msr'/>
+ <feature name='mtrr'/>
+ <feature name='nx'/>
+ <feature name='pae'/>
+ <feature name='pat'/>
+ <feature name='pge'/>
+ <feature name='pni'/>
+ <feature name='pse'/>
+ <feature name='pse36'/>
+ <feature name='sep'/>
+ <feature name='sse'/>
+ <feature name='sse2'/>
+ <feature name='syscall'/>
+ <feature name='tsc'/>
+ </model>
+</cpus>
diff --git a/src/cpu/cpu_map_x86_features.xml b/src/cpu/cpu_map_x86_features.xml
new file mode 100644
index 0000000000..109c653dbc
--- /dev/null
+++ b/src/cpu/cpu_map_x86_features.xml
@@ -0,0 +1,440 @@
+<cpus>
+ <!-- standard features, EDX -->
+ <feature name='fpu'>
+ <cpuid eax_in='0x01' edx='0x00000001'/>
+ </feature>
+ <feature name='vme'>
+ <cpuid eax_in='0x01' edx='0x00000002'/>
+ </feature>
+ <feature name='de'>
+ <cpuid eax_in='0x01' edx='0x00000004'/>
+ </feature>
+ <feature name='pse'>
+ <cpuid eax_in='0x01' edx='0x00000008'/>
+ </feature>
+ <feature name='tsc'>
+ <cpuid eax_in='0x01' edx='0x00000010'/>
+ </feature>
+ <feature name='msr'>
+ <cpuid eax_in='0x01' edx='0x00000020'/>
+ </feature>
+ <feature name='pae'>
+ <cpuid eax_in='0x01' edx='0x00000040'/>
+ </feature>
+ <feature name='mce'>
+ <cpuid eax_in='0x01' edx='0x00000080'/>
+ </feature>
+ <feature name='cx8'>
+ <cpuid eax_in='0x01' edx='0x00000100'/>
+ </feature>
+ <feature name='apic'>
+ <cpuid eax_in='0x01' edx='0x00000200'/>
+ </feature>
+ <feature name='sep'>
+ <cpuid eax_in='0x01' edx='0x00000800'/>
+ </feature>
+ <feature name='mtrr'>
+ <cpuid eax_in='0x01' edx='0x00001000'/>
+ </feature>
+ <feature name='pge'>
+ <cpuid eax_in='0x01' edx='0x00002000'/>
+ </feature>
+ <feature name='mca'>
+ <cpuid eax_in='0x01' edx='0x00004000'/>
+ </feature>
+ <feature name='cmov'>
+ <cpuid eax_in='0x01' edx='0x00008000'/>
+ </feature>
+ <feature name='pat'>
+ <cpuid eax_in='0x01' edx='0x00010000'/>
+ </feature>
+ <feature name='pse36'>
+ <cpuid eax_in='0x01' edx='0x00020000'/>
+ </feature>
+ <feature name='pn'>
+ <cpuid eax_in='0x01' edx='0x00040000'/>
+ </feature>
+ <feature name='clflush'>
+ <cpuid eax_in='0x01' edx='0x00080000'/>
+ </feature>
+ <feature name='ds'>
+ <cpuid eax_in='0x01' edx='0x00200000'/>
+ </feature>
+ <feature name='acpi'>
+ <cpuid eax_in='0x01' edx='0x00400000'/>
+ </feature>
+ <feature name='mmx'>
+ <cpuid eax_in='0x01' edx='0x00800000'/>
+ </feature>
+ <feature name='fxsr'>
+ <cpuid eax_in='0x01' edx='0x01000000'/>
+ </feature>
+ <feature name='sse'>
+ <cpuid eax_in='0x01' edx='0x02000000'/>
+ </feature>
+ <feature name='sse2'>
+ <cpuid eax_in='0x01' edx='0x04000000'/>
+ </feature>
+ <feature name='ss'>
+ <cpuid eax_in='0x01' edx='0x08000000'/>
+ </feature>
+ <feature name='ht'>
+ <cpuid eax_in='0x01' edx='0x10000000'/>
+ </feature>
+ <feature name='tm'>
+ <cpuid eax_in='0x01' edx='0x20000000'/>
+ </feature>
+ <feature name='ia64'>
+ <cpuid eax_in='0x01' edx='0x40000000'/>
+ </feature>
+ <feature name='pbe'>
+ <cpuid eax_in='0x01' edx='0x80000000'/>
+ </feature>
+
+ <!-- standard features, ECX -->
+ <feature name='pni'> <!-- sse3 -->
+ <cpuid eax_in='0x01' ecx='0x00000001'/>
+ </feature>
+ <feature name='pclmuldq'> <!-- pclmulqdq -->
+ <cpuid eax_in='0x01' ecx='0x00000002'/>
+ </feature>
+ <feature name='dtes64'>
+ <cpuid eax_in='0x01' ecx='0x00000004'/>
+ </feature>
+ <feature name='monitor'>
+ <cpuid eax_in='0x01' ecx='0x00000008'/>
+ </feature>
+ <feature name='ds_cpl'> <!-- ds-cpl -->
+ <cpuid eax_in='0x01' ecx='0x00000010'/>
+ </feature>
+ <feature name='vmx'>
+ <cpuid eax_in='0x01' ecx='0x00000020'/>
+ </feature>
+ <feature name='smx'>
+ <cpuid eax_in='0x01' ecx='0x00000040'/>
+ </feature>
+ <feature name='est'>
+ <cpuid eax_in='0x01' ecx='0x00000080'/>
+ </feature>
+ <feature name='tm2'>
+ <cpuid eax_in='0x01' ecx='0x00000100'/>
+ </feature>
+ <feature name='ssse3'>
+ <cpuid eax_in='0x01' ecx='0x00000200'/>
+ </feature>
+ <feature name='cid'>
+ <cpuid eax_in='0x01' ecx='0x00000400'/>
+ </feature>
+ <feature name='fma'>
+ <cpuid eax_in='0x01' ecx='0x00001000'/>
+ </feature>
+ <feature name='cx16'>
+ <cpuid eax_in='0x01' ecx='0x00002000'/>
+ </feature>
+ <feature name='xtpr'>
+ <cpuid eax_in='0x01' ecx='0x00004000'/>
+ </feature>
+ <feature name='pdcm'>
+ <cpuid eax_in='0x01' ecx='0x00008000'/>
+ </feature>
+ <feature name='pcid'>
+ <cpuid eax_in='0x01' ecx='0x00020000'/>
+ </feature>
+ <feature name='dca'>
+ <cpuid eax_in='0x01' ecx='0x00040000'/>
+ </feature>
+ <feature name='sse4.1'> <!-- sse4-1, sse4_1 -->
+ <cpuid eax_in='0x01' ecx='0x00080000'/>
+ </feature>
+ <feature name='sse4.2'> <!-- sse4-2, sse4_2 -->
+ <cpuid eax_in='0x01' ecx='0x00100000'/>
+ </feature>
+ <feature name='x2apic'>
+ <cpuid eax_in='0x01' ecx='0x00200000'/>
+ </feature>
+ <feature name='movbe'>
+ <cpuid eax_in='0x01' ecx='0x00400000'/>
+ </feature>
+ <feature name='popcnt'>
+ <cpuid eax_in='0x01' ecx='0x00800000'/>
+ </feature>
+ <feature name='tsc-deadline'>
+ <cpuid eax_in='0x01' ecx='0x01000000'/>
+ </feature>
+ <feature name='aes'>
+ <cpuid eax_in='0x01' ecx='0x02000000'/>
+ </feature>
+ <feature name='xsave'>
+ <cpuid eax_in='0x01' ecx='0x04000000'/>
+ </feature>
+ <feature name='osxsave'>
+ <cpuid eax_in='0x01' ecx='0x08000000'/>
+ </feature>
+ <feature name='avx'>
+ <cpuid eax_in='0x01' ecx='0x10000000'/>
+ </feature>
+ <feature name='f16c'>
+ <cpuid eax_in='0x01' ecx='0x20000000'/>
+ </feature>
+ <feature name='rdrand'>
+ <cpuid eax_in='0x01' ecx='0x40000000'/>
+ </feature>
+ <feature name='hypervisor'>
+ <cpuid eax_in='0x01' ecx='0x80000000'/>
+ </feature>
+
+ <!-- Termal Power and Management -->
+ <feature name='arat'>
+ <cpuid eax_in='0x06' eax='0x00000004'/>
+ </feature>
+
+ <!-- cpuid function 0x7 ecx 0x0 features -->
+ <feature name='fsgsbase'>
+ <cpuid eax_in='0x07' ecx_in='0x00' ebx='0x00000001'/>
+ </feature>
+ <feature name='tsc_adjust'> <!-- tsc-adjust -->
+ <cpuid eax_in='0x07' ecx_in='0x00' ebx='0x00000002'/>
+ </feature>
+ <feature name='bmi1'>
+ <cpuid eax_in='0x07' ecx_in='0x00' ebx='0x00000008'/>
+ </feature>
+ <feature name='hle'>
+ <cpuid eax_in='0x07' ecx_in='0x00' ebx='0x00000010'/>
+ </feature>
+ <feature name='avx2'>
+ <cpuid eax_in='0x07' ecx_in='0x00' ebx='0x00000020'/>
+ </feature>
+ <feature name='smep'>
+ <cpuid eax_in='0x07' ecx_in='0x00' ebx='0x00000080'/>
+ </feature>
+ <feature name='bmi2'>
+ <cpuid eax_in='0x07' ecx_in='0x00' ebx='0x00000100'/>
+ </feature>
+ <feature name='erms'>
+ <cpuid eax_in='0x07' ecx_in='0x00' ebx='0x00000200'/>
+ </feature>
+ <feature name='invpcid'>
+ <cpuid eax_in='0x07' ecx_in='0x00' ebx='0x00000400'/>
+ </feature>
+ <feature name='rtm'>
+ <cpuid eax_in='0x07' ecx_in='0x00' ebx='0x00000800'/>
+ </feature>
+ <feature name='cmt'> <!-- cqm -->
+ <cpuid eax_in='0x07' ecx_in='0x00' ebx='0x00001000'/>
+ </feature>
+ <feature name='mpx'>
+ <cpuid eax_in='0x07' ecx_in='0x00' ebx='0x00004000'/>
+ </feature>
+ <feature name='avx512f'>
+ <cpuid eax_in='0x07' ecx_in='0x00' ebx='0x00010000'/>
+ </feature>
+ <feature name='avx512dq'>
+ <cpuid eax_in='0x07' ecx_in='0x00' ebx='0x00020000'/>
+ </feature>
+ <feature name='rdseed'>
+ <cpuid eax_in='0x07' ecx_in='0x00' ebx='0x00040000'/>
+ </feature>
+ <feature name='adx'>
+ <cpuid eax_in='0x07' ecx_in='0x00' ebx='0x00080000'/>
+ </feature>
+ <feature name='smap'>
+ <cpuid eax_in='0x07' ecx_in='0x00' ebx='0x00100000'/>
+ </feature>
+ <feature name='avx512ifma'>
+ <cpuid eax_in='0x07' ecx_in='0x00' ebx='0x00200000'/>
+ </feature>
+ <feature name='pcommit'>
+ <cpuid eax_in='0x07' ecx_in='0x00' ebx='0x00400000'/>
+ </feature>
+ <feature name='clflushopt'>
+ <cpuid eax_in='0x07' ecx_in='0x00' ebx='0x00800000'/>
+ </feature>
+ <feature name='clwb'>
+ <cpuid eax_in='0x07' ecx_in='0x00' ebx='0x01000000'/>
+ </feature>
+ <feature name='avx512pf'>
+ <cpuid eax_in='0x07' ecx_in='0x00' ebx='0x04000000'/>
+ </feature>
+ <feature name='avx512er'>
+ <cpuid eax_in='0x07' ecx_in='0x00' ebx='0x08000000'/>
+ </feature>
+ <feature name='avx512cd'>
+ <cpuid eax_in='0x07' ecx_in='0x00' ebx='0x10000000'/>
+ </feature>
+ <feature name='sha-ni'>
+ <cpuid eax_in='0x07' ecx_in='0x00' ebx='0x20000000'/>
+ </feature>
+ <feature name='avx512bw'>
+ <cpuid eax_in='0x07' ecx_in='0x00' ebx='0x40000000'/>
+ </feature>
+ <feature name='avx512vl'>
+ <cpuid eax_in='0x07' ecx_in='0x00' ebx='0x80000000'/>
+ </feature>
+
+ <feature name='avx512vbmi'>
+ <cpuid eax_in='0x07' ecx_in='0x00' ecx='0x00000002'/>
+ </feature>
+ <feature name='pku'>
+ <cpuid eax_in='0x07' ecx_in='0x00' ecx='0x00000008'/>
+ </feature>
+ <feature name='ospke'>
+ <cpuid eax_in='0x07' ecx_in='0x00' ecx='0x00000010'/>
+ </feature>
+ <feature name='la57'>
+ <cpuid eax_in='0x07' ecx_in='0x00' ecx='0x00010000'/>
+ </feature>
+
+ <feature name='avx512-4vnniw'>
+ <cpuid eax_in='0x07' ecx_in='0x00' edx='0x00000004'/>
+ </feature>
+ <feature name='avx512-4fmaps'>
+ <cpuid eax_in='0x07' ecx_in='0x00' edx='0x00000008'/>
+ </feature>
+ <feature name='spec-ctrl'>
+ <cpuid eax_in='0x07' ecx_in='0x00' edx='0x04000000'/>
+ </feature>
+ <feature name='ssbd'>
+ <cpuid eax_in='0x07' ecx_in='0x00' edx='0x80000000'/>
+ </feature>
+
+ <!-- Processor Extended State Enumeration sub leaf 1 -->
+ <feature name='xsaveopt'>
+ <cpuid eax_in='0x0d' ecx_in='0x01' eax='0x00000001'/>
+ </feature>
+ <feature name='xsavec'>
+ <cpuid eax_in='0x0d' ecx_in='0x01' eax='0x00000002'/>
+ </feature>
+ <feature name='xgetbv1'>
+ <cpuid eax_in='0x0d' ecx_in='0x01' eax='0x00000004'/>
+ </feature>
+ <feature name='xsaves' migratable='no'>
+ <cpuid eax_in='0x0d' ecx_in='0x01' eax='0x00000008'/>
+ </feature>
+
+ <!-- cpuid level 0x0000000f:1 (edx) -->
+ <feature name='mbm_total'>
+ <cpuid eax_in='0x0f' ecx_in='0x01' edx='0x00000002'/>
+ </feature>
+ <feature name='mbm_local'>
+ <cpuid eax_in='0x0f' ecx_in='0x01' edx='0x00000004'/>
+ </feature>
+
+ <!-- extended features, EDX -->
+ <feature name='syscall'>
+ <cpuid eax_in='0x80000001' edx='0x00000800'/>
+ </feature>
+ <feature name='nx'> <!-- xd -->
+ <cpuid eax_in='0x80000001' edx='0x00100000'/>
+ </feature>
+ <feature name='mmxext'>
+ <cpuid eax_in='0x80000001' edx='0x00400000'/>
+ </feature>
+ <feature name='fxsr_opt'> <!-- ffxsr, fxsr-opt -->
+ <cpuid eax_in='0x80000001' edx='0x02000000'/>
+ </feature>
+ <feature name='pdpe1gb'>
+ <cpuid eax_in='0x80000001' edx='0x04000000'/>
+ </feature>
+ <feature name='rdtscp'>
+ <cpuid eax_in='0x80000001' edx='0x08000000'/>
+ </feature>
+ <feature name='lm'> <!-- i64 -->
+ <cpuid eax_in='0x80000001' edx='0x20000000'/>
+ </feature>
+ <feature name='3dnowext'>
+ <cpuid eax_in='0x80000001' edx='0x40000000'/>
+ </feature>
+ <feature name='3dnow'>
+ <cpuid eax_in='0x80000001' edx='0x80000000'/>
+ </feature>
+
+ <!-- extended features, ECX -->
+ <feature name='lahf_lm'> <!-- lahf-lm -->
+ <cpuid eax_in='0x80000001' ecx='0x00000001'/>
+ </feature>
+ <feature name='cmp_legacy'> <!-- cmp-legacy -->
+ <cpuid eax_in='0x80000001' ecx='0x00000002'/>
+ </feature>
+ <feature name='svm'>
+ <cpuid eax_in='0x80000001' ecx='0x00000004'/>
+ </feature>
+ <feature name='extapic'>
+ <cpuid eax_in='0x80000001' ecx='0x00000008'/>
+ </feature>
+ <feature name='cr8legacy'>
+ <cpuid eax_in='0x80000001' ecx='0x00000010'/>
+ </feature>
+ <feature name='abm'>
+ <cpuid eax_in='0x80000001' ecx='0x00000020'/>
+ </feature>
+ <feature name='sse4a'>
+ <cpuid eax_in='0x80000001' ecx='0x00000040'/>
+ </feature>
+ <feature name='misalignsse'>
+ <cpuid eax_in='0x80000001' ecx='0x00000080'/>
+ </feature>
+ <feature name='3dnowprefetch'>
+ <cpuid eax_in='0x80000001' ecx='0x00000100'/>
+ </feature>
+ <feature name='osvw'>
+ <cpuid eax_in='0x80000001' ecx='0x00000200'/>
+ </feature>
+ <feature name='ibs'>
+ <cpuid eax_in='0x80000001' ecx='0x00000400'/>
+ </feature>
+ <feature name='xop'>
+ <cpuid eax_in='0x80000001' ecx='0x00000800'/>
+ </feature>
+ <feature name='skinit'>
+ <cpuid eax_in='0x80000001' ecx='0x00001000'/>
+ </feature>
+ <feature name='wdt'>
+ <cpuid eax_in='0x80000001' ecx='0x00002000'/>
+ </feature>
+ <feature name='lwp'>
+ <cpuid eax_in='0x80000001' ecx='0x00008000'/>
+ </feature>
+ <feature name='fma4'>
+ <cpuid eax_in='0x80000001' ecx='0x00010000'/>
+ </feature>
+ <feature name='tce'>
+ <cpuid eax_in='0x80000001' ecx='0x00020000'/>
+ </feature>
+ <feature name='cvt16'>
+ <cpuid eax_in='0x80000001' ecx='0x00040000'/>
+ </feature>
+ <feature name='nodeid_msr'> <!-- nodeid-msr -->
+ <cpuid eax_in='0x80000001' ecx='0x00080000'/>
+ </feature>
+ <feature name='tbm'>
+ <cpuid eax_in='0x80000001' ecx='0x00200000'/>
+ </feature>
+ <feature name='topoext'>
+ <cpuid eax_in='0x80000001' ecx='0x00400000'/>
+ </feature>
+ <feature name='perfctr_core'> <!-- perfctr-core -->
+ <cpuid eax_in='0x80000001' ecx='0x00800000'/>
+ </feature>
+ <feature name='perfctr_nb'> <!-- perfctr-nb -->
+ <cpuid eax_in='0x80000001' ecx='0x01000000'/>
+ </feature>
+
+ <!-- Advanced Power Management edx features -->
+ <feature name='invtsc' migratable='no'>
+ <cpuid eax_in='0x80000007' edx='0x00000100'/>
+ </feature>
+
+ <!-- More AMD-specific features -->
+ <feature name='ibpb'>
+ <cpuid eax_in='0x80000008' ebx='0x00001000'/>
+ </feature>
+ <feature name='amd-ssbd'>
+ <cpuid eax_in='0x80000008' ebx='0x01000000'/>
+ </feature>
+ <feature name='virt-ssbd'>
+ <cpuid eax_in='0x80000008' ebx='0x02000000'/>
+ </feature>
+ <feature name='amd-no-ssb'>
+ <cpuid eax_in='0x80000008' ebx='0x04000000'/>
+ </feature>
+</cpus>
diff --git a/src/cpu/cpu_map_x86_kvm32.xml b/src/cpu/cpu_map_x86_kvm32.xml
new file mode 100644
index 0000000000..5f08a5e7fc
--- /dev/null
+++ b/src/cpu/cpu_map_x86_kvm32.xml
@@ -0,0 +1,26 @@
+<cpus>
+ <model name='kvm32'>
+ <feature name='apic'/>
+ <feature name='clflush'/>
+ <feature name='cmov'/>
+ <feature name='cx8'/>
+ <feature name='de'/>
+ <feature name='fpu'/>
+ <feature name='fxsr'/>
+ <feature name='mca'/>
+ <feature name='mce'/>
+ <feature name='mmx'/>
+ <feature name='msr'/>
+ <feature name='mtrr'/>
+ <feature name='pae'/>
+ <feature name='pat'/>
+ <feature name='pge'/>
+ <feature name='pni'/>
+ <feature name='pse'/>
+ <feature name='pse36'/>
+ <feature name='sep'/>
+ <feature name='sse'/>
+ <feature name='sse2'/>
+ <feature name='tsc'/>
+ </model>
+</cpus>
diff --git a/src/cpu/cpu_map_x86_kvm64.xml b/src/cpu/cpu_map_x86_kvm64.xml
new file mode 100644
index 0000000000..80b24e2a49
--- /dev/null
+++ b/src/cpu/cpu_map_x86_kvm64.xml
@@ -0,0 +1,30 @@
+<cpus>
+ <model name='kvm64'>
+ <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='lm'/>
+ <feature name='mca'/>
+ <feature name='mce'/>
+ <feature name='mmx'/>
+ <feature name='msr'/>
+ <feature name='mtrr'/>
+ <feature name='nx'/>
+ <feature name='pae'/>
+ <feature name='pat'/>
+ <feature name='pge'/>
+ <feature name='pni'/>
+ <feature name='pse'/>
+ <feature name='pse36'/>
+ <feature name='sep'/>
+ <feature name='sse'/>
+ <feature name='sse2'/>
+ <feature name='syscall'/>
+ <feature name='tsc'/>
+ </model>
+</cpus>
diff --git a/src/cpu/cpu_map_x86_n270.xml b/src/cpu/cpu_map_x86_n270.xml
new file mode 100644
index 0000000000..cb359d968e
--- /dev/null
+++ b/src/cpu/cpu_map_x86_n270.xml
@@ -0,0 +1,30 @@
+<cpus>
+ <model name='n270'>
+ <vendor name='Intel'/>
+ <feature name='apic'/>
+ <feature name='clflush'/>
+ <feature name='cmov'/>
+ <feature name='cx8'/>
+ <feature name='de'/>
+ <feature name='fpu'/>
+ <feature name='fxsr'/>
+ <feature name='mca'/>
+ <feature name='mce'/>
+ <feature name='mmx'/>
+ <feature name='monitor'/>
+ <feature name='msr'/>
+ <feature name='mtrr'/>
+ <feature name='nx'/>
+ <feature name='pae'/>
+ <feature name='pat'/>
+ <feature name='pge'/>
+ <feature name='pni'/>
+ <feature name='pse'/>
+ <feature name='sep'/>
+ <feature name='sse'/>
+ <feature name='sse2'/>
+ <feature name='ssse3'/>
+ <feature name='tsc'/>
+ <feature name='vme'/>
+ </model>
+</cpus>
diff --git a/src/cpu/cpu_map_x86_pentium.xml b/src/cpu/cpu_map_x86_pentium.xml
new file mode 100644
index 0000000000..d44c1399b0
--- /dev/null
+++ b/src/cpu/cpu_map_x86_pentium.xml
@@ -0,0 +1,13 @@
+<cpus>
+ <model name='pentium'>
+ <feature name='cx8'/>
+ <feature name='de'/>
+ <feature name='fpu'/>
+ <feature name='mce'/>
+ <feature name='mmx'/>
+ <feature name='msr'/>
+ <feature name='pse'/>
+ <feature name='tsc'/>
+ <feature name='vme'/>
+ </model>
+</cpus>
diff --git a/src/cpu/cpu_map_x86_pentium2.xml b/src/cpu/cpu_map_x86_pentium2.xml
new file mode 100644
index 0000000000..0d772bad2f
--- /dev/null
+++ b/src/cpu/cpu_map_x86_pentium2.xml
@@ -0,0 +1,22 @@
+<cpus>
+ <model name='pentium2'>
+ <feature name='cmov'/>
+ <feature name='cx8'/>
+ <feature name='de'/>
+ <feature name='fpu'/>
+ <feature name='fxsr'/>
+ <feature name='mca'/>
+ <feature name='mce'/>
+ <feature name='mmx'/>
+ <feature name='msr'/>
+ <feature name='mtrr'/>
+ <feature name='pae'/>
+ <feature name='pat'/>
+ <feature name='pge'/>
+ <feature name='pse'/>
+ <feature name='pse36'/>
+ <feature name='sep'/>
+ <feature name='tsc'/>
+ <feature name='vme'/>
+ </model>
+</cpus>
diff --git a/src/cpu/cpu_map_x86_pentium3.xml b/src/cpu/cpu_map_x86_pentium3.xml
new file mode 100644
index 0000000000..24eb227c28
--- /dev/null
+++ b/src/cpu/cpu_map_x86_pentium3.xml
@@ -0,0 +1,23 @@
+<cpus>
+ <model name='pentium3'>
+ <feature name='cmov'/>
+ <feature name='cx8'/>
+ <feature name='de'/>
+ <feature name='fpu'/>
+ <feature name='fxsr'/>
+ <feature name='mca'/>
+ <feature name='mce'/>
+ <feature name='mmx'/>
+ <feature name='msr'/>
+ <feature name='mtrr'/>
+ <feature name='pae'/>
+ <feature name='pat'/>
+ <feature name='pge'/>
+ <feature name='pse'/>
+ <feature name='pse36'/>
+ <feature name='sep'/>
+ <feature name='sse'/>
+ <feature name='tsc'/>
+ <feature name='vme'/>
+ </model>
+</cpus>
diff --git a/src/cpu/cpu_map_x86_pentiumpro.xml b/src/cpu/cpu_map_x86_pentiumpro.xml
new file mode 100644
index 0000000000..9f7a610a87
--- /dev/null
+++ b/src/cpu/cpu_map_x86_pentiumpro.xml
@@ -0,0 +1,21 @@
+<cpus>
+ <model name='pentiumpro'>
+ <feature name='apic'/>
+ <feature name='cmov'/>
+ <feature name='cx8'/>
+ <feature name='de'/>
+ <feature name='fpu'/>
+ <feature name='fxsr'/>
+ <feature name='mce'/>
+ <feature name='mmx'/>
+ <feature name='msr'/>
+ <feature name='pae'/>
+ <feature name='pat'/>
+ <feature name='pge'/>
+ <feature name='pse'/>
+ <feature name='sep'/>
+ <feature name='sse'/>
+ <feature name='sse2'/>
+ <feature name='tsc'/>
+ </model>
+</cpus>
diff --git a/src/cpu/cpu_map_x86_phenom.xml b/src/cpu/cpu_map_x86_phenom.xml
new file mode 100644
index 0000000000..71f004057b
--- /dev/null
+++ b/src/cpu/cpu_map_x86_phenom.xml
@@ -0,0 +1,36 @@
+<cpus>
+ <model name='phenom'>
+ <vendor name='AMD'/>
+ <feature name='3dnow'/>
+ <feature name='3dnowext'/>
+ <feature name='apic'/>
+ <feature name='clflush'/>
+ <feature name='cmov'/>
+ <feature name='cx8'/>
+ <feature name='de'/>
+ <feature name='fpu'/>
+ <feature name='fxsr'/>
+ <feature name='fxsr_opt'/>
+ <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='nx'/>
+ <feature name='pae'/>
+ <feature name='pat'/>
+ <feature name='pge'/>
+ <feature name='pni'/>
+ <feature name='pse'/>
+ <feature name='pse36'/>
+ <feature name='sep'/>
+ <feature name='sse'/>
+ <feature name='sse2'/>
+ <feature name='svm'/>
+ <feature name='syscall'/>
+ <feature name='tsc'/>
+ </model>
+</cpus>
diff --git a/src/cpu/cpu_map_x86_qemu32.xml b/src/cpu/cpu_map_x86_qemu32.xml
new file mode 100644
index 0000000000..3c9cdec981
--- /dev/null
+++ b/src/cpu/cpu_map_x86_qemu32.xml
@@ -0,0 +1,22 @@
+<cpus>
+ <model name='qemu32'>
+ <feature name='apic'/>
+ <feature name='cmov'/>
+ <feature name='cx8'/>
+ <feature name='de'/>
+ <feature name='fpu'/>
+ <feature name='fxsr'/>
+ <feature name='mce'/>
+ <feature name='mmx'/>
+ <feature name='msr'/>
+ <feature name='pae'/>
+ <feature name='pat'/>
+ <feature name='pge'/>
+ <feature name='pni'/>
+ <feature name='pse'/>
+ <feature name='sep'/>
+ <feature name='sse'/>
+ <feature name='sse2'/>
+ <feature name='tsc'/>
+ </model>
+</cpus>
diff --git a/src/cpu/cpu_map_x86_qemu64.xml b/src/cpu/cpu_map_x86_qemu64.xml
new file mode 100644
index 0000000000..ed3b8d54e2
--- /dev/null
+++ b/src/cpu/cpu_map_x86_qemu64.xml
@@ -0,0 +1,40 @@
+<cpus>
+ <model name='qemu64'>
+ <!-- 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'/>
+ -->
+ <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='lm'/>
+ <feature name='mca'/>
+ <feature name='mce'/>
+ <feature name='mmx'/>
+ <feature name='msr'/>
+ <feature name='mtrr'/>
+ <feature name='nx'/>
+ <feature name='pae'/>
+ <feature name='pat'/>
+ <feature name='pge'/>
+ <feature name='pni'/>
+ <feature name='pse'/>
+ <feature name='pse36'/>
+ <feature name='sep'/>
+ <feature name='sse'/>
+ <feature name='sse2'/>
+ <feature name='svm'/>
+ <feature name='syscall'/>
+ <feature name='tsc'/>
+ </model>
+
+</cpus>
diff --git a/src/cpu/cpu_map_x86_vendors.xml b/src/cpu/cpu_map_x86_vendors.xml
new file mode 100644
index 0000000000..418712af21
--- /dev/null
+++ b/src/cpu/cpu_map_x86_vendors.xml
@@ -0,0 +1,4 @@
+<cpus>
+ <vendor name='Intel' string='GenuineIntel'/>
+ <vendor name='AMD' string='AuthenticAMD'/>
+</cpus>
--
2.17.1