ARM: 7139/1: fix compilation with CONFIG_ARM_ATAG_DTB_COMPAT and large TEXT_OFFSET
Nicolas Pitre [Mon, 24 Oct 2011 12:30:32 +0000 (13:30 +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 9f5ac11..c2effc9 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