[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

[libvirt] [PATCH 4/4] cpu: split x86 map data into separate files



Signed-off-by: Daniel P. Berrangé <berrange 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


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]