From 5258e67dff4b6c5272ebb54b4341c09f219d0fce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Duval?= Date: Sun, 17 Apr 2005 22:46:08 +0000 Subject: [PATCH] Courtesy of Olivier Coursiere (aka oco), based on documentation (feel free to check against real hardware) Adds latests IDs from Intel docs Adds some Sempron IDs Renamed Athlon 64 to be consistent with Intel names Adds IDs in cpu_type.h git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12429 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- headers/os/kernel/OS.h | 45 +++++++++++++++++++++---------- headers/private/shared/cpu_type.h | 23 +++++++++------- 2 files changed, 44 insertions(+), 24 deletions(-) diff --git a/headers/os/kernel/OS.h b/headers/os/kernel/OS.h index 575d4f601e..48543940c4 100644 --- a/headers/os/kernel/OS.h +++ b/headers/os/kernel/OS.h @@ -406,6 +406,11 @@ typedef enum cpu_types { B_CPU_PPC_686 = 13, /* Intel */ + + /* Updated according to Intel(R) Processor Identification and + * the CPUID instruction (Table 4) + * AP-485 Intel - 24161828.pdf + */ B_CPU_INTEL_x86 = 0x1000, B_CPU_INTEL_PENTIUM = 0x1051, B_CPU_INTEL_PENTIUM75, @@ -422,13 +427,21 @@ typedef enum cpu_types { B_CPU_INTEL_PENTIUM_III = 0x1067, B_CPU_INTEL_PENTIUM_III_MODEL_8 = 0x1068, B_CPU_INTEL_PENTIUM_M = 0x1069, + B_CPU_INTEL_PENTIUM_III_XEON = 0x106a, B_CPU_INTEL_PENTIUM_III_MODEL_11 = 0x106b, + B_CPU_INTEL_PENTIUM_M_MODEL_13 = 0x106d, /* Dothan */ B_CPU_INTEL_PENTIUM_IV = 0x10f0, B_CPU_INTEL_PENTIUM_IV_MODEL_1, B_CPU_INTEL_PENTIUM_IV_MODEL_2, - B_CPU_INTEL_PENTIUM_IV_XEON = 0x0f27, + B_CPU_INTEL_PENTIUM_IV_MODEL_3, + B_CPU_INTEL_PENTIUM_IV_MODEL_4, /* AMD */ + + /* Checked with "AMD Processor Recognition Application Note" + * (Table 3) + * 20734.pdf + */ B_CPU_AMD_x86 = 0x1100, B_CPU_AMD_K5_MODEL_0 = 0x1150, B_CPU_AMD_K5_MODEL_1, @@ -440,7 +453,7 @@ typedef enum cpu_types { B_CPU_AMD_K6_2 = 0x1158, B_CPU_AMD_K6_MODEL_9 = 0x1159, B_CPU_AMD_K6_III = 0x1159, - B_CPU_AMD_K6_III_MODEL_2 = 0x115d, + B_CPU_AMD_K6_III_MODEL_13 = 0x115d, B_CPU_AMD_ATHLON_MODEL_1 = 0x1161, B_CPU_AMD_ATHLON_MODEL_2 = 0x1162, @@ -449,22 +462,26 @@ typedef enum cpu_types { B_CPU_AMD_ATHLON_THUNDERBIRD = 0x1164, B_CPU_AMD_ATHLON_XP = 0x1166, - B_CPU_AMD_ATHLON_XP_MODEL_2, - B_CPU_AMD_ATHLON_XP_MODEL_3, - B_CPU_AMD_ATHLON_XP_MODEL_BARTON = 0x116a, - + B_CPU_AMD_ATHLON_XP_MODEL_7, + B_CPU_AMD_ATHLON_XP_MODEL_8, + B_CPU_AMD_ATHLON_XP_MODEL_10 = 0x116a, /* Barton */ + + B_CPU_AMD_SEMPRON_MODEL_8 = B_CPU_AMD_ATHLON_XP_MODEL_8, + B_CPU_AMD_SEMPRON_MODEL_10 = B_CPU_AMD_ATHLON_XP_MODEL_10, + /* According to "Revision guide for AMD Athlon 64 * and AMD Opteron Processors" (25759.pdf) */ - B_CPU_AMD_ATHLON_64 = 0x11f4, - B_CPU_AMD_OPTERON = 0x11f5, - B_CPU_AMD_ATHLON_64_FX = B_CPU_AMD_OPTERON, - B_CPU_AMD_ATHLON_64_MODEL_2 = 0x11f7, - B_CPU_AMD_ATHLON_64_MODEL_3, - B_CPU_AMD_ATHLON_64_MODEL_4 = 0x11fb, + B_CPU_AMD_ATHLON_64_MODEL_4 = 0x11f4, B_CPU_AMD_ATHLON_64_MODEL_5, - B_CPU_AMD_ATHLON_64_MODEL_6 = 0x11fe, - B_CPU_AMD_ATHLON_64_MODEL_7, + B_CPU_AMD_OPTERON = B_CPU_AMD_ATHLON_64_MODEL_5, + B_CPU_AMD_ATHLON_64_FX = B_CPU_AMD_ATHLON_64_MODEL_5, + B_CPU_AMD_ATHLON_64_MODEL_7 = 0x11f7, + B_CPU_AMD_ATHLON_64_MODEL_8, + B_CPU_AMD_ATHLON_64_MODEL_11 = 0x11fb, + B_CPU_AMD_ATHLON_64_MODEL_12, + B_CPU_AMD_ATHLON_64_MODEL_14 = 0x11fe, + B_CPU_AMD_ATHLON_64_MODEL_15, /* VIA/Cyrix */ B_CPU_CYRIX_x86 = 0x1200, diff --git a/headers/private/shared/cpu_type.h b/headers/private/shared/cpu_type.h index 61b0c44d3c..3a14e6a42b 100644 --- a/headers/private/shared/cpu_type.h +++ b/headers/private/shared/cpu_type.h @@ -94,13 +94,16 @@ get_cpu_model_string(enum cpu_types type) case B_CPU_INTEL_PENTIUM_III: case B_CPU_INTEL_PENTIUM_III_MODEL_8: case B_CPU_INTEL_PENTIUM_III_MODEL_11: + case B_CPU_INTEL_PENTIUM_III_XEON: return "Pentium III"; case B_CPU_INTEL_PENTIUM_M: + case B_CPU_INTEL_PENTIUM_M_MODEL_13: return "Pentium M"; case B_CPU_INTEL_PENTIUM_IV: case B_CPU_INTEL_PENTIUM_IV_MODEL_1: case B_CPU_INTEL_PENTIUM_IV_MODEL_2: - case B_CPU_INTEL_PENTIUM_IV_XEON: + case B_CPU_INTEL_PENTIUM_IV_MODEL_3: + case B_CPU_INTEL_PENTIUM_IV_MODEL_4: return "Pentium 4"; /* AMD */ @@ -115,26 +118,26 @@ get_cpu_model_string(enum cpu_types type) case B_CPU_AMD_K6_2: return "K6-2"; case B_CPU_AMD_K6_III: - case B_CPU_AMD_K6_III_MODEL_2: + case B_CPU_AMD_K6_III_MODEL_13: return "K6-III"; case B_CPU_AMD_ATHLON_MODEL_1: case B_CPU_AMD_ATHLON_MODEL_2: case B_CPU_AMD_ATHLON_THUNDERBIRD: return "Athlon"; case B_CPU_AMD_ATHLON_XP: - case B_CPU_AMD_ATHLON_XP_MODEL_2: - case B_CPU_AMD_ATHLON_XP_MODEL_3: - case B_CPU_AMD_ATHLON_XP_MODEL_BARTON: + case B_CPU_AMD_ATHLON_XP_MODEL_7: + case B_CPU_AMD_ATHLON_XP_MODEL_8: + case B_CPU_AMD_ATHLON_XP_MODEL_10: return "Athlon XP"; case B_CPU_AMD_DURON: return "Duron"; - case B_CPU_AMD_ATHLON_64: - case B_CPU_AMD_ATHLON_64_MODEL_2: - case B_CPU_AMD_ATHLON_64_MODEL_3: case B_CPU_AMD_ATHLON_64_MODEL_4: - case B_CPU_AMD_ATHLON_64_MODEL_5: - case B_CPU_AMD_ATHLON_64_MODEL_6: case B_CPU_AMD_ATHLON_64_MODEL_7: + case B_CPU_AMD_ATHLON_64_MODEL_8: + case B_CPU_AMD_ATHLON_64_MODEL_11: + case B_CPU_AMD_ATHLON_64_MODEL_12: + case B_CPU_AMD_ATHLON_64_MODEL_14: + case B_CPU_AMD_ATHLON_64_MODEL_15: return "Athlon 64"; case B_CPU_AMD_OPTERON: return "Opteron";