]> git.sur5r.net Git - u-boot/commit
ARMv8: Allow dynamic early stack pointer
authorStephen Warren <swarren@nvidia.com>
Wed, 20 Dec 2017 01:30:36 +0000 (18:30 -0700)
committerTom Warren <twarren@nvidia.com>
Fri, 12 Jan 2018 16:52:11 +0000 (09:52 -0700)
commite6c904489a6018f44c3b00c9eacc4742887b1f83
tree8a8cf657ab6bc2f2c705c9348cea9d8d0f6c2819
parent0d1bd150f041b9c5939e2e6be36f91444b10cace
ARMv8: Allow dynamic early stack pointer

U-Boot typically uses a hard-coded value for the stack pointer before
relocation. Implement option SYS_INIT_SP_BSS_OFFSET to instead calculate
the initial SP at run-time. This is useful to avoid hard-coding addresses
into U-Boot, so that can be loaded and executed at arbitrary addresses and
thus avoid using arbitrary addresses at runtime. This option's value is
the offset added to &_bss_start in order to calculate the stack pointer.
This offset should be large enough so that the early malloc region, global
data (gd), and early stack usage do not overlap any appended DTB.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Tom Warren <twarren@nvidia.com>
arch/arm/Kconfig
arch/arm/lib/crt0_64.S