2 * Map CPUID to real CPU name.
3 * Family F codenames owe much thanks to Neil Phillips, author of x86test.
5 * Copyright (C) 2001 Felix Buenemann <atmosfear at users.sourceforge.net>
7 * This file is part of MPlayer.
9 * MPlayer is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License as published by
11 * the Free Software Foundation; either version 2 of the License, or
12 * (at your option) any later version.
14 * MPlayer is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 * GNU General Public License for more details.
19 * You should have received a copy of the GNU General Public License along
20 * with MPlayer; if not, write to the Free Software Foundation, Inc.,
21 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
24 #ifndef MPLAYER_CPUTABLE_H
25 #define MPLAYER_CPUTABLE_H
27 #define MAX_VENDORS 8 /* Number of CPU Vendors */
29 //#define N_UNKNOWN "unknown"
30 //#define N_UNKNOWNEXT "unknown extended model"
32 #define N_UNKNOWNEXT ""
53 static const char *cpuname
54 /* Vendor */ [MAX_VENDORS
]
58 /* Intel Corporation, "GenuineIntel" */ {
62 /* 3 i386 */ F_UNKNOWN
, /* XXX new 386 chips may support CPUID! */
64 /* 0 */ "i486DX-25/33", /* only few of these */
65 /* 1 */ "i486DX-50", /* support CPUID! */
67 /* 3 */ "i486DX2", /* CPUID only on new chips! */
71 /* 7 */ "i486DX2/write-back", /* returns 3 in write-through mode */
73 /* 9 */ "i486DX4/write-back",
82 /* 0 */ "Pentium P5 A-step",
84 /* 2 */ "Pentium P54C",
85 /* 3 */ "Pentium OverDrive P24T",
86 /* 4 */ "Pentium MMX P55C",
87 /* 5 */ N_UNKNOWN
, /* XXX DX4 OverDrive? */
88 /* 6 */ N_UNKNOWN
, /* XXX P5 OverDrive? */
89 /* 7 */ "Pentium P54C (new)",
90 /* 8 */ "Pentium MMX P55C (new)",
100 /* 0 */ "PentiumPro A-step",
101 /* 1 */ "PentiumPro",
103 /* 3 */ "Pentium II Klamath/Pentium II OverDrive",
104 /* 4 */ N_UNKNOWN
, /* XXX P55CT - OverDrive for P54? */
105 /* 5 */ "Celeron Covington/Pentium II Deschutes,Tonga/Pentium II Xeon",
106 /* 6 */ "Celeron A Mendocino/Pentium II Dixon",
107 /* 7 */ "Pentium III Katmai/Pentium III Xeon Tanner",
108 /* 8 */ "Celeron 2/Pentium III Coppermine,Geyserville",
109 /* 9 */ "Pentium M Banias", /* XXX check */
110 /* A */ "Pentium III Xeon Cascades",
111 /* B */ "Celeron 2/Pentium III Tualatin",
113 /* D */ "Pentium M Dothan",
117 /* 7 Itanium */ { /* XXX check */
118 /* 0 */ "Itanium Merced",
142 /* F extended family (P4/new IA-64)*/ {
143 /* 0 */ "Pentium 4 Willamette; Xeon Foster",
144 /* 1 */ "Pentium 4 Willamette; Xeon Foster",
145 /* 2 */ "Pentium 4/Celeron 4 Northwood; Pentium 4 EE/Xeon Prestonia,Gallatin",
146 /* 3 */ "Pentium 4/Celeron D Prescott; Xeon Nocona",
147 /* 4 */ "Pentium 4/Celeron D Prescott; Pentium D/XE Smithfield; Xeon Nocona,Irwindale",
160 #if 0 /* out of table index boundaries */
161 /* 1F Itanium 2 */ { /* XXX check */
162 /* 0 */ "Itanium 2 McKinley",
163 /* 1 */ "Itanium 2 Madison", /* I coded on that :-) */
181 /* United Microelectronics Corporation, "UMC UMC UMC " */ {
216 /* Advanced Micro Devices, "AuthenticAMD" (very rare: "AMD ISBETTER") */ {
229 /* 7 */ "486DX2/write-back",
230 /* 8 */ "486DX4/5x86",
231 /* 9 */ "486DX4/write-back",
237 /* F */ "5x86/write-back"
240 /* 0 */ "K5 SSA5 (PR75,PR90,PR100)",
241 /* 1 */ "K5 5k86 (PR120,PR133)",
242 /* 2 */ "K5 5k86 (PR166)",
243 /* 3 */ "K5 5k86 (PR200)",
247 /* 7 */ "K6 Little Foot",
249 /* 9 */ "K6-III Chomper",
253 /* D */ "K6-2+/K6-III+ Sharptooth",
258 /* 0 */ N_UNKNOWN
, /* Argon? */
260 /* 2 */ "Athlon K75 Pluto,Orion",
261 /* 3 */ "Duron Spitfire",
262 /* 4 */ "Athlon Thunderbird",
264 /* 6 */ "Duron/Athlon 4/MP/XP Palomino",
265 /* 7 */ "Duron Morgan,Camaro",
266 /* 8 */ "Sempron/Athlon MP/XP Thoroughbred; Duron Applebred",
268 /* A */ "Sempron/Athlon MP/XP/XP-M Barton,Thorton",
285 /* 1 */ "Opteron Egypt,Italy,Denmark",
287 /* 3 */ "Athlon 64 X2 Manchester,Toledo",
288 /* 4 */ "Athlon 64 Clawhammer; Athlon 64 X2 Toledo; Turion Newark,Lancaster",
289 /* 5 */ "Athlon 64 FX/Opteron Sledgehammer,Athens,Troy,Venus",
291 /* 7 */ "Athlon 64/FX Sledgehammer,San Diego,Venice",
292 /* 8 */ "Mobile Athlon 64 Newcastle; Mobile Sempron Dublin",
295 /* B */ "Athlon 64 Newcastle; Athlon 64 X2 Manchester",
297 /* C */ "Athlon 64 Newcastle,Odesssa,Oakville,Venice; Sempron Palermo,Paris,Dublin",
299 /* F */ "Athlon 64 Newcastle,Winchester,San Diego,Venice; Sempron Palermo"
303 /* Cyrix Corp./VIA Inc., "CyrixInstead" */ {
318 /* 9 */ "5x86", /* CPUID maybe only on newer chips */
327 /* 0 */ "M1 test-sample", /*?*/
345 /* 0 */ "6x86MX M2/M-II",
350 /* 5 */ "Cyrix III Joshua (M2 core)",
372 /* NexGen Inc., "NexGenDriven" */ {
379 /* 0 */ "Nx586/Nx586FPU", /* only newer ones support CPUID! */
407 /* IDT/Centaur/VIA, "CentaurHauls" */ {
413 /* 5 IDT C6 WinChip */ {
418 /* 4 */ "WinChip C6",
422 /* 8 */ "WinChip 2 C6+,W2,W2A,W2B",
423 /* 9 */ "WinChip 3 W3",
424 /* A */ "WinChip 4 W4A", /* XXX check */
438 /* 6 */ "Cyrix III Samuel (WinChip C5A core)",
439 /* 7 */ "C3 Samuel 2 (WinChip C5B core)/C3 Ezra",
441 /* 9 */ "C3 Nehemiah",
459 /* Rise, "RiseRiseRise" */ {
466 /* 0 */ "mP6 iDragon 6401,6441 Kirin",
467 /* 1 */ "mP6 iDragon 6510 Lynx",
474 /* 8 */ "mP6 iDragon II",
475 /* 9 */ "mP6 iDragon II (new)",
494 /* Transmeta, "GenuineTMx86" */ {
505 /* 4 */ "Crusoe TM3x00,TM5x00",
535 static const struct {
538 } cpuvendors
[MAX_VENDORS
] ={
539 {"GenuineIntel","Intel"},
540 {"UMC UMC UMC ","United Microelectronics Corporation"},
541 {"AuthenticAMD","Advanced Micro Devices"},
542 {"CyrixInstead","Cyrix/VIA"},
543 {"NexGenDriven","NexGen"},
544 {"CentaurHauls","IDT/Centaur/VIA"},
545 {"RiseRiseRise","Rise"},
546 {"GenuineTMx86","Transmeta"}
549 #endif /* MPLAYER_CPUTABLE_H */