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>
This commit is contained in:
parent
cfcfc9eca2
commit
bf14fc54d6
|
@ -22,6 +22,7 @@
|
||||||
#include <linux/of_irq.h>
|
#include <linux/of_irq.h>
|
||||||
#include <linux/of_platform.h>
|
#include <linux/of_platform.h>
|
||||||
#include <linux/of_address.h>
|
#include <linux/of_address.h>
|
||||||
|
#include <linux/smp.h>
|
||||||
|
|
||||||
#include <asm/cacheflush.h>
|
#include <asm/cacheflush.h>
|
||||||
#include <asm/unified.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)
|
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));
|
writel(BSYM(virt_to_phys(jump_addr)), HB_JUMP_TABLE_VIRT(cpu));
|
||||||
__cpuc_flush_dcache_area(HB_JUMP_TABLE_VIRT(cpu), 16);
|
__cpuc_flush_dcache_area(HB_JUMP_TABLE_VIRT(cpu), 16);
|
||||||
outer_clean_range(HB_JUMP_TABLE_PHYS(cpu),
|
outer_clean_range(HB_JUMP_TABLE_PHYS(cpu),
|
||||||
|
|
Loading…
Reference in New Issue