Skip to content

Commit

Permalink
ARM: 8028/1: move __fixup_smp out of init section
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Rob Herring authored and Russell King committed May 25, 2014
1 parent 07b4034 commit 1dc5455
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion arch/arm/kernel/head.S
Original file line number Diff line number Diff line change
Expand Up @@ -475,7 +475,7 @@ ENDPROC(__turn_mmu_on)


#ifdef CONFIG_SMP_ON_UP
__INIT
__HEAD
__fixup_smp:
and r3, r9, #0x000f0000 @ architecture version
teq r3, #0x000f0000 @ CPU ID supported?
Expand Down

0 comments on commit 1dc5455

Please sign in to comment.