ARM: 6286/1: fix Thumb-2 decompressor broken by "Auto calculate ZRELADDR"
"ARM: Auto calculate ZRELADDR and provide option for exceptions" broke the Thumb-2 decompressor because it removed 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, and also change the ARM code to use the separate SP-load since ARM instructions that include the SP in the LDM register list are deprecated. Acked-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Signed-off-by: Rabin Vincent <rabin@rab.in> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
This commit is contained in:
parent
81ef806163
commit
77754410fb
|
@ -170,9 +170,8 @@ not_angel:
|
||||||
|
|
||||||
.text
|
.text
|
||||||
adr r0, LC0
|
adr r0, LC0
|
||||||
ARM( ldmia r0, {r1, r2, r3, r5, r6, r11, ip, sp})
|
ldmia r0, {r1, r2, r3, r5, r6, r11, ip}
|
||||||
THUMB( ldmia r0, {r1, r2, r3, r5, r6, r11, ip} )
|
ldr sp, [r0, #28]
|
||||||
THUMB( ldr sp, [r0, #32] )
|
|
||||||
#ifdef CONFIG_AUTO_ZRELADDR
|
#ifdef CONFIG_AUTO_ZRELADDR
|
||||||
@ determine final kernel image address
|
@ determine final kernel image address
|
||||||
and r4, pc, #0xf8000000
|
and r4, pc, #0xf8000000
|
||||||
|
|
Loading…
Reference in New Issue