四叶草cpu.c源码
UINT16 GetAdvancedCpuType ()
{
if (gCPUStructure.Vendor == CPU_VENDOR_INTEL) {
switch (gCPUStructure.Family) {
case 0x06:
{
switch (gCPUStructure.Model) {
case CPU_MODEL_PENTIUM_M:
case CPU_MODEL_DOTHAN:// Dothan
case CPU_MODEL_YONAH: // Yonah
return 0x201;
case CPU_MODEL_CELERON: //M520
case CPU_MODEL_MEROM: // Merom
case CPU_MODEL_PENRYN:// Penryn
if (AsciiStrStr(gCPUStructure.BrandString, "Xeon"))
return 0x402; // Xeon
case CPU_MODEL_ATOM: // Atom (45nm)
return GetStandardCpuType();
case CPU_MODEL_NEHALEM_EX: //Xeon 5300
return 0x402;
case CPU_MODEL_NEHALEM: // Intel Core i7 LGA1366 (45nm)
if (AsciiStrStr(gCPUStructure.BrandString, "Xeon"))
return 0x501; // Xeon
return 0x701; // Core i7
case CPU_MODEL_FIELDS: // Lynnfield, Clarksfield, Jasper
if (AsciiStrStr(gCPUStructure.BrandString, "Core(TM) i5"))
return 0x601; // Core i5
return 0x701; // Core i7
case CPU_MODEL_DALES: // Intel Core i5, i7 LGA1156 (45nm) (Havendale, Auburndale)
if (AsciiStrStr(gCPUStructure.BrandString, "Core(TM) i3"))
return 0x901; // Core i3 //why not 902? Ask Apple
if (AsciiStrStr(gCPUStructure.BrandString, "Core(TM) i5"))
return 0x602; // Core i5
if (AsciiStrStr(gCPUStructure.BrandString, "Core(TM) i7"))
return 0x702; // Core i7
if (gCPUStructure.Cores <= 2) {
return 0x602;
}
return 0x702; // Core i7