diff options
author | Dave Kleikamp <shaggy@linux.vnet.ibm.com> | 2010-03-05 05:43:12 -0500 |
---|---|---|
committer | Josh Boyer <jwboyer@linux.vnet.ibm.com> | 2010-05-05 09:11:10 -0400 |
commit | e7f75ad01d590243904c2d95ab47e6b2e9ef6dad (patch) | |
tree | 454cf065417973e9c2fcd75542351c2534b9a4b9 /arch/powerpc/kernel/smp.c | |
parent | 795033c344d88dc6aa5106d0cc358656f29bd722 (diff) |
powerpc/47x: Base ppc476 support
This patch adds the base support for the 476 processor. The code was
primarily written by Ben Herrenschmidt and Torez Smith, but I've been
maintaining it for a while.
The goal is to have a single binary that will run on 44x and 47x, but
we still have some details to work out. The biggest is that the L1 cache
line size differs on the two platforms, but it's currently a compile-time
option.
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Torez Smith <lnxtorez@linux.vnet.ibm.com>
Signed-off-by: Dave Kleikamp <shaggy@linux.vnet.ibm.com>
Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com>
Diffstat (limited to 'arch/powerpc/kernel/smp.c')
-rw-r--r-- | arch/powerpc/kernel/smp.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/arch/powerpc/kernel/smp.c b/arch/powerpc/kernel/smp.c index e36f94f7411a..3fe4de2b685e 100644 --- a/arch/powerpc/kernel/smp.c +++ b/arch/powerpc/kernel/smp.c | |||
@@ -495,6 +495,14 @@ int __devinit start_secondary(void *unused) | |||
495 | current->active_mm = &init_mm; | 495 | current->active_mm = &init_mm; |
496 | 496 | ||
497 | smp_store_cpu_info(cpu); | 497 | smp_store_cpu_info(cpu); |
498 | |||
499 | #if defined(CONFIG_BOOKE) || defined(CONFIG_40x) | ||
500 | /* Clear any pending timer interrupts */ | ||
501 | mtspr(SPRN_TSR, TSR_ENW | TSR_WIS | TSR_DIS | TSR_FIS); | ||
502 | |||
503 | /* Enable decrementer interrupt */ | ||
504 | mtspr(SPRN_TCR, TCR_DIE); | ||
505 | #endif | ||
498 | set_dec(tb_ticks_per_jiffy); | 506 | set_dec(tb_ticks_per_jiffy); |
499 | preempt_disable(); | 507 | preempt_disable(); |
500 | cpu_callin_map[cpu] = 1; | 508 | cpu_callin_map[cpu] = 1; |