ARM: 7947/1: Make pgtbl macro more robust
authorChristopher Covington <cov@codeaurora.org>
Tue, 21 Jan 2014 15:25:34 +0000 (16:25 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Tue, 28 Jan 2014 14:34:03 +0000 (14:34 +0000)
The pgtbl macro couldn't handle the specific
(TEXT_OFFSET - PG_DIR_SIZE) value that the combination of
MSM platforms and LPAE created:

head.S:163: Error: invalid constant (203000) after fixup

Regardless of whether this combination of configuration options
will work on currently support platforms at run time, make it
at least assemble properly.

Signed-off-by: Christopher Covington <cov@codeaurora.org>
Reviewed-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/kernel/head.S

index 32f317e5828adafc2bdec200705a9d12c686711c..914616e0bdcd0c0108376a9e5834e9cb73219b51 100644 (file)
@@ -52,7 +52,8 @@
        .equ    swapper_pg_dir, KERNEL_RAM_VADDR - PG_DIR_SIZE
 
        .macro  pgtbl, rd, phys
-       add     \rd, \phys, #TEXT_OFFSET - PG_DIR_SIZE
+       add     \rd, \phys, #TEXT_OFFSET
+       sub     \rd, \rd, #PG_DIR_SIZE
        .endm
 
 /*