summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicolas Pitre <nico@fluxnic.net>2009-09-28 18:03:01 +0100
committerCatalin Marinas <catalin.marinas@arm.com>2009-10-06 09:36:40 +0100
commit95915e7e40a0caeae4e8a640a64aae89b19bf20e (patch)
tree0bf6327716f53b61cc0d3e45e426426b5dc235b2
parent374142218c4155fdcdfba78cc7a82e2ca055d3ef (diff)
make Linux bootable on ARM again
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@marvell.com> Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
-rw-r--r--arch/arm/kernel/entry-header.S2
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/arm/kernel/entry-header.S b/arch/arm/kernel/entry-header.S
index 5a44d3f0dc02..1b0a2684a502 100644
--- a/arch/arm/kernel/entry-header.S
+++ b/arch/arm/kernel/entry-header.S
@@ -169,6 +169,8 @@
ldr r0, [sp]
strex r1, r2, [sp] @ clear the exclusive monitor
ldmib sp, {r1 - pc}^ @ load r1 - pc, cpsr
+#else
+ ldmia sp, {r0 - pc}^ @ load r0 - pc, cpsr
#endif
.endm