summaryrefslogtreecommitdiffstats
path: root/arch/arm
diff options
context:
space:
mode:
authorWill Deacon <will.deacon@arm.com>2011-06-06 12:35:46 +0100
committerWill Deacon <will.deacon@arm.com>2011-11-16 10:56:53 +0000
commitbf14fc54d6386ccd1ef3f1b0ff69e7a765cf8ded (patch)
tree074b1f67977ed1c28bed0cc9b25e588d043a8d35 /arch/arm
parentcfcfc9eca2bcbd26a8e206baeb005b055dbf8e37 (diff)
downloadblackbird-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.c4
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),
OpenPOWER on IntegriCloud