[PATCH] make Linux bootable on ARM again

Nicolas Pitre nico at fluxnic.net
Fri Sep 25 16:28:02 EDT 2009

Commit 200b812d00 "Clear the exclusive monitor when returning from an 
exception" broke the vast majority of ARM systems in the wild which are 
still pre ARMv6.  The kernel is crashing on the first occurrence of an 
exception due to the removal of the actual return instruction for them.  
Let's add it back.

Signed-off-by: Nicolas Pitre <nico at marvell.com>

diff --git a/arch/arm/kernel/entry-header.S b/arch/arm/kernel/entry-header.S
index e17e3c3..ac34c0d 100644
--- a/arch/arm/kernel/entry-header.S
+++ b/arch/arm/kernel/entry-header.S
@@ -83,6 +83,8 @@
 	ldr	r0, [sp]
 	strex	r1, r2, [sp]			@ clear the exclusive monitor
 	ldmib	sp, {r1 - pc}^			@ load r1 - pc, cpsr
+	ldmia	sp, {r0 - pc}^			@ load r0 - pc, cpsr

More information about the linux-arm-kernel mailing list