summaryrefslogtreecommitdiffstats
path: root/arch/xtensa/boot/boot-elf/bootstrap.S
diff options
context:
space:
mode:
authorMax Filippov <jcmvbkbc@gmail.com>2016-04-13 05:20:02 +0300
committerMax Filippov <jcmvbkbc@gmail.com>2016-07-24 06:33:58 +0300
commita9f2fc628e3a26a829fd79aff74eb49839d1e74b (patch)
tree7dad4e57c917757d39bb3470720392ac2b92b335 /arch/xtensa/boot/boot-elf/bootstrap.S
parentd39af90265feb40ec198c4ca8268724645b4b50e (diff)
downloadlinux-a9f2fc628e3a26a829fd79aff74eb49839d1e74b.tar.gz
linux-a9f2fc628e3a26a829fd79aff74eb49839d1e74b.tar.bz2
linux-a9f2fc628e3a26a829fd79aff74eb49839d1e74b.zip
xtensa: cleanup MMU setup and kernel layout macros
Make kernel load address explicit, independent of the selected MMU configuration and configurable from Kconfig. Do not restrict it to the first 512MB of the physical address space. Cleanup kernel memory layout macros: - rename VECBASE_RESET_VADDR to VECBASE_VADDR, XC_VADDR to VECTOR_VADDR; - drop VIRTUAL_MEMORY_ADDRESS and LOAD_MEMORY_ADDRESS; - introduce PHYS_OFFSET and use it in __va and __pa definitions; - synchronize MMU/noMMU vectors, drop unused NMI vector; - replace hardcoded vectors offset of 0x3000 with Kconfig symbol. Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Diffstat (limited to 'arch/xtensa/boot/boot-elf/bootstrap.S')
-rw-r--r--arch/xtensa/boot/boot-elf/bootstrap.S7
1 files changed, 6 insertions, 1 deletions
diff --git a/arch/xtensa/boot/boot-elf/bootstrap.S b/arch/xtensa/boot/boot-elf/bootstrap.S
index e6bf313613cf..b6aa85328ac0 100644
--- a/arch/xtensa/boot/boot-elf/bootstrap.S
+++ b/arch/xtensa/boot/boot-elf/bootstrap.S
@@ -35,7 +35,12 @@ _ResetVector:
.align 4
RomInitAddr:
- .word LOAD_MEMORY_ADDRESS
+#if defined(CONFIG_INITIALIZE_XTENSA_MMU_INSIDE_VMLINUX) && \
+ XCHAL_HAVE_PTP_MMU && XCHAL_HAVE_SPANNING_WAY
+ .word CONFIG_KERNEL_LOAD_ADDRESS
+#else
+ .word KERNELOFFSET
+#endif
RomBootParam:
.word _bootparam
_bootparam: