imx: fix exception vectors relocation in imx27
authorAlbert ARIBAUD <albert.u.boot@aribaud.net>
Thu, 13 Nov 2014 16:59:15 +0000 (17:59 +0100)
committerStefano Babic <sbabic@denx.de>
Thu, 20 Nov 2014 09:13:54 +0000 (10:13 +0100)
commitdb544b9662622826b8482c126c116ec366fcd58c
tree6dc8c5fee2ea89621e4e9d872b2298b8392b88dd
parent28970ef66da76aefdb21cca74f22edd771511284
imx: fix exception vectors relocation in imx27

Commit 3ff46cc4 fixed exception vectors setting in
the general ARM case, by either copying the exception
and indirect vector tables to normal (0x00000000) or
high (0xFFFF0000) vectors address, or setting VBAR to
U-Boot's base if applicable.

i.MX27 SoC is ARM926E-JS, thus has only normal and
high options, but does not provide RAM at 0xFFFF0000
and has only ROM at 0x00000000; it is therefore not
possible to move or change its exception vectors.

Besides, i.MX27 ROM code does provide an indirect
vectors table but at a non-standard address and with
the reset and reserved vectors missing.

Turn the current vector relocation code into a weak
routine called after relocate_code from crt0, and add
strong version for i.MX27.

Series-Cc: Heiko Schocher <hs@denx.de>

Signed-off-by: Albert ARIBAUD <albert.u.boot@aribaud.net>
Reviewed-by: Stefano Babic <sbabic@denx.de>
Tested-by: Stefano Babic <sbabic@denx.de>
Tested-by: Philippe Reynes <tremyfr@gmail.com>
Tested-by: Philippe Reynes <tremyfr@yahoo.fr>
arch/arm/cpu/arm926ejs/mx27/Makefile
arch/arm/cpu/arm926ejs/mx27/relocate.S [new file with mode: 0644]
arch/arm/lib/crt0.S
arch/arm/lib/relocate.S