powerpc/mpc85xx: Use GOT when loading IVORs post-relocation
authorScott Wood <scottwood@freescale.com>
Fri, 24 Apr 2015 01:01:56 +0000 (20:01 -0500)
committerYork Sun <yorksun@freescale.com>
Mon, 4 May 2015 16:23:18 +0000 (09:23 -0700)
commite1bfd1c6b7bc0dc530247fd9108feba3147adf36
tree68df91628d859ad6d47e9713226cb65e04a0b71c
parentace97d26176a3ebc9ec07738450de93eea35975c
powerpc/mpc85xx: Use GOT when loading IVORs post-relocation

Commit 96d2bb952bb ("powerpc/mpc85xx: Don't relocate exception vectors")
simplified IVOR initialization a bit too much, failing to use the
post-relocation offset.  This doesn't cause a problem with normal NOR
boot, in which both the pre-relocation and post-relocation addresses
are 64 KiB aligned.  However, if TEXT_BASE is only 4 KiB aligned, such
as for NAND/SD/etc. boot on some targets, as well as the QEMU target,
the post-relocation address will not be the same in the lower 16 bits,
as reserve_uboot() ensures that the relocation address is always 64
KiB aligned even if the pre-relocation address was not.

Use the GOT to get the proper post-relocation offsets.

Fixes: 96d2bb952bb ("powerpc/mpc85xx: Don't relocate exception vectors")
Signed-off-by: Scott Wood <scottwood@freescale.com>
Cc: Alexander Graf <agraf@suse.de>
Cc: Shaohui Xie <Shaohui.Xie@freescale.com>
Tested-by: Shaohui Xie <Shaohui.Xie@freescale.com>
Reviewed-by: York Sun <yorksun@freescale.com>
arch/powerpc/cpu/mpc85xx/start.S