diff --git a/cpuid_x86.c b/cpuid_x86.c index 288754497..98f744330 100644 --- a/cpuid_x86.c +++ b/cpuid_x86.c @@ -972,8 +972,15 @@ int get_cpuname(void){ return CPUTYPE_ATOM; case 13: return CPUTYPE_DUNNINGTON; - break; } + break; + case 2: + switch (model) { + case 12: + //Xeon Processor 5600 (Westmere-EP) + return CPUTYPE_NEHALEM; + } + break; } break; case 0x7: @@ -1289,8 +1296,16 @@ int get_coretype(void){ return CORE_ATOM; case 13: return CORE_DUNNINGTON; - break; } + break; + case 2: + switch (model) { + case 12: + //Xeon Processor 5600 (Westmere-EP) + return CORE_NEHALEM; + } + break; + } case 15: if (model <= 0x2) return CORE_NORTHWOOD; diff --git a/driver/others/dynamic.c b/driver/others/dynamic.c index 4e27717fc..8288f33aa 100644 --- a/driver/others/dynamic.c +++ b/driver/others/dynamic.c @@ -121,6 +121,11 @@ static gotoblas_t *get_coretype(void){ if ((model == 10) || (model == 11) || (model == 14) || (model == 15)) return &gotoblas_NEHALEM; if (model == 12) return &gotoblas_ATOM; return NULL; + + case 2: + //Intel Xeon Processor 5600 (Westmere-EP) + if (model == 12) return &gotoblas_NEHALEM; + return NULL; } case 0xf: if (model <= 0x2) return &gotoblas_NORTHWOOD;