Merge tag 'trace-printf-v6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/trace...
[drm/drm-misc.git] / arch / powerpc / kernel / cpu_specs_book3s_32.h
blob3714634d194a1d0be0e922b17ecef17c4a8f25a8
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2 /*
3 * Copyright (C) 2001 Ben. Herrenschmidt (benh@kernel.crashing.org)
4 */
6 #define COMMON_USER (PPC_FEATURE_32 | PPC_FEATURE_HAS_FPU | \
7 PPC_FEATURE_HAS_MMU)
9 static struct cpu_spec cpu_specs[] __initdata = {
10 #ifdef CONFIG_PPC_BOOK3S_603
11 { /* 603 */
12 .pvr_mask = 0xffff0000,
13 .pvr_value = 0x00030000,
14 .cpu_name = "603",
15 .cpu_features = CPU_FTRS_603,
16 .cpu_user_features = COMMON_USER | PPC_FEATURE_PPC_LE,
17 .mmu_features = 0,
18 .icache_bsize = 32,
19 .dcache_bsize = 32,
20 .cpu_setup = __setup_cpu_603,
21 .machine_check = machine_check_generic,
22 .platform = "ppc603",
24 { /* 603e */
25 .pvr_mask = 0xffff0000,
26 .pvr_value = 0x00060000,
27 .cpu_name = "603e",
28 .cpu_features = CPU_FTRS_603,
29 .cpu_user_features = COMMON_USER | PPC_FEATURE_PPC_LE,
30 .mmu_features = 0,
31 .icache_bsize = 32,
32 .dcache_bsize = 32,
33 .cpu_setup = __setup_cpu_603,
34 .machine_check = machine_check_generic,
35 .platform = "ppc603",
37 { /* 603ev */
38 .pvr_mask = 0xffff0000,
39 .pvr_value = 0x00070000,
40 .cpu_name = "603ev",
41 .cpu_features = CPU_FTRS_603,
42 .cpu_user_features = COMMON_USER | PPC_FEATURE_PPC_LE,
43 .mmu_features = 0,
44 .icache_bsize = 32,
45 .dcache_bsize = 32,
46 .cpu_setup = __setup_cpu_603,
47 .machine_check = machine_check_generic,
48 .platform = "ppc603",
50 { /* 82xx (8240, 8245, 8260 are all 603e cores) */
51 .pvr_mask = 0x7fff0000,
52 .pvr_value = 0x00810000,
53 .cpu_name = "82xx",
54 .cpu_features = CPU_FTRS_82XX,
55 .cpu_user_features = COMMON_USER,
56 .mmu_features = 0,
57 .icache_bsize = 32,
58 .dcache_bsize = 32,
59 .cpu_setup = __setup_cpu_603,
60 .machine_check = machine_check_generic,
61 .platform = "ppc603",
63 { /* All G2_LE (603e core, plus some) have the same pvr */
64 .pvr_mask = 0x7fff0000,
65 .pvr_value = 0x00820000,
66 .cpu_name = "G2_LE",
67 .cpu_features = CPU_FTRS_G2_LE,
68 .cpu_user_features = COMMON_USER,
69 .mmu_features = MMU_FTR_USE_HIGH_BATS,
70 .icache_bsize = 32,
71 .dcache_bsize = 32,
72 .cpu_setup = __setup_cpu_603,
73 .machine_check = machine_check_generic,
74 .platform = "ppc603",
76 #ifdef CONFIG_PPC_83xx
77 { /* e300c1 (a 603e core, plus some) on 83xx */
78 .pvr_mask = 0x7fff0000,
79 .pvr_value = 0x00830000,
80 .cpu_name = "e300c1",
81 .cpu_features = CPU_FTRS_E300,
82 .cpu_user_features = COMMON_USER,
83 .mmu_features = MMU_FTR_USE_HIGH_BATS,
84 .icache_bsize = 32,
85 .dcache_bsize = 32,
86 .cpu_setup = __setup_cpu_603,
87 .machine_check = machine_check_83xx,
88 .platform = "ppc603",
90 { /* e300c2 (an e300c1 core, plus some, minus FPU) on 83xx */
91 .pvr_mask = 0x7fff0000,
92 .pvr_value = 0x00840000,
93 .cpu_name = "e300c2",
94 .cpu_features = CPU_FTRS_E300C2,
95 .cpu_user_features = PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU,
96 .mmu_features = MMU_FTR_USE_HIGH_BATS | MMU_FTR_NEED_DTLB_SW_LRU,
97 .icache_bsize = 32,
98 .dcache_bsize = 32,
99 .cpu_setup = __setup_cpu_603,
100 .machine_check = machine_check_83xx,
101 .platform = "ppc603",
103 { /* e300c3 (e300c1, plus one IU, half cache size) on 83xx */
104 .pvr_mask = 0x7fff0000,
105 .pvr_value = 0x00850000,
106 .cpu_name = "e300c3",
107 .cpu_features = CPU_FTRS_E300,
108 .cpu_user_features = COMMON_USER,
109 .mmu_features = MMU_FTR_USE_HIGH_BATS | MMU_FTR_NEED_DTLB_SW_LRU,
110 .icache_bsize = 32,
111 .dcache_bsize = 32,
112 .cpu_setup = __setup_cpu_603,
113 .machine_check = machine_check_83xx,
114 .num_pmcs = 4,
115 .platform = "ppc603",
117 { /* e300c4 (e300c1, plus one IU) */
118 .pvr_mask = 0x7fff0000,
119 .pvr_value = 0x00860000,
120 .cpu_name = "e300c4",
121 .cpu_features = CPU_FTRS_E300,
122 .cpu_user_features = COMMON_USER,
123 .mmu_features = MMU_FTR_USE_HIGH_BATS | MMU_FTR_NEED_DTLB_SW_LRU,
124 .icache_bsize = 32,
125 .dcache_bsize = 32,
126 .cpu_setup = __setup_cpu_603,
127 .machine_check = machine_check_83xx,
128 .num_pmcs = 4,
129 .platform = "ppc603",
131 #endif
132 #endif /* CONFIG_PPC_BOOK3S_603 */
133 #ifdef CONFIG_PPC_BOOK3S_604
134 { /* 604 */
135 .pvr_mask = 0xffff0000,
136 .pvr_value = 0x00040000,
137 .cpu_name = "604",
138 .cpu_features = CPU_FTRS_604,
139 .cpu_user_features = COMMON_USER | PPC_FEATURE_PPC_LE,
140 .mmu_features = MMU_FTR_HPTE_TABLE,
141 .icache_bsize = 32,
142 .dcache_bsize = 32,
143 .num_pmcs = 2,
144 .cpu_setup = __setup_cpu_604,
145 .machine_check = machine_check_generic,
146 .platform = "ppc604",
148 { /* 604e */
149 .pvr_mask = 0xfffff000,
150 .pvr_value = 0x00090000,
151 .cpu_name = "604e",
152 .cpu_features = CPU_FTRS_604,
153 .cpu_user_features = COMMON_USER | PPC_FEATURE_PPC_LE,
154 .mmu_features = MMU_FTR_HPTE_TABLE,
155 .icache_bsize = 32,
156 .dcache_bsize = 32,
157 .num_pmcs = 4,
158 .cpu_setup = __setup_cpu_604,
159 .machine_check = machine_check_generic,
160 .platform = "ppc604",
162 { /* 604r */
163 .pvr_mask = 0xffff0000,
164 .pvr_value = 0x00090000,
165 .cpu_name = "604r",
166 .cpu_features = CPU_FTRS_604,
167 .cpu_user_features = COMMON_USER | PPC_FEATURE_PPC_LE,
168 .mmu_features = MMU_FTR_HPTE_TABLE,
169 .icache_bsize = 32,
170 .dcache_bsize = 32,
171 .num_pmcs = 4,
172 .cpu_setup = __setup_cpu_604,
173 .machine_check = machine_check_generic,
174 .platform = "ppc604",
176 { /* 604ev */
177 .pvr_mask = 0xffff0000,
178 .pvr_value = 0x000a0000,
179 .cpu_name = "604ev",
180 .cpu_features = CPU_FTRS_604,
181 .cpu_user_features = COMMON_USER | PPC_FEATURE_PPC_LE,
182 .mmu_features = MMU_FTR_HPTE_TABLE,
183 .icache_bsize = 32,
184 .dcache_bsize = 32,
185 .num_pmcs = 4,
186 .cpu_setup = __setup_cpu_604,
187 .machine_check = machine_check_generic,
188 .platform = "ppc604",
190 { /* 740/750 (0x4202, don't support TAU ?) */
191 .pvr_mask = 0xffffffff,
192 .pvr_value = 0x00084202,
193 .cpu_name = "740/750",
194 .cpu_features = CPU_FTRS_740_NOTAU,
195 .cpu_user_features = COMMON_USER | PPC_FEATURE_PPC_LE,
196 .mmu_features = MMU_FTR_HPTE_TABLE,
197 .icache_bsize = 32,
198 .dcache_bsize = 32,
199 .num_pmcs = 4,
200 .cpu_setup = __setup_cpu_750,
201 .machine_check = machine_check_generic,
202 .platform = "ppc750",
204 { /* 750CX (80100 and 8010x?) */
205 .pvr_mask = 0xfffffff0,
206 .pvr_value = 0x00080100,
207 .cpu_name = "750CX",
208 .cpu_features = CPU_FTRS_750,
209 .cpu_user_features = COMMON_USER | PPC_FEATURE_PPC_LE,
210 .mmu_features = MMU_FTR_HPTE_TABLE,
211 .icache_bsize = 32,
212 .dcache_bsize = 32,
213 .num_pmcs = 4,
214 .cpu_setup = __setup_cpu_750cx,
215 .machine_check = machine_check_generic,
216 .platform = "ppc750",
218 { /* 750CX (82201 and 82202) */
219 .pvr_mask = 0xfffffff0,
220 .pvr_value = 0x00082200,
221 .cpu_name = "750CX",
222 .cpu_features = CPU_FTRS_750,
223 .cpu_user_features = COMMON_USER | PPC_FEATURE_PPC_LE,
224 .mmu_features = MMU_FTR_HPTE_TABLE,
225 .icache_bsize = 32,
226 .dcache_bsize = 32,
227 .num_pmcs = 4,
228 .pmc_type = PPC_PMC_IBM,
229 .cpu_setup = __setup_cpu_750cx,
230 .machine_check = machine_check_generic,
231 .platform = "ppc750",
233 { /* 750CXe (82214) */
234 .pvr_mask = 0xfffffff0,
235 .pvr_value = 0x00082210,
236 .cpu_name = "750CXe",
237 .cpu_features = CPU_FTRS_750,
238 .cpu_user_features = COMMON_USER | PPC_FEATURE_PPC_LE,
239 .mmu_features = MMU_FTR_HPTE_TABLE,
240 .icache_bsize = 32,
241 .dcache_bsize = 32,
242 .num_pmcs = 4,
243 .pmc_type = PPC_PMC_IBM,
244 .cpu_setup = __setup_cpu_750cx,
245 .machine_check = machine_check_generic,
246 .platform = "ppc750",
248 { /* 750CXe "Gekko" (83214) */
249 .pvr_mask = 0xffffffff,
250 .pvr_value = 0x00083214,
251 .cpu_name = "750CXe",
252 .cpu_features = CPU_FTRS_750,
253 .cpu_user_features = COMMON_USER | PPC_FEATURE_PPC_LE,
254 .mmu_features = MMU_FTR_HPTE_TABLE,
255 .icache_bsize = 32,
256 .dcache_bsize = 32,
257 .num_pmcs = 4,
258 .pmc_type = PPC_PMC_IBM,
259 .cpu_setup = __setup_cpu_750cx,
260 .machine_check = machine_check_generic,
261 .platform = "ppc750",
263 { /* 750CL (and "Broadway") */
264 .pvr_mask = 0xfffff0e0,
265 .pvr_value = 0x00087000,
266 .cpu_name = "750CL",
267 .cpu_features = CPU_FTRS_750CL,
268 .cpu_user_features = COMMON_USER | PPC_FEATURE_PPC_LE,
269 .mmu_features = MMU_FTR_HPTE_TABLE | MMU_FTR_USE_HIGH_BATS,
270 .icache_bsize = 32,
271 .dcache_bsize = 32,
272 .num_pmcs = 4,
273 .pmc_type = PPC_PMC_IBM,
274 .cpu_setup = __setup_cpu_750,
275 .machine_check = machine_check_generic,
276 .platform = "ppc750",
278 { /* 745/755 */
279 .pvr_mask = 0xfffff000,
280 .pvr_value = 0x00083000,
281 .cpu_name = "745/755",
282 .cpu_features = CPU_FTRS_750,
283 .cpu_user_features = COMMON_USER | PPC_FEATURE_PPC_LE,
284 .mmu_features = MMU_FTR_HPTE_TABLE,
285 .icache_bsize = 32,
286 .dcache_bsize = 32,
287 .num_pmcs = 4,
288 .pmc_type = PPC_PMC_IBM,
289 .cpu_setup = __setup_cpu_750,
290 .machine_check = machine_check_generic,
291 .platform = "ppc750",
293 { /* 750FX rev 1.x */
294 .pvr_mask = 0xffffff00,
295 .pvr_value = 0x70000100,
296 .cpu_name = "750FX",
297 .cpu_features = CPU_FTRS_750FX1,
298 .cpu_user_features = COMMON_USER | PPC_FEATURE_PPC_LE,
299 .mmu_features = MMU_FTR_HPTE_TABLE,
300 .icache_bsize = 32,
301 .dcache_bsize = 32,
302 .num_pmcs = 4,
303 .pmc_type = PPC_PMC_IBM,
304 .cpu_setup = __setup_cpu_750,
305 .machine_check = machine_check_generic,
306 .platform = "ppc750",
308 { /* 750FX rev 2.0 must disable HID0[DPM] */
309 .pvr_mask = 0xffffffff,
310 .pvr_value = 0x70000200,
311 .cpu_name = "750FX",
312 .cpu_features = CPU_FTRS_750FX2,
313 .cpu_user_features = COMMON_USER | PPC_FEATURE_PPC_LE,
314 .mmu_features = MMU_FTR_HPTE_TABLE,
315 .icache_bsize = 32,
316 .dcache_bsize = 32,
317 .num_pmcs = 4,
318 .pmc_type = PPC_PMC_IBM,
319 .cpu_setup = __setup_cpu_750,
320 .machine_check = machine_check_generic,
321 .platform = "ppc750",
323 { /* 750FX (All revs except 2.0) */
324 .pvr_mask = 0xffff0000,
325 .pvr_value = 0x70000000,
326 .cpu_name = "750FX",
327 .cpu_features = CPU_FTRS_750FX,
328 .cpu_user_features = COMMON_USER | PPC_FEATURE_PPC_LE,
329 .mmu_features = MMU_FTR_HPTE_TABLE | MMU_FTR_USE_HIGH_BATS,
330 .icache_bsize = 32,
331 .dcache_bsize = 32,
332 .num_pmcs = 4,
333 .pmc_type = PPC_PMC_IBM,
334 .cpu_setup = __setup_cpu_750fx,
335 .machine_check = machine_check_generic,
336 .platform = "ppc750",
338 { /* 750GX */
339 .pvr_mask = 0xffff0000,
340 .pvr_value = 0x70020000,
341 .cpu_name = "750GX",
342 .cpu_features = CPU_FTRS_750GX,
343 .cpu_user_features = COMMON_USER | PPC_FEATURE_PPC_LE,
344 .mmu_features = MMU_FTR_HPTE_TABLE | MMU_FTR_USE_HIGH_BATS,
345 .icache_bsize = 32,
346 .dcache_bsize = 32,
347 .num_pmcs = 4,
348 .pmc_type = PPC_PMC_IBM,
349 .cpu_setup = __setup_cpu_750fx,
350 .machine_check = machine_check_generic,
351 .platform = "ppc750",
353 { /* 740/750 (L2CR bit need fixup for 740) */
354 .pvr_mask = 0xffff0000,
355 .pvr_value = 0x00080000,
356 .cpu_name = "740/750",
357 .cpu_features = CPU_FTRS_740,
358 .cpu_user_features = COMMON_USER | PPC_FEATURE_PPC_LE,
359 .mmu_features = MMU_FTR_HPTE_TABLE,
360 .icache_bsize = 32,
361 .dcache_bsize = 32,
362 .num_pmcs = 4,
363 .pmc_type = PPC_PMC_IBM,
364 .cpu_setup = __setup_cpu_750,
365 .machine_check = machine_check_generic,
366 .platform = "ppc750",
368 { /* 7400 rev 1.1 ? (no TAU) */
369 .pvr_mask = 0xffffffff,
370 .pvr_value = 0x000c1101,
371 .cpu_name = "7400 (1.1)",
372 .cpu_features = CPU_FTRS_7400_NOTAU,
373 .cpu_user_features = COMMON_USER | PPC_FEATURE_HAS_ALTIVEC_COMP |
374 PPC_FEATURE_PPC_LE,
375 .mmu_features = MMU_FTR_HPTE_TABLE,
376 .icache_bsize = 32,
377 .dcache_bsize = 32,
378 .num_pmcs = 4,
379 .pmc_type = PPC_PMC_G4,
380 .cpu_setup = __setup_cpu_7400,
381 .machine_check = machine_check_generic,
382 .platform = "ppc7400",
384 { /* 7400 */
385 .pvr_mask = 0xffff0000,
386 .pvr_value = 0x000c0000,
387 .cpu_name = "7400",
388 .cpu_features = CPU_FTRS_7400,
389 .cpu_user_features = COMMON_USER | PPC_FEATURE_HAS_ALTIVEC_COMP |
390 PPC_FEATURE_PPC_LE,
391 .mmu_features = MMU_FTR_HPTE_TABLE,
392 .icache_bsize = 32,
393 .dcache_bsize = 32,
394 .num_pmcs = 4,
395 .pmc_type = PPC_PMC_G4,
396 .cpu_setup = __setup_cpu_7400,
397 .machine_check = machine_check_generic,
398 .platform = "ppc7400",
400 { /* 7410 */
401 .pvr_mask = 0xffff0000,
402 .pvr_value = 0x800c0000,
403 .cpu_name = "7410",
404 .cpu_features = CPU_FTRS_7400,
405 .cpu_user_features = COMMON_USER | PPC_FEATURE_HAS_ALTIVEC_COMP |
406 PPC_FEATURE_PPC_LE,
407 .mmu_features = MMU_FTR_HPTE_TABLE,
408 .icache_bsize = 32,
409 .dcache_bsize = 32,
410 .num_pmcs = 4,
411 .pmc_type = PPC_PMC_G4,
412 .cpu_setup = __setup_cpu_7410,
413 .machine_check = machine_check_generic,
414 .platform = "ppc7400",
416 { /* 7450 2.0 - no doze/nap */
417 .pvr_mask = 0xffffffff,
418 .pvr_value = 0x80000200,
419 .cpu_name = "7450",
420 .cpu_features = CPU_FTRS_7450_20,
421 .cpu_user_features = COMMON_USER | PPC_FEATURE_HAS_ALTIVEC_COMP |
422 PPC_FEATURE_PPC_LE,
423 .mmu_features = MMU_FTR_HPTE_TABLE,
424 .icache_bsize = 32,
425 .dcache_bsize = 32,
426 .num_pmcs = 6,
427 .pmc_type = PPC_PMC_G4,
428 .cpu_setup = __setup_cpu_745x,
429 .machine_check = machine_check_generic,
430 .platform = "ppc7450",
432 { /* 7450 2.1 */
433 .pvr_mask = 0xffffffff,
434 .pvr_value = 0x80000201,
435 .cpu_name = "7450",
436 .cpu_features = CPU_FTRS_7450_21,
437 .cpu_user_features = COMMON_USER | PPC_FEATURE_HAS_ALTIVEC_COMP |
438 PPC_FEATURE_PPC_LE,
439 .mmu_features = MMU_FTR_HPTE_TABLE,
440 .icache_bsize = 32,
441 .dcache_bsize = 32,
442 .num_pmcs = 6,
443 .pmc_type = PPC_PMC_G4,
444 .cpu_setup = __setup_cpu_745x,
445 .machine_check = machine_check_generic,
446 .platform = "ppc7450",
448 { /* 7450 2.3 and newer */
449 .pvr_mask = 0xffff0000,
450 .pvr_value = 0x80000000,
451 .cpu_name = "7450",
452 .cpu_features = CPU_FTRS_7450_23,
453 .cpu_user_features = COMMON_USER | PPC_FEATURE_HAS_ALTIVEC_COMP |
454 PPC_FEATURE_PPC_LE,
455 .mmu_features = MMU_FTR_HPTE_TABLE,
456 .icache_bsize = 32,
457 .dcache_bsize = 32,
458 .num_pmcs = 6,
459 .pmc_type = PPC_PMC_G4,
460 .cpu_setup = __setup_cpu_745x,
461 .machine_check = machine_check_generic,
462 .platform = "ppc7450",
464 { /* 7455 rev 1.x */
465 .pvr_mask = 0xffffff00,
466 .pvr_value = 0x80010100,
467 .cpu_name = "7455",
468 .cpu_features = CPU_FTRS_7455_1,
469 .cpu_user_features = COMMON_USER | PPC_FEATURE_HAS_ALTIVEC_COMP |
470 PPC_FEATURE_PPC_LE,
471 .mmu_features = MMU_FTR_HPTE_TABLE | MMU_FTR_USE_HIGH_BATS,
472 .icache_bsize = 32,
473 .dcache_bsize = 32,
474 .num_pmcs = 6,
475 .pmc_type = PPC_PMC_G4,
476 .cpu_setup = __setup_cpu_745x,
477 .machine_check = machine_check_generic,
478 .platform = "ppc7450",
480 { /* 7455 rev 2.0 */
481 .pvr_mask = 0xffffffff,
482 .pvr_value = 0x80010200,
483 .cpu_name = "7455",
484 .cpu_features = CPU_FTRS_7455_20,
485 .cpu_user_features = COMMON_USER | PPC_FEATURE_HAS_ALTIVEC_COMP |
486 PPC_FEATURE_PPC_LE,
487 .mmu_features = MMU_FTR_HPTE_TABLE | MMU_FTR_USE_HIGH_BATS,
488 .icache_bsize = 32,
489 .dcache_bsize = 32,
490 .num_pmcs = 6,
491 .pmc_type = PPC_PMC_G4,
492 .cpu_setup = __setup_cpu_745x,
493 .machine_check = machine_check_generic,
494 .platform = "ppc7450",
496 { /* 7455 others */
497 .pvr_mask = 0xffff0000,
498 .pvr_value = 0x80010000,
499 .cpu_name = "7455",
500 .cpu_features = CPU_FTRS_7455,
501 .cpu_user_features = COMMON_USER | PPC_FEATURE_HAS_ALTIVEC_COMP |
502 PPC_FEATURE_PPC_LE,
503 .mmu_features = MMU_FTR_HPTE_TABLE | MMU_FTR_USE_HIGH_BATS,
504 .icache_bsize = 32,
505 .dcache_bsize = 32,
506 .num_pmcs = 6,
507 .pmc_type = PPC_PMC_G4,
508 .cpu_setup = __setup_cpu_745x,
509 .machine_check = machine_check_generic,
510 .platform = "ppc7450",
512 { /* 7447/7457 Rev 1.0 */
513 .pvr_mask = 0xffffffff,
514 .pvr_value = 0x80020100,
515 .cpu_name = "7447/7457",
516 .cpu_features = CPU_FTRS_7447_10,
517 .cpu_user_features = COMMON_USER | PPC_FEATURE_HAS_ALTIVEC_COMP |
518 PPC_FEATURE_PPC_LE,
519 .mmu_features = MMU_FTR_HPTE_TABLE | MMU_FTR_USE_HIGH_BATS,
520 .icache_bsize = 32,
521 .dcache_bsize = 32,
522 .num_pmcs = 6,
523 .pmc_type = PPC_PMC_G4,
524 .cpu_setup = __setup_cpu_745x,
525 .machine_check = machine_check_generic,
526 .platform = "ppc7450",
528 { /* 7447/7457 Rev 1.1 */
529 .pvr_mask = 0xffffffff,
530 .pvr_value = 0x80020101,
531 .cpu_name = "7447/7457",
532 .cpu_features = CPU_FTRS_7447_10,
533 .cpu_user_features = COMMON_USER | PPC_FEATURE_HAS_ALTIVEC_COMP |
534 PPC_FEATURE_PPC_LE,
535 .mmu_features = MMU_FTR_HPTE_TABLE | MMU_FTR_USE_HIGH_BATS,
536 .icache_bsize = 32,
537 .dcache_bsize = 32,
538 .num_pmcs = 6,
539 .pmc_type = PPC_PMC_G4,
540 .cpu_setup = __setup_cpu_745x,
541 .machine_check = machine_check_generic,
542 .platform = "ppc7450",
544 { /* 7447/7457 Rev 1.2 and later */
545 .pvr_mask = 0xffff0000,
546 .pvr_value = 0x80020000,
547 .cpu_name = "7447/7457",
548 .cpu_features = CPU_FTRS_7447,
549 .cpu_user_features = COMMON_USER | PPC_FEATURE_HAS_ALTIVEC_COMP |
550 PPC_FEATURE_PPC_LE,
551 .mmu_features = MMU_FTR_HPTE_TABLE | MMU_FTR_USE_HIGH_BATS,
552 .icache_bsize = 32,
553 .dcache_bsize = 32,
554 .num_pmcs = 6,
555 .pmc_type = PPC_PMC_G4,
556 .cpu_setup = __setup_cpu_745x,
557 .machine_check = machine_check_generic,
558 .platform = "ppc7450",
560 { /* 7447A */
561 .pvr_mask = 0xffff0000,
562 .pvr_value = 0x80030000,
563 .cpu_name = "7447A",
564 .cpu_features = CPU_FTRS_7447A,
565 .cpu_user_features = COMMON_USER | PPC_FEATURE_HAS_ALTIVEC_COMP |
566 PPC_FEATURE_PPC_LE,
567 .mmu_features = MMU_FTR_HPTE_TABLE | MMU_FTR_USE_HIGH_BATS,
568 .icache_bsize = 32,
569 .dcache_bsize = 32,
570 .num_pmcs = 6,
571 .pmc_type = PPC_PMC_G4,
572 .cpu_setup = __setup_cpu_745x,
573 .machine_check = machine_check_generic,
574 .platform = "ppc7450",
576 { /* 7448 */
577 .pvr_mask = 0xffff0000,
578 .pvr_value = 0x80040000,
579 .cpu_name = "7448",
580 .cpu_features = CPU_FTRS_7448,
581 .cpu_user_features = COMMON_USER | PPC_FEATURE_HAS_ALTIVEC_COMP |
582 PPC_FEATURE_PPC_LE,
583 .mmu_features = MMU_FTR_HPTE_TABLE | MMU_FTR_USE_HIGH_BATS,
584 .icache_bsize = 32,
585 .dcache_bsize = 32,
586 .num_pmcs = 6,
587 .pmc_type = PPC_PMC_G4,
588 .cpu_setup = __setup_cpu_745x,
589 .machine_check = machine_check_generic,
590 .platform = "ppc7450",
592 { /* default match, we assume split I/D cache & TB (non-601)... */
593 .pvr_mask = 0x00000000,
594 .pvr_value = 0x00000000,
595 .cpu_name = "(generic PPC)",
596 .cpu_features = CPU_FTRS_CLASSIC32,
597 .cpu_user_features = COMMON_USER,
598 .mmu_features = MMU_FTR_HPTE_TABLE,
599 .icache_bsize = 32,
600 .dcache_bsize = 32,
601 .machine_check = machine_check_generic,
602 .platform = "ppc603",
604 #endif /* CONFIG_PPC_BOOK3S_604 */