[U-Boot] [PATCH v2 2/9] arm: spl: Add an API to detect when U-Boot is started from SPL

Simon Glass sjg at chromium.org
Thu Jun 11 22:18:50 CEST 2015


On 13 May 2015 at 07:02, Simon Glass <sjg at chromium.org> wrote:
> For secure boot systems it is common to have a read-only U-Boot which starts
> the machine and jumps to a read-write U-Boot for actual booting the OS. This
> allows the read-write U-Boot to be upgraded without risk of permanently
> bricking the machine. In the event that the read-write U-Boot is corrupted,
> the read-only U-Boot can detect this with a checksum and boot into a
> recovery flow.
>
> To support this, add a way to detect when U-Boot is run from SPL as opposed
> to some other method, such as booted directly (no SPL) or started from
> another source (e.g. a primary U-Boot). This works by putting a special value
> in r0.
>
> For now we rely on board-specific code to actually check the register and
> set a flag. At some point this could be generalised, perhaps by using a spare
> register and passing a flag to _main and/or board_init_f().
>
> This commit does not implement any feature, but merely provides the API for
> boards to implement.
>
> Signed-off-by: Simon Glass <sjg at chromium.org>
> ---
>
> Changes in v2:
> - Clarify that this commit provides only the API, not the implementation
> - Rename constant to UBOOT_NOT_LOADED_FROM_SPL
>
>  include/spl.h | 13 +++++++++++++
>  1 file changed, 13 insertions(+)

Applied to u-boot-dm.


More information about the U-Boot mailing list