[RFC PATCH] ARM: kexec: Assemble relocate code in ARM mode

Taras Kondratiuk taras.kondratiuk at linaro.org
Wed Oct 9 16:57:03 EDT 2013


In Thumb2 kernel (CONFIG_THUMB2_KERNEL) kexec's relocate code is assembled
in Thumb2 mode, but cpu_v7_reset() jumps to this code in ARM state,
because its address is page aligned and has 0 in LSB.

Assemble this code in ARM mode to fix the issue.

Signed-off-by: Taras Kondratiuk <taras.kondratiuk at linaro.org>
---
Based on v3.12-rc4

Cc: Dave Martin <dave.martin at linaro.org>
Cc: Will Deacon <will.deacon at arm.com>
Cc: Russell King <linux at arm.linux.org.uk>
Cc: linaro-kernel at lists.linaro.org
Cc: linux-arm-kernel at lists.infradead.org
---
 arch/arm/kernel/relocate_kernel.S |    1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/arm/kernel/relocate_kernel.S b/arch/arm/kernel/relocate_kernel.S
index d0cdedf..a3af323 100644
--- a/arch/arm/kernel/relocate_kernel.S
+++ b/arch/arm/kernel/relocate_kernel.S
@@ -5,6 +5,7 @@
 #include <asm/kexec.h>
 
 	.globl relocate_new_kernel
+	.arm
 relocate_new_kernel:
 
 	ldr	r0,kexec_indirection_page
-- 
1.7.9.5




More information about the linux-arm-kernel mailing list