Merge ../linux-2.6
[linux-2.6-block.git] / arch / powerpc / kernel / cputable.c
CommitLineData
1da177e4 1/*
1da177e4
LT
2 * Copyright (C) 2001 Ben. Herrenschmidt (benh@kernel.crashing.org)
3 *
4920960f
SR
4 * Modifications for ppc64:
5 * Copyright (C) 2003 Dave Engebretsen <engebret@us.ibm.com>
6 *
1da177e4
LT
7 * This program is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU General Public License
9 * as published by the Free Software Foundation; either version
10 * 2 of the License, or (at your option) any later version.
11 */
12
13#include <linux/config.h>
14#include <linux/string.h>
15#include <linux/sched.h>
16#include <linux/threads.h>
17#include <linux/init.h>
400d2212
KG
18#include <linux/module.h>
19
20#include <asm/oprofile_impl.h>
1da177e4
LT
21#include <asm/cputable.h>
22
400d2212 23struct cpu_spec* cur_cpu_spec = NULL;
4920960f 24EXPORT_SYMBOL(cur_cpu_spec);
1da177e4 25
4920960f
SR
26/* NOTE:
27 * Unlike ppc32, ppc64 will only call this once for the boot CPU, it's
28 * the responsibility of the appropriate CPU save/restore functions to
29 * eventually copy these settings over. Those save/restore aren't yet
30 * part of the cputable though. That has to be fixed for both ppc32
31 * and ppc64
32 */
33#ifdef CONFIG_PPC64
34extern void __setup_cpu_power3(unsigned long offset, struct cpu_spec* spec);
35extern void __setup_cpu_power4(unsigned long offset, struct cpu_spec* spec);
36extern void __setup_cpu_be(unsigned long offset, struct cpu_spec* spec);
37#else
400d2212
KG
38extern void __setup_cpu_603(unsigned long offset, struct cpu_spec* spec);
39extern void __setup_cpu_604(unsigned long offset, struct cpu_spec* spec);
40extern void __setup_cpu_750(unsigned long offset, struct cpu_spec* spec);
41extern void __setup_cpu_750cx(unsigned long offset, struct cpu_spec* spec);
42extern void __setup_cpu_750fx(unsigned long offset, struct cpu_spec* spec);
43extern void __setup_cpu_7400(unsigned long offset, struct cpu_spec* spec);
44extern void __setup_cpu_7410(unsigned long offset, struct cpu_spec* spec);
45extern void __setup_cpu_745x(unsigned long offset, struct cpu_spec* spec);
4920960f 46#endif /* CONFIG_PPC32 */
400d2212 47extern void __setup_cpu_ppc970(unsigned long offset, struct cpu_spec* spec);
1da177e4 48
1da177e4
LT
49/* This table only contains "desktop" CPUs, it need to be filled with embedded
50 * ones as well...
51 */
4920960f
SR
52#define COMMON_USER (PPC_FEATURE_32 | PPC_FEATURE_HAS_FPU | \
53 PPC_FEATURE_HAS_MMU)
54#define COMMON_USER_PPC64 (COMMON_USER | PPC_FEATURE_64)
a7ddc5e8
PM
55#define COMMON_USER_POWER4 (COMMON_USER_PPC64 | PPC_FEATURE_POWER4)
56#define COMMON_USER_POWER5 (COMMON_USER_PPC64 | PPC_FEATURE_POWER5)
57#define COMMON_USER_POWER5_PLUS (COMMON_USER_PPC64 | PPC_FEATURE_POWER5_PLUS)
4920960f 58
1da177e4 59
1da177e4
LT
60/* We only set the spe features if the kernel was compiled with
61 * spe support
62 */
63#ifdef CONFIG_SPE
4920960f 64#define PPC_FEATURE_SPE_COMP PPC_FEATURE_HAS_SPE
1da177e4 65#else
4920960f 66#define PPC_FEATURE_SPE_COMP 0
1da177e4
LT
67#endif
68
1da177e4 69struct cpu_spec cpu_specs[] = {
4920960f
SR
70#ifdef CONFIG_PPC64
71 { /* Power3 */
72 .pvr_mask = 0xffff0000,
73 .pvr_value = 0x00400000,
74 .cpu_name = "POWER3 (630)",
75 .cpu_features = CPU_FTRS_POWER3,
76 .cpu_user_features = COMMON_USER_PPC64,
77 .icache_bsize = 128,
78 .dcache_bsize = 128,
79 .num_pmcs = 8,
80 .cpu_setup = __setup_cpu_power3,
4920960f 81 .oprofile_cpu_type = "ppc64/power3",
32a33994 82 .oprofile_type = RS64,
4920960f
SR
83 },
84 { /* Power3+ */
85 .pvr_mask = 0xffff0000,
86 .pvr_value = 0x00410000,
87 .cpu_name = "POWER3 (630+)",
88 .cpu_features = CPU_FTRS_POWER3,
89 .cpu_user_features = COMMON_USER_PPC64,
90 .icache_bsize = 128,
91 .dcache_bsize = 128,
92 .num_pmcs = 8,
93 .cpu_setup = __setup_cpu_power3,
4920960f 94 .oprofile_cpu_type = "ppc64/power3",
32a33994 95 .oprofile_type = RS64,
4920960f
SR
96 },
97 { /* Northstar */
98 .pvr_mask = 0xffff0000,
99 .pvr_value = 0x00330000,
100 .cpu_name = "RS64-II (northstar)",
101 .cpu_features = CPU_FTRS_RS64,
102 .cpu_user_features = COMMON_USER_PPC64,
103 .icache_bsize = 128,
104 .dcache_bsize = 128,
105 .num_pmcs = 8,
106 .cpu_setup = __setup_cpu_power3,
4920960f 107 .oprofile_cpu_type = "ppc64/rs64",
32a33994 108 .oprofile_type = RS64,
4920960f
SR
109 },
110 { /* Pulsar */
111 .pvr_mask = 0xffff0000,
112 .pvr_value = 0x00340000,
113 .cpu_name = "RS64-III (pulsar)",
114 .cpu_features = CPU_FTRS_RS64,
115 .cpu_user_features = COMMON_USER_PPC64,
116 .icache_bsize = 128,
117 .dcache_bsize = 128,
118 .num_pmcs = 8,
119 .cpu_setup = __setup_cpu_power3,
4920960f 120 .oprofile_cpu_type = "ppc64/rs64",
32a33994 121 .oprofile_type = RS64,
4920960f
SR
122 },
123 { /* I-star */
124 .pvr_mask = 0xffff0000,
125 .pvr_value = 0x00360000,
126 .cpu_name = "RS64-III (icestar)",
127 .cpu_features = CPU_FTRS_RS64,
128 .cpu_user_features = COMMON_USER_PPC64,
129 .icache_bsize = 128,
130 .dcache_bsize = 128,
131 .num_pmcs = 8,
132 .cpu_setup = __setup_cpu_power3,
4920960f 133 .oprofile_cpu_type = "ppc64/rs64",
32a33994 134 .oprofile_type = RS64,
4920960f
SR
135 },
136 { /* S-star */
137 .pvr_mask = 0xffff0000,
138 .pvr_value = 0x00370000,
139 .cpu_name = "RS64-IV (sstar)",
140 .cpu_features = CPU_FTRS_RS64,
141 .cpu_user_features = COMMON_USER_PPC64,
142 .icache_bsize = 128,
143 .dcache_bsize = 128,
144 .num_pmcs = 8,
145 .cpu_setup = __setup_cpu_power3,
4920960f 146 .oprofile_cpu_type = "ppc64/rs64",
32a33994 147 .oprofile_type = RS64,
4920960f
SR
148 },
149 { /* Power4 */
150 .pvr_mask = 0xffff0000,
151 .pvr_value = 0x00350000,
152 .cpu_name = "POWER4 (gp)",
153 .cpu_features = CPU_FTRS_POWER4,
a7ddc5e8 154 .cpu_user_features = COMMON_USER_POWER4,
4920960f
SR
155 .icache_bsize = 128,
156 .dcache_bsize = 128,
157 .num_pmcs = 8,
158 .cpu_setup = __setup_cpu_power4,
4920960f 159 .oprofile_cpu_type = "ppc64/power4",
32a33994 160 .oprofile_type = POWER4,
4920960f
SR
161 },
162 { /* Power4+ */
163 .pvr_mask = 0xffff0000,
164 .pvr_value = 0x00380000,
165 .cpu_name = "POWER4+ (gq)",
166 .cpu_features = CPU_FTRS_POWER4,
a7ddc5e8 167 .cpu_user_features = COMMON_USER_POWER4,
4920960f
SR
168 .icache_bsize = 128,
169 .dcache_bsize = 128,
170 .num_pmcs = 8,
171 .cpu_setup = __setup_cpu_power4,
4920960f 172 .oprofile_cpu_type = "ppc64/power4",
32a33994 173 .oprofile_type = POWER4,
4920960f
SR
174 },
175 { /* PPC970 */
176 .pvr_mask = 0xffff0000,
177 .pvr_value = 0x00390000,
178 .cpu_name = "PPC970",
179 .cpu_features = CPU_FTRS_PPC970,
a7ddc5e8 180 .cpu_user_features = COMMON_USER_POWER4 |
4920960f
SR
181 PPC_FEATURE_HAS_ALTIVEC_COMP,
182 .icache_bsize = 128,
183 .dcache_bsize = 128,
184 .num_pmcs = 8,
185 .cpu_setup = __setup_cpu_ppc970,
4920960f 186 .oprofile_cpu_type = "ppc64/970",
32a33994 187 .oprofile_type = POWER4,
4920960f
SR
188 },
189#endif /* CONFIG_PPC64 */
190#if defined(CONFIG_PPC64) || defined(CONFIG_POWER4)
191 { /* PPC970FX */
192 .pvr_mask = 0xffff0000,
193 .pvr_value = 0x003c0000,
194 .cpu_name = "PPC970FX",
195#ifdef CONFIG_PPC32
196 .cpu_features = CPU_FTRS_970_32,
197#else
198 .cpu_features = CPU_FTRS_PPC970,
199#endif
a7ddc5e8 200 .cpu_user_features = COMMON_USER_POWER4 |
4920960f
SR
201 PPC_FEATURE_HAS_ALTIVEC_COMP,
202 .icache_bsize = 128,
203 .dcache_bsize = 128,
204 .num_pmcs = 8,
205 .cpu_setup = __setup_cpu_ppc970,
4920960f 206 .oprofile_cpu_type = "ppc64/970",
32a33994 207 .oprofile_type = POWER4,
4920960f
SR
208 },
209#endif /* defined(CONFIG_PPC64) || defined(CONFIG_POWER4) */
210#ifdef CONFIG_PPC64
211 { /* PPC970MP */
212 .pvr_mask = 0xffff0000,
213 .pvr_value = 0x00440000,
214 .cpu_name = "PPC970MP",
215 .cpu_features = CPU_FTRS_PPC970,
a7ddc5e8 216 .cpu_user_features = COMMON_USER_POWER4 |
4920960f
SR
217 PPC_FEATURE_HAS_ALTIVEC_COMP,
218 .icache_bsize = 128,
219 .dcache_bsize = 128,
220 .cpu_setup = __setup_cpu_ppc970,
4920960f 221 .oprofile_cpu_type = "ppc64/970",
32a33994 222 .oprofile_type = POWER4,
4920960f 223 },
3c726f8d 224 { /* Power5 GR */
4920960f
SR
225 .pvr_mask = 0xffff0000,
226 .pvr_value = 0x003a0000,
227 .cpu_name = "POWER5 (gr)",
228 .cpu_features = CPU_FTRS_POWER5,
a7ddc5e8 229 .cpu_user_features = COMMON_USER_POWER5,
4920960f
SR
230 .icache_bsize = 128,
231 .dcache_bsize = 128,
232 .num_pmcs = 6,
233 .cpu_setup = __setup_cpu_power4,
4920960f 234 .oprofile_cpu_type = "ppc64/power5",
32a33994 235 .oprofile_type = POWER4,
4920960f 236 },
3c726f8d 237 { /* Power5 GS */
4920960f
SR
238 .pvr_mask = 0xffff0000,
239 .pvr_value = 0x003b0000,
834608f7 240 .cpu_name = "POWER5+ (gs)",
4920960f 241 .cpu_features = CPU_FTRS_POWER5,
a7ddc5e8 242 .cpu_user_features = COMMON_USER_POWER5_PLUS,
4920960f
SR
243 .icache_bsize = 128,
244 .dcache_bsize = 128,
245 .num_pmcs = 6,
246 .cpu_setup = __setup_cpu_power4,
834608f7 247 .oprofile_cpu_type = "ppc64/power5+",
32a33994 248 .oprofile_type = POWER4,
4920960f 249 },
c902be71 250 { /* Cell Broadband Engine */
4920960f
SR
251 .pvr_mask = 0xffff0000,
252 .pvr_value = 0x00700000,
253 .cpu_name = "Cell Broadband Engine",
254 .cpu_features = CPU_FTRS_CELL,
255 .cpu_user_features = COMMON_USER_PPC64 |
a7ddc5e8 256 PPC_FEATURE_CELL | PPC_FEATURE_HAS_ALTIVEC_COMP,
4920960f
SR
257 .icache_bsize = 128,
258 .dcache_bsize = 128,
259 .cpu_setup = __setup_cpu_be,
260 },
261 { /* default match */
262 .pvr_mask = 0x00000000,
263 .pvr_value = 0x00000000,
264 .cpu_name = "POWER4 (compatible)",
265 .cpu_features = CPU_FTRS_COMPATIBLE,
266 .cpu_user_features = COMMON_USER_PPC64,
267 .icache_bsize = 128,
268 .dcache_bsize = 128,
269 .num_pmcs = 6,
270 .cpu_setup = __setup_cpu_power4,
271 }
272#endif /* CONFIG_PPC64 */
273#ifdef CONFIG_PPC32
1da177e4 274#if CLASSIC_PPC
4920960f 275 { /* 601 */
1da177e4
LT
276 .pvr_mask = 0xffff0000,
277 .pvr_value = 0x00010000,
278 .cpu_name = "601",
10b35d99 279 .cpu_features = CPU_FTRS_PPC601,
4920960f 280 .cpu_user_features = COMMON_USER | PPC_FEATURE_601_INSTR |
d8e998c5 281 PPC_FEATURE_UNIFIED_CACHE | PPC_FEATURE_NO_TB,
1da177e4
LT
282 .icache_bsize = 32,
283 .dcache_bsize = 32,
1da177e4
LT
284 },
285 { /* 603 */
286 .pvr_mask = 0xffff0000,
287 .pvr_value = 0x00030000,
288 .cpu_name = "603",
10b35d99 289 .cpu_features = CPU_FTRS_603,
4920960f 290 .cpu_user_features = COMMON_USER,
1da177e4
LT
291 .icache_bsize = 32,
292 .dcache_bsize = 32,
293 .cpu_setup = __setup_cpu_603
294 },
295 { /* 603e */
296 .pvr_mask = 0xffff0000,
297 .pvr_value = 0x00060000,
298 .cpu_name = "603e",
10b35d99 299 .cpu_features = CPU_FTRS_603,
4920960f 300 .cpu_user_features = COMMON_USER,
1da177e4
LT
301 .icache_bsize = 32,
302 .dcache_bsize = 32,
303 .cpu_setup = __setup_cpu_603
304 },
305 { /* 603ev */
306 .pvr_mask = 0xffff0000,
307 .pvr_value = 0x00070000,
308 .cpu_name = "603ev",
10b35d99 309 .cpu_features = CPU_FTRS_603,
4920960f 310 .cpu_user_features = COMMON_USER,
1da177e4
LT
311 .icache_bsize = 32,
312 .dcache_bsize = 32,
313 .cpu_setup = __setup_cpu_603
314 },
315 { /* 604 */
316 .pvr_mask = 0xffff0000,
317 .pvr_value = 0x00040000,
318 .cpu_name = "604",
10b35d99 319 .cpu_features = CPU_FTRS_604,
4920960f 320 .cpu_user_features = COMMON_USER,
1da177e4
LT
321 .icache_bsize = 32,
322 .dcache_bsize = 32,
323 .num_pmcs = 2,
324 .cpu_setup = __setup_cpu_604
325 },
326 { /* 604e */
327 .pvr_mask = 0xfffff000,
328 .pvr_value = 0x00090000,
329 .cpu_name = "604e",
10b35d99 330 .cpu_features = CPU_FTRS_604,
4920960f 331 .cpu_user_features = COMMON_USER,
1da177e4
LT
332 .icache_bsize = 32,
333 .dcache_bsize = 32,
334 .num_pmcs = 4,
335 .cpu_setup = __setup_cpu_604
336 },
337 { /* 604r */
338 .pvr_mask = 0xffff0000,
339 .pvr_value = 0x00090000,
340 .cpu_name = "604r",
10b35d99 341 .cpu_features = CPU_FTRS_604,
4920960f 342 .cpu_user_features = COMMON_USER,
1da177e4
LT
343 .icache_bsize = 32,
344 .dcache_bsize = 32,
345 .num_pmcs = 4,
346 .cpu_setup = __setup_cpu_604
347 },
348 { /* 604ev */
349 .pvr_mask = 0xffff0000,
350 .pvr_value = 0x000a0000,
351 .cpu_name = "604ev",
10b35d99 352 .cpu_features = CPU_FTRS_604,
4920960f 353 .cpu_user_features = COMMON_USER,
1da177e4
LT
354 .icache_bsize = 32,
355 .dcache_bsize = 32,
356 .num_pmcs = 4,
357 .cpu_setup = __setup_cpu_604
358 },
359 { /* 740/750 (0x4202, don't support TAU ?) */
360 .pvr_mask = 0xffffffff,
361 .pvr_value = 0x00084202,
362 .cpu_name = "740/750",
10b35d99 363 .cpu_features = CPU_FTRS_740_NOTAU,
4920960f 364 .cpu_user_features = COMMON_USER,
1da177e4
LT
365 .icache_bsize = 32,
366 .dcache_bsize = 32,
367 .num_pmcs = 4,
368 .cpu_setup = __setup_cpu_750
369 },
1da177e4
LT
370 { /* 750CX (80100 and 8010x?) */
371 .pvr_mask = 0xfffffff0,
372 .pvr_value = 0x00080100,
373 .cpu_name = "750CX",
10b35d99 374 .cpu_features = CPU_FTRS_750,
4920960f 375 .cpu_user_features = COMMON_USER,
1da177e4
LT
376 .icache_bsize = 32,
377 .dcache_bsize = 32,
378 .num_pmcs = 4,
379 .cpu_setup = __setup_cpu_750cx
380 },
381 { /* 750CX (82201 and 82202) */
382 .pvr_mask = 0xfffffff0,
383 .pvr_value = 0x00082200,
384 .cpu_name = "750CX",
10b35d99 385 .cpu_features = CPU_FTRS_750,
4920960f 386 .cpu_user_features = COMMON_USER,
1da177e4
LT
387 .icache_bsize = 32,
388 .dcache_bsize = 32,
389 .num_pmcs = 4,
390 .cpu_setup = __setup_cpu_750cx
391 },
392 { /* 750CXe (82214) */
393 .pvr_mask = 0xfffffff0,
394 .pvr_value = 0x00082210,
395 .cpu_name = "750CXe",
10b35d99 396 .cpu_features = CPU_FTRS_750,
4920960f 397 .cpu_user_features = COMMON_USER,
1da177e4
LT
398 .icache_bsize = 32,
399 .dcache_bsize = 32,
400 .num_pmcs = 4,
401 .cpu_setup = __setup_cpu_750cx
402 },
7c31625a
AO
403 { /* 750CXe "Gekko" (83214) */
404 .pvr_mask = 0xffffffff,
405 .pvr_value = 0x00083214,
406 .cpu_name = "750CXe",
10b35d99 407 .cpu_features = CPU_FTRS_750,
4920960f 408 .cpu_user_features = COMMON_USER,
7c31625a
AO
409 .icache_bsize = 32,
410 .dcache_bsize = 32,
411 .num_pmcs = 4,
412 .cpu_setup = __setup_cpu_750cx
413 },
ac1ff047
AO
414 { /* 745/755 */
415 .pvr_mask = 0xfffff000,
416 .pvr_value = 0x00083000,
417 .cpu_name = "745/755",
10b35d99 418 .cpu_features = CPU_FTRS_750,
4920960f 419 .cpu_user_features = COMMON_USER,
ac1ff047
AO
420 .icache_bsize = 32,
421 .dcache_bsize = 32,
422 .num_pmcs = 4,
423 .cpu_setup = __setup_cpu_750
424 },
1da177e4
LT
425 { /* 750FX rev 1.x */
426 .pvr_mask = 0xffffff00,
427 .pvr_value = 0x70000100,
428 .cpu_name = "750FX",
10b35d99 429 .cpu_features = CPU_FTRS_750FX1,
4920960f 430 .cpu_user_features = COMMON_USER,
1da177e4
LT
431 .icache_bsize = 32,
432 .dcache_bsize = 32,
433 .num_pmcs = 4,
434 .cpu_setup = __setup_cpu_750
435 },
436 { /* 750FX rev 2.0 must disable HID0[DPM] */
437 .pvr_mask = 0xffffffff,
438 .pvr_value = 0x70000200,
439 .cpu_name = "750FX",
10b35d99 440 .cpu_features = CPU_FTRS_750FX2,
4920960f 441 .cpu_user_features = COMMON_USER,
1da177e4
LT
442 .icache_bsize = 32,
443 .dcache_bsize = 32,
444 .num_pmcs = 4,
445 .cpu_setup = __setup_cpu_750
446 },
447 { /* 750FX (All revs except 2.0) */
448 .pvr_mask = 0xffff0000,
449 .pvr_value = 0x70000000,
450 .cpu_name = "750FX",
10b35d99 451 .cpu_features = CPU_FTRS_750FX,
4920960f 452 .cpu_user_features = COMMON_USER,
1da177e4
LT
453 .icache_bsize = 32,
454 .dcache_bsize = 32,
455 .num_pmcs = 4,
456 .cpu_setup = __setup_cpu_750fx
457 },
458 { /* 750GX */
459 .pvr_mask = 0xffff0000,
460 .pvr_value = 0x70020000,
461 .cpu_name = "750GX",
10b35d99 462 .cpu_features = CPU_FTRS_750GX,
4920960f 463 .cpu_user_features = COMMON_USER,
1da177e4
LT
464 .icache_bsize = 32,
465 .dcache_bsize = 32,
466 .num_pmcs = 4,
467 .cpu_setup = __setup_cpu_750fx
468 },
469 { /* 740/750 (L2CR bit need fixup for 740) */
470 .pvr_mask = 0xffff0000,
471 .pvr_value = 0x00080000,
472 .cpu_name = "740/750",
10b35d99 473 .cpu_features = CPU_FTRS_740,
4920960f 474 .cpu_user_features = COMMON_USER,
1da177e4
LT
475 .icache_bsize = 32,
476 .dcache_bsize = 32,
477 .num_pmcs = 4,
478 .cpu_setup = __setup_cpu_750
479 },
480 { /* 7400 rev 1.1 ? (no TAU) */
481 .pvr_mask = 0xffffffff,
482 .pvr_value = 0x000c1101,
483 .cpu_name = "7400 (1.1)",
10b35d99 484 .cpu_features = CPU_FTRS_7400_NOTAU,
4920960f 485 .cpu_user_features = COMMON_USER | PPC_FEATURE_HAS_ALTIVEC_COMP,
1da177e4
LT
486 .icache_bsize = 32,
487 .dcache_bsize = 32,
488 .num_pmcs = 4,
489 .cpu_setup = __setup_cpu_7400
490 },
491 { /* 7400 */
492 .pvr_mask = 0xffff0000,
493 .pvr_value = 0x000c0000,
494 .cpu_name = "7400",
10b35d99 495 .cpu_features = CPU_FTRS_7400,
4920960f 496 .cpu_user_features = COMMON_USER | PPC_FEATURE_HAS_ALTIVEC_COMP,
1da177e4
LT
497 .icache_bsize = 32,
498 .dcache_bsize = 32,
499 .num_pmcs = 4,
500 .cpu_setup = __setup_cpu_7400
501 },
502 { /* 7410 */
503 .pvr_mask = 0xffff0000,
504 .pvr_value = 0x800c0000,
505 .cpu_name = "7410",
10b35d99 506 .cpu_features = CPU_FTRS_7400,
4920960f 507 .cpu_user_features = COMMON_USER | PPC_FEATURE_HAS_ALTIVEC_COMP,
1da177e4
LT
508 .icache_bsize = 32,
509 .dcache_bsize = 32,
510 .num_pmcs = 4,
511 .cpu_setup = __setup_cpu_7410
512 },
513 { /* 7450 2.0 - no doze/nap */
514 .pvr_mask = 0xffffffff,
515 .pvr_value = 0x80000200,
516 .cpu_name = "7450",
10b35d99 517 .cpu_features = CPU_FTRS_7450_20,
4920960f 518 .cpu_user_features = COMMON_USER | PPC_FEATURE_HAS_ALTIVEC_COMP,
1da177e4
LT
519 .icache_bsize = 32,
520 .dcache_bsize = 32,
521 .num_pmcs = 6,
555d97ac 522 .cpu_setup = __setup_cpu_745x,
555d97ac 523 .oprofile_cpu_type = "ppc/7450",
32a33994 524 .oprofile_type = G4,
1da177e4
LT
525 },
526 { /* 7450 2.1 */
527 .pvr_mask = 0xffffffff,
528 .pvr_value = 0x80000201,
529 .cpu_name = "7450",
10b35d99 530 .cpu_features = CPU_FTRS_7450_21,
4920960f 531 .cpu_user_features = COMMON_USER | PPC_FEATURE_HAS_ALTIVEC_COMP,
1da177e4
LT
532 .icache_bsize = 32,
533 .dcache_bsize = 32,
534 .num_pmcs = 6,
555d97ac 535 .cpu_setup = __setup_cpu_745x,
555d97ac 536 .oprofile_cpu_type = "ppc/7450",
32a33994 537 .oprofile_type = G4,
1da177e4
LT
538 },
539 { /* 7450 2.3 and newer */
540 .pvr_mask = 0xffff0000,
541 .pvr_value = 0x80000000,
542 .cpu_name = "7450",
10b35d99 543 .cpu_features = CPU_FTRS_7450_23,
4920960f 544 .cpu_user_features = COMMON_USER | PPC_FEATURE_HAS_ALTIVEC_COMP,
1da177e4
LT
545 .icache_bsize = 32,
546 .dcache_bsize = 32,
547 .num_pmcs = 6,
555d97ac 548 .cpu_setup = __setup_cpu_745x,
555d97ac 549 .oprofile_cpu_type = "ppc/7450",
32a33994 550 .oprofile_type = G4,
1da177e4
LT
551 },
552 { /* 7455 rev 1.x */
553 .pvr_mask = 0xffffff00,
554 .pvr_value = 0x80010100,
555 .cpu_name = "7455",
10b35d99 556 .cpu_features = CPU_FTRS_7455_1,
4920960f 557 .cpu_user_features = COMMON_USER | PPC_FEATURE_HAS_ALTIVEC_COMP,
1da177e4
LT
558 .icache_bsize = 32,
559 .dcache_bsize = 32,
560 .num_pmcs = 6,
555d97ac 561 .cpu_setup = __setup_cpu_745x,
555d97ac 562 .oprofile_cpu_type = "ppc/7450",
32a33994 563 .oprofile_type = G4,
1da177e4
LT
564 },
565 { /* 7455 rev 2.0 */
566 .pvr_mask = 0xffffffff,
567 .pvr_value = 0x80010200,
568 .cpu_name = "7455",
10b35d99 569 .cpu_features = CPU_FTRS_7455_20,
4920960f 570 .cpu_user_features = COMMON_USER | PPC_FEATURE_HAS_ALTIVEC_COMP,
1da177e4
LT
571 .icache_bsize = 32,
572 .dcache_bsize = 32,
573 .num_pmcs = 6,
555d97ac 574 .cpu_setup = __setup_cpu_745x,
555d97ac 575 .oprofile_cpu_type = "ppc/7450",
32a33994 576 .oprofile_type = G4,
1da177e4
LT
577 },
578 { /* 7455 others */
579 .pvr_mask = 0xffff0000,
580 .pvr_value = 0x80010000,
581 .cpu_name = "7455",
10b35d99 582 .cpu_features = CPU_FTRS_7455,
4920960f 583 .cpu_user_features = COMMON_USER | PPC_FEATURE_HAS_ALTIVEC_COMP,
1da177e4
LT
584 .icache_bsize = 32,
585 .dcache_bsize = 32,
586 .num_pmcs = 6,
555d97ac 587 .cpu_setup = __setup_cpu_745x,
555d97ac 588 .oprofile_cpu_type = "ppc/7450",
32a33994 589 .oprofile_type = G4,
1da177e4
LT
590 },
591 { /* 7447/7457 Rev 1.0 */
592 .pvr_mask = 0xffffffff,
593 .pvr_value = 0x80020100,
594 .cpu_name = "7447/7457",
10b35d99 595 .cpu_features = CPU_FTRS_7447_10,
4920960f 596 .cpu_user_features = COMMON_USER | PPC_FEATURE_HAS_ALTIVEC_COMP,
1da177e4
LT
597 .icache_bsize = 32,
598 .dcache_bsize = 32,
599 .num_pmcs = 6,
555d97ac 600 .cpu_setup = __setup_cpu_745x,
555d97ac 601 .oprofile_cpu_type = "ppc/7450",
32a33994 602 .oprofile_type = G4,
1da177e4
LT
603 },
604 { /* 7447/7457 Rev 1.1 */
605 .pvr_mask = 0xffffffff,
606 .pvr_value = 0x80020101,
607 .cpu_name = "7447/7457",
10b35d99 608 .cpu_features = CPU_FTRS_7447_10,
4920960f 609 .cpu_user_features = COMMON_USER | PPC_FEATURE_HAS_ALTIVEC_COMP,
1da177e4
LT
610 .icache_bsize = 32,
611 .dcache_bsize = 32,
612 .num_pmcs = 6,
555d97ac 613 .cpu_setup = __setup_cpu_745x,
555d97ac 614 .oprofile_cpu_type = "ppc/7450",
32a33994 615 .oprofile_type = G4,
1da177e4
LT
616 },
617 { /* 7447/7457 Rev 1.2 and later */
618 .pvr_mask = 0xffff0000,
619 .pvr_value = 0x80020000,
620 .cpu_name = "7447/7457",
10b35d99 621 .cpu_features = CPU_FTRS_7447,
4920960f 622 .cpu_user_features = COMMON_USER | PPC_FEATURE_HAS_ALTIVEC_COMP,
1da177e4
LT
623 .icache_bsize = 32,
624 .dcache_bsize = 32,
625 .num_pmcs = 6,
555d97ac 626 .cpu_setup = __setup_cpu_745x,
555d97ac 627 .oprofile_cpu_type = "ppc/7450",
32a33994 628 .oprofile_type = G4,
1da177e4
LT
629 },
630 { /* 7447A */
631 .pvr_mask = 0xffff0000,
632 .pvr_value = 0x80030000,
633 .cpu_name = "7447A",
10b35d99 634 .cpu_features = CPU_FTRS_7447A,
4920960f 635 .cpu_user_features = COMMON_USER | PPC_FEATURE_HAS_ALTIVEC_COMP,
bbde630b
KG
636 .icache_bsize = 32,
637 .dcache_bsize = 32,
638 .num_pmcs = 6,
555d97ac 639 .cpu_setup = __setup_cpu_745x,
555d97ac 640 .oprofile_cpu_type = "ppc/7450",
32a33994 641 .oprofile_type = G4,
bbde630b
KG
642 },
643 { /* 7448 */
644 .pvr_mask = 0xffff0000,
645 .pvr_value = 0x80040000,
646 .cpu_name = "7448",
10b35d99 647 .cpu_features = CPU_FTRS_7447A,
4920960f 648 .cpu_user_features = COMMON_USER | PPC_FEATURE_HAS_ALTIVEC_COMP,
1da177e4
LT
649 .icache_bsize = 32,
650 .dcache_bsize = 32,
651 .num_pmcs = 6,
555d97ac 652 .cpu_setup = __setup_cpu_745x,
555d97ac 653 .oprofile_cpu_type = "ppc/7450",
32a33994 654 .oprofile_type = G4,
1da177e4
LT
655 },
656 { /* 82xx (8240, 8245, 8260 are all 603e cores) */
657 .pvr_mask = 0x7fff0000,
658 .pvr_value = 0x00810000,
659 .cpu_name = "82xx",
10b35d99 660 .cpu_features = CPU_FTRS_82XX,
4920960f 661 .cpu_user_features = COMMON_USER,
1da177e4
LT
662 .icache_bsize = 32,
663 .dcache_bsize = 32,
664 .cpu_setup = __setup_cpu_603
665 },
666 { /* All G2_LE (603e core, plus some) have the same pvr */
667 .pvr_mask = 0x7fff0000,
668 .pvr_value = 0x00820000,
669 .cpu_name = "G2_LE",
10b35d99 670 .cpu_features = CPU_FTRS_G2_LE,
4920960f 671 .cpu_user_features = COMMON_USER,
1da177e4
LT
672 .icache_bsize = 32,
673 .dcache_bsize = 32,
674 .cpu_setup = __setup_cpu_603
675 },
676 { /* e300 (a 603e core, plus some) on 83xx */
677 .pvr_mask = 0x7fff0000,
678 .pvr_value = 0x00830000,
679 .cpu_name = "e300",
10b35d99 680 .cpu_features = CPU_FTRS_E300,
4920960f 681 .cpu_user_features = COMMON_USER,
1da177e4
LT
682 .icache_bsize = 32,
683 .dcache_bsize = 32,
684 .cpu_setup = __setup_cpu_603
685 },
686 { /* default match, we assume split I/D cache & TB (non-601)... */
687 .pvr_mask = 0x00000000,
688 .pvr_value = 0x00000000,
689 .cpu_name = "(generic PPC)",
10b35d99 690 .cpu_features = CPU_FTRS_CLASSIC32,
4920960f 691 .cpu_user_features = COMMON_USER,
1da177e4
LT
692 .icache_bsize = 32,
693 .dcache_bsize = 32,
1da177e4
LT
694 },
695#endif /* CLASSIC_PPC */
1da177e4
LT
696#ifdef CONFIG_8xx
697 { /* 8xx */
698 .pvr_mask = 0xffff0000,
699 .pvr_value = 0x00500000,
700 .cpu_name = "8xx",
701 /* CPU_FTR_MAYBE_CAN_DOZE is possible,
702 * if the 8xx code is there.... */
10b35d99 703 .cpu_features = CPU_FTRS_8XX,
1da177e4
LT
704 .cpu_user_features = PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU,
705 .icache_bsize = 16,
706 .dcache_bsize = 16,
707 },
708#endif /* CONFIG_8xx */
709#ifdef CONFIG_40x
710 { /* 403GC */
711 .pvr_mask = 0xffffff00,
712 .pvr_value = 0x00200200,
713 .cpu_name = "403GC",
10b35d99 714 .cpu_features = CPU_FTRS_40X,
1da177e4
LT
715 .cpu_user_features = PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU,
716 .icache_bsize = 16,
717 .dcache_bsize = 16,
718 },
719 { /* 403GCX */
720 .pvr_mask = 0xffffff00,
721 .pvr_value = 0x00201400,
722 .cpu_name = "403GCX",
10b35d99 723 .cpu_features = CPU_FTRS_40X,
d8e998c5
BH
724 .cpu_user_features = PPC_FEATURE_32 |
725 PPC_FEATURE_HAS_MMU | PPC_FEATURE_NO_TB,
1da177e4
LT
726 .icache_bsize = 16,
727 .dcache_bsize = 16,
728 },
729 { /* 403G ?? */
730 .pvr_mask = 0xffff0000,
731 .pvr_value = 0x00200000,
732 .cpu_name = "403G ??",
10b35d99 733 .cpu_features = CPU_FTRS_40X,
1da177e4
LT
734 .cpu_user_features = PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU,
735 .icache_bsize = 16,
736 .dcache_bsize = 16,
737 },
738 { /* 405GP */
739 .pvr_mask = 0xffff0000,
740 .pvr_value = 0x40110000,
741 .cpu_name = "405GP",
10b35d99 742 .cpu_features = CPU_FTRS_40X,
1da177e4
LT
743 .cpu_user_features = PPC_FEATURE_32 |
744 PPC_FEATURE_HAS_MMU | PPC_FEATURE_HAS_4xxMAC,
745 .icache_bsize = 32,
746 .dcache_bsize = 32,
747 },
748 { /* STB 03xxx */
749 .pvr_mask = 0xffff0000,
750 .pvr_value = 0x40130000,
751 .cpu_name = "STB03xxx",
10b35d99 752 .cpu_features = CPU_FTRS_40X,
1da177e4
LT
753 .cpu_user_features = PPC_FEATURE_32 |
754 PPC_FEATURE_HAS_MMU | PPC_FEATURE_HAS_4xxMAC,
755 .icache_bsize = 32,
756 .dcache_bsize = 32,
757 },
758 { /* STB 04xxx */
759 .pvr_mask = 0xffff0000,
760 .pvr_value = 0x41810000,
761 .cpu_name = "STB04xxx",
10b35d99 762 .cpu_features = CPU_FTRS_40X,
1da177e4
LT
763 .cpu_user_features = PPC_FEATURE_32 |
764 PPC_FEATURE_HAS_MMU | PPC_FEATURE_HAS_4xxMAC,
765 .icache_bsize = 32,
766 .dcache_bsize = 32,
767 },
768 { /* NP405L */
769 .pvr_mask = 0xffff0000,
770 .pvr_value = 0x41610000,
771 .cpu_name = "NP405L",
10b35d99 772 .cpu_features = CPU_FTRS_40X,
1da177e4
LT
773 .cpu_user_features = PPC_FEATURE_32 |
774 PPC_FEATURE_HAS_MMU | PPC_FEATURE_HAS_4xxMAC,
775 .icache_bsize = 32,
776 .dcache_bsize = 32,
777 },
778 { /* NP4GS3 */
779 .pvr_mask = 0xffff0000,
780 .pvr_value = 0x40B10000,
781 .cpu_name = "NP4GS3",
10b35d99 782 .cpu_features = CPU_FTRS_40X,
1da177e4
LT
783 .cpu_user_features = PPC_FEATURE_32 |
784 PPC_FEATURE_HAS_MMU | PPC_FEATURE_HAS_4xxMAC,
785 .icache_bsize = 32,
786 .dcache_bsize = 32,
787 },
788 { /* NP405H */
789 .pvr_mask = 0xffff0000,
790 .pvr_value = 0x41410000,
791 .cpu_name = "NP405H",
10b35d99 792 .cpu_features = CPU_FTRS_40X,
1da177e4
LT
793 .cpu_user_features = PPC_FEATURE_32 |
794 PPC_FEATURE_HAS_MMU | PPC_FEATURE_HAS_4xxMAC,
795 .icache_bsize = 32,
796 .dcache_bsize = 32,
797 },
798 { /* 405GPr */
799 .pvr_mask = 0xffff0000,
800 .pvr_value = 0x50910000,
801 .cpu_name = "405GPr",
10b35d99 802 .cpu_features = CPU_FTRS_40X,
1da177e4
LT
803 .cpu_user_features = PPC_FEATURE_32 |
804 PPC_FEATURE_HAS_MMU | PPC_FEATURE_HAS_4xxMAC,
805 .icache_bsize = 32,
806 .dcache_bsize = 32,
807 },
808 { /* STBx25xx */
809 .pvr_mask = 0xffff0000,
810 .pvr_value = 0x51510000,
811 .cpu_name = "STBx25xx",
10b35d99 812 .cpu_features = CPU_FTRS_40X,
1da177e4
LT
813 .cpu_user_features = PPC_FEATURE_32 |
814 PPC_FEATURE_HAS_MMU | PPC_FEATURE_HAS_4xxMAC,
815 .icache_bsize = 32,
816 .dcache_bsize = 32,
817 },
818 { /* 405LP */
819 .pvr_mask = 0xffff0000,
820 .pvr_value = 0x41F10000,
821 .cpu_name = "405LP",
10b35d99 822 .cpu_features = CPU_FTRS_40X,
1da177e4
LT
823 .cpu_user_features = PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU,
824 .icache_bsize = 32,
825 .dcache_bsize = 32,
826 },
827 { /* Xilinx Virtex-II Pro */
828 .pvr_mask = 0xffff0000,
829 .pvr_value = 0x20010000,
830 .cpu_name = "Virtex-II Pro",
10b35d99 831 .cpu_features = CPU_FTRS_40X,
1da177e4
LT
832 .cpu_user_features = PPC_FEATURE_32 |
833 PPC_FEATURE_HAS_MMU | PPC_FEATURE_HAS_4xxMAC,
834 .icache_bsize = 32,
835 .dcache_bsize = 32,
836 },
ad95d609
ES
837 { /* 405EP */
838 .pvr_mask = 0xffff0000,
839 .pvr_value = 0x51210000,
840 .cpu_name = "405EP",
10b35d99 841 .cpu_features = CPU_FTRS_40X,
ad95d609
ES
842 .cpu_user_features = PPC_FEATURE_32 |
843 PPC_FEATURE_HAS_MMU | PPC_FEATURE_HAS_4xxMAC,
844 .icache_bsize = 32,
845 .dcache_bsize = 32,
846 },
1da177e4
LT
847
848#endif /* CONFIG_40x */
849#ifdef CONFIG_44x
c9cf73ae
MP
850 {
851 .pvr_mask = 0xf0000fff,
852 .pvr_value = 0x40000850,
853 .cpu_name = "440EP Rev. A",
10b35d99 854 .cpu_features = CPU_FTRS_44X,
4920960f 855 .cpu_user_features = COMMON_USER, /* 440EP has an FPU */
c9cf73ae
MP
856 .icache_bsize = 32,
857 .dcache_bsize = 32,
858 },
859 {
860 .pvr_mask = 0xf0000fff,
861 .pvr_value = 0x400008d3,
862 .cpu_name = "440EP Rev. B",
10b35d99 863 .cpu_features = CPU_FTRS_44X,
4920960f 864 .cpu_user_features = COMMON_USER, /* 440EP has an FPU */
c9cf73ae
MP
865 .icache_bsize = 32,
866 .dcache_bsize = 32,
867 },
4920960f 868 { /* 440GP Rev. B */
1da177e4
LT
869 .pvr_mask = 0xf0000fff,
870 .pvr_value = 0x40000440,
871 .cpu_name = "440GP Rev. B",
10b35d99 872 .cpu_features = CPU_FTRS_44X,
1da177e4
LT
873 .cpu_user_features = PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU,
874 .icache_bsize = 32,
875 .dcache_bsize = 32,
876 },
4920960f 877 { /* 440GP Rev. C */
1da177e4
LT
878 .pvr_mask = 0xf0000fff,
879 .pvr_value = 0x40000481,
880 .cpu_name = "440GP Rev. C",
10b35d99 881 .cpu_features = CPU_FTRS_44X,
1da177e4
LT
882 .cpu_user_features = PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU,
883 .icache_bsize = 32,
884 .dcache_bsize = 32,
885 },
886 { /* 440GX Rev. A */
887 .pvr_mask = 0xf0000fff,
888 .pvr_value = 0x50000850,
889 .cpu_name = "440GX Rev. A",
10b35d99 890 .cpu_features = CPU_FTRS_44X,
1da177e4
LT
891 .cpu_user_features = PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU,
892 .icache_bsize = 32,
893 .dcache_bsize = 32,
894 },
895 { /* 440GX Rev. B */
896 .pvr_mask = 0xf0000fff,
897 .pvr_value = 0x50000851,
898 .cpu_name = "440GX Rev. B",
10b35d99 899 .cpu_features = CPU_FTRS_44X,
1da177e4
LT
900 .cpu_user_features = PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU,
901 .icache_bsize = 32,
902 .dcache_bsize = 32,
903 },
904 { /* 440GX Rev. C */
905 .pvr_mask = 0xf0000fff,
906 .pvr_value = 0x50000892,
907 .cpu_name = "440GX Rev. C",
10b35d99 908 .cpu_features = CPU_FTRS_44X,
1da177e4
LT
909 .cpu_user_features = PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU,
910 .icache_bsize = 32,
911 .dcache_bsize = 32,
912 },
9149fb3b
ES
913 { /* 440GX Rev. F */
914 .pvr_mask = 0xf0000fff,
915 .pvr_value = 0x50000894,
916 .cpu_name = "440GX Rev. F",
10b35d99 917 .cpu_features = CPU_FTRS_44X,
9149fb3b
ES
918 .cpu_user_features = PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU,
919 .icache_bsize = 32,
920 .dcache_bsize = 32,
921 },
656de7e4
MP
922 { /* 440SP Rev. A */
923 .pvr_mask = 0xff000fff,
924 .pvr_value = 0x53000891,
925 .cpu_name = "440SP Rev. A",
10b35d99 926 .cpu_features = CPU_FTRS_44X,
656de7e4
MP
927 .cpu_user_features = PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU,
928 .icache_bsize = 32,
929 .dcache_bsize = 32,
930 },
b0f7b8bc
RD
931 { /* 440SPe Rev. A */
932 .pvr_mask = 0xff000fff,
933 .pvr_value = 0x53000890,
934 .cpu_name = "440SPe Rev. A",
935 .cpu_features = CPU_FTR_SPLIT_ID_CACHE |
936 CPU_FTR_USE_TB,
937 .cpu_user_features = PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU,
938 .icache_bsize = 32,
939 .dcache_bsize = 32,
940 },
1da177e4 941#endif /* CONFIG_44x */
33d9e9b5 942#ifdef CONFIG_FSL_BOOKE
4920960f 943 { /* e200z5 */
33d9e9b5
KG
944 .pvr_mask = 0xfff00000,
945 .pvr_value = 0x81000000,
946 .cpu_name = "e200z5",
947 /* xxx - galak: add CPU_FTR_MAYBE_CAN_DOZE */
10b35d99 948 .cpu_features = CPU_FTRS_E200,
33d9e9b5
KG
949 .cpu_user_features = PPC_FEATURE_32 |
950 PPC_FEATURE_HAS_MMU | PPC_FEATURE_HAS_EFP_SINGLE |
951 PPC_FEATURE_UNIFIED_CACHE,
952 .dcache_bsize = 32,
953 },
4920960f 954 { /* e200z6 */
33d9e9b5
KG
955 .pvr_mask = 0xfff00000,
956 .pvr_value = 0x81100000,
957 .cpu_name = "e200z6",
958 /* xxx - galak: add CPU_FTR_MAYBE_CAN_DOZE */
10b35d99 959 .cpu_features = CPU_FTRS_E200,
33d9e9b5
KG
960 .cpu_user_features = PPC_FEATURE_32 |
961 PPC_FEATURE_HAS_MMU | PPC_FEATURE_SPE_COMP |
962 PPC_FEATURE_HAS_EFP_SINGLE |
963 PPC_FEATURE_UNIFIED_CACHE,
964 .dcache_bsize = 32,
965 },
4920960f 966 { /* e500 */
1da177e4
LT
967 .pvr_mask = 0xffff0000,
968 .pvr_value = 0x80200000,
969 .cpu_name = "e500",
970 /* xxx - galak: add CPU_FTR_MAYBE_CAN_DOZE */
10b35d99 971 .cpu_features = CPU_FTRS_E500,
1da177e4
LT
972 .cpu_user_features = PPC_FEATURE_32 |
973 PPC_FEATURE_HAS_MMU | PPC_FEATURE_SPE_COMP |
974 PPC_FEATURE_HAS_EFP_SINGLE,
975 .icache_bsize = 32,
976 .dcache_bsize = 32,
977 .num_pmcs = 4,
555d97ac 978 .oprofile_cpu_type = "ppc/e500",
32a33994 979 .oprofile_type = BOOKE,
1da177e4 980 },
4920960f 981 { /* e500v2 */
5b37b700
KG
982 .pvr_mask = 0xffff0000,
983 .pvr_value = 0x80210000,
984 .cpu_name = "e500v2",
985 /* xxx - galak: add CPU_FTR_MAYBE_CAN_DOZE */
10b35d99 986 .cpu_features = CPU_FTRS_E500_2,
5b37b700
KG
987 .cpu_user_features = PPC_FEATURE_32 |
988 PPC_FEATURE_HAS_MMU | PPC_FEATURE_SPE_COMP |
989 PPC_FEATURE_HAS_EFP_SINGLE | PPC_FEATURE_HAS_EFP_DOUBLE,
990 .icache_bsize = 32,
991 .dcache_bsize = 32,
992 .num_pmcs = 4,
555d97ac 993 .oprofile_cpu_type = "ppc/e500",
32a33994 994 .oprofile_type = BOOKE,
5b37b700 995 },
1da177e4
LT
996#endif
997#if !CLASSIC_PPC
998 { /* default match */
999 .pvr_mask = 0x00000000,
1000 .pvr_value = 0x00000000,
1001 .cpu_name = "(generic PPC)",
10b35d99 1002 .cpu_features = CPU_FTRS_GENERIC_32,
1da177e4
LT
1003 .cpu_user_features = PPC_FEATURE_32,
1004 .icache_bsize = 32,
1005 .dcache_bsize = 32,
1006 }
1007#endif /* !CLASSIC_PPC */
4920960f 1008#endif /* CONFIG_PPC32 */
1da177e4 1009};