␉␉␉{␊ |
␉␉␉␉switch (Platform.CPU.Model)␊ |
␉␉␉␉{␊ |
␉␉␉␉␉␉// set external clock to 0 for SANDY␊ |
␉␉␉␉␉␉// removes FSB info from system profiler as on real mac's.␊ |
␉␉␉␉␉case CPU_MODEL_SANDYBRIDGE:␊ |
␉␉␉␉␉case CPU_MODEL_JAKETOWN:␊ |
␉␉␉␉␉case CPU_MODEL_IVYBRIDGE_XEON:␊ |
␉␉␉␉␉case CPU_MODEL_IVYBRIDGE:␊ |
␉␉␉␉␉case CPU_MODEL_HASWELL:␊ |
␉␉␉␉␉case CPU_MODEL_HASWELL_SVR:␊ |
␉␉␉␉␉case CPU_MODEL_HASWELL_ULT:␊ |
␉␉␉␉␉case CPU_MODEL_CRYSTALWELL:␊ |
␉␉␉␉␉// set external clock to 0 for SANDY␊ |
␉␉␉␉␉// removes FSB info from system profiler as on real mac's.␊ |
␉␉␉␉␉case CPUID_MODEL_SANDYBRIDGE:␊ |
␉␉␉␉␉case CPUID_MODEL_JAKETOWN:␊ |
␉␉␉␉␉case CPUID_MODEL_IVYBRIDGE_XEON:␊ |
␉␉␉␉␉case CPUID_MODEL_IVYBRIDGE:␊ |
␉␉␉␉␉case CPUID_MODEL_HASWELL:␊ |
␉␉␉␉␉case CPUID_MODEL_HASWELL_SVR:␊ |
␉␉␉␉␉case CPUID_MODEL_HASWELL_ULT:␊ |
␉␉␉␉␉case CPUID_MODEL_CRYSTALWELL:␊ |
␊ |
␉␉␉␉␉␉value->word = 0;␊ |
␉␉␉␉␉␉break;␊ |
|
␉␉{␊ |
␉␉␉case 0x06:␊ |
␉␉␉{␊ |
␉␉␉␉switch (Platform.CPU.Model) {␊ |
␉␉␉␉␉case CPU_MODEL_PENTIUM_M:␊ |
␉␉␉␉␉case CPU_MODEL_DOTHAN:␉␉// Intel Pentium M␊ |
␉␉␉␉␉case CPU_MODEL_YONAH:␉␉// Intel Mobile Core Solo, Duo␊ |
␉␉␉␉␉case CPU_MODEL_MEROM:␉␉// Intel Mobile Core 2 Solo, Duo, Xeon 30xx, Xeon 51xx, Xeon X53xx, Xeon E53xx, Xeon X32xx␊ |
␉␉␉␉␉case CPU_MODEL_PENRYN:␉␉// Intel Core 2 Solo, Duo, Quad, Extreme, Xeon X54xx, Xeon X33xx␊ |
␉␉␉␉␉case CPU_MODEL_ATOM:␉␉// Intel Atom (45nm)␊ |
␉␉␉␉switch (Platform.CPU.Model)␊ |
␉␉␉␉{␊ |
␉␉␉␉␉case CPUID_MODEL_PENTIUM_M:␊ |
␉␉␉␉␉case CPUID_MODEL_DOTHAN:␉// Intel Pentium M␊ |
␉␉␉␉␉case CPUID_MODEL_YONAH:␉␉// Intel Mobile Core Solo, Duo␊ |
␉␉␉␉␉case CPUID_MODEL_MEROM:␉␉// Intel Mobile Core 2 Solo, Duo, Xeon 30xx, Xeon 51xx, Xeon X53xx, Xeon E53xx, Xeon X32xx␊ |
␉␉␉␉␉case CPUID_MODEL_PENRYN:␉// Intel Core 2 Solo, Duo, Quad, Extreme, Xeon X54xx, Xeon X33xx␊ |
␉␉␉␉␉case CPUID_MODEL_ATOM:␉␉// Intel Atom (45nm)␊ |
␉␉␉␉␉␉return false;␊ |
␊ |
␉␉␉␉␉case 0x19:␊ |
␉␉␉␉␉case CPU_MODEL_NEHALEM:␉␉// Intel Core i7, Xeon W35xx, Xeon X55xx, Xeon E55xx LGA1366 (45nm)␊ |
␉␉␉␉␉case CPU_MODEL_FIELDS:␉␉// Intel Core i5, i7, Xeon X34xx LGA1156 (45nm)␊ |
␉␉␉␉␉case CPU_MODEL_DALES:␊ |
␉␉␉␉␉case CPU_MODEL_DALES_32NM:␉// Intel Core i3, i5 LGA1156 (32nm)␊ |
␉␉␉␉␉case CPU_MODEL_WESTMERE:␉// Intel Core i7, Xeon X56xx, Xeon E56xx, Xeon W36xx LGA1366 (32nm) 6 Core␊ |
␉␉␉␉␉case CPU_MODEL_NEHALEM_EX:␉// Intel Xeon X75xx, Xeon X65xx, Xeon E75xx, Xeon E65x␊ |
␉␉␉␉␉case CPU_MODEL_WESTMERE_EX:␉// Intel Xeon E7␊ |
␉␉␉␉␉case CPU_MODEL_SANDYBRIDGE:␉// Intel Core i3, i5, i7 LGA1155 (32nm)␊ |
␉␉␉␉␉case CPU_MODEL_JAKETOWN:␉// Intel Core i7, Xeon E5 LGA2011 (32nm)␊ |
␉␉␉␉␉case CPU_MODEL_IVYBRIDGE:␉// Intel Core i3, i5, i7 LGA1155 (22nm)␊ |
␉␉␉␉␉case CPU_MODEL_IVYBRIDGE_XEON:␊ |
␉␉␉␉␉case CPU_MODEL_HASWELL:␊ |
␉␉␉␉␉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_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_SANDYBRIDGE:␉// Intel Core i3, i5, i7 LGA1155 (32nm)␊ |
␉␉␉␉␉case CPUID_MODEL_JAKETOWN:␉// Intel Core i7, Xeon E5 LGA2011 (32nm)␊ |
␉␉␉␉␉case CPUID_MODEL_IVYBRIDGE:␉// Intel Core i3, i5, i7 LGA1155 (22nm)␊ |
␉␉␉␉␉case CPUID_MODEL_IVYBRIDGE_XEON:␊ |
␉␉␉␉␉case CPUID_MODEL_HASWELL:␊ |
␉␉␉␉␉{␊ |
␉␉␉␉␉␉// thanks to dgobe for i3/i5/i7 bus speed detection␊ |
␉␉␉␉␉␉int nhm_bus = 0x3F;␊ |
|
␉␉␉case 0x0F:␊ |
␉␉␉case 0x06:␊ |
␉␉␉{␊ |
␉␉␉␉switch (Platform.CPU.Model) {␊ |
␉␉␉␉␉case CPU_MODEL_PENTIUM_M:␊ |
␉␉␉␉␉case CPU_MODEL_DOTHAN:␉␉␉␉// 0x0D - Intel Pentium M model D␊ |
␉␉␉␉␉case CPU_MODEL_PRESCOTT:␊ |
␉␉␉␉␉case CPU_MODEL_NOCONA:␊ |
␉␉␉␉␉␉if (strstr(Platform.CPU.BrandString, "Xeon")) {␊ |
␉␉␉␉switch (Platform.CPU.Model)␊ |
␉␉␉␉{␊ |
␉␉␉␉␉case CPUID_MODEL_PENTIUM_M:␊ |
␉␉␉␉␉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;␊ |
␊ |
␉␉␉␉␉case CPU_MODEL_PRESLER:␊ |
␉␉␉␉␉case CPU_MODEL_CELERON:␊ |
␉␉␉␉␉case CPU_MODEL_YONAH:␉␉␉␉// 0x0E - Intel Mobile Core Solo, Duo␊ |
␉␉␉␉␉case CPUID_MODEL_PRESLER:␊ |
␉␉␉␉␉case CPUID_MODEL_CELERON:␊ |
␉␉␉␉␉case CPUID_MODEL_YONAH:␉␉␉␉// 0x0E - Intel Mobile Core Solo, Duo␊ |
␉␉␉␉␉␉value->word = 0x201;␉␉␉// 513␊ |
␉␉␉␉␉␉return true;␊ |
␊ |
␉␉␉␉␉case CPU_MODEL_MEROM:␉␉␉␉// 0x0F - Intel Mobile Core 2 Solo, Duo, Xeon 30xx, Xeon 51xx, Xeon X53xx, Xeon E53xx, Xeon X32xx␊ |
␉␉␉␉␉case CPU_MODEL_XEON_MP:␉␉␉␉// 0x1D - Six-Core Xeon 7400, "Dunnington", 45nm␊ |
␉␉␉␉␉case CPU_MODEL_PENRYN:␉␉␉␉// 0x17 - Intel Core 2 Solo, Duo, Quad, Extreme, Xeon X54xx, Xeon X33xx␊ |
␉␉␉␉␉␉if (strstr(Platform.CPU.BrandString, "Xeon")) {␊ |
␉␉␉␉␉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;␊ |
␉␉␉␉␉␉}␊ |
|
␉␉␉␉␉␉}␊ |
␉␉␉␉␉␉return true;␊ |
␊ |
␉␉␉␉␉case CPU_MODEL_LINCROFT:␉␉␉// 0x27 - Intel Atom, "Lincroft", 45nm␊ |
␉␉␉␉␉case CPU_MODEL_ATOM:␉␉␉␉// 0x1C - Intel Atom (45nm)␊ |
␉␉␉␉␉case CPUID_MODEL_LINCROFT:␉␉␉// 0x27 - Intel Atom, "Lincroft", 45nm␊ |
␉␉␉␉␉case CPUID_MODEL_ATOM:␉␉␉␉// 0x1C - Intel Atom (45nm)␊ |
␉␉␉␉␉␉return true;␊ |
␊ |
␉␉␉␉␉case CPU_MODEL_NEHALEM_EX:␉␉␉// 0x2E - Nehalem-ex, "Beckton", 45nm␊ |
␉␉␉␉␉case CPU_MODEL_NEHALEM:␉␉␉␉// 0x1A - Intel Core i7, Xeon W35xx, Xeon X55xx, Xeon E55xx LGA1366 (45nm)␊ |
␉␉␉␉␉case CPU_MODEL_FIELDS:␉␉␉␉// 0x1E - Intel Core i5, i7, Xeon X34xx LGA1156 (45nm)␊ |
␉␉␉␉␉case CPU_MODEL_DALES:␉␉␉␉␉// 0x1F - Intel Core i5, i7 LGA1156 (45nm) (Havendale, Auburndale)␊ |
␉␉␉␉␉␉if (strstr(Platform.CPU.BrandString, "Xeon")) {␊ |
␉␉␉␉␉␉␉value->word = 0x501;␉␉␉// 1281 - Lynnfiled Quad-Core Xeon␊ |
␉␉␉␉␉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)␊ |
␉␉␉␉␉␉if (strstr(Platform.CPU.BrandString, "Xeon"))␊ |
␉␉␉␉␉␉{␊ |
␉␉␉␉␉␉␉value->word = 0x501;␉␉// 1281 - Lynnfiled Quad-Core Xeon␊ |
␉␉␉␉␉␉␉return true;␊ |
␉␉␉␉␉␉}␊ |
␉␉␉␉␉␉if (strstr(Platform.CPU.BrandString, "Core(TM) i3")) {␊ |
|
␉␉␉␉␉␉}␊ |
␉␉␉␉␉␉return true;␊ |
␊ |
␉␉␉␉␉case CPU_MODEL_DALES_32NM:␉␉␉// 0x25 - Intel Core i3, i5 LGA1156 (32nm) (Clarkdale, Arrandale)␊ |
␉␉␉␉␉case CPU_MODEL_WESTMERE:␉␉␉// 0x2C - Intel Core i7, Xeon X56xx, Xeon E56xx, Xeon W36xx LGA1366 (32nm) 6 Core␊ |
␉␉␉␉␉case CPU_MODEL_WESTMERE_EX:␉␉␉// 0x2F - Intel Xeon E7␊ |
␉␉␉␉␉␉if (strstr(Platform.CPU.BrandString, "Xeon")) {␊ |
␉␉␉␉␉case CPUID_MODEL_DALES_32NM:␉␉␉// 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;␊ |
␉␉␉␉␉␉}␊ |
|
␉␉␉␉␉␉}␊ |
␉␉␉␉␉␉return true;␊ |
␊ |
␉␉␉␉␉case CPU_MODEL_JAKETOWN:␉␉␉// 0x2D - Intel Core i7, Xeon E5-xxxx LGA2011 (32nm)␊ |
␉␉␉␉␉case CPU_MODEL_SANDYBRIDGE:␉␉␉// 0x2A - Intel Core i3, i5, i7 LGA1155 (32nm)␊ |
␉␉␉␉␉␉if (strstr(Platform.CPU.BrandString, "Xeon")) {␊ |
␉␉␉␉␉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;␊ |
␉␉␉␉␉␉}␊ |
|
␉␉␉␉␉␉}␊ |
␉␉␉␉␉␉return true;␊ |
␊ |
␉␉␉␉␉case CPU_MODEL_IVYBRIDGE:␉␉␉// 0x3A - Intel Core i3, i5, i7 LGA1155 (22nm)␊ |
␉␉␉␉␉␉if (strstr(Platform.CPU.BrandString, "Xeon")) {␊ |
␉␉␉␉␉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;␊ |
␉␉␉␉␉␉}␊ |
|
␉␉␉␉␉␉}␊ |
␉␉␉␉␉␉return true;␊ |
␊ |
␉␉␉␉␉case CPU_MODEL_IVYBRIDGE_XEON:␉␉// 0x3E - Mac Pro 6,1␊ |
␉␉␉␉␉␉value->word = 0xA01;␉␉// 2561 - Xeon␊ |
␉␉␉␉␉case CPUID_MODEL_IVYBRIDGE_XEON:␉␉// 0x3E - Mac Pro 6,1␊ |
␉␉␉␉␉␉value->word = 0xA01;␉␉␉// 2561 - Xeon␊ |
␉␉␉␉␉␉return true;␊ |
␊ |
␉␉␉␉␉case CPU_MODEL_HASWELL:␉␉␉␉// 0x3C -␊ |
␉␉␉␉␉case CPU_MODEL_HASWELL_SVR:␉␉␉// 0x3F -␊ |
␉␉␉␉␉case CPU_MODEL_HASWELL_ULT:␉␉␉// 0x45 -␊ |
␉␉␉␉␉case CPU_MODEL_CRYSTALWELL:␉␉␉// 0x46␊ |
␉␉␉␉␉␉if (strstr(Platform.CPU.BrandString, "Xeon")) {␊ |
␉␉␉␉␉case CPUID_MODEL_HASWELL:␉␉␉// 0x3C -␊ |
␉␉␉␉␉case CPUID_MODEL_HASWELL_SVR:␉␉␉// 0x3F -␊ |
␉␉␉␉␉case CPUID_MODEL_HASWELL_ULT:␉␉␉// 0x45 -␊ |
␉␉␉␉␉case CPUID_MODEL_CRYSTALWELL:␉␉␉// 0x46␊ |
␉␉␉␉␉␉if (strstr(Platform.CPU.BrandString, "Xeon"))␊ |
␉␉␉␉␉␉{␊ |
␉␉␉␉␉␉␉value->word = 0xA01;␉␉// 2561 - Xeon␊ |
␉␉␉␉␉␉␉return true;␊ |
␉␉␉␉␉␉}␊ |