[U-Boot] [PATCH v4 1/2] arm: move C runtime setup code in crt0.S

Simon Glass
2012-11-28T21:18:57Z

Hi Albert,

On Tue, Nov 27, 2012 at 4:43 AM, Albert ARIBAUD
<albert.u.boot@aribaud.net> wrote:
> Move all the C runtime setup code from every start.S
> in arch/arm into arch/arm/lib/crt0.S. This covers
> the code sequence from setting up the initial stack
> to calling into board_init_r().
>
> Also, rewrite the C runtime setup and make functions
> board_init_*() and relocate_code() behave according to
> normal C semantics (no jumping across the C stack any
> more, etc).
>
> Some SPL targets had to be touched because they use
> start.S explicitly or for some reason; the relevant
> maintainers and custodians are cc:ed.
>
> Signed-off-by: Albert ARIBAUD <albert.u.boot@aribaud.net>

I tested this on Seaboard (Tegra 20).

Tested-by: Simon Glass <sjg@chromium.org>

I tried to test it on a snow (exynos5250) but couldn't really sync up
with our tree, so gave up. I am not completely sure about how the
CONFIG_SPL_BUILD stuff fits together in start.S and I got a build
error I wasn't sure how to correct (arch/arm/cpu/armv7/start.S:179:
undefined reference to `relocate_done')

Regards,
Simon