Mercurial > mplayer.hg
annotate cputable.h @ 10740:0b5748047607
sync
author | gabucino |
---|---|
date | Sun, 31 Aug 2003 20:34:14 +0000 |
parents | 164fda5feaa6 |
children | ed0fcc08c988 |
rev | line source |
---|---|
2301 | 1 /* cputable.h - Maps CPUID to real CPU name. |
2 * Copyleft 2001 by Felix Buenemann <atmosfear at users dot sourceforge dot net> | |
3 * This file comes under the GNU GPL, see www.fsf.org for more info! | |
4 */ | |
5 | |
6 #define MAX_VENDORS 8 /* Number of CPU Vendors */ | |
7 | |
8 //#define N_UNKNOWN "unknown" | |
9 //#define N_UNKNOWNEXT "unknown extended model" | |
10 #define N_UNKNOWN "" | |
11 #define N_UNKNOWNEXT "" | |
12 | |
2302 | 13 #define F_UNKNOWN { \ |
2301 | 14 N_UNKNOWN, \ |
15 N_UNKNOWN, \ | |
16 N_UNKNOWN, \ | |
17 N_UNKNOWN, \ | |
18 N_UNKNOWN, \ | |
19 N_UNKNOWN, \ | |
20 N_UNKNOWN, \ | |
21 N_UNKNOWN, \ | |
22 N_UNKNOWN, \ | |
23 N_UNKNOWN, \ | |
24 N_UNKNOWN, \ | |
25 N_UNKNOWN, \ | |
26 N_UNKNOWN, \ | |
27 N_UNKNOWN, \ | |
28 N_UNKNOWN, \ | |
29 N_UNKNOWN \ | |
30 } | |
31 | |
2302 | 32 static const char *cpuname |
2301 | 33 /* Vendor */ [MAX_VENDORS] |
34 /* Family */ [16] | |
35 /* Model */ [16] | |
36 ={ | |
37 /* Intel Corporation, "GenuineIntel" */ { | |
38 /* 0 */ F_UNKNOWN, | |
39 /* 1 */ F_UNKNOWN, | |
40 /* 2 */ F_UNKNOWN, | |
41 /* 3 i386 */ F_UNKNOWN, /* XXX new 386 chips may support CPUID! */ | |
42 /* 4 i486 */ { | |
43 /* 0 */ "i486DX-25/33", /* only few of these */ | |
44 /* 1 */ "i486DX-50", /* support CPUID! */ | |
45 /* 2 */ "i486SX", | |
46 /* 3 */ "i486DX2", /* CPUID only on new chips! */ | |
47 /* 4 */ "i486SL", | |
48 /* 5 */ "i486SX2", | |
49 /* 6 */ N_UNKNOWN, | |
50 /* 7 */ "i486DX2/write-back", /* returns 3 in write-through mode */ | |
51 /* 8 */ "i486DX4", | |
52 /* 9 */ "i486DX4/write-back", | |
53 /* A */ N_UNKNOWN, | |
54 /* B */ N_UNKNOWN, | |
55 /* C */ N_UNKNOWN, | |
56 /* D */ N_UNKNOWN, | |
57 /* E */ N_UNKNOWN, | |
58 /* F */ N_UNKNOWNEXT | |
59 }, | |
60 /* 5 i586 */ { | |
61 /* 0 */ "Pentium P5 A-step", | |
62 /* 1 */ "Pentium P5", | |
63 /* 2 */ "Pentium P54C", | |
64 /* 3 */ "Pentium OverDrive P24T", | |
65 /* 4 */ "Pentium MMX P55C", | |
66 /* 5 */ N_UNKNOWN, /* XXX DX4 OverDrive? */ | |
67 /* 6 */ N_UNKNOWN, /* XXX P5 OverDrive? */ | |
68 /* 7 */ "Pentium P54C (new)", | |
69 /* 8 */ "Pentium MMX P55C (new)", | |
70 /* 9 */ N_UNKNOWN, | |
71 /* A */ N_UNKNOWN, | |
72 /* B */ N_UNKNOWN, | |
73 /* C */ N_UNKNOWN, | |
74 /* D */ N_UNKNOWN, | |
75 /* E */ N_UNKNOWN, | |
76 /* F */ N_UNKNOWNEXT | |
77 }, | |
78 /* 6 i686 */ { | |
79 /* 0 */ "PentiumPro A-step", | |
80 /* 1 */ "PentiumPro", | |
81 /* 2 */ N_UNKNOWN, | |
82 /* 3 */ "Pentium II Klamath/Pentium II OverDrive", | |
83 /* 4 */ N_UNKNOWN, /* XXX P55CT - OverDrive for P54? */ | |
84 /* 5 */ "Celeron Covington/Pentium II Deschutes,Tonga/Pentium II Xeon", | |
85 /* 6 */ "Celeron A Mendocino/Pentium II Dixon", | |
86 /* 7 */ "Pentium III Katmai/Pentium III Xeon Tanner", | |
87 /* 8 */ "Celeron 2/Pentium III Coppermine,Geyserville", | |
88 /* 9 */ N_UNKNOWN, | |
89 /* A */ "Pentium III Xeon Cascades", | |
90 /* B */ "Celeron 2/Pentium III Tualatin", | |
91 /* C */ N_UNKNOWN, | |
92 /* D */ N_UNKNOWN, | |
93 /* E */ N_UNKNOWN, | |
94 /* F */ N_UNKNOWNEXT | |
95 }, | |
96 /* 7 IA-64 */ { /* FIXME */ | |
97 /* 0 */ N_UNKNOWN, | |
98 /* 1 */ N_UNKNOWN, | |
99 /* 2 */ N_UNKNOWN, | |
100 /* 3 */ N_UNKNOWN, | |
101 /* 4 */ N_UNKNOWN, | |
102 /* 5 */ N_UNKNOWN, | |
103 /* 6 */ N_UNKNOWN, | |
104 /* 7 */ N_UNKNOWN, | |
105 /* 8 */ N_UNKNOWN, | |
106 /* 9 */ N_UNKNOWN, | |
107 /* A */ N_UNKNOWN, | |
108 /* B */ N_UNKNOWN, | |
109 /* C */ N_UNKNOWN, | |
110 /* D */ N_UNKNOWN, | |
111 /* E */ N_UNKNOWN, | |
112 /* F */ N_UNKNOWNEXT | |
113 }, | |
114 /* 8 */ F_UNKNOWN, | |
115 /* 9 */ F_UNKNOWN, | |
116 /* A */ F_UNKNOWN, | |
117 /* B */ F_UNKNOWN, | |
118 /* C */ F_UNKNOWN, | |
119 /* D */ F_UNKNOWN, | |
120 /* E */ F_UNKNOWN, | |
121 /* F extended family (P4/new IA-64)*/ { | |
122 /* 0 */ "Pentium 4 Willamette", | |
123 /* 1 */ "Pentium 4 Xeon Foster", /*?*/ | |
10690
164fda5feaa6
Add P4 Northwood. (Roman Shiryaev <mih_val@mail.ru>; See <200308250434.38516.mih_val@mail.ru> in mplayer-users)
ranma
parents:
2302
diff
changeset
|
124 /* 2 */ "Pentium 4 Northwood", |
2301 | 125 /* 3 */ N_UNKNOWN, |
126 /* 4 */ N_UNKNOWN, | |
127 /* 5 */ N_UNKNOWN, | |
128 /* 6 */ N_UNKNOWN, | |
129 /* 7 */ N_UNKNOWN, | |
130 /* 8 */ N_UNKNOWN, | |
131 /* 9 */ N_UNKNOWN, | |
132 /* A */ N_UNKNOWN, | |
133 /* B */ N_UNKNOWN, | |
134 /* C */ N_UNKNOWN, | |
135 /* D */ N_UNKNOWN, | |
136 /* E */ N_UNKNOWN, | |
137 /* F */ N_UNKNOWNEXT | |
138 } | |
139 }, | |
140 /* United Microelectronics Corporation, "UMC UMC UMC " */ { | |
141 /* 0 */ F_UNKNOWN, | |
142 /* 1 */ F_UNKNOWN, | |
143 /* 2 */ F_UNKNOWN, | |
144 /* 3 */ F_UNKNOWN, | |
145 /* 4 486 (U5) */ { | |
146 /* 0 */ N_UNKNOWN, | |
147 /* 1 */ "486DX U5D", | |
148 /* 2 */ "486SX U5S", | |
149 /* 3 */ N_UNKNOWN, | |
150 /* 4 */ N_UNKNOWN, | |
151 /* 5 */ N_UNKNOWN, | |
152 /* 6 */ N_UNKNOWN, | |
153 /* 7 */ N_UNKNOWN, | |
154 /* 8 */ N_UNKNOWN, | |
155 /* 9 */ N_UNKNOWN, | |
156 /* A */ N_UNKNOWN, | |
157 /* B */ N_UNKNOWN, | |
158 /* C */ N_UNKNOWN, | |
159 /* D */ N_UNKNOWN, | |
160 /* E */ N_UNKNOWN, | |
161 /* F */ N_UNKNOWN | |
162 }, | |
163 /* 5 */ F_UNKNOWN, | |
164 /* 6 */ F_UNKNOWN, | |
165 /* 7 */ F_UNKNOWN, | |
166 /* 8 */ F_UNKNOWN, | |
167 /* 9 */ F_UNKNOWN, | |
168 /* A */ F_UNKNOWN, | |
169 /* B */ F_UNKNOWN, | |
170 /* C */ F_UNKNOWN, | |
171 /* D */ F_UNKNOWN, | |
172 /* E */ F_UNKNOWN, | |
173 /* F */ F_UNKNOWN | |
174 }, | |
175 /* Advanced Micro Devices, "AuthenticAMD" (very rare: "AMD ISBETTER") */ { | |
176 /* 0 */ F_UNKNOWN, | |
177 /* 1 */ F_UNKNOWN, | |
178 /* 2 */ F_UNKNOWN, | |
179 /* 3 */ F_UNKNOWN, | |
180 /* 4 486/5x86 */ { | |
181 /* 0 */ N_UNKNOWN, | |
182 /* 1 */ N_UNKNOWN, | |
183 /* 2 */ N_UNKNOWN, | |
184 /* 3 */ "486DX2", | |
185 /* 4 */ N_UNKNOWN, | |
186 /* 5 */ N_UNKNOWN, | |
187 /* 6 */ N_UNKNOWN, | |
188 /* 7 */ "486DX2/write-back", | |
189 /* 8 */ "486DX4/5x86", | |
190 /* 9 */ "486DX4/write-back", | |
191 /* A */ N_UNKNOWN, | |
192 /* B */ N_UNKNOWN, | |
193 /* C */ N_UNKNOWN, | |
194 /* D */ N_UNKNOWN, | |
195 /* E */ "5x86", | |
196 /* F */ "5x86/write-back" | |
197 }, | |
198 /* 5 K5/K6 */ { | |
199 /* 0 */ "K5 SSA5 (PR75,PR90,PR100)", | |
200 /* 1 */ "K5 5k86 (PR120,PR133)", | |
201 /* 2 */ "K5 5k86 (PR166)", | |
202 /* 3 */ "K5 5k86 (PR200)", | |
203 /* 4 */ N_UNKNOWN, | |
204 /* 5 */ N_UNKNOWN, | |
205 /* 6 */ "K6", | |
206 /* 7 */ "K6 Little Foot", | |
207 /* 8 */ "K6-2", | |
208 /* 9 */ "K6-III Chomper", | |
209 /* A */ N_UNKNOWN, | |
210 /* B */ N_UNKNOWN, | |
211 /* C */ N_UNKNOWN, | |
212 /* D */ "K6-2+/K6-III+ Sharptooth", | |
213 /* E */ N_UNKNOWN, | |
214 /* F */ N_UNKNOWN | |
215 }, | |
216 /* 6 K7 */ { | |
217 /* 0 */ N_UNKNOWN, /* Argon? */ | |
218 /* 1 */ "Athlon K7", | |
219 /* 2 */ "Athlon K75 Pluto,Orion", | |
220 /* 3 */ "Duron SF Spitfire", | |
221 /* 4 */ "Athlon TB Thunderbird", | |
222 /* 5 */ N_UNKNOWN, | |
223 /* 6 */ "Athlon 4 PM Palomino/Athlon MP Multiprocessor/Athlon XP eXtreme Performance", | |
224 /* 7 */ "Duron MG Morgan", | |
225 /* 8 */ N_UNKNOWN, | |
226 /* 9 */ N_UNKNOWN, | |
227 /* A */ N_UNKNOWN, | |
228 /* B */ N_UNKNOWN, | |
229 /* E */ N_UNKNOWN, | |
230 /* C */ N_UNKNOWN, | |
231 /* D */ N_UNKNOWN, | |
232 /* F */ N_UNKNOWN | |
233 }, | |
234 /* 7 */ F_UNKNOWN, | |
235 /* 8 */ F_UNKNOWN, | |
236 /* 9 */ F_UNKNOWN, | |
237 /* A */ F_UNKNOWN, | |
238 /* B */ F_UNKNOWN, | |
239 /* C */ F_UNKNOWN, | |
240 /* D */ F_UNKNOWN, | |
241 /* E */ F_UNKNOWN, | |
242 /* F */ F_UNKNOWN | |
243 }, | |
244 /* Cyrix Corp./VIA Inc., "CyrixInstead" */ { | |
245 /* 0 */ F_UNKNOWN, | |
246 /* 1 */ F_UNKNOWN, | |
247 /* 2 */ F_UNKNOWN, | |
248 /* 3 */ F_UNKNOWN, | |
249 /* 4 5x86 */ { | |
250 /* 0 */ N_UNKNOWN, | |
251 /* 1 */ N_UNKNOWN, | |
252 /* 2 */ N_UNKNOWN, | |
253 /* 3 */ N_UNKNOWN, | |
254 /* 4 */ "MediaGX", | |
255 /* 5 */ N_UNKNOWN, | |
256 /* 6 */ N_UNKNOWN, | |
257 /* 7 */ N_UNKNOWN, | |
258 /* 8 */ N_UNKNOWN, | |
259 /* 9 */ "5x86", /* CPUID maybe only on newer chips */ | |
260 /* A */ N_UNKNOWN, | |
261 /* B */ N_UNKNOWN, | |
262 /* E */ N_UNKNOWN, | |
263 /* C */ N_UNKNOWN, | |
264 /* D */ N_UNKNOWN, | |
265 /* F */ N_UNKNOWN | |
266 }, | |
267 /* 5 M1 */ { | |
268 /* 0 */ "M1 test-sample", /*?*/ | |
269 /* 1 */ N_UNKNOWN, | |
270 /* 2 */ "6x86 M1", | |
271 /* 3 */ N_UNKNOWN, | |
272 /* 4 */ "GXm", | |
273 /* 5 */ N_UNKNOWN, | |
274 /* 6 */ N_UNKNOWN, | |
275 /* 7 */ N_UNKNOWN, | |
276 /* 8 */ N_UNKNOWN, | |
277 /* 9 */ N_UNKNOWN, | |
278 /* A */ N_UNKNOWN, | |
279 /* B */ N_UNKNOWN, | |
280 /* E */ N_UNKNOWN, | |
281 /* C */ N_UNKNOWN, | |
282 /* D */ N_UNKNOWN, | |
283 /* F */ N_UNKNOWN | |
284 }, | |
285 /* 6 M2 */ { | |
286 /* 0 */ "6x86MX M2/M-II", | |
287 /* 1 */ N_UNKNOWN, | |
288 /* 2 */ N_UNKNOWN, | |
289 /* 3 */ N_UNKNOWN, | |
290 /* 4 */ N_UNKNOWN, | |
291 /* 5 */ "Cyrix III Joshua (M2 core)", | |
292 /* 6 */ "Cyrix III Samuel (WinChip C5A core)", | |
293 /* 7 */ "C3 Samuel 2 (WinChip C5B core)", | |
294 /* 8 */ N_UNKNOWN, /* XXX Samuel 3/Ezra? */ | |
295 /* 9 */ N_UNKNOWN, | |
296 /* A */ N_UNKNOWN, | |
297 /* B */ N_UNKNOWN, | |
298 /* E */ N_UNKNOWN, | |
299 /* C */ N_UNKNOWN, | |
300 /* D */ N_UNKNOWN, | |
301 /* F */ N_UNKNOWN | |
302 }, | |
303 /* 7 */ F_UNKNOWN, | |
304 /* 8 */ F_UNKNOWN, | |
305 /* 9 */ F_UNKNOWN, | |
306 /* A */ F_UNKNOWN, | |
307 /* B */ F_UNKNOWN, | |
308 /* C */ F_UNKNOWN, | |
309 /* D */ F_UNKNOWN, | |
310 /* E */ F_UNKNOWN, | |
311 /* F */ F_UNKNOWN | |
312 }, | |
313 /* NexGen Inc., "NexGenDriven" */ { | |
314 /* 0 */ F_UNKNOWN, | |
315 /* 1 */ F_UNKNOWN, | |
316 /* 2 */ F_UNKNOWN, | |
317 /* 3 */ F_UNKNOWN, | |
318 /* 4 */ F_UNKNOWN, | |
319 /* 5 Nx586 */ { | |
320 /* 0 */ "Nx586/Nx586FPU", /* only newer ones support CPUID! */ | |
321 /* 1 */ N_UNKNOWN, | |
322 /* 2 */ N_UNKNOWN, | |
323 /* 3 */ N_UNKNOWN, | |
324 /* 4 */ N_UNKNOWN, | |
325 /* 5 */ N_UNKNOWN, | |
326 /* 6 */ N_UNKNOWN, | |
327 /* 7 */ N_UNKNOWN, | |
328 /* 8 */ N_UNKNOWN, | |
329 /* 9 */ N_UNKNOWN, | |
330 /* A */ N_UNKNOWN, | |
331 /* B */ N_UNKNOWN, | |
332 /* E */ N_UNKNOWN, | |
333 /* C */ N_UNKNOWN, | |
334 /* D */ N_UNKNOWN, | |
335 /* F */ N_UNKNOWN | |
336 }, | |
337 /* 6 */ F_UNKNOWN, | |
338 /* 7 */ F_UNKNOWN, | |
339 /* 8 */ F_UNKNOWN, | |
340 /* 9 */ F_UNKNOWN, | |
341 /* A */ F_UNKNOWN, | |
342 /* B */ F_UNKNOWN, | |
343 /* C */ F_UNKNOWN, | |
344 /* D */ F_UNKNOWN, | |
345 /* E */ F_UNKNOWN, | |
346 /* F */ F_UNKNOWN | |
347 }, | |
348 /* IDT/Centaur/VIA, "CentaurHauls" */ { | |
349 /* 0 */ F_UNKNOWN, | |
350 /* 1 */ F_UNKNOWN, | |
351 /* 2 */ F_UNKNOWN, | |
352 /* 3 */ F_UNKNOWN, | |
353 /* 4 */ F_UNKNOWN, | |
354 /* 5 IDT C6 WinChip */ { | |
355 /* 0 */ N_UNKNOWN, | |
356 /* 1 */ N_UNKNOWN, | |
357 /* 2 */ N_UNKNOWN, | |
358 /* 3 */ N_UNKNOWN, | |
359 /* 4 */ "WinChip C6", | |
360 /* 5 */ N_UNKNOWN, | |
361 /* 6 */ "Samuel", | |
362 /* 7 */ N_UNKNOWN, | |
363 /* 8 */ "WinChip 2 C6+,W2,W2A,W2B", | |
364 /* 9 */ "WinChip 3 W3", | |
365 /* A */ N_UNKNOWN, | |
366 /* B */ N_UNKNOWN, | |
367 /* E */ N_UNKNOWN, | |
368 /* C */ N_UNKNOWN, | |
369 /* D */ N_UNKNOWN, | |
370 /* F */ N_UNKNOWN | |
371 | |
372 }, | |
373 /* 6 */ F_UNKNOWN, | |
374 /* 7 */ F_UNKNOWN, | |
375 /* 8 */ F_UNKNOWN, | |
376 /* 9 */ F_UNKNOWN, | |
377 /* A */ F_UNKNOWN, | |
378 /* B */ F_UNKNOWN, | |
379 /* C */ F_UNKNOWN, | |
380 /* D */ F_UNKNOWN, | |
381 /* E */ F_UNKNOWN, | |
382 /* F */ F_UNKNOWN | |
383 }, | |
384 /* Rise, "RiseRiseRise" */ { | |
385 /* 0 */ F_UNKNOWN, | |
386 /* 1 */ F_UNKNOWN, | |
387 /* 2 */ F_UNKNOWN, | |
388 /* 3 */ F_UNKNOWN, | |
389 /* 4 */ F_UNKNOWN, | |
390 /* 5 mP6 */ { | |
391 /* 0 */ "mP6 iDragon 6401,6441 Kirin", | |
392 /* 1 */ "mP6 iDragon 6510 Lynx", | |
393 /* 2 */ N_UNKNOWN, | |
394 /* 3 */ N_UNKNOWN, | |
395 /* 4 */ N_UNKNOWN, | |
396 /* 5 */ N_UNKNOWN, | |
397 /* 6 */ N_UNKNOWN, | |
398 /* 7 */ N_UNKNOWN, | |
399 /* 8 */ "mP6 iDragon II", | |
400 /* 9 */ "mP6 iDragon II (new)", | |
401 /* A */ N_UNKNOWN, | |
402 /* B */ N_UNKNOWN, | |
403 /* E */ N_UNKNOWN, | |
404 /* C */ N_UNKNOWN, | |
405 /* D */ N_UNKNOWN, | |
406 /* F */ N_UNKNOWN | |
407 }, | |
408 /* 6 */ F_UNKNOWN, | |
409 /* 7 */ F_UNKNOWN, | |
410 /* 8 */ F_UNKNOWN, | |
411 /* 9 */ F_UNKNOWN, | |
412 /* A */ F_UNKNOWN, | |
413 /* B */ F_UNKNOWN, | |
414 /* C */ F_UNKNOWN, | |
415 /* D */ F_UNKNOWN, | |
416 /* E */ F_UNKNOWN, | |
417 /* F */ F_UNKNOWN | |
418 }, | |
419 /* Transmeta, "GenuineTMx86" */ { | |
420 /* 0 */ F_UNKNOWN, | |
421 /* 1 */ F_UNKNOWN, | |
422 /* 2 */ F_UNKNOWN, | |
423 /* 3 */ F_UNKNOWN, | |
424 /* 4 */ F_UNKNOWN, | |
425 /* 5 Crusoe */ { | |
426 /* 0 */ N_UNKNOWN, | |
427 /* 1 */ N_UNKNOWN, | |
428 /* 2 */ N_UNKNOWN, | |
429 /* 3 */ N_UNKNOWN, | |
430 /* 4 */ "Crusoe TM3x00,TM5x00", | |
431 /* 5 */ N_UNKNOWN, | |
432 /* 6 */ N_UNKNOWN, | |
433 /* 7 */ N_UNKNOWN, | |
434 /* 8 */ N_UNKNOWN, | |
435 /* 9 */ N_UNKNOWN, | |
436 /* A */ N_UNKNOWN, | |
437 /* B */ N_UNKNOWN, | |
438 /* E */ N_UNKNOWN, | |
439 /* C */ N_UNKNOWN, | |
440 /* D */ N_UNKNOWN, | |
441 /* F */ N_UNKNOWN | |
442 }, | |
443 /* 6 */ F_UNKNOWN, | |
444 /* 7 */ F_UNKNOWN, | |
445 /* 8 */ F_UNKNOWN, | |
446 /* 9 */ F_UNKNOWN, | |
447 /* A */ F_UNKNOWN, | |
448 /* B */ F_UNKNOWN, | |
449 /* C */ F_UNKNOWN, | |
450 /* D */ F_UNKNOWN, | |
451 /* E */ F_UNKNOWN, | |
452 /* F */ F_UNKNOWN | |
453 } | |
454 }; | |
455 | |
456 #undef N_UNKNOWNEXT | |
457 #undef N_UNKNOWN | |
458 #undef F_UNKNOWN | |
459 | |
460 static const struct { | |
461 char string[13]; | |
462 char name[48]; | |
463 } cpuvendors[MAX_VENDORS] ={ | |
464 {"GenuineIntel","Intel"}, | |
465 {"UMC UMC UMC ","United Microelectronics Corporation"}, | |
466 {"AuthenticAMD","Advanced Micro Devices"}, | |
467 {"CyrixInstead","Cyrix/VIA"}, | |
468 {"NexGenDriven","NexGen"}, | |
469 {"CentaurHauls","IDT/Centaur/VIA"}, | |
470 {"RiseRiseRise","Rise"}, | |
471 {"GenuineTMx86","Transmeta"} | |
472 }; | |
473 |