1
0
Fork 0
mirror of https://github.com/anrieff/libcpuid synced 2024-12-16 16:35:45 +00:00

Added support for detecting the following processors: The newer 6 and 8-core Sandy Bridges (termed Sandy Bridge-E), Ivy Bridge, AMD Magny-Cours. Added support for detecting the rdrand instruction. Added tests.

git-svn-id: https://svn.code.sf.net/p/libcpuid/code/HEAD/libcpuid@104 3b4be424-7ac5-41d7-8526-f4ddcb85d872
This commit is contained in:
Veselin Georgiev 2012-05-26 13:00:04 +00:00
parent 61cd70d90a
commit 1344ec1a81
5 changed files with 418 additions and 6 deletions

View file

@ -544,7 +544,7 @@ const char* cpu_feature_str(cpu_feature_t feature)
{ CPU_FEATURE_FMA4, "fma4" }, { CPU_FEATURE_FMA4, "fma4" },
{ CPU_FEATURE_TBM, "tbm" }, { CPU_FEATURE_TBM, "tbm" },
{ CPU_FEATURE_F16C, "f16c" }, { CPU_FEATURE_F16C, "f16c" },
{ CPU_FEATURE_RDRAND, "rdrand" },
}; };
unsigned i, n = COUNT_OF(matchtable); unsigned i, n = COUNT_OF(matchtable);
if (n != NUM_CPU_FEATURES) { if (n != NUM_CPU_FEATURES) {

View file

@ -43,6 +43,8 @@
* 0.2.0 (2011-10-11): Support for AMD Bulldozer CPUs, 128-bit SSE unit size * 0.2.0 (2011-10-11): Support for AMD Bulldozer CPUs, 128-bit SSE unit size
* checking. A backwards-incompatible change, since the * checking. A backwards-incompatible change, since the
* sizeof cpu_id_t is now different. * sizeof cpu_id_t is now different.
* 0.2.1 (2012-05-26): Support for Ivy Bridge, and detecting the presence of
* the RdRand instruction.
*/ */
/** @mainpage A simple libcpuid introduction /** @mainpage A simple libcpuid introduction
@ -346,6 +348,7 @@ typedef enum {
CPU_FEATURE_FMA4, /*!< The FMA4 instruction set */ CPU_FEATURE_FMA4, /*!< The FMA4 instruction set */
CPU_FEATURE_TBM, /*!< Trailing bit manipulation instruction support */ CPU_FEATURE_TBM, /*!< Trailing bit manipulation instruction support */
CPU_FEATURE_F16C, /*!< 16-bit FP convert instruction support */ CPU_FEATURE_F16C, /*!< 16-bit FP convert instruction support */
CPU_FEATURE_RDRAND, /*!< RdRand instruction */
/* termination: */ /* termination: */
NUM_CPU_FEATURES, NUM_CPU_FEATURES,
} cpu_feature_t; } cpu_feature_t;

View file

@ -251,6 +251,10 @@ const struct match_entry_t cpudb_amd[] = {
{ 15, -1, -1, 18, 1, 2, 1024, -1, FUSION_EA , 0, "Llano X2" }, { 15, -1, -1, 18, 1, 2, 1024, -1, FUSION_EA , 0, "Llano X2" },
{ 15, -1, -1, 18, 1, 3, 1024, -1, FUSION_EA , 0, "Llano X3" }, { 15, -1, -1, 18, 1, 3, 1024, -1, FUSION_EA , 0, "Llano X3" },
{ 15, -1, -1, 18, 1, 4, 1024, -1, FUSION_EA , 0, "Llano X4" }, { 15, -1, -1, 18, 1, 4, 1024, -1, FUSION_EA , 0, "Llano X4" },
/* Newer Opterons: */
{ 15, 9, -1, 16, 9, 8, -1, -1, OPTERON_GENERIC , 0, "Magny-Cours Opteron" },
/* Bulldozer CPUs: */ /* Bulldozer CPUs: */
{ 15, -1, -1, 21, 1, 2, 2048, -1, NO_CODE , 0, "Bulldozer X2" }, { 15, -1, -1, 21, 1, 2, 2048, -1, NO_CODE , 0, "Bulldozer X2" },
{ 15, -1, -1, 21, 1, 2, 4096, -1, NO_CODE , 0, "Bulldozer X2" }, { 15, -1, -1, 21, 1, 2, 4096, -1, NO_CODE , 0, "Bulldozer X2" },

View file

@ -64,6 +64,9 @@ enum _intel_code_t {
CORE_I3, CORE_I3,
CORE_I5, CORE_I5,
CORE_I7, CORE_I7,
CORE_IVY3, /* 22nm Core-iX */
CORE_IVY5,
CORE_IVY7,
}; };
typedef enum _intel_code_t intel_code_t; typedef enum _intel_code_t intel_code_t;
@ -79,6 +82,8 @@ enum _intel_model_t {
_5200, _5200,
_5300, _5300,
_5400, _5400,
_2xxx, /* Core i[357] 2xxx */
_3xxx, /* Core i[357] 3xxx */
}; };
typedef enum _intel_model_t intel_model_t; typedef enum _intel_model_t intel_model_t;
@ -259,8 +264,10 @@ const struct match_entry_t cpudb_intel[] = {
{ 6, 10, -1, -1, 42, -1, -1, -1, CORE_I7 , 0, "Sandy Bridge i7" }, { 6, 10, -1, -1, 42, -1, -1, -1, CORE_I7 , 0, "Sandy Bridge i7" },
{ 6, 10, -1, -1, 42, 4, -1, -1, CORE_I7 , 0, "Sandy Bridge (Core i7)" }, { 6, 10, -1, -1, 42, 4, -1, -1, CORE_I7 , 0, "Sandy Bridge (Core i7)" },
{ 6, 10, -1, -1, 42, 4, -1, -1, CORE_I5 , 0, "Sandy Bridge (Core i5)" }, { 6, 10, -1, -1, 42, 4, -1, -1, CORE_I5 , 0, "Sandy Bridge (Core i5)" },
{ 6, 10, -1, -1, 42, 2, -1, -1, CORE_I3 , 0, "Sandy Bridge (Core i3)" },
{ 6, 10, -1, -1, 42, 1, -1, -1, CELERON , 0, "Celeron (Sandy Bridge)" }, { 6, 10, -1, -1, 42, 1, -1, -1, CELERON , 0, "Celeron (Sandy Bridge)" },
{ 6, 10, -1, -1, 42, 2, -1, -1, CELERON , 0, "Celeron (Sandy Bridge)" }, { 6, 10, -1, -1, 42, 2, -1, -1, CELERON , 0, "Celeron (Sandy Bridge)" },
{ 6, 10, -1, -1, 42, 2, -1, -1, PENTIUM , 0, "Pentium (Sandy Bridge)" },
{ 6, 10, -1, -1, 26, 1, -1, -1, CORE_I7 , 0, "Intel Core i7" }, { 6, 10, -1, -1, 26, 1, -1, -1, CORE_I7 , 0, "Intel Core i7" },
{ 6, 10, -1, -1, 26, 4, -1, -1, CORE_I7 , 0, "Bloomfield (Core i7)" }, { 6, 10, -1, -1, 26, 4, -1, -1, CORE_I7 , 0, "Bloomfield (Core i7)" },
@ -275,6 +282,15 @@ const struct match_entry_t cpudb_intel[] = {
{ 6, 12, -1, -1, 44, 4, -1, 12288, CORE_I7 , 0, "Gulftown (Core i7)" }, { 6, 12, -1, -1, 44, 4, -1, 12288, CORE_I7 , 0, "Gulftown (Core i7)" },
{ 6, 12, -1, -1, 44, -1, -1, 12288, XEON_WESTMERE , 0, "Xeon (Gulftown)" }, { 6, 12, -1, -1, 44, -1, -1, 12288, XEON_WESTMERE , 0, "Xeon (Gulftown)" },
{ 6, 13, -1, -1, 45, -1, -1, -1, XEON , 0, "Xeon (Sandy Bridge)" },
{ 6, 13, -1, -1, 45, -1, -1, -1, CORE_I7 , 0, "Sandy Bridge-E (Core i7)" },
{ 6, 13, -1, -1, 45, -1, -1, -1, CORE_I5 , 0, "Sandy Bridge-E (Core i5)" },
{ 6, 13, -1, -1, 45, -1, -1, -1, CORE_I3 , 0, "Sandy Bridge-E (Core i3)" },
{ 6, 10, -1, -1, 58, 4, -1, -1, CORE_IVY7 , 0, "Ivy Bridge (Core i7)" },
{ 6, 10, -1, -1, 58, 4, -1, -1, CORE_IVY5 , 0, "Ivy Bridge (Core i5)" },
{ 6, 10, -1, -1, 58, 2, -1, -1, CORE_IVY3 , 0, "Ivy Bridge (Core i3)" },
/* Core microarchitecture-based Xeons: */ /* Core microarchitecture-based Xeons: */
@ -326,6 +342,7 @@ static void load_intel_features(struct cpu_raw_data_t* raw, struct cpu_id_t* dat
{ 26, CPU_FEATURE_XSAVE }, { 26, CPU_FEATURE_XSAVE },
{ 27, CPU_FEATURE_OSXSAVE }, { 27, CPU_FEATURE_OSXSAVE },
{ 28, CPU_FEATURE_AVX }, { 28, CPU_FEATURE_AVX },
{ 30, CPU_FEATURE_RDRAND },
}; };
const struct feature_map_t matchtable_edx81[] = { const struct feature_map_t matchtable_edx81[] = {
{ 20, CPU_FEATURE_XD }, { 20, CPU_FEATURE_XD },
@ -556,7 +573,7 @@ static void decode_intel_number_of_cores(struct cpu_raw_data_t* raw,
static intel_code_t get_brand_code(struct cpu_id_t* data) static intel_code_t get_brand_code(struct cpu_id_t* data)
{ {
intel_code_t code = NO_CODE; intel_code_t code = NO_CODE;
int i, need_matchtable = 1; int i, need_matchtable = 1, ivy_bridge = 0;
const char* bs = data->brand_str; const char* bs = data->brand_str;
const char* s; const char* s;
const struct { intel_code_t c; const char *search; } matchtable[] = { const struct { intel_code_t c; const char *search; } matchtable[] = {
@ -586,10 +603,12 @@ static intel_code_t get_brand_code(struct cpu_id_t* data)
if ((i = match_pattern(bs, "Core(TM) i[357]")) != 0) { if ((i = match_pattern(bs, "Core(TM) i[357]")) != 0) {
/* Core i3, Core i5 or Core i7 */ /* Core i3, Core i5 or Core i7 */
need_matchtable = 0; need_matchtable = 0;
if (data->flags[CPU_FEATURE_RDRAND])
ivy_bridge = 1;
switch (bs[i + 9]) { switch (bs[i + 9]) {
case '3': code = CORE_I3; break; case '3': code = ivy_bridge ? CORE_IVY3 : CORE_I3; break;
case '5': code = CORE_I5; break; case '5': code = ivy_bridge ? CORE_IVY5 : CORE_I5; break;
case '7': code = CORE_I7; break; case '7': code = ivy_bridge ? CORE_IVY7 : CORE_I7; break;
} }
} }
if (need_matchtable) { if (need_matchtable) {
@ -664,6 +683,16 @@ static intel_model_t get_model_code(struct cpu_id_t* data)
int l = (int) strlen(data->brand_str); int l = (int) strlen(data->brand_str);
const char *bs = data->brand_str; const char *bs = data->brand_str;
int mod_flags = 0, model_no = 0, ndigs = 0; int mod_flags = 0, model_no = 0, ndigs = 0;
/* If the CPU is a Core ix, then just return the model number generation: */
if ((i = match_pattern(bs, "Core(TM) i[357]")) != 0) {
i += 11;
if (i + 4 >= l) return UNKNOWN;
if (bs[i] == '2') return _2xxx;
if (bs[i] == '3') return _3xxx;
return UNKNOWN;
}
/* For Core2-based Xeons: */
while (i < l - 3) { while (i < l - 3) {
if (bs[i] == 'C' && bs[i+1] == 'P' && bs[i+2] == 'U') if (bs[i] == 'C' && bs[i+1] == 'P' && bs[i+2] == 'U')
break; break;

View file

@ -5318,3 +5318,379 @@ intel_fn11[3]=00000000 00000000 00000003 00000000
Celeron (Sandy Bridge) Celeron (Sandy Bridge)
fpu vme de pse tsc msr pae mce cx8 apic mtrr sep pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe pni pclmul dts64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 xd popcnt xsave lm lahf_lm fpu vme de pse tsc msr pae mce cx8 apic mtrr sep pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe pni pclmul dts64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 xd popcnt xsave lm lahf_lm
-------------------------------------------------------------------------------- --------------------------------------------------------------------------------
basic_cpuid[0]=0000000d 756e6547 6c65746e 49656e69
basic_cpuid[1]=000206d7 00200800 1fbee3ff bfebfbff
basic_cpuid[2]=76035a01 00f0b2ff 00000000 00ca0000
basic_cpuid[3]=00000000 00000000 00000000 00000000
basic_cpuid[4]=3c004121 01c0003f 0000003f 00000000
basic_cpuid[5]=00000040 00000040 00000003 00021120
basic_cpuid[6]=00000077 00000002 00000009 00000000
basic_cpuid[7]=00000000 00000000 00000000 00000000
basic_cpuid[8]=00000000 00000000 00000000 00000000
basic_cpuid[9]=00000001 00000000 00000000 00000000
basic_cpuid[10]=07300403 00000000 00000000 00000603
basic_cpuid[11]=00000001 00000002 00000100 00000000
basic_cpuid[12]=00000000 00000000 00000000 00000000
basic_cpuid[13]=00000007 00000340 00000340 00000000
basic_cpuid[14]=00000007 00000340 00000340 00000000
basic_cpuid[15]=00000007 00000340 00000340 00000000
basic_cpuid[16]=00000007 00000340 00000340 00000000
basic_cpuid[17]=00000007 00000340 00000340 00000000
basic_cpuid[18]=00000007 00000340 00000340 00000000
basic_cpuid[19]=00000007 00000340 00000340 00000000
basic_cpuid[20]=00000007 00000340 00000340 00000000
basic_cpuid[21]=00000007 00000340 00000340 00000000
basic_cpuid[22]=00000007 00000340 00000340 00000000
basic_cpuid[23]=00000007 00000340 00000340 00000000
basic_cpuid[24]=00000007 00000340 00000340 00000000
basic_cpuid[25]=00000007 00000340 00000340 00000000
basic_cpuid[26]=00000007 00000340 00000340 00000000
basic_cpuid[27]=00000007 00000340 00000340 00000000
basic_cpuid[28]=00000007 00000340 00000340 00000000
basic_cpuid[29]=00000007 00000340 00000340 00000000
basic_cpuid[30]=00000007 00000340 00000340 00000000
basic_cpuid[31]=00000007 00000340 00000340 00000000
ext_cpuid[0]=80000008 00000000 00000000 00000000
ext_cpuid[1]=00000000 00000000 00000001 2c100000
ext_cpuid[2]=20202020 6e492020 286c6574 58202952
ext_cpuid[3]=286e6f65 43202952 45205550 36322d35
ext_cpuid[4]=20573738 20402030 30312e33 007a4847
ext_cpuid[5]=00000000 00000000 00000000 00000000
ext_cpuid[6]=00000000 00000000 01006040 00000000
ext_cpuid[7]=00000000 00000000 00000000 00000100
ext_cpuid[8]=0000302e 00000000 00000000 00000000
ext_cpuid[9]=00000007 00000340 00000340 00000000
ext_cpuid[10]=00000007 00000340 00000340 00000000
ext_cpuid[11]=00000007 00000340 00000340 00000000
ext_cpuid[12]=00000007 00000340 00000340 00000000
ext_cpuid[13]=00000007 00000340 00000340 00000000
ext_cpuid[14]=00000007 00000340 00000340 00000000
ext_cpuid[15]=00000007 00000340 00000340 00000000
ext_cpuid[16]=00000007 00000340 00000340 00000000
ext_cpuid[17]=00000007 00000340 00000340 00000000
ext_cpuid[18]=00000007 00000340 00000340 00000000
ext_cpuid[19]=00000007 00000340 00000340 00000000
ext_cpuid[20]=00000007 00000340 00000340 00000000
ext_cpuid[21]=00000007 00000340 00000340 00000000
ext_cpuid[22]=00000007 00000340 00000340 00000000
ext_cpuid[23]=00000007 00000340 00000340 00000000
ext_cpuid[24]=00000007 00000340 00000340 00000000
ext_cpuid[25]=00000007 00000340 00000340 00000000
ext_cpuid[26]=00000007 00000340 00000340 00000000
ext_cpuid[27]=00000007 00000340 00000340 00000000
ext_cpuid[28]=00000007 00000340 00000340 00000000
ext_cpuid[29]=00000007 00000340 00000340 00000000
ext_cpuid[30]=00000007 00000340 00000340 00000000
ext_cpuid[31]=00000007 00000340 00000340 00000000
intel_fn4[0]=3c004121 01c0003f 0000003f 00000000
intel_fn4[1]=3c004122 01c0003f 0000003f 00000000
intel_fn4[2]=3c004143 01c0003f 000001ff 00000000
intel_fn4[3]=3c07c163 04c0003f 00003fff 00000006
intel_fn11[0]=00000001 00000002 00000100 00000000
intel_fn11[1]=00000005 00000010 00000201 00000000
intel_fn11[2]=00000000 00000000 00000002 00000000
intel_fn11[3]=00000000 00000000 00000003 00000000
--------------------------------------------------------------------------------
6
13
7
6
45
8
16
32
32
256
20480
8
8
20
64
64
64
128 (non-authoritative)
Xeon (Sandy Bridge)
fpu vme de pse tsc msr pae mce cx8 apic mtrr sep pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe pni pclmul dts64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm dca sse4_1 sse4_2 xd popcnt aes xsave osxsave avx lm lahf_lm
--------------------------------------------------------------------------------
basic_cpuid[0]=0000000d 756e6547 6c65746e 49656e69
basic_cpuid[1]=000206d7 00200800 1fbee3bf bfebfbff
basic_cpuid[2]=76035a01 00f0b2ff 00000000 00ca0000
basic_cpuid[3]=00000000 00000000 00000000 00000000
basic_cpuid[4]=3c004121 01c0003f 0000003f 00000000
basic_cpuid[5]=00000040 00000040 00000003 00021120
basic_cpuid[6]=00000077 00000002 00000001 00000000
basic_cpuid[7]=00000000 00000000 00000000 00000000
basic_cpuid[8]=00000000 00000000 00000000 00000000
basic_cpuid[9]=00000001 00000000 00000000 00000000
basic_cpuid[10]=07300403 00000000 00000000 00000603
basic_cpuid[11]=00000001 00000002 00000100 00000000
basic_cpuid[12]=00000000 00000000 00000000 00000000
basic_cpuid[13]=00000007 00000340 00000340 00000000
basic_cpuid[14]=00000007 00000340 00000340 00000000
basic_cpuid[15]=00000007 00000340 00000340 00000000
basic_cpuid[16]=00000007 00000340 00000340 00000000
basic_cpuid[17]=00000007 00000340 00000340 00000000
basic_cpuid[18]=00000007 00000340 00000340 00000000
basic_cpuid[19]=00000007 00000340 00000340 00000000
basic_cpuid[20]=00000007 00000340 00000340 00000000
basic_cpuid[21]=00000007 00000340 00000340 00000000
basic_cpuid[22]=00000007 00000340 00000340 00000000
basic_cpuid[23]=00000007 00000340 00000340 00000000
basic_cpuid[24]=00000007 00000340 00000340 00000000
basic_cpuid[25]=00000007 00000340 00000340 00000000
basic_cpuid[26]=00000007 00000340 00000340 00000000
basic_cpuid[27]=00000007 00000340 00000340 00000000
basic_cpuid[28]=00000007 00000340 00000340 00000000
basic_cpuid[29]=00000007 00000340 00000340 00000000
basic_cpuid[30]=00000007 00000340 00000340 00000000
basic_cpuid[31]=00000007 00000340 00000340 00000000
ext_cpuid[0]=80000008 00000000 00000000 00000000
ext_cpuid[1]=00000000 00000000 00000001 2c000000
ext_cpuid[2]=20202020 49202020 6c65746e 20295228
ext_cpuid[3]=65726f43 294d5428 2d376920 30333933
ext_cpuid[4]=5043204b 20402055 30322e33 007a4847
ext_cpuid[5]=00000000 00000000 00000000 00000000
ext_cpuid[6]=00000000 00000000 01006040 00000000
ext_cpuid[7]=00000000 00000000 00000000 00000100
ext_cpuid[8]=0000302e 00000000 00000000 00000000
ext_cpuid[9]=00000007 00000340 00000340 00000000
ext_cpuid[10]=00000007 00000340 00000340 00000000
ext_cpuid[11]=00000007 00000340 00000340 00000000
ext_cpuid[12]=00000007 00000340 00000340 00000000
ext_cpuid[13]=00000007 00000340 00000340 00000000
ext_cpuid[14]=00000007 00000340 00000340 00000000
ext_cpuid[15]=00000007 00000340 00000340 00000000
ext_cpuid[16]=00000007 00000340 00000340 00000000
ext_cpuid[17]=00000007 00000340 00000340 00000000
ext_cpuid[18]=00000007 00000340 00000340 00000000
ext_cpuid[19]=00000007 00000340 00000340 00000000
ext_cpuid[20]=00000007 00000340 00000340 00000000
ext_cpuid[21]=00000007 00000340 00000340 00000000
ext_cpuid[22]=00000007 00000340 00000340 00000000
ext_cpuid[23]=00000007 00000340 00000340 00000000
ext_cpuid[24]=00000007 00000340 00000340 00000000
ext_cpuid[25]=00000007 00000340 00000340 00000000
ext_cpuid[26]=00000007 00000340 00000340 00000000
ext_cpuid[27]=00000007 00000340 00000340 00000000
ext_cpuid[28]=00000007 00000340 00000340 00000000
ext_cpuid[29]=00000007 00000340 00000340 00000000
ext_cpuid[30]=00000007 00000340 00000340 00000000
ext_cpuid[31]=00000007 00000340 00000340 00000000
intel_fn4[0]=3c004121 01c0003f 0000003f 00000000
intel_fn4[1]=3c004122 01c0003f 0000003f 00000000
intel_fn4[2]=3c004143 01c0003f 000001ff 00000000
intel_fn4[3]=3c07c163 03c0003f 00002fff 00000006
intel_fn11[0]=00000001 00000002 00000100 00000000
intel_fn11[1]=00000005 0000000c 00000201 00000000
intel_fn11[2]=00000000 00000000 00000002 00000000
intel_fn11[3]=00000000 00000000 00000003 00000000
--------------------------------------------------------------------------------
6
13
7
6
45
6
12
32
32
256
12288
8
8
16
64
64
64
128 (non-authoritative)
Sandy Bridge-E (Core i7)
fpu vme de pse tsc msr pae mce cx8 apic mtrr sep pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe pni pclmul dts64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm dca sse4_1 sse4_2 popcnt aes xsave osxsave avx lm lahf_lm
--------------------------------------------------------------------------------
basic_cpuid[0]=0000000d 756e6547 6c65746e 49656e69
basic_cpuid[1]=000306a9 00100800 7f9ae3bf bfebfbff
basic_cpuid[2]=76035a01 00f0b0ff 00000000 00ca0000
basic_cpuid[3]=00000000 00000000 00000000 00000000
basic_cpuid[4]=1c004121 01c0003f 0000003f 00000000
basic_cpuid[5]=00000040 00000040 00000003 00001120
basic_cpuid[6]=00000077 00000002 00000009 00000000
basic_cpuid[7]=00000000 00000281 00000000 00000000
basic_cpuid[8]=00000000 00000000 00000000 00000000
basic_cpuid[9]=00000000 00000000 00000000 00000000
basic_cpuid[10]=07300803 00000000 00000000 00000603
basic_cpuid[11]=00000001 00000001 00000100 00000000
basic_cpuid[12]=00000000 00000000 00000000 00000000
basic_cpuid[13]=00000007 00000340 00000340 00000000
basic_cpuid[14]=00000007 00000340 00000340 00000000
basic_cpuid[15]=00000007 00000340 00000340 00000000
basic_cpuid[16]=00000007 00000340 00000340 00000000
basic_cpuid[17]=00000007 00000340 00000340 00000000
basic_cpuid[18]=00000007 00000340 00000340 00000000
basic_cpuid[19]=00000007 00000340 00000340 00000000
basic_cpuid[20]=00000007 00000340 00000340 00000000
basic_cpuid[21]=00000007 00000340 00000340 00000000
basic_cpuid[22]=00000007 00000340 00000340 00000000
basic_cpuid[23]=00000007 00000340 00000340 00000000
basic_cpuid[24]=00000007 00000340 00000340 00000000
basic_cpuid[25]=00000007 00000340 00000340 00000000
basic_cpuid[26]=00000007 00000340 00000340 00000000
basic_cpuid[27]=00000007 00000340 00000340 00000000
basic_cpuid[28]=00000007 00000340 00000340 00000000
basic_cpuid[29]=00000007 00000340 00000340 00000000
basic_cpuid[30]=00000007 00000340 00000340 00000000
basic_cpuid[31]=00000007 00000340 00000340 00000000
ext_cpuid[0]=80000008 00000000 00000000 00000000
ext_cpuid[1]=00000000 00000000 00000001 28100000
ext_cpuid[2]=20202020 49202020 6c65746e 20295228
ext_cpuid[3]=65726f43 294d5428 2d356920 30373533
ext_cpuid[4]=5043204b 20402055 30342e33 007a4847
ext_cpuid[5]=00000000 00000000 00000000 00000000
ext_cpuid[6]=00000000 00000000 01006040 00000000
ext_cpuid[7]=00000000 00000000 00000000 00000100
ext_cpuid[8]=00003024 00000000 00000000 00000000
ext_cpuid[9]=00000007 00000340 00000340 00000000
ext_cpuid[10]=00000007 00000340 00000340 00000000
ext_cpuid[11]=00000007 00000340 00000340 00000000
ext_cpuid[12]=00000007 00000340 00000340 00000000
ext_cpuid[13]=00000007 00000340 00000340 00000000
ext_cpuid[14]=00000007 00000340 00000340 00000000
ext_cpuid[15]=00000007 00000340 00000340 00000000
ext_cpuid[16]=00000007 00000340 00000340 00000000
ext_cpuid[17]=00000007 00000340 00000340 00000000
ext_cpuid[18]=00000007 00000340 00000340 00000000
ext_cpuid[19]=00000007 00000340 00000340 00000000
ext_cpuid[20]=00000007 00000340 00000340 00000000
ext_cpuid[21]=00000007 00000340 00000340 00000000
ext_cpuid[22]=00000007 00000340 00000340 00000000
ext_cpuid[23]=00000007 00000340 00000340 00000000
ext_cpuid[24]=00000007 00000340 00000340 00000000
ext_cpuid[25]=00000007 00000340 00000340 00000000
ext_cpuid[26]=00000007 00000340 00000340 00000000
ext_cpuid[27]=00000007 00000340 00000340 00000000
ext_cpuid[28]=00000007 00000340 00000340 00000000
ext_cpuid[29]=00000007 00000340 00000340 00000000
ext_cpuid[30]=00000007 00000340 00000340 00000000
ext_cpuid[31]=00000007 00000340 00000340 00000000
intel_fn4[0]=1c004121 01c0003f 0000003f 00000000
intel_fn4[1]=1c004122 01c0003f 0000003f 00000000
intel_fn4[2]=1c004143 01c0003f 000001ff 00000000
intel_fn4[3]=1c03c163 02c0003f 00001fff 00000006
intel_fn11[0]=00000001 00000001 00000100 00000000
intel_fn11[1]=00000004 00000004 00000201 00000000
intel_fn11[2]=00000000 00000000 00000002 00000000
intel_fn11[3]=00000000 00000000 00000003 00000000
--------------------------------------------------------------------------------
6
10
9
6
58
4
4
32
32
256
6144
8
8
12
64
64
64
128 (non-authoritative)
Ivy Bridge (Core i5)
fpu vme de pse tsc msr pae mce cx8 apic mtrr sep pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe pni pclmul dts64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 xd popcnt aes xsave osxsave avx lm lahf_lm f16c rdrand
--------------------------------------------------------------------------------
basic_cpuid[0]=00000005 68747541 444d4163 69746e65
basic_cpuid[1]=00100f91 000c0800 00802009 178bfbff
basic_cpuid[2]=00000000 00000000 00000000 00000000
basic_cpuid[3]=00000000 00000000 00000000 00000000
basic_cpuid[4]=00000000 00000000 00000000 00000000
basic_cpuid[5]=00000040 00000040 00000003 00000000
basic_cpuid[6]=00000000 00000000 00000000 00000000
basic_cpuid[7]=00000000 00000000 00000000 00000000
basic_cpuid[8]=00000000 00000000 00000000 00000000
basic_cpuid[9]=00000000 00000000 00000000 00000000
basic_cpuid[10]=00000000 00000000 00000000 00000000
basic_cpuid[11]=00000000 00000000 00000000 00000000
basic_cpuid[12]=00000000 00000000 00000000 00000000
basic_cpuid[13]=00000000 00000000 00000000 00000000
basic_cpuid[14]=00000000 00000000 00000000 00000000
basic_cpuid[15]=00000000 00000000 00000000 00000000
basic_cpuid[16]=00000000 00000000 00000000 00000000
basic_cpuid[17]=00000000 00000000 00000000 00000000
basic_cpuid[18]=00000000 00000000 00000000 00000000
basic_cpuid[19]=00000000 00000000 00000000 00000000
basic_cpuid[20]=00000000 00000000 00000000 00000000
basic_cpuid[21]=00000000 00000000 00000000 00000000
basic_cpuid[22]=00000000 00000000 00000000 00000000
basic_cpuid[23]=00000000 00000000 00000000 00000000
basic_cpuid[24]=00000000 00000000 00000000 00000000
basic_cpuid[25]=00000000 00000000 00000000 00000000
basic_cpuid[26]=00000000 00000000 00000000 00000000
basic_cpuid[27]=00000000 00000000 00000000 00000000
basic_cpuid[28]=00000000 00000000 00000000 00000000
basic_cpuid[29]=00000000 00000000 00000000 00000000
basic_cpuid[30]=00000000 00000000 00000000 00000000
basic_cpuid[31]=00000000 00000000 00000000 00000000
ext_cpuid[0]=8000001b 68747541 444d4163 69746e65
ext_cpuid[1]=00100f91 3000045f 000837ff efd3fbff
ext_cpuid[2]=20444d41 6574704f 286e6f72 20296d74
ext_cpuid[3]=636f7250 6f737365 31362072 00003836
ext_cpuid[4]=00000000 00000000 00000000 00000000
ext_cpuid[5]=ff30ff10 ff30ff20 40020140 40020140
ext_cpuid[6]=20800000 42004200 02008140 0050d140
ext_cpuid[7]=00000000 00000000 00000000 000001f9
ext_cpuid[8]=00003030 00000000 0000400b 00000000
ext_cpuid[9]=00000000 00000000 00000000 00000000
ext_cpuid[10]=00000001 00000040 00000000 0000040f
ext_cpuid[11]=00000000 00000000 00000000 00000000
ext_cpuid[12]=00000000 00000000 00000000 00000000
ext_cpuid[13]=00000000 00000000 00000000 00000000
ext_cpuid[14]=00000000 00000000 00000000 00000000
ext_cpuid[15]=00000000 00000000 00000000 00000000
ext_cpuid[16]=00000000 00000000 00000000 00000000
ext_cpuid[17]=00000000 00000000 00000000 00000000
ext_cpuid[18]=00000000 00000000 00000000 00000000
ext_cpuid[19]=00000000 00000000 00000000 00000000
ext_cpuid[20]=00000000 00000000 00000000 00000000
ext_cpuid[21]=00000000 00000000 00000000 00000000
ext_cpuid[22]=00000000 00000000 00000000 00000000
ext_cpuid[23]=00000000 00000000 00000000 00000000
ext_cpuid[24]=00000000 00000000 00000000 00000000
ext_cpuid[25]=f0300000 60100000 00000000 00000000
ext_cpuid[26]=00000003 00000000 00000000 00000000
ext_cpuid[27]=0000001f 00000000 00000000 00000000
ext_cpuid[28]=00000000 00000000 00000000 00000000
ext_cpuid[29]=00000000 00000000 00000000 00000000
ext_cpuid[30]=00000000 00000000 00000000 00000000
ext_cpuid[31]=00000000 00000000 00000000 00000000
intel_fn4[0]=00000000 00000000 00000000 00000000
intel_fn4[1]=00000000 00000000 00000000 00000000
intel_fn4[2]=00000000 00000000 00000000 00000000
intel_fn4[3]=00000000 00000000 00000000 00000000
intel_fn11[0]=00000000 00000000 00000000 00000000
intel_fn11[1]=00000000 00000000 00000000 00000000
intel_fn11[2]=00000000 00000000 00000000 00000000
intel_fn11[3]=00000000 00000000 00000000 00000000
--------------------------------------------------------------------------------
15
9
1
16
9
12
12
64
64
512
10240
2
16
92
64
64
64
128 (authoritative)
Magny-Cours Opteron
fpu vme de pse tsc msr pae mce cx8 apic mtrr sep pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht pni monitor cx16 syscall popcnt mmxext 3dnow 3dnowext nx fxsr_opt rdtscp lm lahf_lm cmp_legacy svm abm misalignsse sse4a 3dnowprefetch osvw ibs skinit wdt ts ttp tm_amd stc 100mhzsteps hwpstate constant_tsc
--------------------------------------------------------------------------------