␉␉␉␉␉case CPUID_MODEL_HASWELL:␊ |
␉␉␉␉␉case CPUID_MODEL_HASWELL_SVR:␊ |
␉␉␉␉␉case CPUID_MODEL_HASWELL_ULT:␊ |
␉␉␉␉␉case CPUID_MODEL_CRYSTALWELL:␊ |
␉␉␉␉␉case CPUID_MODEL_HASWELL_ULX:␊ |
␊ |
␉␉␉␉␉␉value->word = 0;␊ |
␉␉␉␉␉␉break;␊ |
|
␉␉␉␉␉case 0x19:␊ |
␉␉␉␉␉case CPUID_MODEL_NEHALEM:␉// Intel Core i7, Xeon W35xx, Xeon X55xx, Xeon E55xx LGA1366 (45nm)␊ |
␉␉␉␉␉case CPUID_MODEL_FIELDS:␉// Intel Core i5, i7, Xeon X34xx LGA1156 (45nm)␊ |
␉␉␉␉␉case CPUID_MODEL_DALES:␊ |
␉␉␉␉␉case CPUID_MODEL_DALES_32NM:␉// Intel Core i3, i5 LGA1156 (32nm)␊ |
␉␉␉␉␉case CPUID_MODEL_CLARKDALE:␊ |
␉␉␉␉␉case CPUID_MODEL_DALES:␉// Intel Core i3, i5 LGA1156 (32nm)␊ |
␉␉␉␉␉case CPUID_MODEL_WESTMERE:␉// Intel Core i7, Xeon X56xx, Xeon E56xx, Xeon W36xx LGA1366 (32nm) 6 Core␊ |
␉␉␉␉␉case CPUID_MODEL_NEHALEM_EX:␉// Intel Xeon X75xx, Xeon X65xx, Xeon E75xx, Xeon E65x␊ |
␉␉␉␉␉case CPUID_MODEL_WESTMERE_EX:␉// Intel Xeon E7␊ |
|
␉␉␉␉␉case CPUID_MODEL_IVYBRIDGE:␉// Intel Core i3, i5, i7 LGA1155 (22nm)␊ |
␉␉␉␉␉case CPUID_MODEL_IVYBRIDGE_XEON:␊ |
␉␉␉␉␉case CPUID_MODEL_HASWELL:␊ |
␉␉␉␉␉case CPUID_MODEL_HASWELL_U5:␊ |
␉␉␉␉␉{␊ |
␉␉␉␉␉␉// thanks to dgobe for i3/i5/i7 bus speed detection␊ |
␉␉␉␉␉␉int nhm_bus = 0x3F;␊ |
|
␉␉␉verbose("CPU is %s, family 0x%x, model 0x%x\n", Platform.CPU.BrandString, (uint32_t)Platform.CPU.Family, (uint32_t)Platform.CPU.Model);␊ |
␉␉␉done = true;␊ |
␉␉}␊ |
␉␉// Bungo: fixes Oem Processor Type - better matching IMHO, needs testing␊ |
␊ |
␉␉switch (Platform.CPU.Family)␊ |
␉␉{␊ |
␉␉␉case 0x0F:␊ |
|
␉␉␉␉␉case CPUID_MODEL_DOTHAN:␉␉␉// 0x0D - Intel Pentium M model D␊ |
␉␉␉␉␉case CPUID_MODEL_PRESCOTT:␊ |
␉␉␉␉␉case CPUID_MODEL_NOCONA:␊ |
␊ |
␉␉␉␉␉␉if (strstr(Platform.CPU.BrandString, XEON))␊ |
␉␉␉␉␉␉{␊ |
␉␉␉␉␉␉␉value->word = 0x402;␉␉// 1026 - Xeon␊ |
␉␉␉␉␉␉␉return true;␊ |
␉␉␉␉␉␉}␊ |
␊ |
␉␉␉␉␉␉return true;␊ |
␊ |
␉␉␉␉␉case CPUID_MODEL_PRESLER:␊ |
|
␉␉␉␉␉case CPUID_MODEL_MEROM:␉␉␉␉// 0x0F - Intel Mobile Core 2 Solo, Duo, Xeon 30xx, Xeon 51xx, Xeon X53xx, Xeon E53xx, Xeon X32xx␊ |
␉␉␉␉␉case CPUID_MODEL_XEON_MP:␉␉␉// 0x1D - Six-Core Xeon 7400, "Dunnington", 45nm␊ |
␉␉␉␉␉case CPUID_MODEL_PENRYN:␉␉␉// 0x17 - Intel Core 2 Solo, Duo, Quad, Extreme, Xeon X54xx, Xeon X33xx␊ |
␊ |
␉␉␉␉␉␉if (strstr(Platform.CPU.BrandString, XEON))␊ |
␉␉␉␉␉␉{␊ |
␉␉␉␉␉␉␉value->word = 0x402;␉␉// 1026 - Xeon␊ |
␉␉␉␉␉␉␉return true;␊ |
␉␉␉␉␉␉}␊ |
␊ |
␉␉␉␉␉␉if (Platform.CPU.NoCores <= 2)␊ |
␉␉␉␉␉␉{␊ |
␉␉␉␉␉␉␉value->word = 0x301;␉␉// 769 - Core 2 Duo␊ |
␉␉␉␉␉␉␉return true;␊ |
␉␉␉␉␉␉}␊ |
␉␉␉␉␉␉else␊ |
␉␉␉␉␉␉{␊ |
␉␉␉␉␉␉␉value->word = 0x402;␉␉// 1026 - Core 2 Quad as Xeon␊ |
␉␉␉␉␉␉␉return true;␊ |
␉␉␉␉␉␉}␊ |
␊ |
␉␉␉␉␉␉return true;␊ |
␊ |
␉␉␉␉␉case CPUID_MODEL_LINCROFT:␉␉␉// 0x27 - Intel Atom, "Lincroft", 45nm␊ |
␉␉␉␉␉case CPUID_MODEL_ATOM:␉␉␉␉// 0x1C - Intel Atom (45nm)␊ |
␊ |
␉␉␉␉␉␉return true;␊ |
␊ |
␉␉␉␉␉case CPUID_MODEL_NEHALEM_EX:␉␉␉// 0x2E - Nehalem-ex, "Beckton", 45nm␊ |
␉␉␉␉␉case CPUID_MODEL_NEHALEM:␉␉␉// 0x1A - Intel Core i7, Xeon W35xx, Xeon X55xx, Xeon E55xx LGA1366 (45nm)␊ |
␉␉␉␉␉case CPUID_MODEL_FIELDS:␉␉␉// 0x1E - Intel Core i5, i7, Xeon X34xx LGA1156 (45nm)␊ |
␉␉␉␉␉case CPUID_MODEL_DALES:␉␉␉␉// 0x1F - Intel Core i5, i7 LGA1156 (45nm) (Havendale, Auburndale)␊ |
␉␉␉␉␉case CPUID_MODEL_CLARKDALE:␉␉␉// 0x1F - Intel Core i5, i7 LGA1156 (45nm) (Havendale, Auburndale)␊ |
␊ |
␉␉␉␉␉␉if (strstr(Platform.CPU.BrandString, XEON))␊ |
␉␉␉␉␉␉{␊ |
␉␉␉␉␉␉␉value->word = 0x501;␉␉// 1281 - Lynnfiled Quad-Core Xeon␊ |
␉␉␉␉␉␉␉return true;␊ |
␉␉␉␉␉␉}␊ |
␊ |
␉␉␉␉␉␉if (strstr(Platform.CPU.BrandString, CORE_I3))␊ |
␉␉␉␉␉␉{␊ |
␉␉␉␉␉␉␉value->word = 0x901;␉␉// 2305 - Core i3␊ |
␉␉␉␉␉␉␉return true;␊ |
␉␉␉␉␉␉}␊ |
␊ |
␉␉␉␉␉␉if (strstr(Platform.CPU.BrandString, CORE_I5))␊ |
␉␉␉␉␉␉{␊ |
␉␉␉␉␉␉␉value->word = 0x601;␉␉␉// Core i5␊ |
␉␉␉␉␉␉␉return true;␊ |
␉␉␉␉␉␉}␊ |
␊ |
␉␉␉␉␉␉if (strstr(Platform.CPU.BrandString, CORE_I7))␊ |
␉␉␉␉␉␉{␊ |
␉␉␉␉␉␉␉value->word = 0x701;␉␉␉// 1793 - Core i7␊ |
␉␉␉␉␉␉␉return true;␊ |
␉␉␉␉␉␉}␊ |
␊ |
␉␉␉␉␉␉if (Platform.CPU.NoCores <= 2)␊ |
␉␉␉␉␉␉{␊ |
␉␉␉␉␉␉␉value->word = 0x901;␉␉␉// - Core i3␊ |
␉␉␉␉␉␉␉return true;␊ |
␉␉␉␉␉␉}␊ |
␊ |
␉␉␉␉␉␉return true;␊ |
␊ |
␉␉␉␉␉case CPUID_MODEL_DALES_32NM:␉␉␉// 0x25 - Intel Core i3, i5 LGA1156 (32nm) (Clarkdale, Arrandale)␊ |
␉␉␉␉␉case CPUID_MODEL_DALES:␉␉␉␉// 0x25 - Intel Core i3, i5 LGA1156 (32nm) (Clarkdale, Arrandale)␊ |
␉␉␉␉␉case CPUID_MODEL_WESTMERE:␉␉␉// 0x2C - Intel Core i7, Xeon X56xx, Xeon E56xx, Xeon W36xx LGA1366 (32nm) 6 Core␊ |
␉␉␉␉␉case CPUID_MODEL_WESTMERE_EX:␉␉␉// 0x2F - Intel Xeon E7␊ |
␊ |
␉␉␉␉␉␉if (strstr(Platform.CPU.BrandString, XEON))␊ |
␉␉␉␉␉␉{␊ |
␉␉␉␉␉␉␉value->word = 0x501;␉␉// 1281 - Xeon␊ |
␉␉␉␉␉␉␉return true;␊ |
␉␉␉␉␉␉}␊ |
␊ |
␉␉␉␉␉␉if (strstr(Platform.CPU.BrandString, CORE_I3))␊ |
␉␉␉␉␉␉{␊ |
␉␉␉␉␉␉␉value->word = 0x901;␉␉// 2305 - Core i3␊ |
␉␉␉␉␉␉␉return true;␊ |
␉␉␉␉␉␉}␊ |
␊ |
␉␉␉␉␉␉if (strstr(Platform.CPU.BrandString, CORE_I5))␊ |
␉␉␉␉␉␉{␊ |
␉␉␉␉␉␉␉value->word = 0x602;␉␉// 1538 - Core i5␊ |
␉␉␉␉␉␉␉return true;␊ |
␉␉␉␉␉␉}␊ |
␊ |
␉␉␉␉␉␉if (strstr(Platform.CPU.BrandString, CORE_I7))␊ |
␉␉␉␉␉␉{␊ |
␉␉␉␉␉␉␉value->word = 0x702;␉␉// 1794 -Core i7␊ |
␉␉␉␉␉␉␉return true;␊ |
␉␉␉␉␉␉}␊ |
␊ |
␉␉␉␉␉␉if (Platform.CPU.NoCores <= 2)␊ |
␉␉␉␉␉␉{␊ |
␉␉␉␉␉␉␉value->word = 0x901;␉␉// - Core i3␊ |
␉␉␉␉␉␉␉return true;␊ |
␉␉␉␉␉␉}␊ |
␊ |
␉␉␉␉␉␉return true;␊ |
␊ |
␉␉␉␉␉case CPUID_MODEL_JAKETOWN:␉␉␉// 0x2D - Intel Core i7, Xeon E5-xxxx LGA2011 (32nm)␊ |
␉␉␉␉␉case CPUID_MODEL_SANDYBRIDGE:␉␉␉// 0x2A - Intel Core i3, i5, i7 LGA1155 (32nm)␊ |
␊ |
␉␉␉␉␉␉if (strstr(Platform.CPU.BrandString, XEON))␊ |
␉␉␉␉␉␉{␊ |
␉␉␉␉␉␉␉value->word = 0x501;␉␉// 1281 - Xeon␊ |
␉␉␉␉␉␉␉return true;␊ |
␉␉␉␉␉␉}␊ |
␊ |
␉␉␉␉␉␉if (strstr(Platform.CPU.BrandString, CORE_I3))␊ |
␉␉␉␉␉␉{␊ |
␉␉␉␉␉␉␉value->word = 0x902;␉␉// 2306 -Core i3␊ |
␉␉␉␉␉␉␉return true;␊ |
␉␉␉␉␉␉}␊ |
␊ |
␉␉␉␉␉␉if (strstr(Platform.CPU.BrandString, CORE_I5))␊ |
␉␉␉␉␉␉{␊ |
␉␉␉␉␉␉␉value->word = 0x603;␉␉// 1539 - Core i5␊ |
␉␉␉␉␉␉␉return true;␊ |
␉␉␉␉␉␉}␊ |
␊ |
␉␉␉␉␉␉if (strstr(Platform.CPU.BrandString, CORE_I7))␊ |
␉␉␉␉␉␉{␊ |
␉␉␉␉␉␉␉value->word = 0x703;␉␉// 1795 - Core i7␊ |
␉␉␉␉␉␉␉return true;␊ |
␉␉␉␉␉␉}␊ |
␊ |
␉␉␉␉␉␉if (Platform.CPU.NoCores <= 2)␊ |
␉␉␉␉␉␉{␊ |
␉␉␉␉␉␉␉value->word = 0x902;␉␉// - Core i5␊ |
␉␉␉␉␉␉␉return true;␊ |
␉␉␉␉␉␉}␊ |
␊ |
␉␉␉␉␉␉return true;␊ |
␊ |
␉␉␉␉␉case CPUID_MODEL_IVYBRIDGE:␉␉␉// 0x3A - Intel Core i3, i5, i7 LGA1155 (22nm)␊ |
␊ |
␉␉␉␉␉␉if (strstr(Platform.CPU.BrandString, XEON))␊ |
␉␉␉␉␉␉{␊ |
␉␉␉␉␉␉␉value->word = 0xA01;␉␉// 2561 - Xeon␊ |
␉␉␉␉␉␉␉return true;␊ |
␉␉␉␉␉␉}␊ |
␊ |
␉␉␉␉␉␉if (strstr(Platform.CPU.BrandString, CORE_I3))␊ |
␉␉␉␉␉␉{␊ |
␉␉␉␉␉␉␉value->word = 0x903;␉␉// 2307 - Core i3 - Apple doesn't use it␊ |
␉␉␉␉␉␉␉return true;␊ |
␉␉␉␉␉␉}␊ |
␊ |
␉␉␉␉␉␉if (strstr(Platform.CPU.BrandString, CORE_I5))␊ |
␉␉␉␉␉␉{␊ |
␉␉␉␉␉␉␉value->word = 0x604;␉␉// 1540 - Core i5␊ |
␉␉␉␉␉␉␉return true;␊ |
␉␉␉␉␉␉}␊ |
␊ |
␉␉␉␉␉␉if (strstr(Platform.CPU.BrandString, CORE_I7))␊ |
␉␉␉␉␉␉{␊ |
␉␉␉␉␉␉␉value->word = 0x704;␉␉// 1796 - Core i7␊ |
␉␉␉␉␉␉␉return true;␊ |
␉␉␉␉␉␉}␊ |
␊ |
␉␉␉␉␉␉if (Platform.CPU.NoCores <= 2)␊ |
␉␉␉␉␉␉{␊ |
␉␉␉␉␉␉␉value->word = 0x903;␉␉// - Core i5␊ |
␉␉␉␉␉␉␉return true;␊ |
␉␉␉␉␉␉}␊ |
␊ |
␉␉␉␉␉␉return true;␊ |
␊ |
␉␉␉␉␉case CPUID_MODEL_HASWELL_U5:␉␉␉// 0x3D -␊ |
␊ |
␉␉␉␉␉␉value->word = 0x606;␉␉␉// 1542␊ |
␉␉␉␉␉␉return true;␊ |
␊ |
␉␉␉␉␉case CPUID_MODEL_IVYBRIDGE_XEON:␉␉// 0x3E - Mac Pro 6,1␊ |
␊ |
␉␉␉␉␉␉value->word = 0xA01;␉␉␉// 2561 - Xeon␊ |
␉␉␉␉␉␉return true;␊ |
␊ |
␉␉␉␉␉case CPUID_MODEL_ATOM_3700:␉␉␉// 0x37 -␊ |
␉␉␉␉␉case CPUID_MODEL_HASWELL:␉␉␉// 0x3C -␊ |
␉␉␉␉␉case CPUID_MODEL_HASWELL_SVR:␉␉␉// 0x3F -␊ |
␉␉␉␉␉case CPUID_MODEL_HASWELL_ULT:␉␉␉// 0x45 -␊ |
␉␉␉␉␉case CPUID_MODEL_CRYSTALWELL:␉␉␉// 0x46␊ |
␉␉␉␉␉case CPUID_MODEL_HASWELL_ULX:␉␉␉// 0x46 -␊ |
␊ |
␉␉␉␉␉␉if (strstr(Platform.CPU.BrandString, XEON))␊ |
␉␉␉␉␉␉{␊ |
␉␉␉␉␉␉␉value->word = 0xA01;␉␉// 2561 - Xeon␊ |
|
␉␉␉␉␉␉␉value->word = 0x904;␉␉// 2308 - Core i3 - Apple doesn't use it - but we yes:-)␊ |
␉␉␉␉␉␉␉return true;␊ |
␉␉␉␉␉␉}␊ |
␊ |
␉␉␉␉␉␉if (strstr(Platform.CPU.BrandString, CORE_I5))␊ |
␉␉␉␉␉␉{␊ |
␉␉␉␉␉␉␉value->word = 0x605;␉␉// 1541 - Core i5␊ |
␉␉␉␉␉␉␉return true;␊ |
␉␉␉␉␉␉}␊ |
␊ |
␉␉␉␉␉␉if (strstr(Platform.CPU.BrandString, CORE_I7))␊ |
␉␉␉␉␉␉{␊ |
␉␉␉␉␉␉␉value->word = 0x705;␉␉// 1797 - Core i7␊ |
␉␉␉␉␉␉␉return true;␊ |
␉␉␉␉␉␉}␊ |
␊ |
␉␉␉␉␉␉if (Platform.CPU.NoCores <= 2)␊ |
␉␉␉␉␉␉{␊ |
␉␉␉␉␉␉␉value->word = 0x904;␉␉// - Core i3␊ |
␉␉␉␉␉␉␉return true;␊ |
␉␉␉␉␉␉}␊ |
␊ |
␉␉␉␉␉␉return true;␊ |
␊ |
␉␉␉␉␉case 0x15:␉␉␉␉␉// EP80579 integrated processor␊ |
␊ |
␉␉␉␉␉␉value->word = 0x301;␉␉␉// 769␊ |
␉␉␉␉␉␉return true;␊ |
␊ |
␉␉␉␉␉case 0x13:␉␉␉␉␉// Core i5, Xeon MP, "Havendale", "Auburndale", 45nm␊ |
␉␉␉␉␉case 0x19:␉␉␉␉␉// Intel Core i5 650 @3.20 Ghz␊ |
␊ |
␉␉␉␉␉␉value->word = 0x601;␉␉␉// 1537 - Core i5␊ |
␉␉␉␉␉␉return true;␊ |
␊ |
␉␉␉␉␉default:␊ |
␊ |
␉␉␉␉␉␉return true;␊ |
␉␉␉␉␉␉break; // Unsupported CPU type␊ |
␉␉␉␉}␊ |
␉␉␉␉break;␊ |
|
␉␉␉␉break;␊ |
␉␉}␊ |
␉}␊ |
␉␊ |
/*␊ |
␉if (Platform.CPU.Vendor == CPUID_VENDOR_AMD) // AMD␊ |
␉{␊ |
␉␉value->word = simpleGetSMBOemProcessorType();␊ |
␉␉return true;␊ |
␉}␊ |
*/␊ |
␉return false;␊ |
}␊ |
␊ |