Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 77754410 authored by Rabin Vincent's avatar Rabin Vincent Committed by Russell King
Browse files

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: default avatarUwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: default avatarRabin Vincent <rabin@rab.in>
Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
parent 81ef8061
Loading
Loading
Loading
Loading
+2 −3
Original line number Diff line number Diff line
@@ -170,9 +170,8 @@ not_angel:

		.text
		adr	r0, LC0
 ARM(		ldmia	r0, {r1, r2, r3, r5, r6, r11, ip, sp})
 THUMB(		ldmia	r0, {r1, r2, r3, r5, r6, r11, ip}	)
 THUMB(		ldr	sp, [r0, #32]				)
		ldmia	r0, {r1, r2, r3, r5, r6, r11, ip}
		ldr	sp, [r0, #28]
#ifdef CONFIG_AUTO_ZRELADDR
		@ determine final kernel image address
		and	r4, pc, #0xf8000000