diff options
author | Will Deacon <will.deacon@arm.com> | 2011-06-06 12:35:46 +0100 |
---|---|---|
committer | Will Deacon <will.deacon@arm.com> | 2011-11-16 10:56:53 +0000 |
commit | bf14fc54d6386ccd1ef3f1b0ff69e7a765cf8ded (patch) | |
tree | 074b1f67977ed1c28bed0cc9b25e588d043a8d35 /arch/arm | |
parent | cfcfc9eca2bcbd26a8e206baeb005b055dbf8e37 (diff) | |
download | blackbird-op-linux-bf14fc54d6386ccd1ef3f1b0ff69e7a765cf8ded.tar.gz blackbird-op-linux-bf14fc54d6386ccd1ef3f1b0ff69e7a765cf8ded.zip |
ARM: highbank: convert logical CPU numbers to physical numbers
This patch uses the new cpu_logical_map() macro for converting logical
CPU numbers into physical numbers when releasing CPUs during the SMP
boot and CPU hotplug paths.
Acked-by: Rob Herring <rob.herring@calxeda.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Diffstat (limited to 'arch/arm')
-rw-r--r-- | arch/arm/mach-highbank/highbank.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/arm/mach-highbank/highbank.c b/arch/arm/mach-highbank/highbank.c index b82dcf08e747..88660d500f5b 100644 --- a/arch/arm/mach-highbank/highbank.c +++ b/arch/arm/mach-highbank/highbank.c @@ -22,6 +22,7 @@ #include <linux/of_irq.h> #include <linux/of_platform.h> #include <linux/of_address.h> +#include <linux/smp.h> #include <asm/cacheflush.h> #include <asm/unified.h> @@ -72,6 +73,9 @@ static void __init highbank_map_io(void) void highbank_set_cpu_jump(int cpu, void *jump_addr) { +#ifdef CONFIG_SMP + cpu = cpu_logical_map(cpu); +#endif writel(BSYM(virt_to_phys(jump_addr)), HB_JUMP_TABLE_VIRT(cpu)); __cpuc_flush_dcache_area(HB_JUMP_TABLE_VIRT(cpu), 16); outer_clean_range(HB_JUMP_TABLE_PHYS(cpu), |