ppc/85xx: Introduce RESET_VECTOR_ADDRESS to handle non-standard link address
Some board ports place TEXT_BASE at a location that would cause the
RESET_VECTOR_ADDRESS not to be at 0xfffffffc when we link. By default
we assume RESET_VECTOR_ADDRESS will be 0xfffffffc if the board doesn't
explicitly set it.
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Acked-by: Wolfgang Denk <wd@denx.de>
diff --git a/cpu/mpc85xx/u-boot.lds b/cpu/mpc85xx/u-boot.lds
index d6e22a7..ec47871 100644
--- a/cpu/mpc85xx/u-boot.lds
+++ b/cpu/mpc85xx/u-boot.lds
@@ -20,6 +20,10 @@
* MA 02111-1307 USA
*/
+#ifndef RESET_VECTOR_ADDRESS
+#define RESET_VECTOR_ADDRESS 0xfffffffc
+#endif
+
OUTPUT_ARCH(powerpc)
/* Do we need any of these for elf?
__DYNAMIC = 0; */
@@ -116,17 +120,17 @@
. = ALIGN(256);
__init_end = .;
- .bootpg ADDR(.text) + 0x7f000 :
+ .bootpg RESET_VECTOR_ADDRESS - 0xffc :
{
cpu/mpc85xx/start.o (.bootpg)
} :text = 0xffff
- .resetvec ADDR(.text) + 0x7fffc :
+ .resetvec RESET_VECTOR_ADDRESS :
{
*(.resetvec)
} :text = 0xffff
- . = ADDR(.text) + 0x80000;
+ . = RESET_VECTOR_ADDRESS + 0x4;
__bss_start = .;
.bss (NOLOAD) :