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

Simon Glass sjg at chromium.org
Wed Jul 12 00:32:24 UTC 2017


On 11 July 2017 at 13:04, Philipp Tomsich
<philipp.tomsich at theobroma-systems.com> wrote:
> 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>
> ---
>
>  arch/arm/include/asm/arch-rockchip/boot0.h | 13 ++++++++++++-
>  1 file changed, 12 insertions(+), 1 deletion(-)

Reviewed-by: Simon Glass <sjg at chromium.org>


More information about the U-Boot mailing list