提交 77754410 编写于 作者: R Rabin Vincent 提交者: Russell King

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: NUwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: NRabin Vincent <rabin@rab.in>
Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
上级 81ef8061
...@@ -170,9 +170,8 @@ not_angel: ...@@ -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
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册