]> xenbits.xensource.com Git - libvirt.git/commitdiff
cpu: split x86 map data into separate files
authorDaniel P. Berrangé <berrange@redhat.com>
Mon, 30 Jul 2018 16:17:21 +0000 (17:17 +0100)
committerDaniel P. Berrangé <berrange@redhat.com>
Tue, 28 Aug 2018 11:08:21 +0000 (12:08 +0100)
Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
49 files changed:
src/cpu_map/Makefile.inc.am
src/cpu_map/index.xml
src/cpu_map/x86_486.xml [new file with mode: 0644]
src/cpu_map/x86_Broadwell-IBRS.xml [new file with mode: 0644]
src/cpu_map/x86_Broadwell-noTSX-IBRS.xml [new file with mode: 0644]
src/cpu_map/x86_Broadwell-noTSX.xml [new file with mode: 0644]
src/cpu_map/x86_Broadwell.xml [new file with mode: 0644]
src/cpu_map/x86_Conroe.xml [new file with mode: 0644]
src/cpu_map/x86_EPYC-IBRS.xml [new file with mode: 0644]
src/cpu_map/x86_EPYC.xml [new file with mode: 0644]
src/cpu_map/x86_Haswell-IBRS.xml [new file with mode: 0644]
src/cpu_map/x86_Haswell-noTSX-IBRS.xml [new file with mode: 0644]
src/cpu_map/x86_Haswell-noTSX.xml [new file with mode: 0644]
src/cpu_map/x86_Haswell.xml [new file with mode: 0644]
src/cpu_map/x86_IvyBridge-IBRS.xml [new file with mode: 0644]
src/cpu_map/x86_IvyBridge.xml [new file with mode: 0644]
src/cpu_map/x86_Nehalem-IBRS.xml [new file with mode: 0644]
src/cpu_map/x86_Nehalem.xml [new file with mode: 0644]
src/cpu_map/x86_Opteron_G1.xml [new file with mode: 0644]
src/cpu_map/x86_Opteron_G2.xml [new file with mode: 0644]
src/cpu_map/x86_Opteron_G3.xml [new file with mode: 0644]
src/cpu_map/x86_Opteron_G4.xml [new file with mode: 0644]
src/cpu_map/x86_Opteron_G5.xml [new file with mode: 0644]
src/cpu_map/x86_Penryn.xml [new file with mode: 0644]
src/cpu_map/x86_SandyBridge-IBRS.xml [new file with mode: 0644]
src/cpu_map/x86_SandyBridge.xml [new file with mode: 0644]
src/cpu_map/x86_Skylake-Client-IBRS.xml [new file with mode: 0644]
src/cpu_map/x86_Skylake-Client.xml [new file with mode: 0644]
src/cpu_map/x86_Skylake-Server-IBRS.xml [new file with mode: 0644]
src/cpu_map/x86_Skylake-Server.xml [new file with mode: 0644]
src/cpu_map/x86_Westmere-IBRS.xml [new file with mode: 0644]
src/cpu_map/x86_Westmere.xml [new file with mode: 0644]
src/cpu_map/x86_athlon.xml [new file with mode: 0644]
src/cpu_map/x86_core2duo.xml [new file with mode: 0644]
src/cpu_map/x86_coreduo.xml [new file with mode: 0644]
src/cpu_map/x86_cpu64-rhel5.xml [new file with mode: 0644]
src/cpu_map/x86_cpu64-rhel6.xml [new file with mode: 0644]
src/cpu_map/x86_features.xml [new file with mode: 0644]
src/cpu_map/x86_kvm32.xml [new file with mode: 0644]
src/cpu_map/x86_kvm64.xml [new file with mode: 0644]
src/cpu_map/x86_n270.xml [new file with mode: 0644]
src/cpu_map/x86_pentium.xml [new file with mode: 0644]
src/cpu_map/x86_pentium2.xml [new file with mode: 0644]
src/cpu_map/x86_pentium3.xml [new file with mode: 0644]
src/cpu_map/x86_pentiumpro.xml [new file with mode: 0644]
src/cpu_map/x86_phenom.xml [new file with mode: 0644]
src/cpu_map/x86_qemu32.xml [new file with mode: 0644]
src/cpu_map/x86_qemu64.xml [new file with mode: 0644]
src/cpu_map/x86_vendors.xml [new file with mode: 0644]

index 5b280b55491cd664685fda9318c5e5fa7f2b4715..76bcfbc703031835802e9fa6c83770b8f5e478bd 100644 (file)
@@ -8,6 +8,53 @@ cpumap_DATA = \
        cpu_map/ppc64_POWER6.xml \
        cpu_map/ppc64_POWER8.xml \
        cpu_map/ppc64_POWERPC_e5500.xml \
+       cpu_map/x86_features.xml \
+       cpu_map/x86_vendors.xml \
+       cpu_map/x86_486.xml \
+       cpu_map/x86_athlon.xml \
+       cpu_map/x86_Broadwell.xml \
+       cpu_map/x86_Broadwell-IBRS.xml \
+       cpu_map/x86_Broadwell-noTSX.xml \
+       cpu_map/x86_Broadwell-noTSX-IBRS.xml \
+       cpu_map/x86_Conroe.xml \
+       cpu_map/x86_core2duo.xml \
+       cpu_map/x86_coreduo.xml \
+       cpu_map/x86_cpu64-rhel5.xml \
+       cpu_map/x86_cpu64-rhel6.xml \
+       cpu_map/x86_EPYC.xml \
+       cpu_map/x86_EPYC-IBRS.xml \
+       cpu_map/x86_Haswell.xml \
+       cpu_map/x86_Haswell-IBRS.xml \
+       cpu_map/x86_Haswell-noTSX.xml \
+       cpu_map/x86_Haswell-noTSX-IBRS.xml \
+       cpu_map/x86_IvyBridge.xml \
+       cpu_map/x86_IvyBridge-IBRS.xml \
+       cpu_map/x86_kvm32.xml \
+       cpu_map/x86_kvm64.xml \
+       cpu_map/x86_n270.xml \
+       cpu_map/x86_Nehalem.xml \
+       cpu_map/x86_Nehalem-IBRS.xml \
+       cpu_map/x86_Opteron_G1.xml \
+       cpu_map/x86_Opteron_G2.xml \
+       cpu_map/x86_Opteron_G3.xml \
+       cpu_map/x86_Opteron_G4.xml \
+       cpu_map/x86_Opteron_G5.xml \
+       cpu_map/x86_Penryn.xml \
+       cpu_map/x86_pentium.xml \
+       cpu_map/x86_pentium2.xml \
+       cpu_map/x86_pentium3.xml \
+       cpu_map/x86_pentiumpro.xml \
+       cpu_map/x86_phenom.xml \
+       cpu_map/x86_qemu32.xml \
+       cpu_map/x86_qemu64.xml \
+       cpu_map/x86_SandyBridge.xml \
+       cpu_map/x86_SandyBridge-IBRS.xml \
+       cpu_map/x86_Skylake-Client.xml \
+       cpu_map/x86_Skylake-Client-IBRS.xml \
+       cpu_map/x86_Skylake-Server.xml \
+       cpu_map/x86_Skylake-Server-IBRS.xml \
+       cpu_map/x86_Westmere.xml \
+       cpu_map/x86_Westmere-IBRS.xml \
        $(NULL)
 
 EXTRA_DIST += $(cpumap_DATA)
index ce4f0204b08e337282fefab34f2911f6f2744f2e..db82980dd429bacf86759c1d46b173b43fda5c41 100644 (file)
 <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="x86_vendors.xml"/>
+    <include filename="x86_features.xml"/>
 
     <!-- models -->
-    <model name='486'>
-      <feature name='fpu'/>
-      <feature name='pse'/>
-      <feature name='vme'/>
-    </model>
+    <include filename="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="x86_pentium.xml"/>
+    <include filename="x86_pentium2.xml"/>
+    <include filename="x86_pentium3.xml"/>
+    <include filename="x86_pentiumpro.xml"/>
+    <include filename="x86_coreduo.xml"/>
+    <include filename="x86_n270.xml"/>
+    <include filename="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="x86_qemu32.xml"/>
+    <include filename="x86_kvm32.xml"/>
+    <include filename="x86_cpu64-rhel5.xml"/>
+    <include filename="x86_cpu64-rhel6.xml"/>
+    <include filename="x86_qemu64.xml"/>
+    <include filename="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="x86_Conroe.xml"/>
+    <include filename="x86_Penryn.xml"/>
+    <include filename="x86_Nehalem.xml"/>
+    <include filename="x86_Nehalem-IBRS.xml"/>
+    <include filename="x86_Westmere.xml"/>
+    <include filename="x86_Westmere-IBRS.xml"/>
+    <include filename="x86_SandyBridge.xml"/>
+    <include filename="x86_SandyBridge-IBRS.xml"/>
+    <include filename="x86_IvyBridge.xml"/>
+    <include filename="x86_IvyBridge-IBRS.xml"/>
+    <include filename="x86_Haswell-noTSX.xml"/>
+    <include filename="x86_Haswell-noTSX-IBRS.xml"/>
+    <include filename="x86_Haswell.xml"/>
+    <include filename="x86_Haswell-IBRS.xml"/>
+    <include filename="x86_Broadwell-noTSX.xml"/>
+    <include filename="x86_Broadwell-noTSX-IBRS.xml"/>
+    <include filename="x86_Broadwell.xml"/>
+    <include filename="x86_Broadwell-IBRS.xml"/>
+    <include filename="x86_Skylake-Client.xml"/>
+    <include filename="x86_Skylake-Client-IBRS.xml"/>
+    <include filename="x86_Skylake-Server.xml"/>
+    <include filename="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="x86_athlon.xml"/>
+    <include filename="x86_phenom.xml"/>
+    <include filename="x86_Opteron_G1.xml"/>
+    <include filename="x86_Opteron_G2.xml"/>
+    <include filename="x86_Opteron_G3.xml"/>
+    <include filename="x86_Opteron_G4.xml"/>
+    <include filename="x86_Opteron_G5.xml"/>
+    <include filename="x86_EPYC.xml"/>
+    <include filename="x86_EPYC-IBRS.xml"/>
   </arch>
 
   <arch name='ppc64'>
diff --git a/src/cpu_map/x86_486.xml b/src/cpu_map/x86_486.xml
new file mode 100644 (file)
index 0000000..61fa379
--- /dev/null
@@ -0,0 +1,7 @@
+<cpus>
+  <model name='486'>
+    <feature name='fpu'/>
+    <feature name='pse'/>
+    <feature name='vme'/>
+  </model>
+</cpus>
diff --git a/src/cpu_map/x86_Broadwell-IBRS.xml b/src/cpu_map/x86_Broadwell-IBRS.xml
new file mode 100644 (file)
index 0000000..fc7a337
--- /dev/null
@@ -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_map/x86_Broadwell-noTSX-IBRS.xml b/src/cpu_map/x86_Broadwell-noTSX-IBRS.xml
new file mode 100644 (file)
index 0000000..19949cb
--- /dev/null
@@ -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_map/x86_Broadwell-noTSX.xml b/src/cpu_map/x86_Broadwell-noTSX.xml
new file mode 100644 (file)
index 0000000..6219bd4
--- /dev/null
@@ -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_map/x86_Broadwell.xml b/src/cpu_map/x86_Broadwell.xml
new file mode 100644 (file)
index 0000000..1511394
--- /dev/null
@@ -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_map/x86_Conroe.xml b/src/cpu_map/x86_Conroe.xml
new file mode 100644 (file)
index 0000000..ebcab7b
--- /dev/null
@@ -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_map/x86_EPYC-IBRS.xml b/src/cpu_map/x86_EPYC-IBRS.xml
new file mode 100644 (file)
index 0000000..219ead7
--- /dev/null
@@ -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_map/x86_EPYC.xml b/src/cpu_map/x86_EPYC.xml
new file mode 100644 (file)
index 0000000..6458dc8
--- /dev/null
@@ -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_map/x86_Haswell-IBRS.xml b/src/cpu_map/x86_Haswell-IBRS.xml
new file mode 100644 (file)
index 0000000..01bab7b
--- /dev/null
@@ -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_map/x86_Haswell-noTSX-IBRS.xml b/src/cpu_map/x86_Haswell-noTSX-IBRS.xml
new file mode 100644 (file)
index 0000000..7b53b7b
--- /dev/null
@@ -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_map/x86_Haswell-noTSX.xml b/src/cpu_map/x86_Haswell-noTSX.xml
new file mode 100644 (file)
index 0000000..10b4608
--- /dev/null
@@ -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_map/x86_Haswell.xml b/src/cpu_map/x86_Haswell.xml
new file mode 100644 (file)
index 0000000..84275b1
--- /dev/null
@@ -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_map/x86_IvyBridge-IBRS.xml b/src/cpu_map/x86_IvyBridge-IBRS.xml
new file mode 100644 (file)
index 0000000..27eb120
--- /dev/null
@@ -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_map/x86_IvyBridge.xml b/src/cpu_map/x86_IvyBridge.xml
new file mode 100644 (file)
index 0000000..54f5f55
--- /dev/null
@@ -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_map/x86_Nehalem-IBRS.xml b/src/cpu_map/x86_Nehalem-IBRS.xml
new file mode 100644 (file)
index 0000000..f2230ff
--- /dev/null
@@ -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_map/x86_Nehalem.xml b/src/cpu_map/x86_Nehalem.xml
new file mode 100644 (file)
index 0000000..8e0fd5d
--- /dev/null
@@ -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_map/x86_Opteron_G1.xml b/src/cpu_map/x86_Opteron_G1.xml
new file mode 100644 (file)
index 0000000..8d043fe
--- /dev/null
@@ -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_map/x86_Opteron_G2.xml b/src/cpu_map/x86_Opteron_G2.xml
new file mode 100644 (file)
index 0000000..774e864
--- /dev/null
@@ -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_map/x86_Opteron_G3.xml b/src/cpu_map/x86_Opteron_G3.xml
new file mode 100644 (file)
index 0000000..5d27e63
--- /dev/null
@@ -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_map/x86_Opteron_G4.xml b/src/cpu_map/x86_Opteron_G4.xml
new file mode 100644 (file)
index 0000000..d77cc28
--- /dev/null
@@ -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_map/x86_Opteron_G5.xml b/src/cpu_map/x86_Opteron_G5.xml
new file mode 100644 (file)
index 0000000..9a5ecbd
--- /dev/null
@@ -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_map/x86_Penryn.xml b/src/cpu_map/x86_Penryn.xml
new file mode 100644 (file)
index 0000000..9b0c0cf
--- /dev/null
@@ -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_map/x86_SandyBridge-IBRS.xml b/src/cpu_map/x86_SandyBridge-IBRS.xml
new file mode 100644 (file)
index 0000000..1f56b4b
--- /dev/null
@@ -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_map/x86_SandyBridge.xml b/src/cpu_map/x86_SandyBridge.xml
new file mode 100644 (file)
index 0000000..eea85fc
--- /dev/null
@@ -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_map/x86_Skylake-Client-IBRS.xml b/src/cpu_map/x86_Skylake-Client-IBRS.xml
new file mode 100644 (file)
index 0000000..1603bb8
--- /dev/null
@@ -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_map/x86_Skylake-Client.xml b/src/cpu_map/x86_Skylake-Client.xml
new file mode 100644 (file)
index 0000000..c0286b9
--- /dev/null
@@ -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_map/x86_Skylake-Server-IBRS.xml b/src/cpu_map/x86_Skylake-Server-IBRS.xml
new file mode 100644 (file)
index 0000000..4535079
--- /dev/null
@@ -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_map/x86_Skylake-Server.xml b/src/cpu_map/x86_Skylake-Server.xml
new file mode 100644 (file)
index 0000000..0119428
--- /dev/null
@@ -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_map/x86_Westmere-IBRS.xml b/src/cpu_map/x86_Westmere-IBRS.xml
new file mode 100644 (file)
index 0000000..dea7a73
--- /dev/null
@@ -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_map/x86_Westmere.xml b/src/cpu_map/x86_Westmere.xml
new file mode 100644 (file)
index 0000000..f5c3144
--- /dev/null
@@ -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_map/x86_athlon.xml b/src/cpu_map/x86_athlon.xml
new file mode 100644 (file)
index 0000000..0d44508
--- /dev/null
@@ -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_map/x86_core2duo.xml b/src/cpu_map/x86_core2duo.xml
new file mode 100644 (file)
index 0000000..3c9a148
--- /dev/null
@@ -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_map/x86_coreduo.xml b/src/cpu_map/x86_coreduo.xml
new file mode 100644 (file)
index 0000000..676e846
--- /dev/null
@@ -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_map/x86_cpu64-rhel5.xml b/src/cpu_map/x86_cpu64-rhel5.xml
new file mode 100644 (file)
index 0000000..670a92f
--- /dev/null
@@ -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_map/x86_cpu64-rhel6.xml b/src/cpu_map/x86_cpu64-rhel6.xml
new file mode 100644 (file)
index 0000000..3cae0f0
--- /dev/null
@@ -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_map/x86_features.xml b/src/cpu_map/x86_features.xml
new file mode 100644 (file)
index 0000000..109c653
--- /dev/null
@@ -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_map/x86_kvm32.xml b/src/cpu_map/x86_kvm32.xml
new file mode 100644 (file)
index 0000000..5f08a5e
--- /dev/null
@@ -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_map/x86_kvm64.xml b/src/cpu_map/x86_kvm64.xml
new file mode 100644 (file)
index 0000000..80b24e2
--- /dev/null
@@ -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_map/x86_n270.xml b/src/cpu_map/x86_n270.xml
new file mode 100644 (file)
index 0000000..cb359d9
--- /dev/null
@@ -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_map/x86_pentium.xml b/src/cpu_map/x86_pentium.xml
new file mode 100644 (file)
index 0000000..d44c139
--- /dev/null
@@ -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_map/x86_pentium2.xml b/src/cpu_map/x86_pentium2.xml
new file mode 100644 (file)
index 0000000..0d772ba
--- /dev/null
@@ -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_map/x86_pentium3.xml b/src/cpu_map/x86_pentium3.xml
new file mode 100644 (file)
index 0000000..24eb227
--- /dev/null
@@ -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_map/x86_pentiumpro.xml b/src/cpu_map/x86_pentiumpro.xml
new file mode 100644 (file)
index 0000000..9f7a610
--- /dev/null
@@ -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_map/x86_phenom.xml b/src/cpu_map/x86_phenom.xml
new file mode 100644 (file)
index 0000000..71f0040
--- /dev/null
@@ -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_map/x86_qemu32.xml b/src/cpu_map/x86_qemu32.xml
new file mode 100644 (file)
index 0000000..3c9cdec
--- /dev/null
@@ -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_map/x86_qemu64.xml b/src/cpu_map/x86_qemu64.xml
new file mode 100644 (file)
index 0000000..a8e8dfe
--- /dev/null
@@ -0,0 +1,39 @@
+<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_map/x86_vendors.xml b/src/cpu_map/x86_vendors.xml
new file mode 100644 (file)
index 0000000..418712a
--- /dev/null
@@ -0,0 +1,4 @@
+<cpus>
+  <vendor name='Intel' string='GenuineIntel'/>
+  <vendor name='AMD' string='AuthenticAMD'/>
+</cpus>