diff options
-rw-r--r-- | arch/ppc/kernel/cpu_setup_6xx.S | 4 | ||||
-rw-r--r-- | arch/ppc/kernel/cputable.c | 16 |
2 files changed, 20 insertions, 0 deletions
diff --git a/arch/ppc/kernel/cpu_setup_6xx.S b/arch/ppc/kernel/cpu_setup_6xx.S index 3fb1fb619d2c..bd037caa4055 100644 --- a/arch/ppc/kernel/cpu_setup_6xx.S +++ b/arch/ppc/kernel/cpu_setup_6xx.S | |||
@@ -327,6 +327,7 @@ _GLOBAL(__save_cpu_setup) | |||
327 | cmplwi cr4,r3,0x8002 /* 7457 */ | 327 | cmplwi cr4,r3,0x8002 /* 7457 */ |
328 | cmplwi cr5,r3,0x8003 /* 7447A */ | 328 | cmplwi cr5,r3,0x8003 /* 7447A */ |
329 | cmplwi cr6,r3,0x7000 /* 750FX */ | 329 | cmplwi cr6,r3,0x7000 /* 750FX */ |
330 | cmplwi cr7,r3,0x8004 /* 7448 */ | ||
330 | /* cr1 is 7400 || 7410 */ | 331 | /* cr1 is 7400 || 7410 */ |
331 | cror 4*cr1+eq,4*cr1+eq,4*cr2+eq | 332 | cror 4*cr1+eq,4*cr1+eq,4*cr2+eq |
332 | /* cr0 is 74xx */ | 333 | /* cr0 is 74xx */ |
@@ -334,6 +335,7 @@ _GLOBAL(__save_cpu_setup) | |||
334 | cror 4*cr0+eq,4*cr0+eq,4*cr4+eq | 335 | cror 4*cr0+eq,4*cr0+eq,4*cr4+eq |
335 | cror 4*cr0+eq,4*cr0+eq,4*cr1+eq | 336 | cror 4*cr0+eq,4*cr0+eq,4*cr1+eq |
336 | cror 4*cr0+eq,4*cr0+eq,4*cr5+eq | 337 | cror 4*cr0+eq,4*cr0+eq,4*cr5+eq |
338 | cror 4*cr0+eq,4*cr0+eq,4*cr7+eq | ||
337 | bne 1f | 339 | bne 1f |
338 | /* Backup 74xx specific regs */ | 340 | /* Backup 74xx specific regs */ |
339 | mfspr r4,SPRN_MSSCR0 | 341 | mfspr r4,SPRN_MSSCR0 |
@@ -396,6 +398,7 @@ _GLOBAL(__restore_cpu_setup) | |||
396 | cmplwi cr4,r3,0x8002 /* 7457 */ | 398 | cmplwi cr4,r3,0x8002 /* 7457 */ |
397 | cmplwi cr5,r3,0x8003 /* 7447A */ | 399 | cmplwi cr5,r3,0x8003 /* 7447A */ |
398 | cmplwi cr6,r3,0x7000 /* 750FX */ | 400 | cmplwi cr6,r3,0x7000 /* 750FX */ |
401 | cmplwi cr7,r3,0x8004 /* 7448 */ | ||
399 | /* cr1 is 7400 || 7410 */ | 402 | /* cr1 is 7400 || 7410 */ |
400 | cror 4*cr1+eq,4*cr1+eq,4*cr2+eq | 403 | cror 4*cr1+eq,4*cr1+eq,4*cr2+eq |
401 | /* cr0 is 74xx */ | 404 | /* cr0 is 74xx */ |
@@ -403,6 +406,7 @@ _GLOBAL(__restore_cpu_setup) | |||
403 | cror 4*cr0+eq,4*cr0+eq,4*cr4+eq | 406 | cror 4*cr0+eq,4*cr0+eq,4*cr4+eq |
404 | cror 4*cr0+eq,4*cr0+eq,4*cr1+eq | 407 | cror 4*cr0+eq,4*cr0+eq,4*cr1+eq |
405 | cror 4*cr0+eq,4*cr0+eq,4*cr5+eq | 408 | cror 4*cr0+eq,4*cr0+eq,4*cr5+eq |
409 | cror 4*cr0+eq,4*cr0+eq,4*cr7+eq | ||
406 | bne 2f | 410 | bne 2f |
407 | /* Restore 74xx specific regs */ | 411 | /* Restore 74xx specific regs */ |
408 | lwz r4,CS_MSSCR0(r5) | 412 | lwz r4,CS_MSSCR0(r5) |
diff --git a/arch/ppc/kernel/cputable.c b/arch/ppc/kernel/cputable.c index fa6df9d4af05..546e1ea4cafa 100644 --- a/arch/ppc/kernel/cputable.c +++ b/arch/ppc/kernel/cputable.c | |||
@@ -550,6 +550,22 @@ struct cpu_spec cpu_specs[] = { | |||
550 | .num_pmcs = 6, | 550 | .num_pmcs = 6, |
551 | .cpu_setup = __setup_cpu_745x | 551 | .cpu_setup = __setup_cpu_745x |
552 | }, | 552 | }, |
553 | { /* 7448 */ | ||
554 | .pvr_mask = 0xffff0000, | ||
555 | .pvr_value = 0x80040000, | ||
556 | .cpu_name = "7448", | ||
557 | .cpu_features = CPU_FTR_COMMON | | ||
558 | CPU_FTR_SPLIT_ID_CACHE | CPU_FTR_USE_TB | | ||
559 | CPU_FTR_MAYBE_CAN_NAP | CPU_FTR_L2CR | | ||
560 | CPU_FTR_ALTIVEC_COMP | CPU_FTR_HPTE_TABLE | | ||
561 | CPU_FTR_SPEC7450 | CPU_FTR_NAP_DISABLE_L2_PR | | ||
562 | CPU_FTR_HAS_HIGH_BATS | CPU_FTR_NEED_COHERENT, | ||
563 | .cpu_user_features = COMMON_PPC | PPC_FEATURE_ALTIVEC_COMP, | ||
564 | .icache_bsize = 32, | ||
565 | .dcache_bsize = 32, | ||
566 | .num_pmcs = 6, | ||
567 | .cpu_setup = __setup_cpu_745x | ||
568 | }, | ||
553 | { /* 82xx (8240, 8245, 8260 are all 603e cores) */ | 569 | { /* 82xx (8240, 8245, 8260 are all 603e cores) */ |
554 | .pvr_mask = 0x7fff0000, | 570 | .pvr_mask = 0x7fff0000, |
555 | .pvr_value = 0x00810000, | 571 | .pvr_value = 0x00810000, |