Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/arch/powerpc/kernel/cpu_specs_book3s_32.h
26442 views
1
/* SPDX-License-Identifier: GPL-2.0-or-later */
2
/*
3
* Copyright (C) 2001 Ben. Herrenschmidt ([email protected])
4
*/
5
6
#define COMMON_USER (PPC_FEATURE_32 | PPC_FEATURE_HAS_FPU | \
7
PPC_FEATURE_HAS_MMU)
8
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",
23
},
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",
36
},
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",
49
},
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",
62
},
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",
75
},
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",
89
},
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",
102
},
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",
116
},
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",
130
},
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",
147
},
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",
161
},
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",
175
},
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",
189
},
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",
203
},
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",
217
},
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",
232
},
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",
247
},
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",
262
},
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",
277
},
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",
292
},
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",
307
},
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",
322
},
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",
337
},
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",
352
},
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",
367
},
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",
383
},
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",
399
},
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",
415
},
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",
431
},
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",
447
},
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",
463
},
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",
479
},
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",
495
},
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",
511
},
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",
527
},
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",
543
},
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",
559
},
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",
575
},
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",
591
},
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",
603
},
604
#endif /* CONFIG_PPC_BOOK3S_604 */
605
};
606
607