u-boot/arch/arm
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
..
cpu armv8: Kconfig: fsl-ppa: support load PPA from eMMC/SD and NAND Flash 2017-03-28 10:41:09 -07:00
dts Merge git://git.denx.de/u-boot-tegra 2017-04-04 16:01:02 -04:00
imx-common imx6: Add src_base structure define macro 2017-03-17 09:27:08 +01:00
include rockchip: spl: RK3399: use boot0 hook to create space for SPL magic 2017-04-04 20:01:57 -06:00
lib arm: Migrate SYS_THUMB_BUILD to Kconfig, introduce SPL_SYS_THUMB_BUILD 2017-03-18 20:28:01 -04:00
mach-aspeed dm: core: Replace of_offset with accessor 2017-02-08 06:12:14 -07:00
mach-at91 arm: Migrate SYS_THUMB_BUILD to Kconfig, introduce SPL_SYS_THUMB_BUILD 2017-03-18 20:28:01 -04:00
mach-bcm283x ARM: bcm283x: Implement EFI RTS reset_system 2016-11-28 20:15:19 -05:00
mach-davinci Kconfig: Migrate BOARD_LATE_INIT to a select 2017-01-24 10:35:54 -05:00
mach-exynos ARM: Migrate errata to Kconfig 2017-03-09 19:52:50 -05:00
mach-highbank ARM: highbank: move SoC sources to mach-highbank 2015-02-21 08:23:51 -05:00
mach-integrator integrator: switch to DM serial port 2015-08-12 20:47:49 -04:00
mach-keystone ARM: k2g: setup PRU ethernet MAC addresses 2017-03-20 17:57:15 -04:00
mach-kirkwood kirkwood: remove get_random_hex() and MD5 dependency 2017-03-17 09:09:20 -04:00
mach-meson arm: Disable HVC PSCI calls by default 2016-10-18 09:08:08 +02:00
mach-mvebu arm: mvebu: Add gdsys ControlCenter-Compact board 2017-03-29 07:38:10 +02:00
mach-omap2 ARM: AM43xx: Enable DM_I2C/SPI/ETH 2017-03-21 07:16:11 -04:00
mach-orion5x arm: Migrate SYS_THUMB_BUILD to Kconfig, introduce SPL_SYS_THUMB_BUILD 2017-03-18 20:28:01 -04:00
mach-rmobile armv8: aarch64: Fix the warning about x1-x3 nonzero issue 2017-01-18 09:29:33 -08:00
mach-rockchip rockchip: spl: RK3399: use boot0 hook to create space for SPL magic 2017-04-04 20:01:57 -06:00
mach-s5pc1xx arm: s5pc1xx: move SoC to mach-s5pc1xx 2015-11-30 17:17:01 +09:00
mach-snapdragon drivers/sysreset: group sysreset drivers 2016-08-12 09:22:17 -04:00
mach-socfpga SPL: add support to boot from a partition type 2017-02-17 14:15:14 -05:00
mach-sti board: Add STMicroelectronics STiH410-B2260 support 2017-03-14 20:40:21 -04:00
mach-stm32 clk: stm32f7: add clock driver for stm32f7 family 2017-03-17 14:15:12 -04:00
mach-sunxi sunxi: A64: enable SPL 2017-01-04 16:37:43 +01:00
mach-tegra arm: tegra: initial support for apalis tk1 2017-04-01 15:44:36 -07:00
mach-uniphier ARM: uniphier: set DRAM_SPARSE flag for LD21 boards 2017-03-14 04:15:24 +09:00
mach-versatile arm: Remove versatileab board 2015-09-11 15:01:25 -04:00
mach-zynq zynq: Move zynq to clock framework 2017-02-17 10:22:46 +01:00
thumb1/include/asm/proc-armv arm: support Thumb-1 with CONFIG_SYS_THUMB_BUILD 2015-11-10 15:03:48 +01:00
config.mk arm: Migrate SYS_THUMB_BUILD to Kconfig, introduce SPL_SYS_THUMB_BUILD 2017-03-18 20:28:01 -04:00
Kconfig arm: mvebu: Add gdsys ControlCenter-Compact board 2017-03-29 07:38:10 +02:00
Kconfig.debug arm: debug: add Kconfig entries for lowlevel debug 2014-10-26 22:23:12 +01:00
Makefile imx: mx7ulp: Add soc level initialization codes and functions 2017-03-17 09:27:08 +01:00