From 858290178f222d998b6425d85cf06822467918f3 Mon Sep 17 00:00:00 2001 From: Peter Tyser Date: Mon, 21 Sep 2009 11:20:25 -0500 Subject: ppc: Enable full relocation to RAM The following changes allow U-Boot to fully relocate from flash to RAM: - Remove linker scripts' .fixup sections from the .text section - Add -mrelocatable to PLATFORM_RELFLAGS for all boards - Define CONFIG_RELOC_FIXUP_WORKS for all boards Previously, U-Boot would partially relocate, but statically initialized pointers needed to be manually relocated. Signed-off-by: Peter Tyser --- board/prodrive/alpr/u-boot.lds | 1 - board/prodrive/p3mx/u-boot.lds | 1 - board/prodrive/p3p440/u-boot.lds | 1 - 3 files changed, 3 deletions(-) (limited to 'board/prodrive') diff --git a/board/prodrive/alpr/u-boot.lds b/board/prodrive/alpr/u-boot.lds index e7c5fe61f7..6633f91c44 100644 --- a/board/prodrive/alpr/u-boot.lds +++ b/board/prodrive/alpr/u-boot.lds @@ -69,7 +69,6 @@ SECTIONS board/prodrive/alpr/init.o (.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/prodrive/p3mx/u-boot.lds b/board/prodrive/p3mx/u-boot.lds index 632921ae53..d021331148 100644 --- a/board/prodrive/p3mx/u-boot.lds +++ b/board/prodrive/p3mx/u-boot.lds @@ -63,7 +63,6 @@ SECTIONS /* common/env_embedded.o(.text) */ *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/prodrive/p3p440/u-boot.lds b/board/prodrive/p3p440/u-boot.lds index 93279709a8..b1c2dfffe9 100644 --- a/board/prodrive/p3p440/u-boot.lds +++ b/board/prodrive/p3p440/u-boot.lds @@ -69,7 +69,6 @@ SECTIONS board/prodrive/p3p440/init.o (.text) *(.text) - *(.fixup) *(.got1) } _etext = .; -- cgit v1.2.3 From 6385b28116f775da4771b768ba9bf93c3aaaf26e Mon Sep 17 00:00:00 2001 From: Peter Tyser Date: Mon, 21 Sep 2009 11:20:32 -0500 Subject: fpga: Remove relocation fixups PPC boards are the only users of the current FPGA code which is littered with manual relocation fixups. Now that proper relocation is supported for PPC boards, remove FPGA manual relocation. Signed-off-by: Peter Tyser --- board/prodrive/alpr/fpga.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'board/prodrive') diff --git a/board/prodrive/alpr/fpga.c b/board/prodrive/alpr/fpga.c index 0ecebc943a..7571cd950c 100644 --- a/board/prodrive/alpr/fpga.c +++ b/board/prodrive/alpr/fpga.c @@ -244,8 +244,8 @@ int alpr_fpga_init (void) { int i; - PRINTF ("%s:%d: Initialize FPGA interface (relocation offset = 0x%.8lx)\n", __FUNCTION__, __LINE__, gd->reloc_off); - fpga_init (gd->reloc_off); + PRINTF ("%s:%d: Initialize FPGA interface\n", __FUNCTION__, __LINE__); + fpga_init (); for (i = 0; i < CONFIG_FPGA_COUNT; i++) { PRINTF ("%s:%d: Adding fpga %d\n", __FUNCTION__, __LINE__, i); -- cgit v1.2.3 From 3cbcfa70b116df1bbdc90ba31c61adcaec058a8a Mon Sep 17 00:00:00 2001 From: Peter Tyser Date: Mon, 21 Sep 2009 11:20:35 -0500 Subject: p3mx: Remove serial relocation fixups Signed-off-by: Peter Tyser --- board/prodrive/p3mx/p3mx.c | 10 ---------- 1 file changed, 10 deletions(-) (limited to 'board/prodrive') diff --git a/board/prodrive/p3mx/p3mx.c b/board/prodrive/p3mx/p3mx.c index 0247bb80a4..05eca52e0e 100644 --- a/board/prodrive/p3mx/p3mx.c +++ b/board/prodrive/p3mx/p3mx.c @@ -316,16 +316,6 @@ int misc_init_r () return 0; } -int board_early_init_r(void) -{ - /* now relocate the debug serial driver */ - mpsc_putchar += gd->reloc_off; - mpsc_getchar += gd->reloc_off; - mpsc_test_char += gd->reloc_off; - - return 0; -} - void after_reloc (ulong dest_addr, gd_t * gd) { memoryMapDeviceSpace (BOOT_DEVICE, CONFIG_SYS_BOOT_SPACE, CONFIG_SYS_BOOT_SIZE); -- cgit v1.2.3