u-boot-brain/arch/arm/mach-rockchip
Philipp Tomsich 3d54eabcaf 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>
2017-04-04 20:01:57 -06:00
..
rk3036 Kconfig: Migrate BOARD_LATE_INIT to a select 2017-01-24 10:35:54 -05:00
rk3188 rockchip: rk3188: Add sdram driver 2017-03-16 16:03:45 -06:00
rk3288 rockchip: rk3288: sdram: style fixes from rk3188 sdram review 2017-03-16 16:03:44 -06:00
rk3328 rockchip: rk3328: add evb-rk3328 support 2017-03-16 16:03:46 -06:00
rk3399 rockchip: arm64: rk3399: add ddr controller driver 2017-03-16 16:03:45 -06:00
Kconfig rockchip: spl: RK3399: use boot0 hook to create space for SPL magic 2017-04-04 20:01:57 -06:00
Makefile rockchip: rk3328: add soc basic support 2017-03-16 16:03:46 -06:00
rk3036-board-spl.c rockchip: Move bootrom-related declarations to a header 2017-03-16 16:03:44 -06:00
rk3036-board.c rockchip: add boot-mode support for rk3288, rk3036 2016-10-01 18:36:55 -06:00
rk3188-board-spl.c rockchip: rk3188: Add main, spl and tpl boards 2017-03-16 16:03:45 -06:00
rk3188-board-tpl.c rockchip: rk3188: Add main, spl and tpl boards 2017-03-16 16:03:45 -06:00
rk3188-board.c rockchip: rk3188: Add main, spl and tpl boards 2017-03-16 16:03:45 -06:00
rk3288-board-spl.c rockchip: Move bootrom-related declarations to a header 2017-03-16 16:03:44 -06:00
rk3288-board.c rockchip: rename miniarm to tinker board 2017-02-09 12:10:59 -07:00
rk3399-board-spl.c rockchip: arm64: rk3399: add SPL support 2017-03-16 16:03:46 -06:00
rk_timer.c rockchip: add timer driver 2015-12-01 08:07:22 -07:00
save_boot_param.S rockchip: add option to change method of loading u-boot 2016-07-25 20:44:18 -06:00