1
0
Fork 0
mirror of https://github.com/anrieff/libcpuid synced 2025-10-13 11:10:39 +00:00

Fixed detection of Merom and other mobile Core2 arch

git-svn-id: https://svn.code.sf.net/p/libcpuid/code/HEAD/libcpuid@34 3b4be424-7ac5-41d7-8526-f4ddcb85d872
This commit is contained in:
Veselin Georgiev 2008-12-04 00:00:21 +00:00
commit da2eb29639
2 changed files with 100 additions and 3 deletions

View file

@ -157,7 +157,7 @@ const struct match_entry_t cpudb_intel[] = {
{ 6, 15, -1, -1, -1, XEON , "Xeon (Clovertown) Quad" },
{ 6, 15, -1, -1, -1, MOBILE_CORE , "Merom (Core 2 Duo)" },
{ 6, 15, -1, -1, -1, MEROM_2M , "Merom (Core 2 Duo) 2048K" },
{ 6, 15, -1, -1, -1, MEROM_4M , "Merom (Core 2 Duo) 4192K" },
{ 6, 15, -1, -1, -1, MEROM_4M , "Merom (Core 2 Duo) 4096K" },
{ 6, 6, -1, -1, 22, CELERON , "Conroe-L (Celeron)" },
@ -461,6 +461,7 @@ static void decode_intel_codename(struct cpu_raw_data_t* raw, struct cpu_id_t* d
int i;
int L2 = data->l2_cache;
const char* bs = data->brand_str;
const char* s;
const struct { int cache_size; intel_code_t code; } match_cache[] = {
{ 512, CORE_DUO_512K },
{ 1024, CORE_DUO_1024K },
@ -474,8 +475,6 @@ static void decode_intel_codename(struct cpu_raw_data_t* raw, struct cpu_id_t* d
{ MOBILE_PENTIUM_M, "Pentium(R) M" },
{ PENTIUM_D, "Pentium(R) D" },
{ PENTIUM, "Pentium" },
{ MOBILE_CORE, "Intel(R) Core(TM)2 CPU T" },
{ MOBILE_CORE, "Genuine Intel(R) CPU T" },
{ CORE_SOLO, "Genuine Intel(R) CPU" },
{ CORE_SOLO, "Intel(R) Core(TM)2" },
{ ATOM_DIAMONDVILLE, "Atom(TM) CPU 2" },
@ -501,6 +500,15 @@ static void decode_intel_codename(struct cpu_raw_data_t* raw, struct cpu_id_t* d
code = XEON_IRWIN;
if (code == XEONMP && data->l3_cache > 0)
code = XEON_POTOMAC;
if (code == CORE_SOLO) {
s = strstr(bs, "CPU");
if (s) {
s += 3;
while (*s == ' ') s++;
if (*s == 'T')
code = MOBILE_CORE;
}
}
if (code == CORE_SOLO) {
switch (data->num_cores) {
case 1: break;