diff options
author | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2009-07-23 19:15:59 -0400 |
---|---|---|
committer | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2009-08-19 20:25:11 -0400 |
commit | 2d27cfd3286966c04d4192a9db5a6c7ea60eebf1 (patch) | |
tree | a9e3feb764da5a2be1a6ef9b3a0bf694e874a424 /arch/powerpc/kernel/cputable.c | |
parent | 32a74949b7337726e76d69f51c48715431126c6c (diff) |
powerpc: Remaining 64-bit Book3E support
This contains all the bits that didn't fit in previous patches :-) This
includes the actual exception handlers assembly, the changes to the
kernel entry, other misc bits and wiring it all up in Kconfig.
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Diffstat (limited to 'arch/powerpc/kernel/cputable.c')
-rw-r--r-- | arch/powerpc/kernel/cputable.c | 27 |
1 files changed, 25 insertions, 2 deletions
diff --git a/arch/powerpc/kernel/cputable.c b/arch/powerpc/kernel/cputable.c index 4a24a2fc4574..f34ea37079b5 100644 --- a/arch/powerpc/kernel/cputable.c +++ b/arch/powerpc/kernel/cputable.c | |||
@@ -93,7 +93,7 @@ extern void __restore_cpu_power7(void); | |||
93 | PPC_FEATURE_BOOKE) | 93 | PPC_FEATURE_BOOKE) |
94 | 94 | ||
95 | static struct cpu_spec __initdata cpu_specs[] = { | 95 | static struct cpu_spec __initdata cpu_specs[] = { |
96 | #ifdef CONFIG_PPC64 | 96 | #ifdef CONFIG_PPC_BOOK3S_64 |
97 | { /* Power3 */ | 97 | { /* Power3 */ |
98 | .pvr_mask = 0xffff0000, | 98 | .pvr_mask = 0xffff0000, |
99 | .pvr_value = 0x00400000, | 99 | .pvr_value = 0x00400000, |
@@ -508,7 +508,30 @@ static struct cpu_spec __initdata cpu_specs[] = { | |||
508 | .machine_check = machine_check_generic, | 508 | .machine_check = machine_check_generic, |
509 | .platform = "power4", | 509 | .platform = "power4", |
510 | } | 510 | } |
511 | #endif /* CONFIG_PPC64 */ | 511 | #endif /* CONFIG_PPC_BOOK3S_64 */ |
512 | #ifdef CONFIG_PPC_BOOK3E_64 | ||
513 | { /* This is a default entry to get going, to be replaced by | ||
514 | * a real one at some stage | ||
515 | */ | ||
516 | #define CPU_FTRS_BASE_BOOK3E (CPU_FTR_USE_TB | \ | ||
517 | CPU_FTR_PPCAS_ARCH_V2 | CPU_FTR_SMT | \ | ||
518 | CPU_FTR_NODSISRALIGN | CPU_FTR_NOEXECUTE) | ||
519 | .pvr_mask = 0x00000000, | ||
520 | .pvr_value = 0x00000000, | ||
521 | .cpu_name = "Book3E", | ||
522 | .cpu_features = CPU_FTRS_BASE_BOOK3E, | ||
523 | .cpu_user_features = COMMON_USER_PPC64, | ||
524 | .mmu_features = MMU_FTR_TYPE_3E | MMU_FTR_USE_TLBILX | | ||
525 | MMU_FTR_USE_TLBIVAX_BCAST | | ||
526 | MMU_FTR_LOCK_BCAST_INVAL, | ||
527 | .icache_bsize = 64, | ||
528 | .dcache_bsize = 64, | ||
529 | .num_pmcs = 0, | ||
530 | .machine_check = machine_check_generic, | ||
531 | .platform = "power6", | ||
532 | }, | ||
533 | #endif | ||
534 | |||
512 | #ifdef CONFIG_PPC32 | 535 | #ifdef CONFIG_PPC32 |
513 | #if CLASSIC_PPC | 536 | #if CLASSIC_PPC |
514 | { /* 601 */ | 537 | { /* 601 */ |