u-boot-brain/arch
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
..
arc arcv2: Halt non-master cores 2017-03-31 22:09:36 +03:00
arm rockchip: spl: RK3399: use boot0 hook to create space for SPL magic 2017-04-04 20:01:57 -06:00
avr32 efi: Use asmlinkage for EFIAPI 2016-10-19 09:01:53 +02:00
blackfin Convert CONFIG_ARCH_MISC_INIT to Kconfig 2017-01-25 17:38:41 -05:00
m68k spi: Zap cf_qspi driver and related code 2017-01-15 18:29:04 +01:00
microblaze microblaze: Fix endif macro command 2017-02-10 13:59:36 +01:00
mips mips: Use common _AC macro now. 2017-01-10 08:19:26 -05:00
nds32 nds32: Support relocation. 2016-09-29 15:38:10 +08:00
nios2 dm: core: Replace of_offset with accessor 2017-02-08 06:12:14 -07:00
openrisc efi: Use asmlinkage for EFIAPI 2016-10-19 09:01:53 +02:00
powerpc Freescale/NXP: Migrate CONFIG_FSL_CAAM to defconfigs 2017-03-09 11:37:24 -05:00
sandbox dtoc: Replace dot with underscore to avoid compiler errors 2017-02-08 06:07:35 -07:00
sh sh: generate position independent code for all platforms 2016-12-02 21:32:54 -05:00
sparc efi: Use asmlinkage for EFIAPI 2016-10-19 09:01:53 +02:00
x86 x86: Intel MID platforms has no microcode update 2017-02-21 15:10:56 +08:00
xtensa Remove arch/${ARCH}/include/asm/errno.h 2016-09-23 17:56:18 -04:00
.gitignore .gitignore: drop include/asm/proc from ignore pattern 2014-06-19 11:18:54 -04:00
Kconfig arc: use timer driver for ARC boards 2017-03-29 07:38:11 +02:00