ARM: 7139/1: fix compilation with CONFIG_ARM_ATAG_DTB_COMPAT and large TEXT_OFFSET
authorNicolas Pitre <nicolas.pitre@linaro.org>
Mon, 24 Oct 2011 12:30:32 +0000 (13:30 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Mon, 24 Oct 2011 19:53:50 +0000 (20:53 +0100)
If TEXT_OFFSET is too large (e.g. like on MSM) the resulting immediate
argument gets wider than 8 bits.

Noticed by David Brown <davidb@codeaurora.org>

Signed-off-by: Nicolas Pitre <nicolas.pitre@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/boot/compressed/head.S

index 9f5ac11ccd8ef73e41d82d592a90cb3672891235..c2effc91725452dcaa93af7b3dc1b0ce20d979c2 100644 (file)
@@ -269,7 +269,8 @@ restart:    adr     r0, LC0
                 * of RAM and hope for the best.
                 */
                cmp     r0, #1
-               sub     r0, r4, #(TEXT_OFFSET - 0x100)
+               sub     r0, r4, #TEXT_OFFSET
+               add     r0, r0, #0x100
                mov     r1, r6
                sub     r2, sp, r6
                blne    atags_to_fdt