]> git.sur5r.net Git - u-boot/commit
sh4: fix start.S by calling board_init_f() after first code relocation
authorVladimir Zapolskiy <vz@mleia.com>
Sun, 27 Nov 2016 22:15:33 +0000 (00:15 +0200)
committerTom Rini <trini@konsulko.com>
Sat, 3 Dec 2016 02:32:53 +0000 (21:32 -0500)
commit9c141b2bd72f9e51bd627580be7ffca93ba9b2d4
tree8e635edd01729d08c091327c431f4d278dc99b5d
parentbccf09e0e16f812dd61c4972a1125b58a221a87d
sh4: fix start.S by calling board_init_f() after first code relocation

Like on ARM platform keep the first code relocation from a U-boot
image storage to RAM at CONFIG_SYS_TEXT_BASE, then pass execution to a
generic board_init_f() with empty GD flags. If CONFIG_SYS_TEXT_BASE is
equal to a calculated by board_init_f() relocation address there will
be no more code and data copy, however it's worth to mention that the
first copy happens even if $pc on _start is the same as
CONFIG_SYS_TEXT_BASE, on practice this works without a problem.

Also note that _sh_start is renamed back to _start to correct
gd->mon_len calculation by setup_mon_len(), the opposite rename was
done in pre-generic board commit 2024b968ee9 ("sh: Fix build in start.S").

Signed-off-by: Vladimir Zapolskiy <vz@mleia.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
arch/sh/cpu/sh4/start.S