
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