
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 --- board/freescale/mpc8536ds/config.mk | 2 ++ board/freescale/mpc8572ds/config.mk | 2 ++ board/freescale/p1_p2_rdb/config.mk | 2 ++ board/freescale/p2020ds/config.mk | 2 ++ cpu/mpc85xx/u-boot.lds | 10 +++++++--- 5 files changed, 15 insertions(+), 3 deletions(-)
diff --git a/board/freescale/mpc8536ds/config.mk b/board/freescale/mpc8536ds/config.mk index f030876..c5fe1ba 100644 --- a/board/freescale/mpc8536ds/config.mk +++ b/board/freescale/mpc8536ds/config.mk @@ -26,3 +26,5 @@ ifndef TEXT_BASE TEXT_BASE = 0xeff80000 endif + +PLATFORM_CPPFLAGS += -DRESET_VECTOR_ADDRESS=0xeffffffc diff --git a/board/freescale/mpc8572ds/config.mk b/board/freescale/mpc8572ds/config.mk index 08b61f0..b7c18ab 100644 --- a/board/freescale/mpc8572ds/config.mk +++ b/board/freescale/mpc8572ds/config.mk @@ -26,3 +26,5 @@ ifndef TEXT_BASE TEXT_BASE = 0xeff80000 endif + +PLATFORM_CPPFLAGS += -DRESET_VECTOR_ADDRESS=0xeffffffc diff --git a/board/freescale/p1_p2_rdb/config.mk b/board/freescale/p1_p2_rdb/config.mk index abd64bb..674bdf0 100644 --- a/board/freescale/p1_p2_rdb/config.mk +++ b/board/freescale/p1_p2_rdb/config.mk @@ -27,3 +27,5 @@ ifndef TEXT_BASE TEXT_BASE = 0xeff80000 endif + +PLATFORM_CPPFLAGS += -DRESET_VECTOR_ADDRESS=0xeffffffc diff --git a/board/freescale/p2020ds/config.mk b/board/freescale/p2020ds/config.mk index 439fa8f..297bed5 100644 --- a/board/freescale/p2020ds/config.mk +++ b/board/freescale/p2020ds/config.mk @@ -26,3 +26,5 @@ ifndef TEXT_BASE TEXT_BASE = 0xeff80000 endif + +PLATFORM_CPPFLAGS += -DRESET_VECTOR_ADDRESS=0xeffffffc diff --git a/cpu/mpc85xx/u-boot.lds b/cpu/mpc85xx/u-boot.lds index d6e22a7..17753c3 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 @@ SECTIONS . = 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) :