[U-Boot] rockchip: spl: make boot0 hook TPL safe

Philipp Tomsich philipp.tomsich at theobroma-systems.com
Wed Jul 12 10:36:01 UTC 2017


> When building for a TPL/SPL setup (e.g. on the RK3368), we need the
> TPL stage to have the extra space for for the 'Rockchip SPL name'
> (i.e. 'RK33' word).  Yet, the SPL will start execution at its first
> word (i.e. the first word in the SPL binary needs to be a valid
> instruction).  To make things a bit more involved, CONFIG_SPL_BUILD
> is defined both for the SPL and the TPL stage.
> 
> To avoid having to explicitly test for the first stage (TPL, if and
> only if TPL and SPL are built, SPL otherwise), this commit modifies
> the sequence to repeat the 'b reset' (instead of reserving 4 bytes
> of undefined space) at the start of the boot0 hook: if overwritten
> (and execution starts at the second word), the first instruction is
> still a 'b reset'... if not overwritten, we start on a 'b reset' as
> well.
> 
> This solution wouldn't even require the check whether we are in the
> SPL/TPL build (i.e. CONFIG_SPL_BUILD), but we leave this check in for
> documentation purposes.
> 
> Signed-off-by: Philipp Tomsich <philipp.tomsich at theobroma-systems.com>
> Reviewed-by: Simon Glass <sjg at chromium.org>
> ---
> 
>  arch/arm/include/asm/arch-rockchip/boot0.h | 13 ++++++++++++-
>  1 file changed, 12 insertions(+), 1 deletion(-)
> 

Applied to u-boot-rockchip, thanks!


More information about the U-Boot mailing list