From mboxrd@z Thu Jan 1 00:00:00 1970 From: Philipp Tomsich Date: Wed, 12 Jul 2017 12:36:01 +0200 Subject: [U-Boot] rockchip: spl: make boot0 hook TPL safe In-Reply-To: <1499799885-35391-1-git-send-email-philipp.tomsich@theobroma-systems.com> References: <1499799885-35391-1-git-send-email-philipp.tomsich@theobroma-systems.com> Message-ID: List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de > 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 > Reviewed-by: Simon Glass > --- > > arch/arm/include/asm/arch-rockchip/boot0.h | 13 ++++++++++++- > 1 file changed, 12 insertions(+), 1 deletion(-) > Applied to u-boot-rockchip, thanks!