diff options
-rw-r--r-- | arch/arm/include/asm/memory.h | 8 | ||||
-rw-r--r-- | arch/arm/mm/proc-v7.S | 2 |
2 files changed, 9 insertions, 1 deletions
diff --git a/arch/arm/include/asm/memory.h b/arch/arm/include/asm/memory.h index 49bf6b1e2177..ebdaaf7dd19f 100644 --- a/arch/arm/include/asm/memory.h +++ b/arch/arm/include/asm/memory.h | |||
@@ -134,6 +134,14 @@ | |||
134 | */ | 134 | */ |
135 | #define PLAT_PHYS_OFFSET UL(CONFIG_PHYS_OFFSET) | 135 | #define PLAT_PHYS_OFFSET UL(CONFIG_PHYS_OFFSET) |
136 | 136 | ||
137 | #ifdef CONFIG_XIP_KERNEL | ||
138 | #define PHYS_OFFSET_FIXUP \ | ||
139 | ( XIP_VIRT_ADDR(CONFIG_XIP_PHYS_ADDR) - PAGE_OFFSET + \ | ||
140 | PLAT_PHYS_OFFSET - CONFIG_XIP_PHYS_ADDR ) | ||
141 | #else | ||
142 | #define PHYS_OFFSET_FIXUP 0 | ||
143 | #endif | ||
144 | |||
137 | #ifndef __ASSEMBLY__ | 145 | #ifndef __ASSEMBLY__ |
138 | 146 | ||
139 | /* | 147 | /* |
diff --git a/arch/arm/mm/proc-v7.S b/arch/arm/mm/proc-v7.S index 0f92d575a304..1595fb29ec12 100644 --- a/arch/arm/mm/proc-v7.S +++ b/arch/arm/mm/proc-v7.S | |||
@@ -487,7 +487,7 @@ __errata_finish: | |||
487 | 487 | ||
488 | .align 2 | 488 | .align 2 |
489 | __v7_setup_stack_ptr: | 489 | __v7_setup_stack_ptr: |
490 | .word __v7_setup_stack - . | 490 | .word __v7_setup_stack - . + PHYS_OFFSET_FIXUP |
491 | ENDPROC(__v7_setup) | 491 | ENDPROC(__v7_setup) |
492 | 492 | ||
493 | .bss | 493 | .bss |