Gitweb: http://git.kernel.org/linus/d4d9959c099751158c5cf14813fe378e206339c6
Commit: d4d9959c099751158c5cf14813fe378e206339c6
Parent: 4742723cbce519773e4560f5cab11163eaa0c889
Author: Rabin Vincent <rabin@rab.in>
AuthorDate: Wed Apr 7 18:10:20 2010 +0100
Committer: Russell King <rmk+kernel@arm.linux.org.uk>
CommitDate: Wed Apr 7 21:11:29 2010 +0100
ARM: 6031/1: fix Thumb-2 decompressor
98e12b5a6e05413 ("ARM: Fix decompressor's kernel size estimation for
ROM=y") broke the Thumb-2 decompressor because it added an entry in the
LC0 table but didn't adjust the offset the Thumb-2 code uses to load the
SP from that table. Fix it.
Cc: stable <stable@kernel.org>
Signed-off-by: Rabin Vincent <rabin@rab.in>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
---
arch/arm/boot/compressed/head.S | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/arch/arm/boot/compressed/head.S b/arch/arm/boot/compressed/head.S
index 0f23009..6ab6b33 100644
--- a/arch/arm/boot/compressed/head.S
+++ b/arch/arm/boot/compressed/head.S
@@ -172,7 +172,7 @@ not_angel:
adr r0, LC0
ARM( ldmia r0, {r1, r2, r3, r4, r5, r6, r11, ip, sp})
THUMB( ldmia r0, {r1, r2, r3, r4, r5, r6, r11, ip} )
- THUMB( ldr sp, [r0, #28] )
+ THUMB( ldr sp, [r0, #32] )
subs r0, r0, r1 @ calculate the delta offset
@ if delta is zero, we are
--