|
@@ -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),
|