ARM: 6663/1: make Thumb2 kernel entry point more similar to the ARM one

Some installers would binary patch the kernel zImage to replace the
first few nops with custom instructions.  This breaks the Thumb2 kernel
as the mode switch is right at the beginning.  Let's move it towards the
end of the nop sequence instead.

Signed-off-by: Nicolas Pitre <nicolas.pitre@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
This commit is contained in:
Nicolas Pitre 2011-02-12 22:25:27 +01:00 committed by Russell King
parent 74c25beeb3
commit b11fe38883

View File

@ -128,14 +128,14 @@ wait: mrc p14, 0, pc, c0, c1, 0
.arm @ Always enter in ARM state .arm @ Always enter in ARM state
start: start:
.type start,#function .type start,#function
THUMB( adr r12, BSYM(1f) ) .rept 7
THUMB( bx r12 )
THUMB( .rept 6 )
ARM( .rept 8 )
mov r0, r0 mov r0, r0
.endr .endr
ARM( mov r0, r0 )
ARM( b 1f )
THUMB( adr r12, BSYM(1f) )
THUMB( bx r12 )
b 1f
.word 0x016f2818 @ Magic numbers to help the loader .word 0x016f2818 @ Magic numbers to help the loader
.word start @ absolute load/run zImage address .word start @ absolute load/run zImage address
.word _edata @ zImage end address .word _edata @ zImage end address