[U-Boot] [PATCH 1/2] arm: Make reset position-independent

Magnus Lilja lilja.magnus at gmail.com
Fri Sep 5 20:41:08 CEST 2014


Hi

On 3 September 2014 23:32, Benoît Thébaudeau
<benoit.thebaudeau.dev at gmail.com> wrote:
> Some boards, like mx31pdk and tx25, require the beginning of the SPL
> code to be position-independent. For these two boards, this is because
> they use the i.MX external NAND boot, which starts by executing the
> first NAND Flash page from the NFC page buffer. The SPL then needs to
> copy itself to its actual link address in order to free the NFC page
> buffer and use it to load the non-SPL image from Flash before running
> it. This means that the SPL runtime address differs from its link
> address between the reset and the initial copy performed by
> board_init_f(), so this part of the SPL binary must be
> position-independent.
>
> This requirement was broken by commit 41623c9 'arm: move exception
> handling out of start.S files', which used an absolute address to branch
> to the reset routine. This new commit restores the original behavior,
> which just performed a relative branch. This fixes the boot of mx31pdk
> and tx25.
>
> Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau.dev at gmail.com>
> Reported-by: Helmut Raiger <helmut.raiger at hale.at>
> Cc: Albert Aribaud <albert.u.boot at aribaud.net>
> Cc: Magnus Lilja <lilja.magnus at gmail.com>
> Cc: John Rigby <jcrigby at gmail.com>
> ---

Tested-by: Magnus Lilja <lilja.magnus at gmail.com>


More information about the U-Boot mailing list