Ticket #1979: haiku_cputype_ticket1979.diff
File haiku_cputype_ticket1979.diff, 8.3 KB (added by , 16 years ago) |
---|
-
headers/os/kernel/OS.h
427 427 428 428 /* Updated according to Intel(R) Processor Identification and 429 429 * the CPUID instruction (Table 4) 430 * AP-485 Intel - 241618 28.pdf430 * AP-485 Intel - 24161832.pdf 431 431 */ 432 B_CPU_INTEL_x86 = 0x1000 ,433 B_CPU_INTEL_PENTIUM = 0x10 51,432 B_CPU_INTEL_x86 = 0x100000, 433 B_CPU_INTEL_PENTIUM = 0x100501, 434 434 B_CPU_INTEL_PENTIUM75, 435 435 B_CPU_INTEL_PENTIUM_486_OVERDRIVE, 436 436 B_CPU_INTEL_PENTIUM_MMX, 437 437 B_CPU_INTEL_PENTIUM_MMX_MODEL_4 = B_CPU_INTEL_PENTIUM_MMX, 438 B_CPU_INTEL_PENTIUM_MMX_MODEL_8 = 0x10 58,438 B_CPU_INTEL_PENTIUM_MMX_MODEL_8 = 0x100508, 439 439 B_CPU_INTEL_PENTIUM75_486_OVERDRIVE, 440 B_CPU_INTEL_PENTIUM_PRO = 0x1061, 441 B_CPU_INTEL_PENTIUM_II = 0x1063, 442 B_CPU_INTEL_PENTIUM_II_MODEL_3 = 0x1063, 443 B_CPU_INTEL_PENTIUM_II_MODEL_5 = 0x1065, 444 B_CPU_INTEL_CELERON = 0x1066, 445 B_CPU_INTEL_PENTIUM_III = 0x1067, 446 B_CPU_INTEL_PENTIUM_III_MODEL_8 = 0x1068, 447 B_CPU_INTEL_PENTIUM_M = 0x1069, 448 B_CPU_INTEL_PENTIUM_III_XEON = 0x106a, 449 B_CPU_INTEL_PENTIUM_III_MODEL_11 = 0x106b, 450 B_CPU_INTEL_PENTIUM_M_MODEL_13 = 0x106d, /* Dothan */ 440 B_CPU_INTEL_PENTIUM_PRO = 0x100601, 441 B_CPU_INTEL_PENTIUM_II = 0x100603, 442 B_CPU_INTEL_PENTIUM_II_MODEL_3 = 0x100603, 443 B_CPU_INTEL_PENTIUM_II_MODEL_5 = 0x100605, 444 B_CPU_INTEL_CELERON = 0x100606, 445 B_CPU_INTEL_CELERON_MODEL_22 = 0x101606, 446 B_CPU_INTEL_PENTIUM_III = 0x100607, 447 B_CPU_INTEL_PENTIUM_III_MODEL_8 = 0x100608, 448 B_CPU_INTEL_PENTIUM_M = 0x100609, 449 B_CPU_INTEL_PENTIUM_III_XEON = 0x10060a, 450 B_CPU_INTEL_PENTIUM_III_MODEL_11 = 0x10060b, 451 B_CPU_INTEL_PENTIUM_M_MODEL_13 = 0x10060d, /* Dothan */ 451 452 B_CPU_INTEL_PENTIUM_CORE, 452 453 B_CPU_INTEL_PENTIUM_CORE_2, 453 B_CPU_INTEL_PENTIUM_IV = 0x10f0, 454 B_CPU_INTEL_PENTIUM_CORE_2_EXTREME = 0x101607, /* Core 2 Extreme or Xeon 455 model 23 on 45 nm */ 456 B_CPU_INTEL_PENTIUM_IV = 0x100f00, 454 457 B_CPU_INTEL_PENTIUM_IV_MODEL_1, 455 458 B_CPU_INTEL_PENTIUM_IV_MODEL_2, 456 459 B_CPU_INTEL_PENTIUM_IV_MODEL_3, 457 460 B_CPU_INTEL_PENTIUM_IV_MODEL_4, 458 B_CPU_INTEL_PENTIUM_CORE_2_EXTREME = 0x1467,459 461 460 462 /* AMD */ 461 463 … … 463 465 * (Table 3) 464 466 * 20734.pdf 465 467 */ 466 B_CPU_AMD_x86 = 0x1100 ,467 B_CPU_AMD_K5_MODEL_0 = 0x11 50,468 B_CPU_AMD_x86 = 0x110000, 469 B_CPU_AMD_K5_MODEL_0 = 0x110500, 468 470 B_CPU_AMD_K5_MODEL_1, 469 471 B_CPU_AMD_K5_MODEL_2, 470 472 B_CPU_AMD_K5_MODEL_3, 471 B_CPU_AMD_K6_MODEL_6 = 0x11 56,472 B_CPU_AMD_K6_MODEL_7 = 0x11 57,473 B_CPU_AMD_K6_MODEL_8 = 0x11 58,474 B_CPU_AMD_K6_2 = 0x11 58,475 B_CPU_AMD_K6_MODEL_9 = 0x11 59,476 B_CPU_AMD_K6_III = 0x11 59,477 B_CPU_AMD_K6_III_MODEL_13 = 0x11 5d,473 B_CPU_AMD_K6_MODEL_6 = 0x110506, 474 B_CPU_AMD_K6_MODEL_7 = 0x110507, 475 B_CPU_AMD_K6_MODEL_8 = 0x110508, 476 B_CPU_AMD_K6_2 = 0x110508, 477 B_CPU_AMD_K6_MODEL_9 = 0x110509, 478 B_CPU_AMD_K6_III = 0x110509, 479 B_CPU_AMD_K6_III_MODEL_13 = 0x11050d, 478 480 479 B_CPU_AMD_ATHLON_MODEL_1 = 0x11 61,480 B_CPU_AMD_ATHLON_MODEL_2 = 0x11 62,481 B_CPU_AMD_ATHLON_MODEL_1 = 0x110601, 482 B_CPU_AMD_ATHLON_MODEL_2 = 0x110602, 481 483 482 B_CPU_AMD_DURON = 0x11 63,484 B_CPU_AMD_DURON = 0x110603, 483 485 484 B_CPU_AMD_ATHLON_THUNDERBIRD = 0x11 64,485 B_CPU_AMD_ATHLON_XP = 0x11 66,486 B_CPU_AMD_ATHLON_THUNDERBIRD = 0x110604, 487 B_CPU_AMD_ATHLON_XP = 0x110606, 486 488 B_CPU_AMD_ATHLON_XP_MODEL_7, 487 489 B_CPU_AMD_ATHLON_XP_MODEL_8, 488 B_CPU_AMD_ATHLON_XP_MODEL_10 = 0x11 6a, /* Barton */490 B_CPU_AMD_ATHLON_XP_MODEL_10 = 0x11060a, /* Barton */ 489 491 490 492 B_CPU_AMD_SEMPRON_MODEL_8 = B_CPU_AMD_ATHLON_XP_MODEL_8, 491 493 B_CPU_AMD_SEMPRON_MODEL_10 = B_CPU_AMD_ATHLON_XP_MODEL_10, … … 493 495 /* According to "Revision guide for AMD Athlon 64 494 496 * and AMD Opteron Processors" (25759.pdf) 495 497 */ 496 B_CPU_AMD_ATHLON_64_MODEL_3 = 0x11 f3,498 B_CPU_AMD_ATHLON_64_MODEL_3 = 0x110f03, 497 499 B_CPU_AMD_ATHLON_64_MODEL_4, 498 500 B_CPU_AMD_ATHLON_64_MODEL_5, 499 501 B_CPU_AMD_OPTERON = B_CPU_AMD_ATHLON_64_MODEL_5, 500 502 B_CPU_AMD_ATHLON_64_FX = B_CPU_AMD_ATHLON_64_MODEL_5, 501 B_CPU_AMD_ATHLON_64_MODEL_7 = 0x11 f7,503 B_CPU_AMD_ATHLON_64_MODEL_7 = 0x110f07, 502 504 B_CPU_AMD_ATHLON_64_MODEL_8, 503 B_CPU_AMD_ATHLON_64_MODEL_11 = 0x11 fb,505 B_CPU_AMD_ATHLON_64_MODEL_11 = 0x110f0b, 504 506 B_CPU_AMD_ATHLON_64_MODEL_12, 505 B_CPU_AMD_ATHLON_64_MODEL_14 = 0x11 fe,507 B_CPU_AMD_ATHLON_64_MODEL_14 = 0x110f0e, 506 508 B_CPU_AMD_ATHLON_64_MODEL_15, 507 509 508 510 /* VIA/Cyrix */ 509 B_CPU_CYRIX_x86 = 0x1200 ,510 B_CPU_VIA_CYRIX_x86 = 0x1200 ,511 B_CPU_CYRIX_GXm = 0x12 54,512 B_CPU_CYRIX_6x86MX = 0x12 60,511 B_CPU_CYRIX_x86 = 0x120000, 512 B_CPU_VIA_CYRIX_x86 = 0x120000, 513 B_CPU_CYRIX_GXm = 0x120504, 514 B_CPU_CYRIX_6x86MX = 0x120600, 513 515 514 516 /* VIA/IDT */ 515 B_CPU_IDT_x86 = 0x1300 ,516 B_CPU_VIA_IDT_x86 = 0x1300 ,517 B_CPU_IDT_WINCHIP_C6 = 0x13 54,518 B_CPU_IDT_WINCHIP_2 = 0x13 58,517 B_CPU_IDT_x86 = 0x130000, 518 B_CPU_VIA_IDT_x86 = 0x130000, 519 B_CPU_IDT_WINCHIP_C6 = 0x130504, 520 B_CPU_IDT_WINCHIP_2 = 0x130508, 519 521 B_CPU_IDT_WINCHIP_3, 520 B_CPU_VIA_C3_SAMUEL = 0x13 66,521 B_CPU_VIA_C3_SAMUEL_2 = 0x13 67,522 B_CPU_VIA_C3_EZRA_T = 0x13 68,523 B_CPU_VIA_C3_NEHEMIAH = 0x13 69,522 B_CPU_VIA_C3_SAMUEL = 0x130606, 523 B_CPU_VIA_C3_SAMUEL_2 = 0x130607, 524 B_CPU_VIA_C3_EZRA_T = 0x130608, 525 B_CPU_VIA_C3_NEHEMIAH = 0x130609, 524 526 525 527 /* Transmeta */ 526 B_CPU_TRANSMETA_x86 = 0x1600 ,527 B_CPU_TRANSMETA_CRUSOE = 0x16 54,528 B_CPU_TRANSMETA_x86 = 0x160000, 529 B_CPU_TRANSMETA_CRUSOE = 0x160504, 528 530 529 531 /* Rise */ 530 B_CPU_RISE_x86 = 0x1400 ,531 B_CPU_RISE_mP6 = 0x14 50,532 B_CPU_RISE_x86 = 0x140000, 533 B_CPU_RISE_mP6 = 0x140500, 532 534 533 535 /* National Semiconductor */ 534 B_CPU_NATIONAL_x86 = 0x1500 ,535 B_CPU_NATIONAL_GEODE_GX1 = 0x15 54,536 B_CPU_NATIONAL_x86 = 0x150000, 537 B_CPU_NATIONAL_GEODE_GX1 = 0x150504, 536 538 B_CPU_NATIONAL_GEODE_GX2, 537 539 538 540 /* For compatibility */ … … 549 551 B_CPU_SPARC 550 552 } cpu_type; 551 553 552 #define B_CPU_x86_VENDOR_MASK 0xff00 554 #define B_CPU_x86_VENDOR_MASK 0xff0000 553 555 554 556 #ifdef __INTEL__ 555 557 typedef union { -
headers/private/shared/cpu_type.h
49 49 return "VIA"; 50 50 return "IDT"; 51 51 case B_CPU_RISE_x86: 52 // TODO(bga): There is a conflict between new Intel53 // CPUs that sets extended model bits and the RISE54 // CPUs. For now we check for it here but there is55 // probably a better solution.56 if (type == B_CPU_INTEL_PENTIUM_CORE_2_EXTREME)57 return "Intel";58 else59 52 return "Rise"; 60 53 case B_CPU_TRANSMETA_x86: 61 54 return "Transmeta"; … … 104 97 case B_CPU_INTEL_PENTIUM_II_MODEL_5: 105 98 return "Pentium II"; 106 99 case B_CPU_INTEL_CELERON: 100 case B_CPU_INTEL_CELERON_MODEL_22: 107 101 return "Celeron"; 108 102 case B_CPU_INTEL_PENTIUM_III: 109 103 case B_CPU_INTEL_PENTIUM_III_MODEL_8: … … 117 111 return "Core"; 118 112 case B_CPU_INTEL_PENTIUM_CORE_2: 119 113 return "Core 2"; 114 case B_CPU_INTEL_PENTIUM_CORE_2_EXTREME: 115 return "Core 2 Extreme"; 120 116 case B_CPU_INTEL_PENTIUM_IV: 121 117 case B_CPU_INTEL_PENTIUM_IV_MODEL_1: 122 118 case B_CPU_INTEL_PENTIUM_IV_MODEL_2: 123 119 case B_CPU_INTEL_PENTIUM_IV_MODEL_3: 124 120 case B_CPU_INTEL_PENTIUM_IV_MODEL_4: 125 121 return "Pentium 4"; 126 case B_CPU_INTEL_PENTIUM_CORE_2_EXTREME:127 return "Core 2 Extreme";128 122 129 123 /* AMD */ 130 124 case B_CPU_AMD_K5_MODEL_0: -
src/system/kernel/arch/x86/arch_system_info.c
115 115 } 116 116 117 117 if (base != B_CPU_x86) 118 model = (cpu->arch.extended_family << 14) + 119 (cpu->arch.extended_model << 10) + (cpu->arch.family << 4) + 120 cpu->arch.model; 118 if (base == B_CPU_INTEL_x86) 119 model = (cpu->arch.extended_family + cpu->arch.family << 8) + 120 (cpu->arch.extended_model << 4) + cpu->arch.model; 121 else 122 model = (cpu->arch.family << 8) + 123 cpu->arch.model; 124 /* There isn't much useful information yet in the extended 125 family and extended model fields of AMD processors 126 and is probably undefined for others */ 121 127 122 128 sCpuRevision = (cpu->arch.extended_family << 18) 123 129 | (cpu->arch.extended_model << 14)