aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/kernel
diff options
context:
space:
mode:
authorRob Herring <robh@kernel.org>2014-04-16 10:38:26 -0400
committerRussell King <rmk+kernel@arm.linux.org.uk>2014-05-25 18:46:51 -0400
commit1dc5455f6f0b2422b410cc913e8af32a617ba921 (patch)
tree8d12dcbffddcecd66b5c785ecee46a535e66f514 /arch/arm/kernel
parent07b403415884e961920f55e6db462dff15d9df5a (diff)
ARM: 8028/1: move __fixup_smp out of init section
With large kernel builds such as allyesconfig exceeding maximum relative branch offsets, the init section will be too far away to branch to directly. This causes veneers to be added by the linker, but veneers don't work before the MMU is enabled. Fix this by moving __fixup_smp to the .head.text section as it is not very big. Signed-off-by: Rob Herring <robh@kernel.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/kernel')
-rw-r--r--arch/arm/kernel/head.S2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/arm/kernel/head.S b/arch/arm/kernel/head.S
index f8c08839edf3..73dbee3097e4 100644
--- a/arch/arm/kernel/head.S
+++ b/arch/arm/kernel/head.S
@@ -475,7 +475,7 @@ ENDPROC(__turn_mmu_on)
475 475
476 476
477#ifdef CONFIG_SMP_ON_UP 477#ifdef CONFIG_SMP_ON_UP
478 __INIT 478 __HEAD
479__fixup_smp: 479__fixup_smp:
480 and r3, r9, #0x000f0000 @ architecture version 480 and r3, r9, #0x000f0000 @ architecture version
481 teq r3, #0x000f0000 @ CPU ID supported? 481 teq r3, #0x000f0000 @ CPU ID supported?