| From d4d9959c099751158c5cf14813fe378e206339c6 Mon Sep 17 00:00:00 2001 |
| From: Rabin Vincent <rabin@rab.in> |
| Date: Wed, 7 Apr 2010 18:10:20 +0100 |
| Subject: ARM: 6031/1: fix Thumb-2 decompressor |
| |
| From: Rabin Vincent <rabin@rab.in> |
| |
| commit d4d9959c099751158c5cf14813fe378e206339c6 upstream. |
| |
| 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. |
| |
| Signed-off-by: Rabin Vincent <rabin@rab.in> |
| Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| |
| --- |
| arch/arm/boot/compressed/head.S | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/arch/arm/boot/compressed/head.S |
| +++ b/arch/arm/boot/compressed/head.S |
| @@ -164,7 +164,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 |