summaryrefslogtreecommitdiff
path: root/include/configs/rk3399_common.h
diff options
context:
space:
mode:
authorPhilipp Tomsich <philipp.tomsich@theobroma-systems.com>2017-03-15 11:08:44 (GMT)
committerSimon Glass <sjg@chromium.org>2017-04-05 02:01:57 (GMT)
commit3d54eabcafec9c232751dc717eabad4a18c0dd86 (patch)
treef89b7ed2f19f7689370bd28e643ceac55d1901ec /include/configs/rk3399_common.h
parent111bcc4fb6cb4a519daabf4812f3ce77f002352f (diff)
downloadu-boot-3d54eabcafec9c232751dc717eabad4a18c0dd86.tar.xz
rockchip: spl: RK3399: use boot0 hook to create space for SPL magic
The SPL binary needs to be prefixed with the boot magic ('RK33' for the RK3399) on the Rockchip platform and starts execution of the instruction word following immediately after this boot magic. This poses a challenge for AArch64 (ARMv8) binaries, as the .text section would need to start on the odd address, violating natural alignment (and potentially triggering a fault for any code that tries to access 64bit values embedded in the .text section). A quick and easy fix is to have the .text section include the 'RK33' magic and pad it with a boot0 hook to insert 4 bytes of padding at the start of the section (with the intention of having mkimage overwrite this padding with the appropriate boot magic). This avoids having to modify the linker scripts or more complex logic in mkimage. X-AffectedPlatforms: RK3399-Q7 Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> Tested-by: Klaus Goger <klaus.goger@theobroma-systems.com>
Diffstat (limited to 'include/configs/rk3399_common.h')
-rw-r--r--include/configs/rk3399_common.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/include/configs/rk3399_common.h b/include/configs/rk3399_common.h
index 4ba81ac..c1ea616 100644
--- a/include/configs/rk3399_common.h
+++ b/include/configs/rk3399_common.h
@@ -27,7 +27,7 @@
#define CONFIG_SYS_INIT_SP_ADDR 0x00300000
#define CONFIG_SYS_LOAD_ADDR 0x00800800
#define CONFIG_SPL_STACK 0xff8effff
-#define CONFIG_SPL_TEXT_BASE 0xff8c2008
+#define CONFIG_SPL_TEXT_BASE 0xff8c2000
#define CONFIG_SPL_MAX_SIZE 0x30000
/* BSS setup */
#define CONFIG_SPL_BSS_START_ADDR 0xff8e0000