ARM: 7065/1: kexec: ensure new kernel is entered in ARM state
authorWill Deacon <will.deacon@arm.com>
Fri, 26 Aug 2011 15:32:57 +0000 (16:32 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Sun, 28 Aug 2011 09:39:41 +0000 (10:39 +0100)
commit552e0c8da8ff7099e6fe060cd7ec36ae11f5465b
tree9cec5232f51a023374a3ee66520ea7da056d9f32
parent0ebb962e00a52b644433065d224ed89f72a84756
ARM: 7065/1: kexec: ensure new kernel is entered in ARM state

Commit 540b5738 ("ARM: 6999/1: head, zImage: Always Enter the kernel in
ARM state") mandates that the kernel should be entered in ARM state.

If a Thumb-2 kernel kexecs a new kernel image, we need to ensure that
we change state when branching to the new code. This patch replaces a
mov pc, lr with a bx lr on Thumb-2 kernels so that we transition to ARM
state if need be.

Reviewed-by: Dave Martin <dave.martin@linaro.org>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/kernel/relocate_kernel.S