From 858290178f222d998b6425d85cf06822467918f3 Mon Sep 17 00:00:00 2001 From: Peter Tyser Date: Mon, 21 Sep 2009 11:20:25 -0500 Subject: [PATCH 01/16] 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/LEOX/elpt860/u-boot.lds | 1 - board/LEOX/elpt860/u-boot.lds.debug | 1 - board/MAI/AmigaOneG3SE/u-boot.lds | 1 - board/Marvell/db64360/u-boot.lds | 1 - board/Marvell/db64460/u-boot.lds | 1 - board/RPXClassic/u-boot.lds | 1 - board/RPXClassic/u-boot.lds.debug | 1 - board/RPXlite/u-boot.lds | 1 - board/RPXlite/u-boot.lds.debug | 1 - board/RPXlite_dw/u-boot.lds | 1 - board/RPXlite_dw/u-boot.lds.debug | 1 - board/RRvision/u-boot.lds | 1 - board/adder/u-boot.lds | 1 - board/amcc/acadia/u-boot-nand.lds | 1 - board/amcc/acadia/u-boot.lds | 1 - board/amcc/bamboo/u-boot-nand.lds | 1 - board/amcc/bamboo/u-boot.lds | 1 - board/amcc/bubinga/u-boot.lds | 1 - board/amcc/canyonlands/u-boot-nand.lds | 1 - board/amcc/canyonlands/u-boot.lds | 1 - board/amcc/ebony/u-boot.lds | 1 - board/amcc/katmai/u-boot.lds | 1 - board/amcc/kilauea/u-boot-nand.lds | 1 - board/amcc/kilauea/u-boot.lds | 1 - board/amcc/luan/u-boot.lds | 1 - board/amcc/makalu/u-boot.lds | 1 - board/amcc/ocotea/u-boot.lds | 1 - board/amcc/redwood/u-boot.lds | 1 - board/amcc/sequoia/u-boot-nand.lds | 1 - board/amcc/sequoia/u-boot-ram.lds | 1 - board/amcc/sequoia/u-boot.lds | 1 - board/amcc/taihu/u-boot.lds | 1 - board/amcc/taishan/u-boot.lds | 1 - board/amcc/walnut/u-boot.lds | 1 - board/amcc/yosemite/u-boot.lds | 1 - board/amcc/yucca/u-boot.lds | 1 - board/amirix/ap1000/u-boot.lds | 1 - board/c2mon/u-boot.lds | 1 - board/c2mon/u-boot.lds.debug | 1 - board/cm5200/u-boot.lds | 1 - board/cogent/u-boot.lds | 1 - board/cogent/u-boot.lds.debug | 1 - board/cray/L1/u-boot.lds | 1 - board/cray/L1/u-boot.lds.debug | 1 - board/csb272/u-boot.lds | 1 - board/csb472/u-boot.lds | 1 - board/dave/PPChameleonEVB/u-boot.lds | 1 - board/eltec/bab7xx/u-boot.lds | 1 - board/eltec/elppc/u-boot.lds | 1 - board/eltec/mhpc/u-boot.lds | 1 - board/eltec/mhpc/u-boot.lds.debug | 1 - board/emk/top860/u-boot.lds | 1 - board/emk/top860/u-boot.lds.debug | 1 - board/ep88x/u-boot.lds | 1 - board/eric/u-boot.lds | 1 - board/esd/adciop/u-boot.lds | 1 - board/esd/apc405/u-boot.lds | 1 - board/esd/ar405/u-boot.lds | 1 - board/esd/ash405/u-boot.lds | 1 - board/esd/canbt/u-boot.lds | 1 - board/esd/cms700/u-boot.lds | 1 - board/esd/cpci2dp/u-boot.lds | 1 - board/esd/cpci405/u-boot.lds | 1 - board/esd/cpci750/u-boot.lds | 1 - board/esd/cpciiser4/u-boot.lds | 1 - board/esd/dasa_sim/u-boot.lds | 1 - board/esd/dp405/u-boot.lds | 1 - board/esd/du405/u-boot.lds | 1 - board/esd/du440/u-boot.lds | 1 - board/esd/hh405/u-boot.lds | 1 - board/esd/hub405/u-boot.lds | 1 - board/esd/ocrtc/u-boot.lds | 1 - board/esd/pci405/u-boot.lds | 1 - board/esd/plu405/u-boot.lds | 1 - board/esd/pmc405/u-boot.lds | 1 - board/esd/pmc405de/u-boot.lds | 1 - board/esd/pmc440/u-boot-nand.lds | 1 - board/esd/pmc440/u-boot.lds | 1 - board/esd/voh405/u-boot.lds | 1 - board/esd/vom405/u-boot.lds | 1 - board/esd/wuh405/u-boot.lds | 1 - board/esteem192e/u-boot.lds | 1 - board/etx094/u-boot.lds | 1 - board/etx094/u-boot.lds.debug | 1 - board/evb64260/u-boot.lds | 1 - board/exbitgen/u-boot.lds | 1 - board/fads/u-boot.lds | 1 - board/fads/u-boot.lds.debug | 1 - board/flagadm/u-boot.lds | 1 - board/flagadm/u-boot.lds.debug | 1 - board/freescale/mpc7448hpc2/u-boot.lds | 1 - board/freescale/mpc8610hpcd/u-boot.lds | 1 - board/freescale/mpc8641hpcn/u-boot.lds | 1 - board/g2000/u-boot.lds | 1 - board/gdsys/dlvision/u-boot.lds | 1 - board/gdsys/gdppc440etx/u-boot.lds | 1 - board/gdsys/intip/u-boot.lds | 1 - board/gdsys/neo/u-boot.lds | 1 - board/gen860t/u-boot-flashenv.lds | 1 - board/gen860t/u-boot.lds | 1 - board/genietv/u-boot.lds | 1 - board/genietv/u-boot.lds.debug | 1 - board/gth/u-boot.lds | 1 - board/hermes/u-boot.lds | 1 - board/hermes/u-boot.lds.debug | 1 - board/hymod/u-boot.lds | 1 - board/hymod/u-boot.lds.debug | 1 - board/icu862/u-boot.lds | 1 - board/icu862/u-boot.lds.debug | 1 - board/ip860/u-boot.lds | 1 - board/ip860/u-boot.lds.debug | 1 - board/ivm/u-boot.lds | 1 - board/ivm/u-boot.lds.debug | 1 - board/jse/u-boot.lds | 1 - board/keymile/km8xx/u-boot.lds | 1 - board/korat/u-boot-F7FC.lds | 1 - board/korat/u-boot.lds | 1 - board/kup/kup4k/u-boot.lds | 1 - board/kup/kup4k/u-boot.lds.debug | 1 - board/kup/kup4x/u-boot.lds | 1 - board/kup/kup4x/u-boot.lds.debug | 1 - board/lantec/u-boot.lds | 1 - board/lantec/u-boot.lds.debug | 1 - board/lwmon/u-boot.lds | 1 - board/lwmon/u-boot.lds.debug | 1 - board/lwmon5/u-boot.lds | 1 - board/mbx8xx/u-boot.lds | 1 - board/mbx8xx/u-boot.lds.debug | 1 - board/ml2/u-boot.lds | 1 - board/ml2/u-boot.lds.debug | 1 - board/mousse/u-boot.lds | 1 - board/mousse/u-boot.lds.rom | 1 - board/mpl/mip405/u-boot.lds | 1 - board/mpl/pip405/u-boot.lds | 1 - board/mpl/pip405/u-boot.lds.debug | 1 - board/munices/u-boot.lds | 1 - board/nc650/u-boot.lds | 1 - board/nc650/u-boot.lds.debug | 1 - board/netphone/u-boot.lds | 1 - board/netphone/u-boot.lds.debug | 1 - board/netstal/hcu4/u-boot.lds | 1 - board/netstal/hcu5/u-boot.lds | 1 - board/netstal/mcu25/u-boot.lds | 1 - board/netta/u-boot.lds | 1 - board/netta/u-boot.lds.debug | 1 - board/netta2/u-boot.lds | 1 - board/netta2/u-boot.lds.debug | 1 - board/netvia/u-boot.lds | 1 - board/netvia/u-boot.lds.debug | 1 - board/nx823/u-boot.lds | 1 - board/nx823/u-boot.lds.debug | 1 - board/pcippc2/u-boot.lds | 1 - board/pcs440ep/u-boot.lds | 1 - board/ppmc7xx/u-boot.lds | 1 - board/prodrive/alpr/u-boot.lds | 1 - board/prodrive/p3mx/u-boot.lds | 1 - board/prodrive/p3p440/u-boot.lds | 1 - board/quad100hd/u-boot.lds | 1 - board/quantum/u-boot.lds | 1 - board/quantum/u-boot.lds.debug | 1 - board/r360mpi/u-boot.lds | 1 - board/rbc823/u-boot.lds | 1 - board/rmu/u-boot.lds | 1 - board/rmu/u-boot.lds.debug | 1 - board/rsdproto/u-boot.lds | 1 - board/sandburst/karef/u-boot.lds | 1 - board/sandburst/karef/u-boot.lds.debug | 1 - board/sandburst/metrobox/u-boot.lds | 1 - board/sandburst/metrobox/u-boot.lds.debug | 1 - board/sbc405/u-boot.lds | 1 - board/sbc8641d/u-boot.lds | 1 - board/sc3/u-boot.lds | 1 - board/siemens/CCM/u-boot.lds | 1 - board/siemens/CCM/u-boot.lds.debug | 1 - board/siemens/IAD210/u-boot.lds | 1 - board/siemens/pcu_e/u-boot.lds | 1 - board/siemens/pcu_e/u-boot.lds.debug | 1 - board/sixnet/u-boot.lds | 1 - board/snmc/qs850/u-boot.lds | 1 - board/snmc/qs860t/u-boot.lds | 1 - board/spc1920/u-boot.lds | 1 - board/spd8xx/u-boot.lds | 1 - board/spd8xx/u-boot.lds.debug | 1 - board/stx/stxxtc/u-boot.lds | 1 - board/stx/stxxtc/u-boot.lds.debug | 1 - board/svm_sc8xx/u-boot.lds | 1 - board/svm_sc8xx/u-boot.lds.debug | 1 - board/tqc/tqm8xx/u-boot.lds | 1 - board/tqc/tqm8xx/u-boot.lds.debug | 1 - board/uc100/u-boot.lds | 1 - board/uc100/u-boot.lds.debug | 1 - board/v37/u-boot.lds | 1 - board/w7o/u-boot.lds | 1 - board/w7o/u-boot.lds.debug | 1 - board/westel/amx860/u-boot.lds | 1 - board/westel/amx860/u-boot.lds.debug | 1 - board/xes/xpedite1000/u-boot.lds | 1 - board/xes/xpedite1000/u-boot.lds.debug | 1 - board/xes/xpedite5170/config.mk | 2 -- board/xes/xpedite5200/config.mk | 2 -- board/xes/xpedite5370/config.mk | 2 -- board/xilinx/ml300/u-boot.lds | 1 - board/xilinx/ml300/u-boot.lds.debug | 1 - board/xilinx/ppc405-generic/u-boot-ram.lds | 1 - board/xilinx/ppc405-generic/u-boot-rom.lds | 1 - board/xilinx/ppc440-generic/u-boot-ram.lds | 1 - board/xilinx/ppc440-generic/u-boot-rom.lds | 1 - board/zeus/u-boot.lds | 1 - cpu/mpc512x/u-boot.lds | 1 - cpu/mpc5xx/u-boot.lds | 1 - cpu/mpc5xxx/u-boot-customlayout.lds | 1 - cpu/mpc5xxx/u-boot.lds | 1 - cpu/mpc8220/u-boot.lds | 1 - cpu/mpc824x/u-boot.lds | 1 - cpu/mpc8260/u-boot.lds | 1 - cpu/mpc83xx/u-boot.lds | 1 - cpu/mpc85xx/u-boot.lds | 1 - include/asm-ppc/config.h | 3 +++ include/configs/XPEDITE5170.h | 1 - include/configs/XPEDITE5200.h | 1 - include/configs/XPEDITE5370.h | 1 - lib_ppc/config.mk | 1 + 222 files changed, 4 insertions(+), 223 deletions(-) diff --git a/board/LEOX/elpt860/u-boot.lds b/board/LEOX/elpt860/u-boot.lds index c6b1f94ebdd..3c44b3ef295 100644 --- a/board/LEOX/elpt860/u-boot.lds +++ b/board/LEOX/elpt860/u-boot.lds @@ -80,7 +80,6 @@ SECTIONS common/env_embedded.o (.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/LEOX/elpt860/u-boot.lds.debug b/board/LEOX/elpt860/u-boot.lds.debug index 434c9b71d38..5126083425d 100644 --- a/board/LEOX/elpt860/u-boot.lds.debug +++ b/board/LEOX/elpt860/u-boot.lds.debug @@ -73,7 +73,6 @@ SECTIONS common/env_embedded.o (.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/MAI/AmigaOneG3SE/u-boot.lds b/board/MAI/AmigaOneG3SE/u-boot.lds index 66440dacad6..18510a8e7e3 100644 --- a/board/MAI/AmigaOneG3SE/u-boot.lds +++ b/board/MAI/AmigaOneG3SE/u-boot.lds @@ -65,7 +65,6 @@ SECTIONS common/env_embedded.o(.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/Marvell/db64360/u-boot.lds b/board/Marvell/db64360/u-boot.lds index 632921ae539..d0213311488 100644 --- a/board/Marvell/db64360/u-boot.lds +++ b/board/Marvell/db64360/u-boot.lds @@ -63,7 +63,6 @@ SECTIONS /* common/env_embedded.o(.text) */ *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/Marvell/db64460/u-boot.lds b/board/Marvell/db64460/u-boot.lds index 632921ae539..d0213311488 100644 --- a/board/Marvell/db64460/u-boot.lds +++ b/board/Marvell/db64460/u-boot.lds @@ -63,7 +63,6 @@ SECTIONS /* common/env_embedded.o(.text) */ *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/RPXClassic/u-boot.lds b/board/RPXClassic/u-boot.lds index faa1c6ccad9..47247ec8133 100644 --- a/board/RPXClassic/u-boot.lds +++ b/board/RPXClassic/u-boot.lds @@ -67,7 +67,6 @@ SECTIONS common/env_embedded.o(.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/RPXClassic/u-boot.lds.debug b/board/RPXClassic/u-boot.lds.debug index ea8538900c0..a2d940f0489 100644 --- a/board/RPXClassic/u-boot.lds.debug +++ b/board/RPXClassic/u-boot.lds.debug @@ -64,7 +64,6 @@ SECTIONS common/env_embedded.o(.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/RPXlite/u-boot.lds b/board/RPXlite/u-boot.lds index faa1c6ccad9..47247ec8133 100644 --- a/board/RPXlite/u-boot.lds +++ b/board/RPXlite/u-boot.lds @@ -67,7 +67,6 @@ SECTIONS common/env_embedded.o(.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/RPXlite/u-boot.lds.debug b/board/RPXlite/u-boot.lds.debug index ea8538900c0..a2d940f0489 100644 --- a/board/RPXlite/u-boot.lds.debug +++ b/board/RPXlite/u-boot.lds.debug @@ -64,7 +64,6 @@ SECTIONS common/env_embedded.o(.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/RPXlite_dw/u-boot.lds b/board/RPXlite_dw/u-boot.lds index 7b7b83ba2c2..7ae7be0c02c 100644 --- a/board/RPXlite_dw/u-boot.lds +++ b/board/RPXlite_dw/u-boot.lds @@ -67,7 +67,6 @@ SECTIONS common/env_embedded.o(.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/RPXlite_dw/u-boot.lds.debug b/board/RPXlite_dw/u-boot.lds.debug index 0f6ae696d8a..83fdc150118 100644 --- a/board/RPXlite_dw/u-boot.lds.debug +++ b/board/RPXlite_dw/u-boot.lds.debug @@ -64,7 +64,6 @@ SECTIONS common/env_embedded.o(.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/RRvision/u-boot.lds b/board/RRvision/u-boot.lds index 17e6fa0e1e2..f22b25fc3d0 100644 --- a/board/RRvision/u-boot.lds +++ b/board/RRvision/u-boot.lds @@ -69,7 +69,6 @@ SECTIONS common/env_embedded.o (.ppcenv) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/adder/u-boot.lds b/board/adder/u-boot.lds index 186dfe666af..397ee2f0533 100644 --- a/board/adder/u-boot.lds +++ b/board/adder/u-boot.lds @@ -54,7 +54,6 @@ SECTIONS { cpu/mpc8xx/start.o (.text) *(.text) - *(.fixup) *(.got1) . = ALIGN(16); *(.eh_frame) diff --git a/board/amcc/acadia/u-boot-nand.lds b/board/amcc/acadia/u-boot-nand.lds index b769e9411fb..738caa0c5fe 100644 --- a/board/amcc/acadia/u-boot-nand.lds +++ b/board/amcc/acadia/u-boot-nand.lds @@ -62,7 +62,6 @@ SECTIONS . = ALIGN(0x10000); *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/amcc/acadia/u-boot.lds b/board/amcc/acadia/u-boot.lds index b7aa160a580..d37200d8bd1 100644 --- a/board/amcc/acadia/u-boot.lds +++ b/board/amcc/acadia/u-boot.lds @@ -63,7 +63,6 @@ SECTIONS cpu/ppc4xx/start.o (.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/amcc/bamboo/u-boot-nand.lds b/board/amcc/bamboo/u-boot-nand.lds index b769e9411fb..738caa0c5fe 100644 --- a/board/amcc/bamboo/u-boot-nand.lds +++ b/board/amcc/bamboo/u-boot-nand.lds @@ -62,7 +62,6 @@ SECTIONS . = ALIGN(0x10000); *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/amcc/bamboo/u-boot.lds b/board/amcc/bamboo/u-boot.lds index 997d8448591..bcde534dfd8 100644 --- a/board/amcc/bamboo/u-boot.lds +++ b/board/amcc/bamboo/u-boot.lds @@ -70,7 +70,6 @@ SECTIONS board/amcc/bamboo/bamboo.o (.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/amcc/bubinga/u-boot.lds b/board/amcc/bubinga/u-boot.lds index b7aa160a580..d37200d8bd1 100644 --- a/board/amcc/bubinga/u-boot.lds +++ b/board/amcc/bubinga/u-boot.lds @@ -63,7 +63,6 @@ SECTIONS cpu/ppc4xx/start.o (.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/amcc/canyonlands/u-boot-nand.lds b/board/amcc/canyonlands/u-boot-nand.lds index d18c536158f..47c6bd92113 100644 --- a/board/amcc/canyonlands/u-boot-nand.lds +++ b/board/amcc/canyonlands/u-boot-nand.lds @@ -62,7 +62,6 @@ SECTIONS . = ALIGN(0x80000); *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/amcc/canyonlands/u-boot.lds b/board/amcc/canyonlands/u-boot.lds index b768532e2bb..22fb8b8d496 100644 --- a/board/amcc/canyonlands/u-boot.lds +++ b/board/amcc/canyonlands/u-boot.lds @@ -69,7 +69,6 @@ SECTIONS board/amcc/canyonlands/init.o (.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/amcc/ebony/u-boot.lds b/board/amcc/ebony/u-boot.lds index d569a14cf2d..4cb2e6c9295 100644 --- a/board/amcc/ebony/u-boot.lds +++ b/board/amcc/ebony/u-boot.lds @@ -69,7 +69,6 @@ SECTIONS board/amcc/ebony/init.o (.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/amcc/katmai/u-boot.lds b/board/amcc/katmai/u-boot.lds index 71a8b696165..f2231c28ea3 100644 --- a/board/amcc/katmai/u-boot.lds +++ b/board/amcc/katmai/u-boot.lds @@ -66,7 +66,6 @@ SECTIONS board/amcc/katmai/init.o (.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/amcc/kilauea/u-boot-nand.lds b/board/amcc/kilauea/u-boot-nand.lds index b769e9411fb..738caa0c5fe 100644 --- a/board/amcc/kilauea/u-boot-nand.lds +++ b/board/amcc/kilauea/u-boot-nand.lds @@ -62,7 +62,6 @@ SECTIONS . = ALIGN(0x10000); *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/amcc/kilauea/u-boot.lds b/board/amcc/kilauea/u-boot.lds index a44613dc6e8..bebb2b236ad 100644 --- a/board/amcc/kilauea/u-boot.lds +++ b/board/amcc/kilauea/u-boot.lds @@ -64,7 +64,6 @@ SECTIONS cpu/ppc4xx/start.o (.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/amcc/luan/u-boot.lds b/board/amcc/luan/u-boot.lds index 7c1bc82d738..12c5b60fc76 100644 --- a/board/amcc/luan/u-boot.lds +++ b/board/amcc/luan/u-boot.lds @@ -69,7 +69,6 @@ SECTIONS board/amcc/luan/init.o (.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/amcc/makalu/u-boot.lds b/board/amcc/makalu/u-boot.lds index a44613dc6e8..bebb2b236ad 100644 --- a/board/amcc/makalu/u-boot.lds +++ b/board/amcc/makalu/u-boot.lds @@ -64,7 +64,6 @@ SECTIONS cpu/ppc4xx/start.o (.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/amcc/ocotea/u-boot.lds b/board/amcc/ocotea/u-boot.lds index 95cac85c96d..b0b4c00fd3d 100644 --- a/board/amcc/ocotea/u-boot.lds +++ b/board/amcc/ocotea/u-boot.lds @@ -69,7 +69,6 @@ SECTIONS board/amcc/ocotea/init.o (.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/amcc/redwood/u-boot.lds b/board/amcc/redwood/u-boot.lds index 32eff525d63..7bda06eb03d 100644 --- a/board/amcc/redwood/u-boot.lds +++ b/board/amcc/redwood/u-boot.lds @@ -73,7 +73,6 @@ SECTIONS /* common/env_embedded.o(.text)*/ *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/amcc/sequoia/u-boot-nand.lds b/board/amcc/sequoia/u-boot-nand.lds index b580e0bd10c..fb629e0c5e5 100644 --- a/board/amcc/sequoia/u-boot-nand.lds +++ b/board/amcc/sequoia/u-boot-nand.lds @@ -62,7 +62,6 @@ SECTIONS . = ALIGN(0x10000); *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/amcc/sequoia/u-boot-ram.lds b/board/amcc/sequoia/u-boot-ram.lds index 9393b651787..e22dbecbf7b 100644 --- a/board/amcc/sequoia/u-boot-ram.lds +++ b/board/amcc/sequoia/u-boot-ram.lds @@ -53,7 +53,6 @@ SECTIONS cpu/ppc4xx/start.o (.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/amcc/sequoia/u-boot.lds b/board/amcc/sequoia/u-boot.lds index 7798722eb9e..b9ec56bb206 100644 --- a/board/amcc/sequoia/u-boot.lds +++ b/board/amcc/sequoia/u-boot.lds @@ -68,7 +68,6 @@ SECTIONS cpu/ppc4xx/start.o (.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/amcc/taihu/u-boot.lds b/board/amcc/taihu/u-boot.lds index b7aa160a580..d37200d8bd1 100644 --- a/board/amcc/taihu/u-boot.lds +++ b/board/amcc/taihu/u-boot.lds @@ -63,7 +63,6 @@ SECTIONS cpu/ppc4xx/start.o (.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/amcc/taishan/u-boot.lds b/board/amcc/taishan/u-boot.lds index 75b7fc9a242..c043f69ee77 100644 --- a/board/amcc/taishan/u-boot.lds +++ b/board/amcc/taishan/u-boot.lds @@ -69,7 +69,6 @@ SECTIONS board/amcc/taishan/init.o (.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/amcc/walnut/u-boot.lds b/board/amcc/walnut/u-boot.lds index f6cbe137ca9..d7a78570e31 100644 --- a/board/amcc/walnut/u-boot.lds +++ b/board/amcc/walnut/u-boot.lds @@ -63,7 +63,6 @@ SECTIONS cpu/ppc4xx/start.o (.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/amcc/yosemite/u-boot.lds b/board/amcc/yosemite/u-boot.lds index e31f0711843..b8646d539ea 100644 --- a/board/amcc/yosemite/u-boot.lds +++ b/board/amcc/yosemite/u-boot.lds @@ -69,7 +69,6 @@ SECTIONS board/amcc/yosemite/init.o (.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/amcc/yucca/u-boot.lds b/board/amcc/yucca/u-boot.lds index 60135b9b722..2d44c6478f7 100644 --- a/board/amcc/yucca/u-boot.lds +++ b/board/amcc/yucca/u-boot.lds @@ -69,7 +69,6 @@ SECTIONS board/amcc/yucca/init.o (.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/amirix/ap1000/u-boot.lds b/board/amirix/ap1000/u-boot.lds index a4c48d6cac7..707203d60f8 100644 --- a/board/amirix/ap1000/u-boot.lds +++ b/board/amirix/ap1000/u-boot.lds @@ -72,7 +72,6 @@ SECTIONS /* common/env_embedded.o(.text)*/ *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/c2mon/u-boot.lds b/board/c2mon/u-boot.lds index 61650a85fa1..2d0efb31612 100644 --- a/board/c2mon/u-boot.lds +++ b/board/c2mon/u-boot.lds @@ -66,7 +66,6 @@ SECTIONS common/env_embedded.o(.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/c2mon/u-boot.lds.debug b/board/c2mon/u-boot.lds.debug index dbec9860a92..ad36953915f 100644 --- a/board/c2mon/u-boot.lds.debug +++ b/board/c2mon/u-boot.lds.debug @@ -64,7 +64,6 @@ SECTIONS common/env_embedded.o(.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/cm5200/u-boot.lds b/board/cm5200/u-boot.lds index 3a72bd32f21..5887f774e92 100644 --- a/board/cm5200/u-boot.lds +++ b/board/cm5200/u-boot.lds @@ -52,7 +52,6 @@ SECTIONS { cpu/mpc5xxx/start.o (.text) *(.text) - *(.fixup) *(.got1) . = ALIGN(16); *(.eh_frame) diff --git a/board/cogent/u-boot.lds b/board/cogent/u-boot.lds index 3ea6f1c4dd3..2fecb0fcf63 100644 --- a/board/cogent/u-boot.lds +++ b/board/cogent/u-boot.lds @@ -54,7 +54,6 @@ SECTIONS { *(.text) common/env_embedded.o(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/cogent/u-boot.lds.debug b/board/cogent/u-boot.lds.debug index ea8538900c0..a2d940f0489 100644 --- a/board/cogent/u-boot.lds.debug +++ b/board/cogent/u-boot.lds.debug @@ -64,7 +64,6 @@ SECTIONS common/env_embedded.o(.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/cray/L1/u-boot.lds b/board/cray/L1/u-boot.lds index 86c8ecbb838..bd80df6102b 100644 --- a/board/cray/L1/u-boot.lds +++ b/board/cray/L1/u-boot.lds @@ -78,7 +78,6 @@ SECTIONS common/env_embedded.o(.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/cray/L1/u-boot.lds.debug b/board/cray/L1/u-boot.lds.debug index 338392a0759..970628d556e 100644 --- a/board/cray/L1/u-boot.lds.debug +++ b/board/cray/L1/u-boot.lds.debug @@ -64,7 +64,6 @@ SECTIONS common/env_embedded.o(.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/csb272/u-boot.lds b/board/csb272/u-boot.lds index 0aa6f8f9c1d..b58ccc5f82b 100644 --- a/board/csb272/u-boot.lds +++ b/board/csb272/u-boot.lds @@ -79,7 +79,6 @@ SECTIONS /* common/env_embedded.o(.text)*/ *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/csb472/u-boot.lds b/board/csb472/u-boot.lds index 565e0211875..ba37c1b79e8 100644 --- a/board/csb472/u-boot.lds +++ b/board/csb472/u-boot.lds @@ -79,7 +79,6 @@ SECTIONS /* common/env_embedded.o(.text)*/ *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/dave/PPChameleonEVB/u-boot.lds b/board/dave/PPChameleonEVB/u-boot.lds index b36827d0ef7..ee7f59ec85f 100644 --- a/board/dave/PPChameleonEVB/u-boot.lds +++ b/board/dave/PPChameleonEVB/u-boot.lds @@ -73,7 +73,6 @@ SECTIONS lib_generic/zlib.o (.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/eltec/bab7xx/u-boot.lds b/board/eltec/bab7xx/u-boot.lds index 632921ae539..d0213311488 100644 --- a/board/eltec/bab7xx/u-boot.lds +++ b/board/eltec/bab7xx/u-boot.lds @@ -63,7 +63,6 @@ SECTIONS /* common/env_embedded.o(.text) */ *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/eltec/elppc/u-boot.lds b/board/eltec/elppc/u-boot.lds index 632921ae539..d0213311488 100644 --- a/board/eltec/elppc/u-boot.lds +++ b/board/eltec/elppc/u-boot.lds @@ -63,7 +63,6 @@ SECTIONS /* common/env_embedded.o(.text) */ *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/eltec/mhpc/u-boot.lds b/board/eltec/mhpc/u-boot.lds index ee74eb950a5..5c847fbf845 100644 --- a/board/eltec/mhpc/u-boot.lds +++ b/board/eltec/mhpc/u-boot.lds @@ -56,7 +56,6 @@ SECTIONS common/env_embedded.o(.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/eltec/mhpc/u-boot.lds.debug b/board/eltec/mhpc/u-boot.lds.debug index dbec9860a92..ad36953915f 100644 --- a/board/eltec/mhpc/u-boot.lds.debug +++ b/board/eltec/mhpc/u-boot.lds.debug @@ -64,7 +64,6 @@ SECTIONS common/env_embedded.o(.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/emk/top860/u-boot.lds b/board/emk/top860/u-boot.lds index b4e093ca702..46dca96e603 100644 --- a/board/emk/top860/u-boot.lds +++ b/board/emk/top860/u-boot.lds @@ -55,7 +55,6 @@ SECTIONS cpu/mpc8xx/start.o (.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/emk/top860/u-boot.lds.debug b/board/emk/top860/u-boot.lds.debug index 82e8dce8303..bfe85134e5d 100644 --- a/board/emk/top860/u-boot.lds.debug +++ b/board/emk/top860/u-boot.lds.debug @@ -65,7 +65,6 @@ SECTIONS common/env_embedded.o(.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/ep88x/u-boot.lds b/board/ep88x/u-boot.lds index b3849deda29..70b84e4c8ac 100644 --- a/board/ep88x/u-boot.lds +++ b/board/ep88x/u-boot.lds @@ -54,7 +54,6 @@ SECTIONS { cpu/mpc8xx/start.o (.text) *(.text) - *(.fixup) *(.got1) . = ALIGN(16); *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) diff --git a/board/eric/u-boot.lds b/board/eric/u-boot.lds index e62896f12f9..261ccfbc1f4 100644 --- a/board/eric/u-boot.lds +++ b/board/eric/u-boot.lds @@ -78,7 +78,6 @@ SECTIONS common/env_embedded.o(.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/esd/adciop/u-boot.lds b/board/esd/adciop/u-boot.lds index 2645e84c38a..9207fe0bf5a 100644 --- a/board/esd/adciop/u-boot.lds +++ b/board/esd/adciop/u-boot.lds @@ -60,7 +60,6 @@ SECTIONS cpu/ppc4xx/start.o (.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/esd/apc405/u-boot.lds b/board/esd/apc405/u-boot.lds index 8c010162f00..0799275fde8 100644 --- a/board/esd/apc405/u-boot.lds +++ b/board/esd/apc405/u-boot.lds @@ -60,7 +60,6 @@ SECTIONS cpu/ppc4xx/start.o (.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/esd/ar405/u-boot.lds b/board/esd/ar405/u-boot.lds index 0221e3091b1..2247109cb6d 100644 --- a/board/esd/ar405/u-boot.lds +++ b/board/esd/ar405/u-boot.lds @@ -60,7 +60,6 @@ SECTIONS cpu/ppc4xx/start.o (.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/esd/ash405/u-boot.lds b/board/esd/ash405/u-boot.lds index 005957eedbf..285c901fe62 100644 --- a/board/esd/ash405/u-boot.lds +++ b/board/esd/ash405/u-boot.lds @@ -60,7 +60,6 @@ SECTIONS cpu/ppc4xx/start.o (.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/esd/canbt/u-boot.lds b/board/esd/canbt/u-boot.lds index 0221e3091b1..2247109cb6d 100644 --- a/board/esd/canbt/u-boot.lds +++ b/board/esd/canbt/u-boot.lds @@ -60,7 +60,6 @@ SECTIONS cpu/ppc4xx/start.o (.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/esd/cms700/u-boot.lds b/board/esd/cms700/u-boot.lds index 8c010162f00..0799275fde8 100644 --- a/board/esd/cms700/u-boot.lds +++ b/board/esd/cms700/u-boot.lds @@ -60,7 +60,6 @@ SECTIONS cpu/ppc4xx/start.o (.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/esd/cpci2dp/u-boot.lds b/board/esd/cpci2dp/u-boot.lds index 8c010162f00..0799275fde8 100644 --- a/board/esd/cpci2dp/u-boot.lds +++ b/board/esd/cpci2dp/u-boot.lds @@ -60,7 +60,6 @@ SECTIONS cpu/ppc4xx/start.o (.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/esd/cpci405/u-boot.lds b/board/esd/cpci405/u-boot.lds index 8c010162f00..0799275fde8 100644 --- a/board/esd/cpci405/u-boot.lds +++ b/board/esd/cpci405/u-boot.lds @@ -60,7 +60,6 @@ SECTIONS cpu/ppc4xx/start.o (.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/esd/cpci750/u-boot.lds b/board/esd/cpci750/u-boot.lds index 632921ae539..d0213311488 100644 --- a/board/esd/cpci750/u-boot.lds +++ b/board/esd/cpci750/u-boot.lds @@ -63,7 +63,6 @@ SECTIONS /* common/env_embedded.o(.text) */ *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/esd/cpciiser4/u-boot.lds b/board/esd/cpciiser4/u-boot.lds index 8c010162f00..0799275fde8 100644 --- a/board/esd/cpciiser4/u-boot.lds +++ b/board/esd/cpciiser4/u-boot.lds @@ -60,7 +60,6 @@ SECTIONS cpu/ppc4xx/start.o (.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/esd/dasa_sim/u-boot.lds b/board/esd/dasa_sim/u-boot.lds index 77674b514eb..b044649ebf0 100644 --- a/board/esd/dasa_sim/u-boot.lds +++ b/board/esd/dasa_sim/u-boot.lds @@ -63,7 +63,6 @@ SECTIONS common/env_embedded.o(.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/esd/dp405/u-boot.lds b/board/esd/dp405/u-boot.lds index 8c010162f00..0799275fde8 100644 --- a/board/esd/dp405/u-boot.lds +++ b/board/esd/dp405/u-boot.lds @@ -60,7 +60,6 @@ SECTIONS cpu/ppc4xx/start.o (.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/esd/du405/u-boot.lds b/board/esd/du405/u-boot.lds index 166d0d1cda6..65ad2f23be4 100644 --- a/board/esd/du405/u-boot.lds +++ b/board/esd/du405/u-boot.lds @@ -60,7 +60,6 @@ SECTIONS cpu/ppc4xx/start.o (.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/esd/du440/u-boot.lds b/board/esd/du440/u-boot.lds index 7360349dfb2..3b6c09687ab 100644 --- a/board/esd/du440/u-boot.lds +++ b/board/esd/du440/u-boot.lds @@ -65,7 +65,6 @@ SECTIONS cpu/ppc4xx/start.o (.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/esd/hh405/u-boot.lds b/board/esd/hh405/u-boot.lds index 8c010162f00..0799275fde8 100644 --- a/board/esd/hh405/u-boot.lds +++ b/board/esd/hh405/u-boot.lds @@ -60,7 +60,6 @@ SECTIONS cpu/ppc4xx/start.o (.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/esd/hub405/u-boot.lds b/board/esd/hub405/u-boot.lds index 005957eedbf..285c901fe62 100644 --- a/board/esd/hub405/u-boot.lds +++ b/board/esd/hub405/u-boot.lds @@ -60,7 +60,6 @@ SECTIONS cpu/ppc4xx/start.o (.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/esd/ocrtc/u-boot.lds b/board/esd/ocrtc/u-boot.lds index 1b50b6d4da2..34884b69b0b 100644 --- a/board/esd/ocrtc/u-boot.lds +++ b/board/esd/ocrtc/u-boot.lds @@ -75,7 +75,6 @@ SECTIONS /* common/env_embedded.o(.text)*/ *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/esd/pci405/u-boot.lds b/board/esd/pci405/u-boot.lds index 8c010162f00..0799275fde8 100644 --- a/board/esd/pci405/u-boot.lds +++ b/board/esd/pci405/u-boot.lds @@ -60,7 +60,6 @@ SECTIONS cpu/ppc4xx/start.o (.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/esd/plu405/u-boot.lds b/board/esd/plu405/u-boot.lds index 005957eedbf..285c901fe62 100644 --- a/board/esd/plu405/u-boot.lds +++ b/board/esd/plu405/u-boot.lds @@ -60,7 +60,6 @@ SECTIONS cpu/ppc4xx/start.o (.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/esd/pmc405/u-boot.lds b/board/esd/pmc405/u-boot.lds index 74f1d870c8d..178a755ef74 100644 --- a/board/esd/pmc405/u-boot.lds +++ b/board/esd/pmc405/u-boot.lds @@ -60,7 +60,6 @@ SECTIONS cpu/ppc4xx/start.o (.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/esd/pmc405de/u-boot.lds b/board/esd/pmc405de/u-boot.lds index 8c010162f00..0799275fde8 100644 --- a/board/esd/pmc405de/u-boot.lds +++ b/board/esd/pmc405de/u-boot.lds @@ -60,7 +60,6 @@ SECTIONS cpu/ppc4xx/start.o (.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/esd/pmc440/u-boot-nand.lds b/board/esd/pmc440/u-boot-nand.lds index b580e0bd10c..fb629e0c5e5 100644 --- a/board/esd/pmc440/u-boot-nand.lds +++ b/board/esd/pmc440/u-boot-nand.lds @@ -62,7 +62,6 @@ SECTIONS . = ALIGN(0x10000); *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/esd/pmc440/u-boot.lds b/board/esd/pmc440/u-boot.lds index 7360349dfb2..3b6c09687ab 100644 --- a/board/esd/pmc440/u-boot.lds +++ b/board/esd/pmc440/u-boot.lds @@ -65,7 +65,6 @@ SECTIONS cpu/ppc4xx/start.o (.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/esd/voh405/u-boot.lds b/board/esd/voh405/u-boot.lds index 8c010162f00..0799275fde8 100644 --- a/board/esd/voh405/u-boot.lds +++ b/board/esd/voh405/u-boot.lds @@ -60,7 +60,6 @@ SECTIONS cpu/ppc4xx/start.o (.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/esd/vom405/u-boot.lds b/board/esd/vom405/u-boot.lds index 8c010162f00..0799275fde8 100644 --- a/board/esd/vom405/u-boot.lds +++ b/board/esd/vom405/u-boot.lds @@ -60,7 +60,6 @@ SECTIONS cpu/ppc4xx/start.o (.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/esd/wuh405/u-boot.lds b/board/esd/wuh405/u-boot.lds index 005957eedbf..285c901fe62 100644 --- a/board/esd/wuh405/u-boot.lds +++ b/board/esd/wuh405/u-boot.lds @@ -60,7 +60,6 @@ SECTIONS cpu/ppc4xx/start.o (.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/esteem192e/u-boot.lds b/board/esteem192e/u-boot.lds index 57aabed7c5b..3e4490ec492 100644 --- a/board/esteem192e/u-boot.lds +++ b/board/esteem192e/u-boot.lds @@ -66,7 +66,6 @@ SECTIONS common/env_embedded.o(.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/etx094/u-boot.lds b/board/etx094/u-boot.lds index eb3d4875260..1d34e68fd70 100644 --- a/board/etx094/u-boot.lds +++ b/board/etx094/u-boot.lds @@ -68,7 +68,6 @@ SECTIONS . = env_offset; common/env_embedded.o(.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/etx094/u-boot.lds.debug b/board/etx094/u-boot.lds.debug index 28f8804dcc1..1af61fb2b5a 100644 --- a/board/etx094/u-boot.lds.debug +++ b/board/etx094/u-boot.lds.debug @@ -71,7 +71,6 @@ SECTIONS common/env_embedded.o(.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/evb64260/u-boot.lds b/board/evb64260/u-boot.lds index 632921ae539..d0213311488 100644 --- a/board/evb64260/u-boot.lds +++ b/board/evb64260/u-boot.lds @@ -63,7 +63,6 @@ SECTIONS /* common/env_embedded.o(.text) */ *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/exbitgen/u-boot.lds b/board/exbitgen/u-boot.lds index 2798dc8819b..d2b28e11b6c 100644 --- a/board/exbitgen/u-boot.lds +++ b/board/exbitgen/u-boot.lds @@ -77,7 +77,6 @@ SECTIONS common/env_embedded.o(.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/fads/u-boot.lds b/board/fads/u-boot.lds index b39ef1479a4..ce3e32e0d5c 100644 --- a/board/fads/u-boot.lds +++ b/board/fads/u-boot.lds @@ -56,7 +56,6 @@ SECTIONS common/env_embedded.o (.ppcenv) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/fads/u-boot.lds.debug b/board/fads/u-boot.lds.debug index 67d37ae3344..0a3b958fad6 100644 --- a/board/fads/u-boot.lds.debug +++ b/board/fads/u-boot.lds.debug @@ -65,7 +65,6 @@ SECTIONS common/env_embedded.o(.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/flagadm/u-boot.lds b/board/flagadm/u-boot.lds index 1c8180a0196..877e82c84cd 100644 --- a/board/flagadm/u-boot.lds +++ b/board/flagadm/u-boot.lds @@ -55,7 +55,6 @@ SECTIONS cpu/mpc8xx/start.o (.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/flagadm/u-boot.lds.debug b/board/flagadm/u-boot.lds.debug index dbec9860a92..ad36953915f 100644 --- a/board/flagadm/u-boot.lds.debug +++ b/board/flagadm/u-boot.lds.debug @@ -64,7 +64,6 @@ SECTIONS common/env_embedded.o(.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/freescale/mpc7448hpc2/u-boot.lds b/board/freescale/mpc7448hpc2/u-boot.lds index cd11f3939cb..247779f6c22 100644 --- a/board/freescale/mpc7448hpc2/u-boot.lds +++ b/board/freescale/mpc7448hpc2/u-boot.lds @@ -63,7 +63,6 @@ SECTIONS /* common/env_embedded.o(.text) */ *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/freescale/mpc8610hpcd/u-boot.lds b/board/freescale/mpc8610hpcd/u-boot.lds index 5cc88aeea52..b573807fe92 100644 --- a/board/freescale/mpc8610hpcd/u-boot.lds +++ b/board/freescale/mpc8610hpcd/u-boot.lds @@ -61,7 +61,6 @@ SECTIONS lib_ppc/extable.o (.text) lib_generic/zlib.o (.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/freescale/mpc8641hpcn/u-boot.lds b/board/freescale/mpc8641hpcn/u-boot.lds index e18872202af..2b98b5a9cc7 100644 --- a/board/freescale/mpc8641hpcn/u-boot.lds +++ b/board/freescale/mpc8641hpcn/u-boot.lds @@ -62,7 +62,6 @@ SECTIONS lib_generic/zlib.o (.text) drivers/bios_emulator/atibios.o (.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/g2000/u-boot.lds b/board/g2000/u-boot.lds index 8c010162f00..0799275fde8 100644 --- a/board/g2000/u-boot.lds +++ b/board/g2000/u-boot.lds @@ -60,7 +60,6 @@ SECTIONS cpu/ppc4xx/start.o (.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/gdsys/dlvision/u-boot.lds b/board/gdsys/dlvision/u-boot.lds index d803625b5a9..689c808b8ae 100644 --- a/board/gdsys/dlvision/u-boot.lds +++ b/board/gdsys/dlvision/u-boot.lds @@ -60,7 +60,6 @@ SECTIONS cpu/ppc4xx/start.o (.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/gdsys/gdppc440etx/u-boot.lds b/board/gdsys/gdppc440etx/u-boot.lds index 77f0aae700a..6ab36ee8551 100644 --- a/board/gdsys/gdppc440etx/u-boot.lds +++ b/board/gdsys/gdppc440etx/u-boot.lds @@ -69,7 +69,6 @@ SECTIONS board/gdsys/gdppc440etx/init.o (.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/gdsys/intip/u-boot.lds b/board/gdsys/intip/u-boot.lds index c1cbd1c4ace..624c4c1bef9 100644 --- a/board/gdsys/intip/u-boot.lds +++ b/board/gdsys/intip/u-boot.lds @@ -69,7 +69,6 @@ SECTIONS board/gdsys/intip/init.o (.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/gdsys/neo/u-boot.lds b/board/gdsys/neo/u-boot.lds index b95eb5ce185..75202caf331 100644 --- a/board/gdsys/neo/u-boot.lds +++ b/board/gdsys/neo/u-boot.lds @@ -60,7 +60,6 @@ SECTIONS cpu/ppc4xx/start.o (.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/gen860t/u-boot-flashenv.lds b/board/gen860t/u-boot-flashenv.lds index 9785639c76c..7b83b25b658 100644 --- a/board/gen860t/u-boot-flashenv.lds +++ b/board/gen860t/u-boot-flashenv.lds @@ -57,7 +57,6 @@ SECTIONS { cpu/mpc8xx/start.o (.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/gen860t/u-boot.lds b/board/gen860t/u-boot.lds index fbe3c7044bd..8f40b303bf0 100644 --- a/board/gen860t/u-boot.lds +++ b/board/gen860t/u-boot.lds @@ -56,7 +56,6 @@ SECTIONS { cpu/mpc8xx/start.o (.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/genietv/u-boot.lds b/board/genietv/u-boot.lds index ee0b7195c6e..716efcdd0ba 100644 --- a/board/genietv/u-boot.lds +++ b/board/genietv/u-boot.lds @@ -65,7 +65,6 @@ SECTIONS . = env_offset; common/env_embedded.o(.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/genietv/u-boot.lds.debug b/board/genietv/u-boot.lds.debug index 61fdfe53ec7..3568e6de691 100644 --- a/board/genietv/u-boot.lds.debug +++ b/board/genietv/u-boot.lds.debug @@ -65,7 +65,6 @@ SECTIONS . = env_offset; common/env_embedded.o(.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/gth/u-boot.lds b/board/gth/u-boot.lds index 88265508f86..f6175d9d570 100644 --- a/board/gth/u-boot.lds +++ b/board/gth/u-boot.lds @@ -55,7 +55,6 @@ SECTIONS cpu/mpc8xx/start.o(.text) *(.text) common/env_embedded.o(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/hermes/u-boot.lds b/board/hermes/u-boot.lds index 02216fb849e..7b74cb7d5f6 100644 --- a/board/hermes/u-boot.lds +++ b/board/hermes/u-boot.lds @@ -66,7 +66,6 @@ SECTIONS common/env_embedded.o(.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/hermes/u-boot.lds.debug b/board/hermes/u-boot.lds.debug index 78456e6d8f7..38012069319 100644 --- a/board/hermes/u-boot.lds.debug +++ b/board/hermes/u-boot.lds.debug @@ -64,7 +64,6 @@ SECTIONS common/env_embedded.o(.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/hymod/u-boot.lds b/board/hymod/u-boot.lds index 03fefecefbe..52d66a2df30 100644 --- a/board/hymod/u-boot.lds +++ b/board/hymod/u-boot.lds @@ -68,7 +68,6 @@ SECTIONS common/env_embedded.o(.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/hymod/u-boot.lds.debug b/board/hymod/u-boot.lds.debug index ea8538900c0..a2d940f0489 100644 --- a/board/hymod/u-boot.lds.debug +++ b/board/hymod/u-boot.lds.debug @@ -64,7 +64,6 @@ SECTIONS common/env_embedded.o(.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/icu862/u-boot.lds b/board/icu862/u-boot.lds index 9a28cfd303e..b43be81b690 100644 --- a/board/icu862/u-boot.lds +++ b/board/icu862/u-boot.lds @@ -69,7 +69,6 @@ SECTIONS */ *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/icu862/u-boot.lds.debug b/board/icu862/u-boot.lds.debug index dbd1f9d1064..653e0be45ce 100644 --- a/board/icu862/u-boot.lds.debug +++ b/board/icu862/u-boot.lds.debug @@ -65,7 +65,6 @@ SECTIONS common/env_embedded.o(.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/ip860/u-boot.lds b/board/ip860/u-boot.lds index b47ae8e530f..a786bf23e10 100644 --- a/board/ip860/u-boot.lds +++ b/board/ip860/u-boot.lds @@ -66,7 +66,6 @@ SECTIONS common/env_embedded.o(.text) **/ *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/ip860/u-boot.lds.debug b/board/ip860/u-boot.lds.debug index e8a47f7a0b9..dc2f6e12f5e 100644 --- a/board/ip860/u-boot.lds.debug +++ b/board/ip860/u-boot.lds.debug @@ -65,7 +65,6 @@ SECTIONS common/env_embedded.o(.text) **/ *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/ivm/u-boot.lds b/board/ivm/u-boot.lds index ab51bd8352f..8d7ff70117f 100644 --- a/board/ivm/u-boot.lds +++ b/board/ivm/u-boot.lds @@ -55,7 +55,6 @@ SECTIONS cpu/mpc8xx/start.o (.text) common/env_embedded.o(.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/ivm/u-boot.lds.debug b/board/ivm/u-boot.lds.debug index 4d49f1bbef4..b5206c50fd9 100644 --- a/board/ivm/u-boot.lds.debug +++ b/board/ivm/u-boot.lds.debug @@ -65,7 +65,6 @@ SECTIONS common/env_embedded.o(.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/jse/u-boot.lds b/board/jse/u-boot.lds index 12d3938fc1c..6d0a21cdc4a 100644 --- a/board/jse/u-boot.lds +++ b/board/jse/u-boot.lds @@ -68,7 +68,6 @@ SECTIONS /* common/env_embedded.o(.text)*/ *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/keymile/km8xx/u-boot.lds b/board/keymile/km8xx/u-boot.lds index 5af36c97aca..a8057f225bf 100644 --- a/board/keymile/km8xx/u-boot.lds +++ b/board/keymile/km8xx/u-boot.lds @@ -69,7 +69,6 @@ SECTIONS common/env_embedded.o (.ppcenv) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/korat/u-boot-F7FC.lds b/board/korat/u-boot-F7FC.lds index c175f91fd45..cbad8668e30 100644 --- a/board/korat/u-boot-F7FC.lds +++ b/board/korat/u-boot-F7FC.lds @@ -68,7 +68,6 @@ SECTIONS cpu/ppc4xx/start.o (.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/korat/u-boot.lds b/board/korat/u-boot.lds index 7798722eb9e..b9ec56bb206 100644 --- a/board/korat/u-boot.lds +++ b/board/korat/u-boot.lds @@ -68,7 +68,6 @@ SECTIONS cpu/ppc4xx/start.o (.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/kup/kup4k/u-boot.lds b/board/kup/kup4k/u-boot.lds index f2b66500281..79b886af216 100644 --- a/board/kup/kup4k/u-boot.lds +++ b/board/kup/kup4k/u-boot.lds @@ -69,7 +69,6 @@ SECTIONS */ *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/kup/kup4k/u-boot.lds.debug b/board/kup/kup4k/u-boot.lds.debug index 0f6ae696d8a..83fdc150118 100644 --- a/board/kup/kup4k/u-boot.lds.debug +++ b/board/kup/kup4k/u-boot.lds.debug @@ -64,7 +64,6 @@ SECTIONS common/env_embedded.o(.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/kup/kup4x/u-boot.lds b/board/kup/kup4x/u-boot.lds index f2b66500281..79b886af216 100644 --- a/board/kup/kup4x/u-boot.lds +++ b/board/kup/kup4x/u-boot.lds @@ -69,7 +69,6 @@ SECTIONS */ *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/kup/kup4x/u-boot.lds.debug b/board/kup/kup4x/u-boot.lds.debug index 0f6ae696d8a..83fdc150118 100644 --- a/board/kup/kup4x/u-boot.lds.debug +++ b/board/kup/kup4x/u-boot.lds.debug @@ -64,7 +64,6 @@ SECTIONS common/env_embedded.o(.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/lantec/u-boot.lds b/board/lantec/u-boot.lds index b9fa2d6d94d..854ed689322 100644 --- a/board/lantec/u-boot.lds +++ b/board/lantec/u-boot.lds @@ -66,7 +66,6 @@ SECTIONS common/env_embedded.o(.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/lantec/u-boot.lds.debug b/board/lantec/u-boot.lds.debug index d5e2c1d579b..3b4799e1ef0 100644 --- a/board/lantec/u-boot.lds.debug +++ b/board/lantec/u-boot.lds.debug @@ -64,7 +64,6 @@ SECTIONS common/env_embedded.o(.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/lwmon/u-boot.lds b/board/lwmon/u-boot.lds index 9e46f9d8bfe..cc8ad7d3dbe 100644 --- a/board/lwmon/u-boot.lds +++ b/board/lwmon/u-boot.lds @@ -55,7 +55,6 @@ SECTIONS cpu/mpc8xx/start.o (.text) common/env_embedded.o(.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/lwmon/u-boot.lds.debug b/board/lwmon/u-boot.lds.debug index bd9d76ce206..987c4ddb9ba 100644 --- a/board/lwmon/u-boot.lds.debug +++ b/board/lwmon/u-boot.lds.debug @@ -65,7 +65,6 @@ SECTIONS common/env_embedded.o(.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/lwmon5/u-boot.lds b/board/lwmon5/u-boot.lds index 7798722eb9e..b9ec56bb206 100644 --- a/board/lwmon5/u-boot.lds +++ b/board/lwmon5/u-boot.lds @@ -68,7 +68,6 @@ SECTIONS cpu/ppc4xx/start.o (.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/mbx8xx/u-boot.lds b/board/mbx8xx/u-boot.lds index ca35e884820..dc3e580fb11 100644 --- a/board/mbx8xx/u-boot.lds +++ b/board/mbx8xx/u-boot.lds @@ -55,7 +55,6 @@ SECTIONS cpu/mpc8xx/start.o (.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/mbx8xx/u-boot.lds.debug b/board/mbx8xx/u-boot.lds.debug index 67d37ae3344..0a3b958fad6 100644 --- a/board/mbx8xx/u-boot.lds.debug +++ b/board/mbx8xx/u-boot.lds.debug @@ -65,7 +65,6 @@ SECTIONS common/env_embedded.o(.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/ml2/u-boot.lds b/board/ml2/u-boot.lds index a6b67487f1a..8fea3be41b0 100644 --- a/board/ml2/u-boot.lds +++ b/board/ml2/u-boot.lds @@ -72,7 +72,6 @@ SECTIONS /* common/env_embedded.o(.text)*/ *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/ml2/u-boot.lds.debug b/board/ml2/u-boot.lds.debug index 338392a0759..970628d556e 100644 --- a/board/ml2/u-boot.lds.debug +++ b/board/ml2/u-boot.lds.debug @@ -64,7 +64,6 @@ SECTIONS common/env_embedded.o(.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/mousse/u-boot.lds b/board/mousse/u-boot.lds index 44144e23c26..5100542e733 100644 --- a/board/mousse/u-boot.lds +++ b/board/mousse/u-boot.lds @@ -59,7 +59,6 @@ SECTIONS lib_generic/crc32.o (.text) lib_generic/zlib.o (.text) - *(.fixup) *(.got1) . = ALIGN(16); *(.eh_frame) diff --git a/board/mousse/u-boot.lds.rom b/board/mousse/u-boot.lds.rom index 27d10b6d6a0..f79c39f7161 100644 --- a/board/mousse/u-boot.lds.rom +++ b/board/mousse/u-boot.lds.rom @@ -64,7 +64,6 @@ SECTIONS *(.text) - *(.fixup) *(.got1) . = ALIGN(16); *(.rodata) diff --git a/board/mpl/mip405/u-boot.lds b/board/mpl/mip405/u-boot.lds index d71a299785b..cc8bed071d9 100644 --- a/board/mpl/mip405/u-boot.lds +++ b/board/mpl/mip405/u-boot.lds @@ -82,7 +82,6 @@ SECTIONS /* common/env_embedded.o(.text)*/ *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/mpl/pip405/u-boot.lds b/board/mpl/pip405/u-boot.lds index f6f88a7ec2c..92290d8b345 100644 --- a/board/mpl/pip405/u-boot.lds +++ b/board/mpl/pip405/u-boot.lds @@ -77,7 +77,6 @@ SECTIONS /* common/env_embedded.o(.text)*/ *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/mpl/pip405/u-boot.lds.debug b/board/mpl/pip405/u-boot.lds.debug index 338392a0759..970628d556e 100644 --- a/board/mpl/pip405/u-boot.lds.debug +++ b/board/mpl/pip405/u-boot.lds.debug @@ -64,7 +64,6 @@ SECTIONS common/env_embedded.o(.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/munices/u-boot.lds b/board/munices/u-boot.lds index 5fe8707fb57..8db7f26a52b 100644 --- a/board/munices/u-boot.lds +++ b/board/munices/u-boot.lds @@ -54,7 +54,6 @@ SECTIONS { cpu/mpc5xxx/start.o (.text) *(.text) - *(.fixup) *(.got1) . = ALIGN(16); *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) diff --git a/board/nc650/u-boot.lds b/board/nc650/u-boot.lds index dd040f0551d..21fed6262c7 100644 --- a/board/nc650/u-boot.lds +++ b/board/nc650/u-boot.lds @@ -54,7 +54,6 @@ SECTIONS { cpu/mpc8xx/start.o (.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/nc650/u-boot.lds.debug b/board/nc650/u-boot.lds.debug index 079a55abeb3..5f8dc9d2c66 100644 --- a/board/nc650/u-boot.lds.debug +++ b/board/nc650/u-boot.lds.debug @@ -54,7 +54,6 @@ SECTIONS { cpu/mpc8xx/start.o (.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/netphone/u-boot.lds b/board/netphone/u-boot.lds index 68fe165e58d..d64274b683c 100644 --- a/board/netphone/u-boot.lds +++ b/board/netphone/u-boot.lds @@ -66,7 +66,6 @@ SECTIONS common/env_embedded.o (.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/netphone/u-boot.lds.debug b/board/netphone/u-boot.lds.debug index d47c4082aa8..4ef16f1ffe4 100644 --- a/board/netphone/u-boot.lds.debug +++ b/board/netphone/u-boot.lds.debug @@ -64,7 +64,6 @@ SECTIONS common/env_embedded.o(.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/netstal/hcu4/u-boot.lds b/board/netstal/hcu4/u-boot.lds index 0c38ea299fd..f748ec30bb1 100644 --- a/board/netstal/hcu4/u-boot.lds +++ b/board/netstal/hcu4/u-boot.lds @@ -65,7 +65,6 @@ SECTIONS /* common/env_embedded.o(.text)*/ *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/netstal/hcu5/u-boot.lds b/board/netstal/hcu5/u-boot.lds index 21a2be2f4f8..bdc6e705cb1 100644 --- a/board/netstal/hcu5/u-boot.lds +++ b/board/netstal/hcu5/u-boot.lds @@ -67,7 +67,6 @@ SECTIONS cpu/ppc4xx/start.o (.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/netstal/mcu25/u-boot.lds b/board/netstal/mcu25/u-boot.lds index b589956459b..2cf3361c4ec 100644 --- a/board/netstal/mcu25/u-boot.lds +++ b/board/netstal/mcu25/u-boot.lds @@ -65,7 +65,6 @@ SECTIONS /* common/env_embedded.o(.text)*/ *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/netta/u-boot.lds b/board/netta/u-boot.lds index 14201acce18..860c887c25d 100644 --- a/board/netta/u-boot.lds +++ b/board/netta/u-boot.lds @@ -66,7 +66,6 @@ SECTIONS common/env_embedded.o (.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/netta/u-boot.lds.debug b/board/netta/u-boot.lds.debug index d47c4082aa8..4ef16f1ffe4 100644 --- a/board/netta/u-boot.lds.debug +++ b/board/netta/u-boot.lds.debug @@ -64,7 +64,6 @@ SECTIONS common/env_embedded.o(.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/netta2/u-boot.lds b/board/netta2/u-boot.lds index 14201acce18..860c887c25d 100644 --- a/board/netta2/u-boot.lds +++ b/board/netta2/u-boot.lds @@ -66,7 +66,6 @@ SECTIONS common/env_embedded.o (.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/netta2/u-boot.lds.debug b/board/netta2/u-boot.lds.debug index d47c4082aa8..4ef16f1ffe4 100644 --- a/board/netta2/u-boot.lds.debug +++ b/board/netta2/u-boot.lds.debug @@ -64,7 +64,6 @@ SECTIONS common/env_embedded.o(.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/netvia/u-boot.lds b/board/netvia/u-boot.lds index 8c48f1f345a..a7d290ae88d 100644 --- a/board/netvia/u-boot.lds +++ b/board/netvia/u-boot.lds @@ -66,7 +66,6 @@ SECTIONS common/env_embedded.o (.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/netvia/u-boot.lds.debug b/board/netvia/u-boot.lds.debug index 9210c43d52d..c3c99b35c23 100644 --- a/board/netvia/u-boot.lds.debug +++ b/board/netvia/u-boot.lds.debug @@ -64,7 +64,6 @@ SECTIONS common/env_embedded.o(.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/nx823/u-boot.lds b/board/nx823/u-boot.lds index ee74eb950a5..5c847fbf845 100644 --- a/board/nx823/u-boot.lds +++ b/board/nx823/u-boot.lds @@ -56,7 +56,6 @@ SECTIONS common/env_embedded.o(.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/nx823/u-boot.lds.debug b/board/nx823/u-boot.lds.debug index dbec9860a92..ad36953915f 100644 --- a/board/nx823/u-boot.lds.debug +++ b/board/nx823/u-boot.lds.debug @@ -64,7 +64,6 @@ SECTIONS common/env_embedded.o(.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/pcippc2/u-boot.lds b/board/pcippc2/u-boot.lds index 4bb582dd37f..d11bb056fb8 100644 --- a/board/pcippc2/u-boot.lds +++ b/board/pcippc2/u-boot.lds @@ -66,7 +66,6 @@ SECTIONS /* common/env_embedded.o(.text) */ *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/pcs440ep/u-boot.lds b/board/pcs440ep/u-boot.lds index a4c537ec0a4..2f6109117de 100644 --- a/board/pcs440ep/u-boot.lds +++ b/board/pcs440ep/u-boot.lds @@ -67,7 +67,6 @@ SECTIONS lib_generic/sha1.o (.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/ppmc7xx/u-boot.lds b/board/ppmc7xx/u-boot.lds index b0da216a5ca..30e8972afab 100644 --- a/board/ppmc7xx/u-boot.lds +++ b/board/ppmc7xx/u-boot.lds @@ -63,7 +63,6 @@ SECTIONS /* common/env_embedded.o(.text) */ *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/prodrive/alpr/u-boot.lds b/board/prodrive/alpr/u-boot.lds index e7c5fe61f7a..6633f91c447 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 632921ae539..d0213311488 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 93279709a8d..b1c2dfffe9b 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 = .; diff --git a/board/quad100hd/u-boot.lds b/board/quad100hd/u-boot.lds index 24d31a112be..4f359b72d79 100644 --- a/board/quad100hd/u-boot.lds +++ b/board/quad100hd/u-boot.lds @@ -61,7 +61,6 @@ SECTIONS cpu/ppc4xx/start.o (.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/quantum/u-boot.lds b/board/quantum/u-boot.lds index faa1c6ccad9..47247ec8133 100644 --- a/board/quantum/u-boot.lds +++ b/board/quantum/u-boot.lds @@ -67,7 +67,6 @@ SECTIONS common/env_embedded.o(.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/quantum/u-boot.lds.debug b/board/quantum/u-boot.lds.debug index 016048dae2a..ec01fe256bd 100644 --- a/board/quantum/u-boot.lds.debug +++ b/board/quantum/u-boot.lds.debug @@ -64,7 +64,6 @@ SECTIONS common/env_embedded.o(.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/r360mpi/u-boot.lds b/board/r360mpi/u-boot.lds index 61d4b119009..9089f7d6b6e 100644 --- a/board/r360mpi/u-boot.lds +++ b/board/r360mpi/u-boot.lds @@ -64,7 +64,6 @@ SECTIONS common/env_embedded.o (.text) ***/ *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/rbc823/u-boot.lds b/board/rbc823/u-boot.lds index 552f15d2768..e0ea600d28c 100644 --- a/board/rbc823/u-boot.lds +++ b/board/rbc823/u-boot.lds @@ -66,7 +66,6 @@ SECTIONS common/env_embedded.o(.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/rmu/u-boot.lds b/board/rmu/u-boot.lds index faa1c6ccad9..47247ec8133 100644 --- a/board/rmu/u-boot.lds +++ b/board/rmu/u-boot.lds @@ -67,7 +67,6 @@ SECTIONS common/env_embedded.o(.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/rmu/u-boot.lds.debug b/board/rmu/u-boot.lds.debug index 016048dae2a..ec01fe256bd 100644 --- a/board/rmu/u-boot.lds.debug +++ b/board/rmu/u-boot.lds.debug @@ -64,7 +64,6 @@ SECTIONS common/env_embedded.o(.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/rsdproto/u-boot.lds b/board/rsdproto/u-boot.lds index 771f7de657d..0d4a9efb79a 100644 --- a/board/rsdproto/u-boot.lds +++ b/board/rsdproto/u-boot.lds @@ -54,7 +54,6 @@ SECTIONS { cpu/mpc8260/start.o (.text) *(.text) - *(.fixup) *(.got1) /*. = env_offset; */ } diff --git a/board/sandburst/karef/u-boot.lds b/board/sandburst/karef/u-boot.lds index f509100dc29..f22ece2647a 100644 --- a/board/sandburst/karef/u-boot.lds +++ b/board/sandburst/karef/u-boot.lds @@ -84,7 +84,6 @@ SECTIONS /* common/env_embedded.o(.text)*/ *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/sandburst/karef/u-boot.lds.debug b/board/sandburst/karef/u-boot.lds.debug index d00e2527162..48fd579162f 100644 --- a/board/sandburst/karef/u-boot.lds.debug +++ b/board/sandburst/karef/u-boot.lds.debug @@ -73,7 +73,6 @@ SECTIONS /* common/env_embedded.o(.text) */ *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/sandburst/metrobox/u-boot.lds b/board/sandburst/metrobox/u-boot.lds index f1bc4a0ddff..c5851f22f07 100644 --- a/board/sandburst/metrobox/u-boot.lds +++ b/board/sandburst/metrobox/u-boot.lds @@ -84,7 +84,6 @@ SECTIONS /* common/env_embedded.o(.text)*/ *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/sandburst/metrobox/u-boot.lds.debug b/board/sandburst/metrobox/u-boot.lds.debug index a3350f27927..4bc5ceac026 100644 --- a/board/sandburst/metrobox/u-boot.lds.debug +++ b/board/sandburst/metrobox/u-boot.lds.debug @@ -73,7 +73,6 @@ SECTIONS /* common/env_embedded.o(.text) */ *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/sbc405/u-boot.lds b/board/sbc405/u-boot.lds index d9410fafb19..89edd67aa64 100644 --- a/board/sbc405/u-boot.lds +++ b/board/sbc405/u-boot.lds @@ -76,7 +76,6 @@ SECTIONS /* common/env_embedded.o(.text)*/ *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/sbc8641d/u-boot.lds b/board/sbc8641d/u-boot.lds index f156d4fc11e..b71a7d6e580 100644 --- a/board/sbc8641d/u-boot.lds +++ b/board/sbc8641d/u-boot.lds @@ -61,7 +61,6 @@ SECTIONS lib_ppc/extable.o (.text) lib_generic/zlib.o (.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/sc3/u-boot.lds b/board/sc3/u-boot.lds index 75174e1b5d4..16dc3840158 100644 --- a/board/sc3/u-boot.lds +++ b/board/sc3/u-boot.lds @@ -77,7 +77,6 @@ SECTIONS /* common/env_embedded.o(.text)*/ *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/siemens/CCM/u-boot.lds b/board/siemens/CCM/u-boot.lds index 61650a85fa1..2d0efb31612 100644 --- a/board/siemens/CCM/u-boot.lds +++ b/board/siemens/CCM/u-boot.lds @@ -66,7 +66,6 @@ SECTIONS common/env_embedded.o(.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/siemens/CCM/u-boot.lds.debug b/board/siemens/CCM/u-boot.lds.debug index 88dbd3810ff..29657e93efe 100644 --- a/board/siemens/CCM/u-boot.lds.debug +++ b/board/siemens/CCM/u-boot.lds.debug @@ -64,7 +64,6 @@ SECTIONS common/env_embedded.o(.text) */ *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/siemens/IAD210/u-boot.lds b/board/siemens/IAD210/u-boot.lds index 12a53ba70b5..104b44ccffb 100644 --- a/board/siemens/IAD210/u-boot.lds +++ b/board/siemens/IAD210/u-boot.lds @@ -64,7 +64,6 @@ SECTIONS common/env_embedded.o(.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/siemens/pcu_e/u-boot.lds b/board/siemens/pcu_e/u-boot.lds index 9e46f9d8bfe..cc8ad7d3dbe 100644 --- a/board/siemens/pcu_e/u-boot.lds +++ b/board/siemens/pcu_e/u-boot.lds @@ -55,7 +55,6 @@ SECTIONS cpu/mpc8xx/start.o (.text) common/env_embedded.o(.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/siemens/pcu_e/u-boot.lds.debug b/board/siemens/pcu_e/u-boot.lds.debug index bd9d76ce206..987c4ddb9ba 100644 --- a/board/siemens/pcu_e/u-boot.lds.debug +++ b/board/siemens/pcu_e/u-boot.lds.debug @@ -65,7 +65,6 @@ SECTIONS common/env_embedded.o(.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/sixnet/u-boot.lds b/board/sixnet/u-boot.lds index bde981b3899..dd632a44cea 100644 --- a/board/sixnet/u-boot.lds +++ b/board/sixnet/u-boot.lds @@ -55,7 +55,6 @@ SECTIONS cpu/mpc8xx/start.o (.text) common/env_embedded.o(.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/snmc/qs850/u-boot.lds b/board/snmc/qs850/u-boot.lds index 7de0de8d9d3..9ef2c201a26 100644 --- a/board/snmc/qs850/u-boot.lds +++ b/board/snmc/qs850/u-boot.lds @@ -69,7 +69,6 @@ SECTIONS common/env_embedded.o (.ppcenv) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/snmc/qs860t/u-boot.lds b/board/snmc/qs860t/u-boot.lds index 7de0de8d9d3..9ef2c201a26 100644 --- a/board/snmc/qs860t/u-boot.lds +++ b/board/snmc/qs860t/u-boot.lds @@ -69,7 +69,6 @@ SECTIONS common/env_embedded.o (.ppcenv) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/spc1920/u-boot.lds b/board/spc1920/u-boot.lds index 4e221bc57e7..d6711b5bf2c 100644 --- a/board/spc1920/u-boot.lds +++ b/board/spc1920/u-boot.lds @@ -69,7 +69,6 @@ SECTIONS common/env_embedded.o (.ppcenv) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/spd8xx/u-boot.lds b/board/spd8xx/u-boot.lds index a06d8c6564b..7b9455b2528 100644 --- a/board/spd8xx/u-boot.lds +++ b/board/spd8xx/u-boot.lds @@ -55,7 +55,6 @@ SECTIONS cpu/mpc8xx/start.o (.text) common/env_embedded.o(.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/spd8xx/u-boot.lds.debug b/board/spd8xx/u-boot.lds.debug index 67d37ae3344..0a3b958fad6 100644 --- a/board/spd8xx/u-boot.lds.debug +++ b/board/spd8xx/u-boot.lds.debug @@ -65,7 +65,6 @@ SECTIONS common/env_embedded.o(.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/stx/stxxtc/u-boot.lds b/board/stx/stxxtc/u-boot.lds index 14201acce18..860c887c25d 100644 --- a/board/stx/stxxtc/u-boot.lds +++ b/board/stx/stxxtc/u-boot.lds @@ -66,7 +66,6 @@ SECTIONS common/env_embedded.o (.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/stx/stxxtc/u-boot.lds.debug b/board/stx/stxxtc/u-boot.lds.debug index d47c4082aa8..4ef16f1ffe4 100644 --- a/board/stx/stxxtc/u-boot.lds.debug +++ b/board/stx/stxxtc/u-boot.lds.debug @@ -64,7 +64,6 @@ SECTIONS common/env_embedded.o(.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/svm_sc8xx/u-boot.lds b/board/svm_sc8xx/u-boot.lds index 11a819a03fa..02aa9dd9876 100644 --- a/board/svm_sc8xx/u-boot.lds +++ b/board/svm_sc8xx/u-boot.lds @@ -69,7 +69,6 @@ SECTIONS common/env_embedded.o (.ppcenv) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/svm_sc8xx/u-boot.lds.debug b/board/svm_sc8xx/u-boot.lds.debug index 016048dae2a..ec01fe256bd 100644 --- a/board/svm_sc8xx/u-boot.lds.debug +++ b/board/svm_sc8xx/u-boot.lds.debug @@ -64,7 +64,6 @@ SECTIONS common/env_embedded.o(.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/tqc/tqm8xx/u-boot.lds b/board/tqc/tqm8xx/u-boot.lds index 19c1541fe23..2df8d8459c7 100644 --- a/board/tqc/tqm8xx/u-boot.lds +++ b/board/tqc/tqm8xx/u-boot.lds @@ -68,7 +68,6 @@ SECTIONS common/env_embedded.o (.ppcenv) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/tqc/tqm8xx/u-boot.lds.debug b/board/tqc/tqm8xx/u-boot.lds.debug index ea8538900c0..a2d940f0489 100644 --- a/board/tqc/tqm8xx/u-boot.lds.debug +++ b/board/tqc/tqm8xx/u-boot.lds.debug @@ -64,7 +64,6 @@ SECTIONS common/env_embedded.o(.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/uc100/u-boot.lds b/board/uc100/u-boot.lds index 1450d37bd4b..e3ea52aeded 100644 --- a/board/uc100/u-boot.lds +++ b/board/uc100/u-boot.lds @@ -68,7 +68,6 @@ SECTIONS common/env_embedded.o (.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/uc100/u-boot.lds.debug b/board/uc100/u-boot.lds.debug index 5750657111f..edaa4020a9d 100644 --- a/board/uc100/u-boot.lds.debug +++ b/board/uc100/u-boot.lds.debug @@ -63,7 +63,6 @@ SECTIONS common/env_embedded.o(.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/v37/u-boot.lds b/board/v37/u-boot.lds index d24289c25d1..6f2ea9a613d 100644 --- a/board/v37/u-boot.lds +++ b/board/v37/u-boot.lds @@ -71,7 +71,6 @@ SECTIONS common/env_embedded.o (.ppcenv) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/w7o/u-boot.lds b/board/w7o/u-boot.lds index 191a17920aa..d953fd4bd61 100644 --- a/board/w7o/u-boot.lds +++ b/board/w7o/u-boot.lds @@ -60,7 +60,6 @@ SECTIONS cpu/ppc4xx/start.o (.text) board/w7o/init.o (.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/w7o/u-boot.lds.debug b/board/w7o/u-boot.lds.debug index d2089de9d4f..8bb4929a461 100644 --- a/board/w7o/u-boot.lds.debug +++ b/board/w7o/u-boot.lds.debug @@ -64,7 +64,6 @@ SECTIONS common/env_embedded.o(.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/westel/amx860/u-boot.lds b/board/westel/amx860/u-boot.lds index 61650a85fa1..2d0efb31612 100644 --- a/board/westel/amx860/u-boot.lds +++ b/board/westel/amx860/u-boot.lds @@ -66,7 +66,6 @@ SECTIONS common/env_embedded.o(.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/westel/amx860/u-boot.lds.debug b/board/westel/amx860/u-boot.lds.debug index dbd1f9d1064..653e0be45ce 100644 --- a/board/westel/amx860/u-boot.lds.debug +++ b/board/westel/amx860/u-boot.lds.debug @@ -65,7 +65,6 @@ SECTIONS common/env_embedded.o(.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/xes/xpedite1000/u-boot.lds b/board/xes/xpedite1000/u-boot.lds index 46b52fc5359..73f65d61b3e 100644 --- a/board/xes/xpedite1000/u-boot.lds +++ b/board/xes/xpedite1000/u-boot.lds @@ -79,7 +79,6 @@ SECTIONS lib_generic/zlib.o (.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/xes/xpedite1000/u-boot.lds.debug b/board/xes/xpedite1000/u-boot.lds.debug index 68cd72d12dc..d00834eef37 100644 --- a/board/xes/xpedite1000/u-boot.lds.debug +++ b/board/xes/xpedite1000/u-boot.lds.debug @@ -71,7 +71,6 @@ SECTIONS /* common/env_embedded.o(.text) */ *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/xes/xpedite5170/config.mk b/board/xes/xpedite5170/config.mk index 77c5785bb7b..1abae973f03 100644 --- a/board/xes/xpedite5170/config.mk +++ b/board/xes/xpedite5170/config.mk @@ -25,5 +25,3 @@ # XPedite5170 # TEXT_BASE = 0xfff00000 - -PLATFORM_RELFLAGS += -mrelocatable diff --git a/board/xes/xpedite5200/config.mk b/board/xes/xpedite5200/config.mk index fbfbc2b5a74..0761579d9d6 100644 --- a/board/xes/xpedite5200/config.mk +++ b/board/xes/xpedite5200/config.mk @@ -27,5 +27,3 @@ ifndef TEXT_BASE TEXT_BASE = 0xfff80000 endif - -PLATFORM_CPPFLAGS += -mrelocatable diff --git a/board/xes/xpedite5370/config.mk b/board/xes/xpedite5370/config.mk index 7b8d06b1578..995def8759f 100644 --- a/board/xes/xpedite5370/config.mk +++ b/board/xes/xpedite5370/config.mk @@ -27,5 +27,3 @@ ifndef TEXT_BASE TEXT_BASE = 0xfff80000 endif - -PLATFORM_RELFLAGS += -mrelocatable diff --git a/board/xilinx/ml300/u-boot.lds b/board/xilinx/ml300/u-boot.lds index fa60e6b0536..b9899408d82 100644 --- a/board/xilinx/ml300/u-boot.lds +++ b/board/xilinx/ml300/u-boot.lds @@ -74,7 +74,6 @@ SECTIONS /* common/env_embedded.o(.text)*/ *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/xilinx/ml300/u-boot.lds.debug b/board/xilinx/ml300/u-boot.lds.debug index 338392a0759..970628d556e 100644 --- a/board/xilinx/ml300/u-boot.lds.debug +++ b/board/xilinx/ml300/u-boot.lds.debug @@ -64,7 +64,6 @@ SECTIONS common/env_embedded.o(.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/xilinx/ppc405-generic/u-boot-ram.lds b/board/xilinx/ppc405-generic/u-boot-ram.lds index 908d84b0c03..2543c9b0606 100644 --- a/board/xilinx/ppc405-generic/u-boot-ram.lds +++ b/board/xilinx/ppc405-generic/u-boot-ram.lds @@ -57,7 +57,6 @@ SECTIONS *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/xilinx/ppc405-generic/u-boot-rom.lds b/board/xilinx/ppc405-generic/u-boot-rom.lds index 592976a45b8..02044e43d5f 100644 --- a/board/xilinx/ppc405-generic/u-boot-rom.lds +++ b/board/xilinx/ppc405-generic/u-boot-rom.lds @@ -67,7 +67,6 @@ SECTIONS *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/xilinx/ppc440-generic/u-boot-ram.lds b/board/xilinx/ppc440-generic/u-boot-ram.lds index 3ab9a3167ad..94f6fafa176 100644 --- a/board/xilinx/ppc440-generic/u-boot-ram.lds +++ b/board/xilinx/ppc440-generic/u-boot-ram.lds @@ -57,7 +57,6 @@ SECTIONS *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/xilinx/ppc440-generic/u-boot-rom.lds b/board/xilinx/ppc440-generic/u-boot-rom.lds index 74202807d83..57c809e4cb4 100644 --- a/board/xilinx/ppc440-generic/u-boot-rom.lds +++ b/board/xilinx/ppc440-generic/u-boot-rom.lds @@ -67,7 +67,6 @@ SECTIONS *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/board/zeus/u-boot.lds b/board/zeus/u-boot.lds index f86570d17ec..f3ccd33e7c1 100644 --- a/board/zeus/u-boot.lds +++ b/board/zeus/u-boot.lds @@ -60,7 +60,6 @@ SECTIONS cpu/ppc4xx/start.o (.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/cpu/mpc512x/u-boot.lds b/cpu/mpc512x/u-boot.lds index dae32697e32..2e260eb2afe 100644 --- a/cpu/mpc512x/u-boot.lds +++ b/cpu/mpc512x/u-boot.lds @@ -51,7 +51,6 @@ SECTIONS { cpu/mpc512x/start.o (.text) *(.text) - *(.fixup) *(.got1) . = ALIGN(16); *(.eh_frame) diff --git a/cpu/mpc5xx/u-boot.lds b/cpu/mpc5xx/u-boot.lds index cb17ca5d740..deeb06ae26d 100644 --- a/cpu/mpc5xx/u-boot.lds +++ b/cpu/mpc5xx/u-boot.lds @@ -58,7 +58,6 @@ SECTIONS cpu/mpc5xx/start.o (.text) *(.text) - *(.fixup) *(.got1) } _etext = .; diff --git a/cpu/mpc5xxx/u-boot-customlayout.lds b/cpu/mpc5xxx/u-boot-customlayout.lds index 9563690321a..c3400866197 100644 --- a/cpu/mpc5xxx/u-boot-customlayout.lds +++ b/cpu/mpc5xxx/u-boot-customlayout.lds @@ -65,7 +65,6 @@ SECTIONS common/env_embedded.o (.ppcenv) *(.text) - *(.fixup) *(.got1) . = ALIGN(16); *(.eh_frame) diff --git a/cpu/mpc5xxx/u-boot.lds b/cpu/mpc5xxx/u-boot.lds index a6d4ff3888d..7fe1e951296 100644 --- a/cpu/mpc5xxx/u-boot.lds +++ b/cpu/mpc5xxx/u-boot.lds @@ -54,7 +54,6 @@ SECTIONS { cpu/mpc5xxx/start.o (.text) *(.text) - *(.fixup) *(.got1) . = ALIGN(16); *(.eh_frame) diff --git a/cpu/mpc8220/u-boot.lds b/cpu/mpc8220/u-boot.lds index 436423c3bb4..4400e60c8fa 100644 --- a/cpu/mpc8220/u-boot.lds +++ b/cpu/mpc8220/u-boot.lds @@ -54,7 +54,6 @@ SECTIONS { cpu/mpc8220/start.o (.text) *(.text) - *(.fixup) *(.got1) . = ALIGN(16); *(.eh_frame) diff --git a/cpu/mpc824x/u-boot.lds b/cpu/mpc824x/u-boot.lds index 46f708738ec..0eac48f2cdd 100644 --- a/cpu/mpc824x/u-boot.lds +++ b/cpu/mpc824x/u-boot.lds @@ -54,7 +54,6 @@ SECTIONS { cpu/mpc824x/start.o (.text) *(.text) - *(.fixup) *(.got1) . = ALIGN(16); *(.eh_frame) diff --git a/cpu/mpc8260/u-boot.lds b/cpu/mpc8260/u-boot.lds index b3a103dbcbc..c777cf9da98 100644 --- a/cpu/mpc8260/u-boot.lds +++ b/cpu/mpc8260/u-boot.lds @@ -54,7 +54,6 @@ SECTIONS { cpu/mpc8260/start.o (.text) *(.text) - *(.fixup) *(.got1) . = ALIGN(16); *(.eh_frame) diff --git a/cpu/mpc83xx/u-boot.lds b/cpu/mpc83xx/u-boot.lds index 7d57ee41600..c84d4b02226 100644 --- a/cpu/mpc83xx/u-boot.lds +++ b/cpu/mpc83xx/u-boot.lds @@ -52,7 +52,6 @@ SECTIONS { cpu/mpc83xx/start.o (.text) *(.text) - *(.fixup) *(.got1) . = ALIGN(16); *(.eh_frame) diff --git a/cpu/mpc85xx/u-boot.lds b/cpu/mpc85xx/u-boot.lds index ec4787157cc..a347cd154b6 100644 --- a/cpu/mpc85xx/u-boot.lds +++ b/cpu/mpc85xx/u-boot.lds @@ -62,7 +62,6 @@ SECTIONS .text : { *(.text) - *(.fixup) *(.got1) } :text _etext = .; diff --git a/include/asm-ppc/config.h b/include/asm-ppc/config.h index e35b0b77fc8..eba79010b15 100644 --- a/include/asm-ppc/config.h +++ b/include/asm-ppc/config.h @@ -47,4 +47,7 @@ #define CONFIG_MAX_CPUS 1 #endif +/* Relocation to SDRAM works on all PPC boards */ +#define CONFIG_RELOC_FIXUP_WORKS + #endif /* _ASM_CONFIG_H_ */ diff --git a/include/configs/XPEDITE5170.h b/include/configs/XPEDITE5170.h index 30642cdfef4..1a810e442f6 100644 --- a/include/configs/XPEDITE5170.h +++ b/include/configs/XPEDITE5170.h @@ -36,7 +36,6 @@ #define CONFIG_SYS_BOARD_NAME "XPedite5170" #define CONFIG_LINUX_RESET_VEC 0x100 /* Reset vector used by Linux */ #define CONFIG_BOARD_EARLY_INIT_R /* Call board_pre_init */ -#define CONFIG_RELOC_FIXUP_WORKS /* Fully relocate to SDRAM */ #define CONFIG_HIGH_BATS 1 /* High BATs supported and enabled */ #define CONFIG_ALTIVEC 1 diff --git a/include/configs/XPEDITE5200.h b/include/configs/XPEDITE5200.h index d79231b8b8b..3f737803e5e 100644 --- a/include/configs/XPEDITE5200.h +++ b/include/configs/XPEDITE5200.h @@ -37,7 +37,6 @@ #define CONFIG_XPEDITE5200 1 #define CONFIG_SYS_BOARD_NAME "XPedite5200" #define CONFIG_BOARD_EARLY_INIT_R /* Call board_pre_init */ -#define CONFIG_RELOC_FIXUP_WORKS /* Fully relocate to SDRAM */ #define CONFIG_PCI 1 /* Enable PCI/PCIE */ #define CONFIG_PCI_PNP 1 /* do pci plug-and-play */ diff --git a/include/configs/XPEDITE5370.h b/include/configs/XPEDITE5370.h index 65e1afddc69..26b798b4d8a 100644 --- a/include/configs/XPEDITE5370.h +++ b/include/configs/XPEDITE5370.h @@ -37,7 +37,6 @@ #define CONFIG_XPEDITE5370 1 #define CONFIG_SYS_BOARD_NAME "XPedite5370" #define CONFIG_BOARD_EARLY_INIT_R /* Call board_pre_init */ -#define CONFIG_RELOC_FIXUP_WORKS /* Fully relocate to SDRAM */ #define CONFIG_PCI 1 /* Enable PCI/PCIE */ #define CONFIG_PCI_PNP 1 /* do pci plug-and-play */ diff --git a/lib_ppc/config.mk b/lib_ppc/config.mk index 010d874da68..06a3b107d59 100644 --- a/lib_ppc/config.mk +++ b/lib_ppc/config.mk @@ -25,6 +25,7 @@ CROSS_COMPILE ?= ppc_8xx- STANDALONE_LOAD_ADDR = 0x40000 +PLATFORM_RELFLAGS += -mrelocatable PLATFORM_CPPFLAGS += -DCONFIG_PPC -D__powerpc__ PLATFORM_LDFLAGS += -n From 244615197469dd6fe75ae082f38424b97c79aeaf Mon Sep 17 00:00:00 2001 From: Peter Tyser Date: Mon, 21 Sep 2009 11:20:26 -0500 Subject: [PATCH 02/16] ppc: Check for compilers that don't support relocation Certain ppc compilers are known not to generate the .fixup section properly. The .fixup section is necessary to create a relocatable U-Boot image. A basic check for the existence of the .fixup section should hopefully catch the majority of broken compilers which don't support relocation. Signed-off-by: Peter Tyser --- lib_ppc/Makefile | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lib_ppc/Makefile b/lib_ppc/Makefile index 60ea0c91393..399b41e31e0 100644 --- a/lib_ppc/Makefile +++ b/lib_ppc/Makefile @@ -42,6 +42,12 @@ SRCS := $(SOBJS-y:.o=.S) $(COBJS-y:.o=.c) OBJS := $(addprefix $(obj),$(SOBJS-y) $(COBJS-y)) $(LIB): $(obj).depend $(OBJS) + @if ! $(CROSS_COMPILE)readelf -S $(OBJS) | grep -q '\.fixup.*PROGBITS';\ + then \ + echo "ERROR: Your compiler doesn't generate .fixup sections!";\ + echo " Upgrade to a recent toolchain."; \ + exit 1; \ + fi; $(AR) $(ARFLAGS) $@ $(OBJS) ######################################################################### From a0e2066f392782730f0398095e583c87812d97f2 Mon Sep 17 00:00:00 2001 From: Peter Tyser Date: Mon, 21 Sep 2009 11:20:27 -0500 Subject: [PATCH 03/16] ppc: Remove board.c relocation fixups Signed-off-by: Peter Tyser --- lib_ppc/board.c | 50 ------------------------------------------------- 1 file changed, 50 deletions(-) diff --git a/lib_ppc/board.c b/lib_ppc/board.c index f9dbdb9a86e..8b8ddb5340e 100644 --- a/lib_ppc/board.c +++ b/lib_ppc/board.c @@ -627,13 +627,8 @@ void board_init_f (ulong bootflag) */ void board_init_r (gd_t *id, ulong dest_addr) { - cmd_tbl_t *cmdtp; char *s; bd_t *bd; - extern void malloc_bin_reloc (void); -#ifndef CONFIG_ENV_IS_NOWHERE - extern char * env_name_spec; -#endif ulong malloc_start; #ifndef CONFIG_SYS_NO_FLASH @@ -646,18 +641,7 @@ void board_init_r (gd_t *id, ulong dest_addr) gd->flags |= GD_FLG_RELOC; /* tell others: relocation done */ /* The Malloc area is immediately below the monitor copy in DRAM */ -#if defined(CONFIG_RELOC_FIXUP_WORKS) - gd->reloc_off = 0; malloc_start = dest_addr - TOTAL_MALLOC_LEN; -#else - gd->reloc_off = dest_addr - CONFIG_SYS_MONITOR_BASE; - malloc_start = CONFIG_SYS_MONITOR_BASE + gd->reloc_off - - TOTAL_MALLOC_LEN; -#endif - -#if defined(CONFIG_MPC85xx) || defined(CONFIG_MPC86xx) - gd->cpu += gd->reloc_off; -#endif #ifdef CONFIG_SERIAL_MULTI serial_initialize(); @@ -682,38 +666,6 @@ void board_init_r (gd_t *id, ulong dest_addr) monitor_flash_len = (ulong)&__init_end - dest_addr; - /* - * We have to relocate the command table manually - */ - for (cmdtp = &__u_boot_cmd_start; cmdtp != &__u_boot_cmd_end; cmdtp++) { - ulong addr; - addr = (ulong) (cmdtp->cmd) + gd->reloc_off; -#if 0 - printf ("Command \"%s\": 0x%08lx => 0x%08lx\n", - cmdtp->name, (ulong) (cmdtp->cmd), addr); -#endif - cmdtp->cmd = - (int (*)(struct cmd_tbl_s *, int, int, char *[]))addr; - - addr = (ulong)(cmdtp->name) + gd->reloc_off; - cmdtp->name = (char *)addr; - - if (cmdtp->usage) { - addr = (ulong)(cmdtp->usage) + gd->reloc_off; - cmdtp->usage = (char *)addr; - } -#ifdef CONFIG_SYS_LONGHELP - if (cmdtp->help) { - addr = (ulong)(cmdtp->help) + gd->reloc_off; - cmdtp->help = (char *)addr; - } -#endif - } - /* there are some other pointer constants we must deal with */ -#ifndef CONFIG_ENV_IS_NOWHERE - env_name_spec += gd->reloc_off; -#endif - WATCHDOG_RESET (); #ifdef CONFIG_LOGBUFFER @@ -721,7 +673,6 @@ void board_init_r (gd_t *id, ulong dest_addr) #endif #ifdef CONFIG_POST post_output_backlog (); - post_reloc (); #endif WATCHDOG_RESET(); @@ -752,7 +703,6 @@ void board_init_r (gd_t *id, ulong dest_addr) asm ("sync ; isync"); mem_malloc_init (malloc_start, TOTAL_MALLOC_LEN); - malloc_bin_reloc (); #if !defined(CONFIG_SYS_NO_FLASH) puts ("FLASH: "); From b32a894011b1436758905fa10e6a03b8539c43c9 Mon Sep 17 00:00:00 2001 From: Peter Tyser Date: Mon, 21 Sep 2009 11:20:28 -0500 Subject: [PATCH 04/16] ppc: Remove pci config table pointer relocation fixups Signed-off-by: Peter Tyser --- board/freescale/mpc8548cds/mpc8548cds.c | 7 ------- board/mpl/common/pci.c | 18 ------------------ 2 files changed, 25 deletions(-) diff --git a/board/freescale/mpc8548cds/mpc8548cds.c b/board/freescale/mpc8548cds/mpc8548cds.c index 80de6f8762b..73e7c210935 100644 --- a/board/freescale/mpc8548cds/mpc8548cds.c +++ b/board/freescale/mpc8548cds/mpc8548cds.c @@ -276,7 +276,6 @@ pci_init_board(void) { volatile ccsr_fsl_pci_t *pci = (ccsr_fsl_pci_t *) CONFIG_SYS_PCI1_ADDR; struct pci_controller *hose = &pci1_hose; - struct pci_config_table *table; struct pci_region *r = hose->regions; uint pci_32 = gur->pordevsr & MPC85xx_PORDEVSR_PCI1_PCI32; /* PORDEVSR[15] */ @@ -312,12 +311,6 @@ pci_init_board(void) PCI_REGION_IO); hose->region_count = r - hose->regions; - /* relocate config table pointers */ - hose->config_table = \ - (struct pci_config_table *)((uint)hose->config_table + gd->reloc_off); - for (table = hose->config_table; table && table->vendor; table++) - table->config_device += gd->reloc_off; - hose->first_busno=first_free_busno; fsl_pci_init(hose, (u32)&pci->cfg_addr, (u32)&pci->cfg_data); diff --git a/board/mpl/common/pci.c b/board/mpl/common/pci.c index e0ba620d1f9..f9bb6ab2bc6 100644 --- a/board/mpl/common/pci.c +++ b/board/mpl/common/pci.c @@ -94,29 +94,11 @@ static struct pci_controller hose = { }; -static void reloc_pci_cfg_table(struct pci_config_table *table) -{ - unsigned long addr; - - for (; table && table->vendor; table++) { - addr = (ulong) (table->config_device) + gd->reloc_off; -#ifdef DEBUG - printf ("device \"%d\": 0x%08lx => 0x%08lx\n", - table->device, (ulong) (table->config_device), addr); -#endif - table->config_device = - (void (*)(struct pci_controller* hose, pci_dev_t dev, - struct pci_config_table *))addr; - table->priv[0]+=gd->reloc_off; - } -} - void pci_init_board(void) { /*we want the ptrs to RAM not flash (ie don't use init list)*/ hose.fixup_irq = pci_pip405_fixup_irq; hose.config_table = pci_pip405_config_table; - reloc_pci_cfg_table(hose.config_table); #ifdef DEBUG printf("Init PCI: fixup_irq=%p config_table=%p hose=%p\n",pci_pip405_fixup_irq,pci_pip405_config_table,hose); #endif From e6b05e774d7ce1641613cdeffb69c1d48139a869 Mon Sep 17 00:00:00 2001 From: Peter Tyser Date: Mon, 21 Sep 2009 11:20:29 -0500 Subject: [PATCH 05/16] ppc: Remove extable relocation fixups Signed-off-by: Peter Tyser --- lib_ppc/extable.c | 26 ++++++-------------------- 1 file changed, 6 insertions(+), 20 deletions(-) diff --git a/lib_ppc/extable.c b/lib_ppc/extable.c index 91e2b3d2461..7408d5c9694 100644 --- a/lib_ppc/extable.c +++ b/lib_ppc/extable.c @@ -53,27 +53,13 @@ search_one_table(const struct exception_table_entry *first, unsigned long value) { long diff; - if ((ulong) first > CONFIG_SYS_MONITOR_BASE) { - /* exception occurs in FLASH, before u-boot relocation. - * No relocation offset is needed. - */ - while (first <= last) { - diff = first->insn - value; - if (diff == 0) - return first->fixup; - first++; - } - } else { - /* exception occurs in RAM, after u-boot relocation. - * A relocation offset should be added. - */ - while (first <= last) { - diff = (first->insn + gd->reloc_off) - value; - if (diff == 0) - return (first->fixup + gd->reloc_off); - first++; - } + while (first <= last) { + diff = first->insn - value; + if (diff == 0) + return first->fixup; + first++; } + return 0; } From b5650c5d8c99100144d8e4e9af910405f857bb7a Mon Sep 17 00:00:00 2001 From: Peter Tyser Date: Mon, 21 Sep 2009 11:20:30 -0500 Subject: [PATCH 06/16] ppc: Remove board-specific command table relocation fixups Signed-off-by: Peter Tyser --- board/digsy_mtc/cmd_mtc.c | 30 ------------------------------ board/digsy_mtc/digsy_mtc.c | 2 -- board/inka4x0/inka4x0.c | 10 ---------- board/inka4x0/inkadiag.c | 28 ---------------------------- include/configs/inka4x0.h | 1 - 5 files changed, 71 deletions(-) diff --git a/board/digsy_mtc/cmd_mtc.c b/board/digsy_mtc/cmd_mtc.c index aa3961153b3..ecea5b3c547 100644 --- a/board/digsy_mtc/cmd_mtc.c +++ b/board/digsy_mtc/cmd_mtc.c @@ -320,36 +320,6 @@ static int do_mtc_help(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) ARRAY_SIZE(cmd_mtc_sub), cmdtp, flag, argc, argv); } -/* Relocate the command table function pointers when running in RAM */ -int mtc_cmd_init_r(void) -{ - cmd_tbl_t *cmdtp; - - for (cmdtp = &cmd_mtc_sub[0]; cmdtp != - &cmd_mtc_sub[ARRAY_SIZE(cmd_mtc_sub)]; cmdtp++) { - ulong addr; - - addr = (ulong)(cmdtp->cmd) + gd->reloc_off; - cmdtp->cmd = - (int (*)(struct cmd_tbl_s *, int, int, char *[]))addr; - - addr = (ulong)(cmdtp->name) + gd->reloc_off; - cmdtp->name = (char *)addr; - - if (cmdtp->usage) { - addr = (ulong)(cmdtp->usage) + gd->reloc_off; - cmdtp->usage = (char *)addr; - } -#ifdef CONFIG_SYS_LONGHELP - if (cmdtp->help) { - addr = (ulong)(cmdtp->help) + gd->reloc_off; - cmdtp->help = (char *)addr; - } -#endif - } - return 0; -} - int cmd_mtc(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) { cmd_tbl_t *c; diff --git a/board/digsy_mtc/digsy_mtc.c b/board/digsy_mtc/digsy_mtc.c index 9d77e5485b6..cc6087b3395 100644 --- a/board/digsy_mtc/digsy_mtc.c +++ b/board/digsy_mtc/digsy_mtc.c @@ -240,7 +240,6 @@ void board_get_enetaddr (uchar * enet) int misc_init_r(void) { - extern int mtc_cmd_init_r (void); uchar enetaddr[6]; if (!eth_getenv_enetaddr("ethaddr", enetaddr)) { @@ -248,7 +247,6 @@ int misc_init_r(void) eth_setenv_enetaddr("ethaddr", enetaddr); } - mtc_cmd_init_r(); return 0; } diff --git a/board/inka4x0/inka4x0.c b/board/inka4x0/inka4x0.c index c645b05b5c2..27b79ec7f48 100644 --- a/board/inka4x0/inka4x0.c +++ b/board/inka4x0/inka4x0.c @@ -177,16 +177,6 @@ void flash_preinit(void) clrbits_be32(&lpb->cs0_cfg, 0x1); /* clear RO */ } -int misc_init_r (void) { - extern int inkadiag_init_r (void); - - /* - * The command table used for the subcommands of inkadiag - * needs to be relocated manually. - */ - return inkadiag_init_r(); -} - int misc_init_f (void) { volatile struct mpc5xxx_gpio *gpio = diff --git a/board/inka4x0/inkadiag.c b/board/inka4x0/inkadiag.c index 3761ef66d41..0a75abde3f3 100644 --- a/board/inka4x0/inkadiag.c +++ b/board/inka4x0/inkadiag.c @@ -484,31 +484,3 @@ U_BOOT_CMD(inkadiag, 6, 1, do_inkadiag, "[inkadiag what ...]\n" " - perform a diagnosis on inka hardware\n" "'inkadiag' performs hardware tests."); - -/* Relocate the command table function pointers when running in RAM */ -int inkadiag_init_r (void) { - cmd_tbl_t *cmdtp; - - for (cmdtp = &cmd_inkadiag_sub[0]; cmdtp != - &cmd_inkadiag_sub[ARRAY_SIZE(cmd_inkadiag_sub)]; cmdtp++) { - ulong addr; - - addr = (ulong) (cmdtp->cmd) + gd->reloc_off; - cmdtp->cmd = (int (*)(struct cmd_tbl_s *, int, int, char *[]))addr; - - addr = (ulong)(cmdtp->name) + gd->reloc_off; - cmdtp->name = (char *)addr; - - if (cmdtp->usage) { - addr = (ulong)(cmdtp->usage) + gd->reloc_off; - cmdtp->usage = (char *)addr; - } -#ifdef CONFIG_SYS_LONGHELP - if (cmdtp->help) { - addr = (ulong)(cmdtp->help) + gd->reloc_off; - cmdtp->help = (char *)addr; - } -#endif - } - return 0; -} diff --git a/include/configs/inka4x0.h b/include/configs/inka4x0.h index 46606cace9a..14f78267056 100644 --- a/include/configs/inka4x0.h +++ b/include/configs/inka4x0.h @@ -42,7 +42,6 @@ #define BOOTFLAG_WARM 0x02 /* Software reboot */ #define CONFIG_MISC_INIT_F 1 /* Use misc_init_f() */ -#define CONFIG_MISC_INIT_R 1 /* Use misc_init_r() */ #define CONFIG_HIGH_BATS 1 /* High BATs supported */ From cd1011db80287eef933d1599b74cff1116c93134 Mon Sep 17 00:00:00 2001 From: Peter Tyser Date: Mon, 21 Sep 2009 11:20:31 -0500 Subject: [PATCH 07/16] tsec: Remove PHY command relocation fixups Signed-off-by: Peter Tyser --- drivers/net/tsec.c | 49 ---------------------------------------------- 1 file changed, 49 deletions(-) diff --git a/drivers/net/tsec.c b/drivers/net/tsec.c index 5c3d261ecda..3f74118dbe6 100644 --- a/drivers/net/tsec.c +++ b/drivers/net/tsec.c @@ -35,8 +35,6 @@ typedef volatile struct rtxbd { #define MAXCONTROLLERS (8) -static int relocated = 0; - static struct tsec_private *privlist[MAXCONTROLLERS]; static int num_tsecs = 0; @@ -59,7 +57,6 @@ uint read_phy_reg(struct tsec_private *priv, uint regnum); struct phy_info *get_phy_info(struct eth_device *dev); void phy_run_commands(struct tsec_private *priv, struct phy_cmd *cmd); static void adjust_link(struct eth_device *dev); -static void relocate_cmds(void); #if defined(CONFIG_MII) || defined(CONFIG_CMD_MII) \ && !defined(BITBANGMII) static int tsec_miiphy_write(char *devname, unsigned char addr, @@ -321,9 +318,6 @@ static int init_phy(struct eth_device *dev) asm("sync"); while (priv->phyregs->miimind & MIIMIND_BUSY) ; - if (0 == relocated) - relocate_cmds(); - /* Get the cmd structure corresponding to the attached * PHY */ curphy = get_phy_info(dev); @@ -1800,49 +1794,6 @@ void phy_run_commands(struct tsec_private *priv, struct phy_cmd *cmd) } } -/* Relocate the function pointers in the phy cmd lists */ -static void relocate_cmds(void) -{ - struct phy_cmd **cmdlistptr; - struct phy_cmd *cmd; - int i, j, k; - - for (i = 0; phy_info[i]; i++) { - /* First thing's first: relocate the pointers to the - * PHY command structures (the structs were done) */ - phy_info[i] = (struct phy_info *)((uint) phy_info[i] - + gd->reloc_off); - phy_info[i]->name += gd->reloc_off; - phy_info[i]->config = - (struct phy_cmd *)((uint) phy_info[i]->config - + gd->reloc_off); - phy_info[i]->startup = - (struct phy_cmd *)((uint) phy_info[i]->startup - + gd->reloc_off); - phy_info[i]->shutdown = - (struct phy_cmd *)((uint) phy_info[i]->shutdown - + gd->reloc_off); - - cmdlistptr = &phy_info[i]->config; - j = 0; - for (; cmdlistptr <= &phy_info[i]->shutdown; cmdlistptr++) { - k = 0; - for (cmd = *cmdlistptr; - cmd->mii_reg != miim_end; - cmd++) { - /* Only relocate non-NULL pointers */ - if (cmd->funct) - cmd->funct += gd->reloc_off; - - k++; - } - j++; - } - } - - relocated = 1; -} - #if defined(CONFIG_MII) || defined(CONFIG_CMD_MII) \ && !defined(BITBANGMII) From 6385b28116f775da4771b768ba9bf93c3aaaf26e Mon Sep 17 00:00:00 2001 From: Peter Tyser Date: Mon, 21 Sep 2009 11:20:32 -0500 Subject: [PATCH 08/16] 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/esd/pmc440/fpga.c | 6 +- board/gen860t/fpga.c | 5 +- board/matrix_vision/mvbc_p/fpga.c | 7 +- board/matrix_vision/mvblm7/fpga.c | 6 +- board/prodrive/alpr/fpga.c | 4 +- drivers/fpga/ACEX1K.c | 96 --------------- drivers/fpga/altera.c | 39 ------- drivers/fpga/cyclon2.c | 91 --------------- drivers/fpga/fpga.c | 53 +-------- drivers/fpga/spartan2.c | 187 ------------------------------ drivers/fpga/spartan3.c | 185 ----------------------------- drivers/fpga/stratixII.c | 24 ---- drivers/fpga/virtex2.c | 118 ------------------- drivers/fpga/xilinx.c | 42 ------- include/ACEX1K.h | 4 - include/altera.h | 1 - include/fpga.h | 2 +- include/spartan2.h | 3 - include/spartan3.h | 3 - include/stratixII.h | 1 - include/virtex2.h | 3 - include/xilinx.h | 1 - 22 files changed, 18 insertions(+), 863 deletions(-) diff --git a/board/esd/pmc440/fpga.c b/board/esd/pmc440/fpga.c index a2eda32ac89..f92bbff291d 100644 --- a/board/esd/pmc440/fpga.c +++ b/board/esd/pmc440/fpga.c @@ -442,9 +442,9 @@ int pmc440_init_fpga(void) { char *s; - debug("%s:%d: Initialize FPGA interface (relocation offset = 0x%.8lx)\n", - __FUNCTION__, __LINE__, gd->reloc_off); - fpga_init(gd->reloc_off); + debug("%s:%d: Initialize FPGA interface\n", + __FUNCTION__, __LINE__); + fpga_init(); fpga_serialslave_init (); debug("%s:%d: Adding fpga 0\n", __FUNCTION__, __LINE__); diff --git a/board/gen860t/fpga.c b/board/gen860t/fpga.c index 29cad2ee81f..d42c500ca08 100644 --- a/board/gen860t/fpga.c +++ b/board/gen860t/fpga.c @@ -193,8 +193,9 @@ int gen860t_init_fpga (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 (); fpga_selectmap_init (); for (i = 0; i < CONFIG_FPGA_COUNT; i++) { diff --git a/board/matrix_vision/mvbc_p/fpga.c b/board/matrix_vision/mvbc_p/fpga.c index 356af1aa54f..3ed46fe8029 100644 --- a/board/matrix_vision/mvbc_p/fpga.c +++ b/board/matrix_vision/mvbc_p/fpga.c @@ -46,7 +46,6 @@ Altera_CYC2_Passive_Serial_fns altera_fns = { fpga_wr_fn, fpga_null_fn, fpga_null_fn, - 0 }; Altera_desc cyclone2 = { @@ -55,16 +54,14 @@ Altera_desc cyclone2 = { Altera_EP2C8_SIZE, (void *) &altera_fns, NULL, - 0 }; DECLARE_GLOBAL_DATA_PTR; int mvbc_p_init_fpga(void) { - fpga_debug("Initialize FPGA interface (reloc 0x%.8lx)\n", - gd->reloc_off); - fpga_init(gd->reloc_off); + fpga_debug("Initialize FPGA interface\n"); + fpga_init(); fpga_add(fpga_altera, &cyclone2); fpga_config_fn(0, 1, 0); udelay(60); diff --git a/board/matrix_vision/mvblm7/fpga.c b/board/matrix_vision/mvblm7/fpga.c index 7527d161ad1..7b03d6f507c 100644 --- a/board/matrix_vision/mvblm7/fpga.c +++ b/board/matrix_vision/mvblm7/fpga.c @@ -46,7 +46,6 @@ Altera_CYC2_Passive_Serial_fns altera_fns = { fpga_wr_fn, fpga_null_fn, fpga_null_fn, - 0 }; Altera_desc cyclone2 = { @@ -62,9 +61,8 @@ DECLARE_GLOBAL_DATA_PTR; int mvblm7_init_fpga(void) { - fpga_debug("Initialize FPGA interface (reloc 0x%.8lx)\n", - gd->reloc_off); - fpga_init(gd->reloc_off); + fpga_debug("Initialize FPGA interface\n"); + fpga_init(); fpga_add(fpga_altera, &cyclone2); fpga_config_fn(0, 1, 0); udelay(60); diff --git a/board/prodrive/alpr/fpga.c b/board/prodrive/alpr/fpga.c index 0ecebc943a7..7571cd950c0 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); diff --git a/drivers/fpga/ACEX1K.c b/drivers/fpga/ACEX1K.c index 3f7967782bb..06b4247d87e 100644 --- a/drivers/fpga/ACEX1K.c +++ b/drivers/fpga/ACEX1K.c @@ -51,7 +51,6 @@ static int ACEX1K_ps_load( Altera_desc *desc, void *buf, size_t bsize ); static int ACEX1K_ps_dump( Altera_desc *desc, void *buf, size_t bsize ); /* static int ACEX1K_ps_info( Altera_desc *desc ); */ -static int ACEX1K_ps_reloc( Altera_desc *desc, ulong reloc_offset ); /* ------------------------------------------------------------------------- */ /* ACEX1K Generic Implementation */ @@ -101,31 +100,6 @@ int ACEX1K_info( Altera_desc *desc ) } -int ACEX1K_reloc (Altera_desc * desc, ulong reloc_offset) -{ - int ret_val = FPGA_FAIL; /* assume a failure */ - - if (desc->family != Altera_ACEX1K) { - printf ("%s: Unsupported family type, %d\n", - __FUNCTION__, desc->family); - return FPGA_FAIL; - } else - switch (desc->iface) { - case passive_serial: - ret_val = ACEX1K_ps_reloc (desc, reloc_offset); - break; - - /* Add new interface types here */ - - default: - printf ("%s: Unsupported interface type, %d\n", - __FUNCTION__, desc->iface); - } - - return ret_val; -} - - /* ------------------------------------------------------------------------- */ /* ACEX1K Passive Serial Generic Implementation */ @@ -290,73 +264,3 @@ static int ACEX1K_ps_dump (Altera_desc * desc, void *buf, size_t bsize) __FUNCTION__); return FPGA_FAIL; } - -static int ACEX1K_ps_reloc (Altera_desc * desc, ulong reloc_offset) -{ - int ret_val = FPGA_FAIL; /* assume the worst */ - Altera_ACEX1K_Passive_Serial_fns *fn_r, *fn = - (Altera_ACEX1K_Passive_Serial_fns *) (desc->iface_fns); - - if (fn) { - ulong addr; - - /* Get the relocated table address */ - addr = (ulong) fn + reloc_offset; - fn_r = (Altera_ACEX1K_Passive_Serial_fns *) addr; - - if (!fn_r->relocated) { - - if (memcmp (fn_r, fn, - sizeof (Altera_ACEX1K_Passive_Serial_fns)) - == 0) { - /* good copy of the table, fix the descriptor pointer */ - desc->iface_fns = fn_r; - } else { - PRINTF ("%s: Invalid function table at 0x%p\n", - __FUNCTION__, fn_r); - return FPGA_FAIL; - } - - PRINTF ("%s: Relocating descriptor at 0x%p\n", __FUNCTION__, - desc); - - addr = (ulong) (fn->pre) + reloc_offset; - fn_r->pre = (Altera_pre_fn) addr; - - addr = (ulong) (fn->config) + reloc_offset; - fn_r->config = (Altera_config_fn) addr; - - addr = (ulong) (fn->status) + reloc_offset; - fn_r->status = (Altera_status_fn) addr; - - addr = (ulong) (fn->done) + reloc_offset; - fn_r->done = (Altera_done_fn) addr; - - addr = (ulong) (fn->clk) + reloc_offset; - fn_r->clk = (Altera_clk_fn) addr; - - addr = (ulong) (fn->data) + reloc_offset; - fn_r->data = (Altera_data_fn) addr; - - addr = (ulong) (fn->abort) + reloc_offset; - fn_r->abort = (Altera_abort_fn) addr; - - addr = (ulong) (fn->post) + reloc_offset; - fn_r->post = (Altera_post_fn) addr; - - fn_r->relocated = TRUE; - - } else { - /* this table has already been moved */ - /* XXX - should check to see if the descriptor is correct */ - desc->iface_fns = fn_r; - } - - ret_val = FPGA_SUCCESS; - } else { - printf ("%s: NULL Interface function table!\n", __FUNCTION__); - } - - return ret_val; - -} diff --git a/drivers/fpga/altera.c b/drivers/fpga/altera.c index 09dc0b22e1b..650f2ec7347 100644 --- a/drivers/fpga/altera.c +++ b/drivers/fpga/altera.c @@ -211,45 +211,6 @@ int altera_info( Altera_desc *desc ) return ret_val; } -int altera_reloc( Altera_desc *desc, ulong reloc_offset) -{ - int ret_val = FPGA_FAIL; /* assume a failure */ - - if (!altera_validate (desc, (char *)__FUNCTION__)) { - printf ("%s: Invalid device descriptor\n", __FUNCTION__); - } else { - switch (desc->family) { - case Altera_ACEX1K: -#if defined(CONFIG_FPGA_ACEX1K) - ret_val = ACEX1K_reloc (desc, reloc_offset); -#else - printf ("%s: No support for ACEX devices.\n", - __FUNCTION__); -#endif - break; -#if defined(CONFIG_FPGA_STRATIX_II) - case Altera_StratixII: - ret_val = StratixII_reloc (desc, reloc_offset); - break; -#endif - case Altera_CYC2: -#if defined(CONFIG_FPGA_CYCLON2) - ret_val = CYC2_reloc (desc, reloc_offset); -#else - printf ("%s: No support for CYCLON II devices.\n", - __FUNCTION__); -#endif - break; - /* Add new family types here */ - default: - printf ("%s: Unsupported family type, %d\n", - __FUNCTION__, desc->family); - } - } - - return ret_val; -} - /* ------------------------------------------------------------------------- */ static int altera_validate (Altera_desc * desc, const char *fn) diff --git a/drivers/fpga/cyclon2.c b/drivers/fpga/cyclon2.c index 3ed64b27938..4622b4e4555 100644 --- a/drivers/fpga/cyclon2.c +++ b/drivers/fpga/cyclon2.c @@ -50,7 +50,6 @@ static int CYC2_ps_load( Altera_desc *desc, void *buf, size_t bsize ); static int CYC2_ps_dump( Altera_desc *desc, void *buf, size_t bsize ); /* static int CYC2_ps_info( Altera_desc *desc ); */ -static int CYC2_ps_reloc( Altera_desc *desc, ulong reloc_offset ); /* ------------------------------------------------------------------------- */ /* CYCLON2 Generic Implementation */ @@ -99,30 +98,6 @@ int CYC2_info( Altera_desc *desc ) return FPGA_SUCCESS; } -int CYC2_reloc (Altera_desc * desc, ulong reloc_offset) -{ - int ret_val = FPGA_FAIL; /* assume a failure */ - - if (desc->family != Altera_CYC2) { - printf ("%s: Unsupported family type, %d\n", - __FUNCTION__, desc->family); - return FPGA_FAIL; - } else - switch (desc->iface) { - case passive_serial: - ret_val = CYC2_ps_reloc (desc, reloc_offset); - break; - - /* Add new interface types here */ - - default: - printf ("%s: Unsupported interface type, %d\n", - __FUNCTION__, desc->iface); - } - - return ret_val; -} - /* ------------------------------------------------------------------------- */ /* CYCLON2 Passive Serial Generic Implementation */ static int CYC2_ps_load (Altera_desc * desc, void *buf, size_t bsize) @@ -233,69 +208,3 @@ static int CYC2_ps_dump (Altera_desc * desc, void *buf, size_t bsize) __FUNCTION__); return FPGA_FAIL; } - -static int CYC2_ps_reloc (Altera_desc * desc, ulong reloc_offset) -{ - int ret_val = FPGA_FAIL; /* assume the worst */ - Altera_CYC2_Passive_Serial_fns *fn_r, *fn = - (Altera_CYC2_Passive_Serial_fns *) (desc->iface_fns); - - if (fn) { - ulong addr; - - /* Get the relocated table address */ - addr = (ulong) fn + reloc_offset; - fn_r = (Altera_CYC2_Passive_Serial_fns *) addr; - - if (!fn_r->relocated) { - - if (memcmp (fn_r, fn, - sizeof (Altera_CYC2_Passive_Serial_fns)) - == 0) { - /* good copy of the table, fix the descriptor pointer */ - desc->iface_fns = fn_r; - } else { - PRINTF ("%s: Invalid function table at 0x%p\n", - __FUNCTION__, fn_r); - return FPGA_FAIL; - } - - PRINTF ("%s: Relocating descriptor at 0x%p\n", __FUNCTION__, - desc); - - addr = (ulong) (fn->pre) + reloc_offset; - fn_r->pre = (Altera_pre_fn) addr; - - addr = (ulong) (fn->config) + reloc_offset; - fn_r->config = (Altera_config_fn) addr; - - addr = (ulong) (fn->status) + reloc_offset; - fn_r->status = (Altera_status_fn) addr; - - addr = (ulong) (fn->done) + reloc_offset; - fn_r->done = (Altera_done_fn) addr; - - addr = (ulong) (fn->write) + reloc_offset; - fn_r->write = (Altera_write_fn) addr; - - addr = (ulong) (fn->abort) + reloc_offset; - fn_r->abort = (Altera_abort_fn) addr; - - addr = (ulong) (fn->post) + reloc_offset; - fn_r->post = (Altera_post_fn) addr; - - fn_r->relocated = TRUE; - - } else { - /* this table has already been moved */ - /* XXX - should check to see if the descriptor is correct */ - desc->iface_fns = fn_r; - } - - ret_val = FPGA_SUCCESS; - } else { - printf ("%s: NULL Interface function table!\n", __FUNCTION__); - } - - return ret_val; -} diff --git a/drivers/fpga/fpga.c b/drivers/fpga/fpga.c index 67a6c300c78..5659517793e 100644 --- a/drivers/fpga/fpga.c +++ b/drivers/fpga/fpga.c @@ -46,7 +46,6 @@ #endif /* Local static data */ -static ulong relocation_offset = 0; static int next_desc = FPGA_INVALID_DEVICE; static fpga_desc desc_table[CONFIG_MAX_FPGA_DEVICES]; @@ -153,46 +152,12 @@ static int fpga_dev_info( int devnum ) } -/* fpga_reloc - * generic multiplexing code - */ -int fpga_reloc( fpga_type devtype, void *desc, ulong reloc_off ) -{ - int ret_val = FPGA_FAIL; - - PRINTF( "%s: Relocating Device of type %d @ 0x%p with offset %lx\n", - __FUNCTION__, devtype, desc, reloc_off ); - - switch ( devtype ) { - case fpga_xilinx: -#if defined(CONFIG_FPGA_XILINX) - ret_val = xilinx_reloc( desc, reloc_off ); -#else - fpga_no_sup( (char *)__FUNCTION__, "Xilinx devices" ); -#endif - break; - case fpga_altera: -#if defined(CONFIG_FPGA_ALTERA) - ret_val = altera_reloc( desc, reloc_off ); -#else - fpga_no_sup( (char *)__FUNCTION__, "Altera devices" ); -#endif - break; - default: - printf( "%s: Invalid or unsupported device type %d\n", - __FUNCTION__, devtype ); - } - - return ret_val; -} - /* ------------------------------------------------------------------------- */ /* fgpa_init is usually called from misc_init_r() and MUST be called * before any of the other fpga functions are used. */ -void fpga_init( ulong reloc_off ) +void fpga_init(void) { - relocation_offset = reloc_off; next_desc = 0; memset( desc_table, 0, sizeof(desc_table)); @@ -208,9 +173,7 @@ int fpga_count( void ) } /* fpga_add - * Attempts to relocate the device/board specific interface code - * to the proper RAM locations and adds the device descriptor to - * the device table. + * Add the device descriptor to the device table. */ int fpga_add( fpga_type devtype, void *desc ) { @@ -221,15 +184,9 @@ int fpga_add( fpga_type devtype, void *desc ) } else if (( devtype > fpga_min_type ) && ( devtype < fpga_undefined )) { if ( desc ) { if ( next_desc < CONFIG_MAX_FPGA_DEVICES ) { - if ( fpga_reloc( devtype, desc, relocation_offset ) - == FPGA_SUCCESS ) { - devnum = next_desc; - desc_table[next_desc].devtype = devtype; - desc_table[next_desc++].devdesc = desc; - } else { - printf( "%s: Unable to relocate device interface table!\n", - __FUNCTION__ ); - } + devnum = next_desc; + desc_table[next_desc].devtype = devtype; + desc_table[next_desc++].devdesc = desc; } else { printf( "%s: Exceeded Max FPGA device count\n", __FUNCTION__ ); } diff --git a/drivers/fpga/spartan2.c b/drivers/fpga/spartan2.c index d745334e921..cd16a9c44c2 100644 --- a/drivers/fpga/spartan2.c +++ b/drivers/fpga/spartan2.c @@ -51,12 +51,10 @@ static int Spartan2_sp_load( Xilinx_desc *desc, void *buf, size_t bsize ); static int Spartan2_sp_dump( Xilinx_desc *desc, void *buf, size_t bsize ); /* static int Spartan2_sp_info( Xilinx_desc *desc ); */ -static int Spartan2_sp_reloc( Xilinx_desc *desc, ulong reloc_offset ); static int Spartan2_ss_load( Xilinx_desc *desc, void *buf, size_t bsize ); static int Spartan2_ss_dump( Xilinx_desc *desc, void *buf, size_t bsize ); /* static int Spartan2_ss_info( Xilinx_desc *desc ); */ -static int Spartan2_ss_reloc( Xilinx_desc *desc, ulong reloc_offset ); /* ------------------------------------------------------------------------- */ /* Spartan-II Generic Implementation */ @@ -112,33 +110,6 @@ int Spartan2_info( Xilinx_desc *desc ) } -int Spartan2_reloc (Xilinx_desc * desc, ulong reloc_offset) -{ - int ret_val = FPGA_FAIL; /* assume a failure */ - - if (desc->family != Xilinx_Spartan2) { - printf ("%s: Unsupported family type, %d\n", - __FUNCTION__, desc->family); - return FPGA_FAIL; - } else - switch (desc->iface) { - case slave_serial: - ret_val = Spartan2_ss_reloc (desc, reloc_offset); - break; - - case slave_parallel: - ret_val = Spartan2_sp_reloc (desc, reloc_offset); - break; - - default: - printf ("%s: Unsupported interface type, %d\n", - __FUNCTION__, desc->iface); - } - - return ret_val; -} - - /* ------------------------------------------------------------------------- */ /* Spartan-II Slave Parallel Generic Implementation */ @@ -340,93 +311,6 @@ static int Spartan2_sp_dump (Xilinx_desc * desc, void *buf, size_t bsize) } -static int Spartan2_sp_reloc (Xilinx_desc * desc, ulong reloc_offset) -{ - int ret_val = FPGA_FAIL; /* assume the worst */ - Xilinx_Spartan2_Slave_Parallel_fns *fn_r, *fn = - (Xilinx_Spartan2_Slave_Parallel_fns *) (desc->iface_fns); - - if (fn) { - ulong addr; - - /* Get the relocated table address */ - addr = (ulong) fn + reloc_offset; - fn_r = (Xilinx_Spartan2_Slave_Parallel_fns *) addr; - - if (!fn_r->relocated) { - - if (memcmp (fn_r, fn, - sizeof (Xilinx_Spartan2_Slave_Parallel_fns)) - == 0) { - /* good copy of the table, fix the descriptor pointer */ - desc->iface_fns = fn_r; - } else { - PRINTF ("%s: Invalid function table at 0x%p\n", - __FUNCTION__, fn_r); - return FPGA_FAIL; - } - - PRINTF ("%s: Relocating descriptor at 0x%p\n", __FUNCTION__, - desc); - - addr = (ulong) (fn->pre) + reloc_offset; - fn_r->pre = (Xilinx_pre_fn) addr; - - addr = (ulong) (fn->pgm) + reloc_offset; - fn_r->pgm = (Xilinx_pgm_fn) addr; - - addr = (ulong) (fn->init) + reloc_offset; - fn_r->init = (Xilinx_init_fn) addr; - - addr = (ulong) (fn->done) + reloc_offset; - fn_r->done = (Xilinx_done_fn) addr; - - addr = (ulong) (fn->clk) + reloc_offset; - fn_r->clk = (Xilinx_clk_fn) addr; - - addr = (ulong) (fn->err) + reloc_offset; - fn_r->err = (Xilinx_err_fn) addr; - - addr = (ulong) (fn->cs) + reloc_offset; - fn_r->cs = (Xilinx_cs_fn) addr; - - addr = (ulong) (fn->wr) + reloc_offset; - fn_r->wr = (Xilinx_wr_fn) addr; - - addr = (ulong) (fn->rdata) + reloc_offset; - fn_r->rdata = (Xilinx_rdata_fn) addr; - - addr = (ulong) (fn->wdata) + reloc_offset; - fn_r->wdata = (Xilinx_wdata_fn) addr; - - addr = (ulong) (fn->busy) + reloc_offset; - fn_r->busy = (Xilinx_busy_fn) addr; - - addr = (ulong) (fn->abort) + reloc_offset; - fn_r->abort = (Xilinx_abort_fn) addr; - - if (fn->post) { - addr = (ulong) (fn->post) + reloc_offset; - fn_r->post = (Xilinx_post_fn) addr; - } - - fn_r->relocated = TRUE; - - } else { - /* this table has already been moved */ - /* XXX - should check to see if the descriptor is correct */ - desc->iface_fns = fn_r; - } - - ret_val = FPGA_SUCCESS; - } else { - printf ("%s: NULL Interface function table!\n", __FUNCTION__); - } - - return ret_val; - -} - /* ------------------------------------------------------------------------- */ static int Spartan2_ss_load (Xilinx_desc * desc, void *buf, size_t bsize) @@ -580,74 +464,3 @@ static int Spartan2_ss_dump (Xilinx_desc * desc, void *buf, size_t bsize) __FUNCTION__); return FPGA_FAIL; } - -static int Spartan2_ss_reloc (Xilinx_desc * desc, ulong reloc_offset) -{ - int ret_val = FPGA_FAIL; /* assume the worst */ - Xilinx_Spartan2_Slave_Serial_fns *fn_r, *fn = - (Xilinx_Spartan2_Slave_Serial_fns *) (desc->iface_fns); - - if (fn) { - ulong addr; - - /* Get the relocated table address */ - addr = (ulong) fn + reloc_offset; - fn_r = (Xilinx_Spartan2_Slave_Serial_fns *) addr; - - if (!fn_r->relocated) { - - if (memcmp (fn_r, fn, - sizeof (Xilinx_Spartan2_Slave_Serial_fns)) - == 0) { - /* good copy of the table, fix the descriptor pointer */ - desc->iface_fns = fn_r; - } else { - PRINTF ("%s: Invalid function table at 0x%p\n", - __FUNCTION__, fn_r); - return FPGA_FAIL; - } - - PRINTF ("%s: Relocating descriptor at 0x%p\n", __FUNCTION__, - desc); - - if (fn->pre) { - addr = (ulong) (fn->pre) + reloc_offset; - fn_r->pre = (Xilinx_pre_fn) addr; - } - - addr = (ulong) (fn->pgm) + reloc_offset; - fn_r->pgm = (Xilinx_pgm_fn) addr; - - addr = (ulong) (fn->init) + reloc_offset; - fn_r->init = (Xilinx_init_fn) addr; - - addr = (ulong) (fn->done) + reloc_offset; - fn_r->done = (Xilinx_done_fn) addr; - - addr = (ulong) (fn->clk) + reloc_offset; - fn_r->clk = (Xilinx_clk_fn) addr; - - addr = (ulong) (fn->wr) + reloc_offset; - fn_r->wr = (Xilinx_wr_fn) addr; - - if (fn->post) { - addr = (ulong) (fn->post) + reloc_offset; - fn_r->post = (Xilinx_post_fn) addr; - } - - fn_r->relocated = TRUE; - - } else { - /* this table has already been moved */ - /* XXX - should check to see if the descriptor is correct */ - desc->iface_fns = fn_r; - } - - ret_val = FPGA_SUCCESS; - } else { - printf ("%s: NULL Interface function table!\n", __FUNCTION__); - } - - return ret_val; - -} diff --git a/drivers/fpga/spartan3.c b/drivers/fpga/spartan3.c index 8bb244971f1..0fe30410a6f 100644 --- a/drivers/fpga/spartan3.c +++ b/drivers/fpga/spartan3.c @@ -56,12 +56,10 @@ static int Spartan3_sp_load( Xilinx_desc *desc, void *buf, size_t bsize ); static int Spartan3_sp_dump( Xilinx_desc *desc, void *buf, size_t bsize ); /* static int Spartan3_sp_info( Xilinx_desc *desc ); */ -static int Spartan3_sp_reloc( Xilinx_desc *desc, ulong reloc_offset ); static int Spartan3_ss_load( Xilinx_desc *desc, void *buf, size_t bsize ); static int Spartan3_ss_dump( Xilinx_desc *desc, void *buf, size_t bsize ); /* static int Spartan3_ss_info( Xilinx_desc *desc ); */ -static int Spartan3_ss_reloc( Xilinx_desc *desc, ulong reloc_offset ); /* ------------------------------------------------------------------------- */ /* Spartan-II Generic Implementation */ @@ -117,33 +115,6 @@ int Spartan3_info( Xilinx_desc *desc ) } -int Spartan3_reloc (Xilinx_desc * desc, ulong reloc_offset) -{ - int ret_val = FPGA_FAIL; /* assume a failure */ - - if (desc->family != Xilinx_Spartan3) { - printf ("%s: Unsupported family type, %d\n", - __FUNCTION__, desc->family); - return FPGA_FAIL; - } else - switch (desc->iface) { - case slave_serial: - ret_val = Spartan3_ss_reloc (desc, reloc_offset); - break; - - case slave_parallel: - ret_val = Spartan3_sp_reloc (desc, reloc_offset); - break; - - default: - printf ("%s: Unsupported interface type, %d\n", - __FUNCTION__, desc->iface); - } - - return ret_val; -} - - /* ------------------------------------------------------------------------- */ /* Spartan-II Slave Parallel Generic Implementation */ @@ -347,91 +318,6 @@ static int Spartan3_sp_dump (Xilinx_desc * desc, void *buf, size_t bsize) } -static int Spartan3_sp_reloc (Xilinx_desc * desc, ulong reloc_offset) -{ - int ret_val = FPGA_FAIL; /* assume the worst */ - Xilinx_Spartan3_Slave_Parallel_fns *fn_r, *fn = - (Xilinx_Spartan3_Slave_Parallel_fns *) (desc->iface_fns); - - if (fn) { - ulong addr; - - /* Get the relocated table address */ - addr = (ulong) fn + reloc_offset; - fn_r = (Xilinx_Spartan3_Slave_Parallel_fns *) addr; - - if (!fn_r->relocated) { - - if (memcmp (fn_r, fn, - sizeof (Xilinx_Spartan3_Slave_Parallel_fns)) - == 0) { - /* good copy of the table, fix the descriptor pointer */ - desc->iface_fns = fn_r; - } else { - PRINTF ("%s: Invalid function table at 0x%p\n", - __FUNCTION__, fn_r); - return FPGA_FAIL; - } - - PRINTF ("%s: Relocating descriptor at 0x%p\n", __FUNCTION__, - desc); - - addr = (ulong) (fn->pre) + reloc_offset; - fn_r->pre = (Xilinx_pre_fn) addr; - - addr = (ulong) (fn->pgm) + reloc_offset; - fn_r->pgm = (Xilinx_pgm_fn) addr; - - addr = (ulong) (fn->init) + reloc_offset; - fn_r->init = (Xilinx_init_fn) addr; - - addr = (ulong) (fn->done) + reloc_offset; - fn_r->done = (Xilinx_done_fn) addr; - - addr = (ulong) (fn->clk) + reloc_offset; - fn_r->clk = (Xilinx_clk_fn) addr; - - addr = (ulong) (fn->err) + reloc_offset; - fn_r->err = (Xilinx_err_fn) addr; - - addr = (ulong) (fn->cs) + reloc_offset; - fn_r->cs = (Xilinx_cs_fn) addr; - - addr = (ulong) (fn->wr) + reloc_offset; - fn_r->wr = (Xilinx_wr_fn) addr; - - addr = (ulong) (fn->rdata) + reloc_offset; - fn_r->rdata = (Xilinx_rdata_fn) addr; - - addr = (ulong) (fn->wdata) + reloc_offset; - fn_r->wdata = (Xilinx_wdata_fn) addr; - - addr = (ulong) (fn->busy) + reloc_offset; - fn_r->busy = (Xilinx_busy_fn) addr; - - addr = (ulong) (fn->abort) + reloc_offset; - fn_r->abort = (Xilinx_abort_fn) addr; - - addr = (ulong) (fn->post) + reloc_offset; - fn_r->post = (Xilinx_post_fn) addr; - - fn_r->relocated = TRUE; - - } else { - /* this table has already been moved */ - /* XXX - should check to see if the descriptor is correct */ - desc->iface_fns = fn_r; - } - - ret_val = FPGA_SUCCESS; - } else { - printf ("%s: NULL Interface function table!\n", __FUNCTION__); - } - - return ret_val; - -} - /* ------------------------------------------------------------------------- */ static int Spartan3_ss_load (Xilinx_desc * desc, void *buf, size_t bsize) @@ -587,74 +473,3 @@ static int Spartan3_ss_dump (Xilinx_desc * desc, void *buf, size_t bsize) __FUNCTION__); return FPGA_FAIL; } - -static int Spartan3_ss_reloc (Xilinx_desc * desc, ulong reloc_offset) -{ - int ret_val = FPGA_FAIL; /* assume the worst */ - Xilinx_Spartan3_Slave_Serial_fns *fn_r, *fn = - (Xilinx_Spartan3_Slave_Serial_fns *) (desc->iface_fns); - - if (fn) { - ulong addr; - - /* Get the relocated table address */ - addr = (ulong) fn + reloc_offset; - fn_r = (Xilinx_Spartan3_Slave_Serial_fns *) addr; - - if (!fn_r->relocated) { - - if (memcmp (fn_r, fn, - sizeof (Xilinx_Spartan3_Slave_Serial_fns)) - == 0) { - /* good copy of the table, fix the descriptor pointer */ - desc->iface_fns = fn_r; - } else { - PRINTF ("%s: Invalid function table at 0x%p\n", - __FUNCTION__, fn_r); - return FPGA_FAIL; - } - - PRINTF ("%s: Relocating descriptor at 0x%p\n", __FUNCTION__, - desc); - - if (fn->pre) { - addr = (ulong) (fn->pre) + reloc_offset; - fn_r->pre = (Xilinx_pre_fn) addr; - } - - addr = (ulong) (fn->pgm) + reloc_offset; - fn_r->pgm = (Xilinx_pgm_fn) addr; - - addr = (ulong) (fn->init) + reloc_offset; - fn_r->init = (Xilinx_init_fn) addr; - - addr = (ulong) (fn->done) + reloc_offset; - fn_r->done = (Xilinx_done_fn) addr; - - addr = (ulong) (fn->clk) + reloc_offset; - fn_r->clk = (Xilinx_clk_fn) addr; - - addr = (ulong) (fn->wr) + reloc_offset; - fn_r->wr = (Xilinx_wr_fn) addr; - - if (fn->post) { - addr = (ulong) (fn->post) + reloc_offset; - fn_r->post = (Xilinx_post_fn) addr; - } - - fn_r->relocated = TRUE; - - } else { - /* this table has already been moved */ - /* XXX - should check to see if the descriptor is correct */ - desc->iface_fns = fn_r; - } - - ret_val = FPGA_SUCCESS; - } else { - printf ("%s: NULL Interface function table!\n", __FUNCTION__); - } - - return ret_val; - -} diff --git a/drivers/fpga/stratixII.c b/drivers/fpga/stratixII.c index 7556dbfb3d7..8a3a7d872ee 100644 --- a/drivers/fpga/stratixII.c +++ b/drivers/fpga/stratixII.c @@ -77,30 +77,6 @@ int StratixII_info (Altera_desc * desc) return FPGA_SUCCESS; } -int StratixII_reloc (Altera_desc * desc, ulong reloc_offset) -{ - int i; - uint32_t dest = (uint32_t) desc & 0xff000000; - - /* we assume a relocated code and non relocated code has different upper 8 bits */ - if (dest != ((uint32_t) desc->iface_fns & 0xff000000)) { - desc->iface_fns = - (void *)((uint32_t) (desc->iface_fns) + reloc_offset); - } - for (i = 0; i < sizeof (altera_board_specific_func) / sizeof (void *); - i++) { - if (dest != - ((uint32_t) (((void **)(desc->iface_fns))[i]) & 0xff000000)) - { - ((void **)(desc->iface_fns))[i] = - (void - *)(((uint32_t) (((void **)(desc->iface_fns))[i])) + - reloc_offset); - } - } - return FPGA_SUCCESS; -} - int StratixII_ps_fpp_dump (Altera_desc * desc, void *buf, size_t bsize) { printf ("Stratix II Fast Passive Parallel dump is not implemented\n"); diff --git a/drivers/fpga/virtex2.c b/drivers/fpga/virtex2.c index 50d0921844f..d1b4d15b711 100644 --- a/drivers/fpga/virtex2.c +++ b/drivers/fpga/virtex2.c @@ -103,11 +103,9 @@ static int Virtex2_ssm_load (Xilinx_desc * desc, void *buf, size_t bsize); static int Virtex2_ssm_dump (Xilinx_desc * desc, void *buf, size_t bsize); -static int Virtex2_ssm_reloc (Xilinx_desc * desc, ulong reloc_offset); static int Virtex2_ss_load (Xilinx_desc * desc, void *buf, size_t bsize); static int Virtex2_ss_dump (Xilinx_desc * desc, void *buf, size_t bsize); -static int Virtex2_ss_reloc (Xilinx_desc * desc, ulong reloc_offset); int Virtex2_load (Xilinx_desc * desc, void *buf, size_t bsize) { @@ -158,31 +156,6 @@ int Virtex2_info (Xilinx_desc * desc) return FPGA_SUCCESS; } -int Virtex2_reloc (Xilinx_desc * desc, ulong reloc_offset) -{ - int ret_val = FPGA_FAIL; - - if (desc->family != Xilinx_Virtex2) { - printf ("%s: Unsupported family type, %d\n", - __FUNCTION__, desc->family); - return FPGA_FAIL; - } else - switch (desc->iface) { - case slave_serial: - ret_val = Virtex2_ss_reloc (desc, reloc_offset); - break; - - case slave_selectmap: - ret_val = Virtex2_ssm_reloc (desc, reloc_offset); - break; - - default: - printf ("%s: Unsupported interface type, %d\n", - __FUNCTION__, desc->iface); - } - return ret_val; -} - /* * Virtex-II Slave SelectMap configuration loader. Configuration via * SelectMap is as follows: @@ -448,81 +421,6 @@ static int Virtex2_ssm_dump (Xilinx_desc * desc, void *buf, size_t bsize) return ret_val; } -/* - * Relocate the addresses in the function table from FLASH (or ROM, - * or whatever) to RAM. - */ -static int Virtex2_ssm_reloc (Xilinx_desc * desc, ulong reloc_offset) -{ - ulong addr; - int ret_val = FPGA_FAIL; - Xilinx_Virtex2_Slave_SelectMap_fns *fn_r, *fn = - (Xilinx_Virtex2_Slave_SelectMap_fns *) (desc->iface_fns); - - if (fn) { - /* - * Get the relocated table address - */ - addr = (ulong) fn + reloc_offset; - fn_r = (Xilinx_Virtex2_Slave_SelectMap_fns *) addr; - - /* - * Check to see if the table has already been relocated. If not, do - * a sanity check to make sure there is a faithful copy of the - * FLASH based function table in RAM, then adjust the table. - */ - if (!fn_r->relocated) { - if (memcmp - (fn_r, fn, sizeof (Xilinx_Virtex2_Slave_SelectMap_fns)) - == 0) { - desc->iface_fns = fn_r; - } else { - PRINTF ("%s:%d: Invalid function table at 0x%p\n", - __FUNCTION__, __LINE__, fn_r); - return FPGA_FAIL; - } - - PRINTF ("%s:%d: Relocating descriptor at 0x%p\n", - __FUNCTION__, __LINE__, desc); - - addr = (ulong) (fn->pre) + reloc_offset; - fn_r->pre = (Xilinx_pre_fn) addr; - addr = (ulong) (fn->pgm) + reloc_offset; - fn_r->pgm = (Xilinx_pgm_fn) addr; - addr = (ulong) (fn->init) + reloc_offset; - fn_r->init = (Xilinx_init_fn) addr; - addr = (ulong) (fn->done) + reloc_offset; - fn_r->done = (Xilinx_done_fn) addr; - addr = (ulong) (fn->err) + reloc_offset; - fn_r->err = (Xilinx_err_fn) addr; - addr = (ulong) (fn->clk) + reloc_offset; - fn_r->clk = (Xilinx_clk_fn) addr; - addr = (ulong) (fn->cs) + reloc_offset; - fn_r->cs = (Xilinx_cs_fn) addr; - addr = (ulong) (fn->wr) + reloc_offset; - fn_r->wr = (Xilinx_wr_fn) addr; - addr = (ulong) (fn->rdata) + reloc_offset; - fn_r->rdata = (Xilinx_rdata_fn) addr; - addr = (ulong) (fn->wdata) + reloc_offset; - fn_r->wdata = (Xilinx_wdata_fn) addr; - addr = (ulong) (fn->busy) + reloc_offset; - fn_r->busy = (Xilinx_busy_fn) addr; - addr = (ulong) (fn->abort) + reloc_offset; - fn_r->abort = (Xilinx_abort_fn) addr; - addr = (ulong) (fn->post) + reloc_offset; - fn_r->post = (Xilinx_post_fn) addr; - fn_r->relocated = TRUE; - } else { - printf ("%s:%d: Function table @0x%p has already been relocated\n", __FUNCTION__, __LINE__, fn_r); - desc->iface_fns = fn_r; - } - ret_val = FPGA_SUCCESS; - } else { - printf ("%s: NULL Interface function table!\n", __FUNCTION__); - } - return ret_val; -} - static int Virtex2_ss_load (Xilinx_desc * desc, void *buf, size_t bsize) { printf ("%s: Slave Serial Loading is unsupported\n", __FUNCTION__); @@ -535,20 +433,4 @@ static int Virtex2_ss_dump (Xilinx_desc * desc, void *buf, size_t bsize) return FPGA_FAIL; } -static int Virtex2_ss_reloc (Xilinx_desc * desc, ulong reloc_offset) -{ - int ret_val = FPGA_FAIL; - Xilinx_Virtex2_Slave_Serial_fns *fn = - (Xilinx_Virtex2_Slave_Serial_fns *) (desc->iface_fns); - - if (fn) { - printf ("%s:%d: Slave Serial Loading is unsupported\n", - __FUNCTION__, __LINE__); - } else { - printf ("%s:%d: NULL Interface function table!\n", - __FUNCTION__, __LINE__); - } - return ret_val; -} - /* vim: set ts=4 tw=78: */ diff --git a/drivers/fpga/xilinx.c b/drivers/fpga/xilinx.c index 7b5e8c5bbd3..08dfdecdee3 100644 --- a/drivers/fpga/xilinx.c +++ b/drivers/fpga/xilinx.c @@ -238,48 +238,6 @@ int xilinx_info (Xilinx_desc * desc) return ret_val; } -int xilinx_reloc (Xilinx_desc * desc, ulong reloc_offset) -{ - int ret_val = FPGA_FAIL; /* assume a failure */ - - if (!xilinx_validate (desc, (char *)__FUNCTION__)) { - printf ("%s: Invalid device descriptor\n", __FUNCTION__); - } else - switch (desc->family) { - case Xilinx_Spartan2: -#if defined(CONFIG_FPGA_SPARTAN2) - ret_val = Spartan2_reloc (desc, reloc_offset); -#else - printf ("%s: No support for Spartan-II devices.\n", - __FUNCTION__); -#endif - break; - case Xilinx_Spartan3: -#if defined(CONFIG_FPGA_SPARTAN3) - ret_val = Spartan3_reloc (desc, reloc_offset); -#else - printf ("%s: No support for Spartan-III devices.\n", - __FUNCTION__); -#endif - break; - case Xilinx_Virtex2: -#if defined(CONFIG_FPGA_VIRTEX2) - ret_val = Virtex2_reloc (desc, reloc_offset); -#else - printf ("%s: No support for Virtex-II devices.\n", - __FUNCTION__); -#endif - break; - /* Add new family types here */ - default: - printf ("%s: Unsupported family type, %d\n", - __FUNCTION__, desc->family); - } - - return ret_val; -} - - /* ------------------------------------------------------------------------- */ static int xilinx_validate (Xilinx_desc * desc, char *fn) diff --git a/include/ACEX1K.h b/include/ACEX1K.h index 354e0f0e47c..ae201647be7 100644 --- a/include/ACEX1K.h +++ b/include/ACEX1K.h @@ -33,12 +33,10 @@ extern int ACEX1K_load( Altera_desc *desc, void *image, size_t size ); extern int ACEX1K_dump( Altera_desc *desc, void *buf, size_t bsize ); extern int ACEX1K_info( Altera_desc *desc ); -extern int ACEX1K_reloc( Altera_desc *desc, ulong reloc_off ); extern int CYC2_load( Altera_desc *desc, void *image, size_t size ); extern int CYC2_dump( Altera_desc *desc, void *buf, size_t bsize ); extern int CYC2_info( Altera_desc *desc ); -extern int CYC2_reloc( Altera_desc *desc, ulong reloc_off ); /* Slave Serial Implementation function table */ typedef struct { @@ -50,7 +48,6 @@ typedef struct { Altera_data_fn data; Altera_abort_fn abort; Altera_post_fn post; - int relocated; } Altera_ACEX1K_Passive_Serial_fns; /* Slave Serial Implementation function table */ @@ -62,7 +59,6 @@ typedef struct { Altera_write_fn write; Altera_abort_fn abort; Altera_post_fn post; - int relocated; } Altera_CYC2_Passive_Serial_fns; /* Device Image Sizes diff --git a/include/altera.h b/include/altera.h index 44a1ee5635a..bc21ddfff9e 100644 --- a/include/altera.h +++ b/include/altera.h @@ -79,7 +79,6 @@ typedef struct { /* typedef Altera_desc */ extern int altera_load( Altera_desc *desc, void *image, size_t size ); extern int altera_dump( Altera_desc *desc, void *buf, size_t bsize ); extern int altera_info( Altera_desc *desc ); -extern int altera_reloc( Altera_desc *desc, ulong reloc_offset ); /* Board specific implementation specific function types *********************************************************************/ diff --git a/include/fpga.h b/include/fpga.h index a48b89b3c5f..84d7b9fc1ad 100644 --- a/include/fpga.h +++ b/include/fpga.h @@ -71,7 +71,7 @@ typedef struct { /* typedef fpga_desc */ /* root function definitions */ -extern void fpga_init( ulong reloc_off ); +extern void fpga_init( void ); extern int fpga_add( fpga_type devtype, void *desc ); extern int fpga_count( void ); extern int fpga_load( int devnum, void *buf, size_t bsize ); diff --git a/include/spartan2.h b/include/spartan2.h index 7327857c120..8959f90f0ed 100644 --- a/include/spartan2.h +++ b/include/spartan2.h @@ -30,7 +30,6 @@ extern int Spartan2_load( Xilinx_desc *desc, void *image, size_t size ); extern int Spartan2_dump( Xilinx_desc *desc, void *buf, size_t bsize ); extern int Spartan2_info( Xilinx_desc *desc ); -extern int Spartan2_reloc( Xilinx_desc *desc, ulong reloc_off ); /* Slave Parallel Implementation function table */ typedef struct { @@ -47,7 +46,6 @@ typedef struct { Xilinx_busy_fn busy; Xilinx_abort_fn abort; Xilinx_post_fn post; - int relocated; } Xilinx_Spartan2_Slave_Parallel_fns; /* Slave Serial Implementation function table */ @@ -59,7 +57,6 @@ typedef struct { Xilinx_done_fn done; Xilinx_wr_fn wr; Xilinx_post_fn post; - int relocated; } Xilinx_Spartan2_Slave_Serial_fns; /* Device Image Sizes diff --git a/include/spartan3.h b/include/spartan3.h index b0fa1cdaee6..30b1c2d62db 100644 --- a/include/spartan3.h +++ b/include/spartan3.h @@ -30,7 +30,6 @@ extern int Spartan3_load( Xilinx_desc *desc, void *image, size_t size ); extern int Spartan3_dump( Xilinx_desc *desc, void *buf, size_t bsize ); extern int Spartan3_info( Xilinx_desc *desc ); -extern int Spartan3_reloc( Xilinx_desc *desc, ulong reloc_off ); /* Slave Parallel Implementation function table */ typedef struct { @@ -47,7 +46,6 @@ typedef struct { Xilinx_busy_fn busy; Xilinx_abort_fn abort; Xilinx_post_fn post; - int relocated; } Xilinx_Spartan3_Slave_Parallel_fns; /* Slave Serial Implementation function table */ @@ -59,7 +57,6 @@ typedef struct { Xilinx_done_fn done; Xilinx_wr_fn wr; Xilinx_post_fn post; - int relocated; } Xilinx_Spartan3_Slave_Serial_fns; /* Device Image Sizes diff --git a/include/stratixII.h b/include/stratixII.h index 37abd9fa444..b8e84573c7a 100644 --- a/include/stratixII.h +++ b/include/stratixII.h @@ -27,6 +27,5 @@ extern int StratixII_load (Altera_desc * desc, void *image, size_t size); extern int StratixII_dump (Altera_desc * desc, void *buf, size_t bsize); extern int StratixII_info (Altera_desc * desc); -extern int StratixII_reloc (Altera_desc * desc, ulong reloc_off); #endif /* _STRATIXII_H_ */ diff --git a/include/virtex2.h b/include/virtex2.h index d1166479c4d..89d7d768769 100644 --- a/include/virtex2.h +++ b/include/virtex2.h @@ -31,7 +31,6 @@ extern int Virtex2_load( Xilinx_desc *desc, void *image, size_t size ); extern int Virtex2_dump( Xilinx_desc *desc, void *buf, size_t bsize ); extern int Virtex2_info( Xilinx_desc *desc ); -extern int Virtex2_reloc( Xilinx_desc *desc, ulong reloc_off ); /* * Slave SelectMap Implementation function table. @@ -50,7 +49,6 @@ typedef struct { Xilinx_busy_fn busy; Xilinx_abort_fn abort; Xilinx_post_fn post; - int relocated; } Xilinx_Virtex2_Slave_SelectMap_fns; /* Slave Serial Implementation function table */ @@ -59,7 +57,6 @@ typedef struct { Xilinx_clk_fn clk; Xilinx_rdata_fn rdata; Xilinx_wdata_fn wdata; - int relocated; } Xilinx_Virtex2_Slave_Serial_fns; /* Device Image Sizes (in bytes) diff --git a/include/xilinx.h b/include/xilinx.h index fdc358725cd..d0799bc572b 100644 --- a/include/xilinx.h +++ b/include/xilinx.h @@ -84,7 +84,6 @@ typedef struct { /* typedef Xilinx_desc */ extern int xilinx_load( Xilinx_desc *desc, void *image, size_t size ); extern int xilinx_dump( Xilinx_desc *desc, void *buf, size_t bsize ); extern int xilinx_info( Xilinx_desc *desc ); -extern int xilinx_reloc( Xilinx_desc *desc, ulong reloc_offset ); /* Board specific implementation specific function types *********************************************************************/ From 331ab60c4a418c39e5b1a05d4648a4155d0ad13e Mon Sep 17 00:00:00 2001 From: Peter Tyser Date: Mon, 21 Sep 2009 11:20:33 -0500 Subject: [PATCH 09/16] mpl: Remove memory test relocation fixups Signed-off-by: Peter Tyser --- board/mpl/common/memtst.c | 26 -------------------------- board/mpl/mip405/mip405.c | 3 +-- board/mpl/pati/pati.c | 2 -- board/mpl/vcma9/vcma9.c | 3 --- 4 files changed, 1 insertion(+), 33 deletions(-) diff --git a/board/mpl/common/memtst.c b/board/mpl/common/memtst.c index 1393ea15af6..92c33bac169 100644 --- a/board/mpl/common/memtst.c +++ b/board/mpl/common/memtst.c @@ -468,32 +468,6 @@ static RAM_MEMTEST_FUNC test_stage[TEST_STAGES] = { RAM_MemTest_CheckRandomPattern, NULL} }; -void mem_test_reloc(void) -{ - unsigned long addr; - int i; - for (i=0; i< TEST_STAGES; i++) { - addr = (ulong) (test_stage[i].test_write) + gd->reloc_off; - test_stage[i].test_write= - (void (*) (unsigned long startaddr, unsigned long size, - unsigned long *pat))addr; - addr = (ulong) (test_stage[i].test_write_desc) + gd->reloc_off; - test_stage[i].test_write_desc=(char *)addr; - if(test_stage[i].test_check1) { - addr = (ulong) (test_stage[i].test_check1) + gd->reloc_off; - test_stage[i].test_check1= - (void *(*) (int mode, unsigned long startaddr, - unsigned long size, unsigned long *pat))addr; - } - if(test_stage[i].test_check2) { - addr = (ulong) (test_stage[i].test_check2) + gd->reloc_off; - test_stage[i].test_check2= - (void *(*) (int mode, unsigned long startaddr, - unsigned long size, unsigned long *pat))addr; - } - } -} - int mem_test (unsigned long start, unsigned long ramsize, int quiet) { diff --git a/board/mpl/mip405/mip405.c b/board/mpl/mip405/mip405.c index ae8eade64ad..495e9bd88a4 100644 --- a/board/mpl/mip405/mip405.c +++ b/board/mpl/mip405/mip405.c @@ -717,7 +717,6 @@ int post_hotkeys_pressed(void) } #endif -extern void mem_test_reloc(void); extern int mk_date (char *, struct rtc_time *); int last_stage_init (void) @@ -725,7 +724,7 @@ int last_stage_init (void) unsigned long stop; struct rtc_time newtm; char *s; - mem_test_reloc(); + /* write correct LED configuration */ if (miiphy_write("ppc_4xx_eth0", 0x1, 0x14, 0x2402) != 0) { printf ("Error writing to the PHY\n"); diff --git a/board/mpl/pati/pati.c b/board/mpl/pati/pati.c index 1b3b698ed90..e12bc423f4f 100644 --- a/board/mpl/pati/pati.c +++ b/board/mpl/pati/pati.c @@ -144,7 +144,6 @@ const sdram_t sdram_table[] = { extern int mem_test (unsigned long start, unsigned long ramsize, int quiet); -extern void mem_test_reloc(void); /* * Get RAM size. @@ -334,7 +333,6 @@ void user_led1(int led_on) ****************************************************************/ int last_stage_init (void) { - mem_test_reloc(); init_ios(); return 0; } diff --git a/board/mpl/vcma9/vcma9.c b/board/mpl/vcma9/vcma9.c index 3216d6347dc..2b64f44879c 100644 --- a/board/mpl/vcma9/vcma9.c +++ b/board/mpl/vcma9/vcma9.c @@ -312,11 +312,8 @@ int checkboard(void) } -extern void mem_test_reloc(void); - int last_stage_init(void) { - mem_test_reloc(); checkboard(); stdio_print_current_devices(); check_env(); From 80f73b92a19129854876ec3f1aef531a09e86d2d Mon Sep 17 00:00:00 2001 From: Peter Tyser Date: Mon, 21 Sep 2009 11:20:34 -0500 Subject: [PATCH 10/16] lwmon, lwmon5: Remove sysmon POST relocation fixups Signed-off-by: Peter Tyser --- post/board/lwmon/sysmon.c | 17 +---------------- post/board/lwmon5/sysmon.c | 17 +---------------- 2 files changed, 2 insertions(+), 32 deletions(-) diff --git a/post/board/lwmon/sysmon.c b/post/board/lwmon/sysmon.c index 79a5151c01c..fc828b2e506 100644 --- a/post/board/lwmon/sysmon.c +++ b/post/board/lwmon/sysmon.c @@ -56,8 +56,6 @@ static int sysmon_temp_invalid = 0; /* #define DEBUG */ -#define RELOC(x) if (x != NULL) x = (void *) ((ulong) (x) + gd->reloc_off) - typedef struct sysmon_s sysmon_t; typedef struct sysmon_table_s sysmon_table_t; @@ -159,20 +157,7 @@ int sysmon_init_f (void) void sysmon_reloc (void) { - sysmon_t ** l; - sysmon_table_t * t; - - for (l = sysmon_list; *l; l++) { - RELOC(*l); - RELOC((*l)->init); - RELOC((*l)->read); - } - - for (t = sysmon_table; t < sysmon_table + sysmon_table_size; t ++) { - RELOC(t->exec_before); - RELOC(t->exec_after); - RELOC(t->sysmon); - } + /* Do nothing for now, sysmon_reloc() is required by the sysmon post */ } static char *sysmon_unit_value (sysmon_table_t *s, uint val) diff --git a/post/board/lwmon5/sysmon.c b/post/board/lwmon5/sysmon.c index aef5bd018a3..9c49d0e646d 100644 --- a/post/board/lwmon5/sysmon.c +++ b/post/board/lwmon5/sysmon.c @@ -58,8 +58,6 @@ DECLARE_GLOBAL_DATA_PTR; /* from dspic.c */ extern int dspic_read(ushort reg); -#define RELOC(x) if (x != NULL) x = (void *) ((ulong) (x) + gd->reloc_off) - #define REG_TEMPERATURE 0x12BC #define REG_VOLTAGE_5V 0x12CA #define REG_VOLTAGE_5V_STANDBY 0x12C6 @@ -160,20 +158,7 @@ int sysmon_init_f (void) void sysmon_reloc (void) { - sysmon_t ** l; - sysmon_table_t * t; - - for (l = sysmon_list; *l; l++) { - RELOC(*l); - RELOC((*l)->init); - RELOC((*l)->read); - } - - for (t = sysmon_table; t < sysmon_table + sysmon_table_size; t ++) { - RELOC(t->exec_before); - RELOC(t->exec_after); - RELOC(t->sysmon); - } + /* Do nothing for now, sysmon_reloc() is required by the sysmon post */ } static char *sysmon_unit_value (sysmon_table_t *s, uint val) From 3cbcfa70b116df1bbdc90ba31c61adcaec058a8a Mon Sep 17 00:00:00 2001 From: Peter Tyser Date: Mon, 21 Sep 2009 11:20:35 -0500 Subject: [PATCH 11/16] p3mx: Remove serial relocation fixups Signed-off-by: Peter Tyser --- board/prodrive/p3mx/p3mx.c | 10 ---------- include/configs/p3mx.h | 1 - 2 files changed, 11 deletions(-) diff --git a/board/prodrive/p3mx/p3mx.c b/board/prodrive/p3mx/p3mx.c index 0247bb80a40..05eca52e0e8 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); diff --git a/include/configs/p3mx.h b/include/configs/p3mx.h index 5e4d30b8a56..0749037163b 100644 --- a/include/configs/p3mx.h +++ b/include/configs/p3mx.h @@ -59,7 +59,6 @@ /* which initialization functions to call for this board */ #define CONFIG_SYS_BOARD_ASM_INIT 1 #define CONFIG_BOARD_EARLY_INIT_F 1 /* Call board_early_init_f */ -#define CONFIG_BOARD_EARLY_INIT_R 1 /* Call board_early_init_f */ #define CONFIG_MISC_INIT_R 1 /* Call misc_init_r() */ /*----------------------------------------------------------------------- From 521af04d853361b49344b61892eb0618f9f713c5 Mon Sep 17 00:00:00 2001 From: Peter Tyser Date: Mon, 21 Sep 2009 11:20:36 -0500 Subject: [PATCH 12/16] Conditionally perform common relocation fixups Add #ifdefs where necessary to not perform relocation fixups. This allows boards/architectures which support relocation to trim a decent chunk of code. Note that this patch doesn't add #ifdefs to architecture-specific code which does not support relocation. Signed-off-by: Peter Tyser --- common/cmd_bootm.c | 4 +++- common/cmd_date.c | 4 ++++ common/dlmalloc.c | 2 ++ common/env_common.c | 4 ++++ common/hush.c | 4 ++++ common/image.c | 6 +++++- common/serial.c | 2 ++ common/stdio.c | 5 +++-- disk/part.c | 5 ++++- drivers/mtd/nand/nand.c | 2 ++ fs/ubifs/ubifs.c | 4 ++++ include/post.h | 2 ++ post/post.c | 2 ++ 13 files changed, 41 insertions(+), 5 deletions(-) diff --git a/common/cmd_bootm.c b/common/cmd_bootm.c index 365ceebdf06..8f835985616 100644 --- a/common/cmd_bootm.c +++ b/common/cmd_bootm.c @@ -561,7 +561,6 @@ int do_bootm_subcommand (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) /*******************************************************************/ /* bootm - boot application image from image in memory */ /*******************************************************************/ -static int relocated = 0; int do_bootm (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) { @@ -569,6 +568,8 @@ int do_bootm (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) ulong load_end = 0; int ret; boot_os_fn *boot_fn; +#ifndef CONFIG_RELOC_FIXUP_WORKS + static int relocated = 0; /* relocate boot function table */ if (!relocated) { @@ -578,6 +579,7 @@ int do_bootm (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) boot_os[i] += gd->reloc_off; relocated = 1; } +#endif /* determine if we have a sub command */ if (argc > 1) { diff --git a/common/cmd_date.c b/common/cmd_date.c index b69e9350858..9f50f8956e5 100644 --- a/common/cmd_date.c +++ b/common/cmd_date.c @@ -35,7 +35,11 @@ const char *weekdays[] = { "Sun", "Mon", "Tues", "Wednes", "Thurs", "Fri", "Satur", }; +#ifdef CONFIG_RELOC_FIXUP_WORKS +#define RELOC(a) a +#else #define RELOC(a) ((typeof(a))((unsigned long)(a) + gd->reloc_off)) +#endif int mk_date (char *, struct rtc_time *); diff --git a/common/dlmalloc.c b/common/dlmalloc.c index 241db8cd3e0..ca088a17d15 100644 --- a/common/dlmalloc.c +++ b/common/dlmalloc.c @@ -1494,6 +1494,7 @@ static mbinptr av_[NAV * 2 + 2] = { IAV(120), IAV(121), IAV(122), IAV(123), IAV(124), IAV(125), IAV(126), IAV(127) }; +#ifndef CONFIG_RELOC_FIXUP_WORKS void malloc_bin_reloc (void) { unsigned long *p = (unsigned long *)(&av_[2]); @@ -1502,6 +1503,7 @@ void malloc_bin_reloc (void) *p++ += gd->reloc_off; } } +#endif ulong mem_malloc_start = 0; ulong mem_malloc_end = 0; diff --git a/common/env_common.c b/common/env_common.c index be64d1307b9..439a4a905b9 100644 --- a/common/env_common.c +++ b/common/env_common.c @@ -224,8 +224,10 @@ void set_default_env(void) void env_relocate (void) { +#ifndef CONFIG_RELOC_FIXUP_WORKS DEBUGF ("%s[%d] offset = 0x%lx\n", __FUNCTION__,__LINE__, gd->reloc_off); +#endif #ifdef CONFIG_AMIGAONEG3SE enable_nvram(); @@ -236,7 +238,9 @@ void env_relocate (void) * The environment buffer is embedded with the text segment, * just relocate the environment pointer */ +#ifndef CONFIG_RELOC_FIXUP_WORKS env_ptr = (env_t *)((ulong)env_ptr + gd->reloc_off); +#endif DEBUGF ("%s[%d] embedded ENV at %p\n", __FUNCTION__,__LINE__,env_ptr); #else /* diff --git a/common/hush.c b/common/hush.c index 528dd254a50..06c5ff8df4c 100644 --- a/common/hush.c +++ b/common/hush.c @@ -3270,6 +3270,7 @@ int parse_file_outer(void) } #ifdef __U_BOOT__ +#ifndef CONFIG_RELOC_FIXUP_WORKS static void u_boot_hush_reloc(void) { unsigned long addr; @@ -3280,6 +3281,7 @@ static void u_boot_hush_reloc(void) r->literal = (char *)addr; } } +#endif int u_boot_hush_start(void) { @@ -3290,7 +3292,9 @@ int u_boot_hush_start(void) top_vars->next = 0; top_vars->flg_export = 0; top_vars->flg_read_only = 1; +#ifndef CONFIG_RELOC_FIXUP_WORKS u_boot_hush_reloc(); +#endif } return 0; } diff --git a/common/image.c b/common/image.c index d0f169d660c..6eaf41eb131 100644 --- a/common/image.c +++ b/common/image.c @@ -513,7 +513,7 @@ char *get_table_entry_name (table_entry_t *table, char *msg, int id) { for (; table->id >= 0; ++table) { if (table->id == id) -#ifdef USE_HOSTCC +#if defined(USE_HOSTCC) || defined(CONFIG_RELOC_FIXUP_WORKS) return table->lname; #else return table->lname + gd->reloc_off; @@ -578,7 +578,11 @@ int get_table_entry_id (table_entry_t *table, fprintf (stderr, "\n"); #else for (t = table; t->id >= 0; ++t) { +#ifdef CONFIG_RELOC_FIXUP_WORKS + if (t->sname && strcmp(t->sname, name) == 0) +#else if (t->sname && strcmp(t->sname + gd->reloc_off, name) == 0) +#endif return (t->id); } debug ("Invalid %s Type: %s\n", table_name, name); diff --git a/common/serial.c b/common/serial.c index 41a24c2fadc..b4db46b165b 100644 --- a/common/serial.c +++ b/common/serial.c @@ -81,12 +81,14 @@ struct serial_device *default_serial_console(void) __attribute__((weak, alias("_ int serial_register (struct serial_device *dev) { +#ifndef CONFIG_RELOC_FIXUP_WORKS dev->init += gd->reloc_off; dev->setbrg += gd->reloc_off; dev->getc += gd->reloc_off; dev->tstc += gd->reloc_off; dev->putc += gd->reloc_off; dev->puts += gd->reloc_off; +#endif dev->next = serial_devices; serial_devices = dev; diff --git a/common/stdio.c b/common/stdio.c index 697df5a4950..5e58dbe44bc 100644 --- a/common/stdio.c +++ b/common/stdio.c @@ -201,7 +201,8 @@ int stdio_deregister(char *devname) int stdio_init (void) { -#ifndef CONFIG_ARM /* already relocated for current ARM implementation */ +#if !defined(CONFIG_ARM) && !defined(CONFIG_RELOC_FIXUP_WORKS) + /* already relocated for current ARM implementation */ ulong relocation_offset = gd->reloc_off; int i; @@ -210,7 +211,7 @@ int stdio_init (void) stdio_names[i] = (char *) (((ulong) stdio_names[i]) + relocation_offset); } -#endif +#endif /* !ARM && !CONFIG_RELOC_FIXUP_WORKS */ /* Initialize the list */ INIT_LIST_HEAD(&(devs.list)); diff --git a/disk/part.c b/disk/part.c index b92fb45b861..9ced4527f39 100644 --- a/disk/part.c +++ b/disk/part.c @@ -80,7 +80,10 @@ block_dev_desc_t *get_dev(char* ifname, int dev) block_dev_desc_t* (*reloc_get_dev)(int dev); while (drvr->name) { - reloc_get_dev = drvr->get_dev + gd->reloc_off; + reloc_get_dev = drvr->get_dev; +#ifndef CONFIG_RELOC_FIXUP_WORKS + reloc_get_dev += gd->reloc_off; +#endif if (strncmp(ifname, drvr->name, strlen(drvr->name)) == 0) return reloc_get_dev(dev); drvr++; diff --git a/drivers/mtd/nand/nand.c b/drivers/mtd/nand/nand.c index 9065fa91c6f..47d6872fd03 100644 --- a/drivers/mtd/nand/nand.c +++ b/drivers/mtd/nand/nand.c @@ -54,8 +54,10 @@ static void nand_init_chip(struct mtd_info *mtd, struct nand_chip *nand, if (nand_scan(mtd, maxchips) == 0) { if (!mtd->name) mtd->name = (char *)default_nand_name; +#ifndef CONFIG_RELOC_FIXUP_WORKS else mtd->name += gd->reloc_off; +#endif #ifdef CONFIG_MTD_DEVICE /* diff --git a/fs/ubifs/ubifs.c b/fs/ubifs/ubifs.c index 286739c3687..82f1c547dad 100644 --- a/fs/ubifs/ubifs.c +++ b/fs/ubifs/ubifs.c @@ -124,9 +124,13 @@ int ubifs_decompress(const void *in_buf, int in_len, void *out_buf, static int __init compr_init(struct ubifs_compressor *compr) { ubifs_compressors[compr->compr_type] = compr; + +#ifndef CONFIG_RELOC_FIXUP_WORKS ubifs_compressors[compr->compr_type]->name += gd->reloc_off; ubifs_compressors[compr->compr_type]->capi_name += gd->reloc_off; ubifs_compressors[compr->compr_type]->decompress += gd->reloc_off; +#endif + return 0; } diff --git a/include/post.h b/include/post.h index fe96312cb08..9fcd3cec2f6 100644 --- a/include/post.h +++ b/include/post.h @@ -73,7 +73,9 @@ void post_output_backlog ( void ); int post_run (char *name, int flags); int post_info (char *name); int post_log (char *format, ...); +#ifndef CONFIG_RELOC_FIXUP_WORKS void post_reloc (void); +#endif unsigned long post_time_ms (unsigned long base); extern struct post_test post_list[]; diff --git a/post/post.c b/post/post.c index bc8114e5113..b74e7623169 100644 --- a/post/post.c +++ b/post/post.c @@ -393,6 +393,7 @@ int post_log (char *format, ...) return 0; } +#ifndef CONFIG_RELOC_FIXUP_WORKS void post_reloc (void) { unsigned int i; @@ -437,6 +438,7 @@ void post_reloc (void) } } } +#endif /* From 0630535e2d062dd73c1ceca5c6125c86d1127a49 Mon Sep 17 00:00:00 2001 From: Peter Tyser Date: Tue, 22 Sep 2009 09:27:55 -0500 Subject: [PATCH 13/16] arm/microblaze/nios/nios2/sh: Remove relocation fixups These architectures don't need relocation fixups, so reduce their codesize a bit by defining CONFIG_RELOC_FIXUP_WORKS. Also remove the reloc_off field from their global data structures as it is no longer needed. Note that the location of the standalone application jump table pointer in the global data structure is affected by this change, breaking execution of standalone applications compiled for previous versions of U-Boot. We will therefore increment XF_VERSION in the next commit, which also touches this area. Signed-off-by: Peter Tyser Signed-off-by: Wolfgang Denk --- common/stdio.c | 4 ++-- include/asm-arm/config.h | 3 +++ include/asm-arm/global_data.h | 1 - include/asm-microblaze/config.h | 3 +++ include/asm-microblaze/global_data.h | 1 - include/asm-nios/config.h | 3 +++ include/asm-nios/global_data.h | 1 - include/asm-nios2/config.h | 3 +++ include/asm-nios2/global_data.h | 1 - include/asm-sh/config.h | 3 +++ include/asm-sh/global_data.h | 1 - 11 files changed, 17 insertions(+), 7 deletions(-) diff --git a/common/stdio.c b/common/stdio.c index 5e58dbe44bc..870ddfd5ef9 100644 --- a/common/stdio.c +++ b/common/stdio.c @@ -201,7 +201,7 @@ int stdio_deregister(char *devname) int stdio_init (void) { -#if !defined(CONFIG_ARM) && !defined(CONFIG_RELOC_FIXUP_WORKS) +#if !defined(CONFIG_RELOC_FIXUP_WORKS) /* already relocated for current ARM implementation */ ulong relocation_offset = gd->reloc_off; int i; @@ -211,7 +211,7 @@ int stdio_init (void) stdio_names[i] = (char *) (((ulong) stdio_names[i]) + relocation_offset); } -#endif /* !ARM && !CONFIG_RELOC_FIXUP_WORKS */ +#endif /* !CONFIG_RELOC_FIXUP_WORKS */ /* Initialize the list */ INIT_LIST_HEAD(&(devs.list)); diff --git a/include/asm-arm/config.h b/include/asm-arm/config.h index 049c44eaf84..b76fd8eb48a 100644 --- a/include/asm-arm/config.h +++ b/include/asm-arm/config.h @@ -21,4 +21,7 @@ #ifndef _ASM_CONFIG_H_ #define _ASM_CONFIG_H_ +/* Relocation to SDRAM works on all ARM boards */ +#define CONFIG_RELOC_FIXUP_WORKS + #endif diff --git a/include/asm-arm/global_data.h b/include/asm-arm/global_data.h index 5c56ce32821..8115a24b78b 100644 --- a/include/asm-arm/global_data.h +++ b/include/asm-arm/global_data.h @@ -38,7 +38,6 @@ typedef struct global_data { unsigned long flags; unsigned long baudrate; unsigned long have_console; /* serial_init() was called */ - unsigned long reloc_off; /* Relocation Offset */ unsigned long env_addr; /* Address of Environment struct */ unsigned long env_valid; /* Checksum of Environment valid? */ unsigned long fb_base; /* base address of frame buffer */ diff --git a/include/asm-microblaze/config.h b/include/asm-microblaze/config.h index 049c44eaf84..8a9064b3c88 100644 --- a/include/asm-microblaze/config.h +++ b/include/asm-microblaze/config.h @@ -21,4 +21,7 @@ #ifndef _ASM_CONFIG_H_ #define _ASM_CONFIG_H_ +/* Relocation to SDRAM works on all Microblaze boards */ +#define CONFIG_RELOC_FIXUP_WORKS + #endif diff --git a/include/asm-microblaze/global_data.h b/include/asm-microblaze/global_data.h index 3f49c349c81..ec7837f6b9e 100644 --- a/include/asm-microblaze/global_data.h +++ b/include/asm-microblaze/global_data.h @@ -39,7 +39,6 @@ typedef struct global_data { unsigned long flags; unsigned long baudrate; unsigned long have_console; /* serial_init() was called */ - unsigned long reloc_off; /* Relocation Offset */ unsigned long env_addr; /* Address of Environment struct */ unsigned long env_valid; /* Checksum of Environment valid? */ unsigned long fb_base; /* base address of frame buffer */ diff --git a/include/asm-nios/config.h b/include/asm-nios/config.h index 049c44eaf84..2efe898b350 100644 --- a/include/asm-nios/config.h +++ b/include/asm-nios/config.h @@ -21,4 +21,7 @@ #ifndef _ASM_CONFIG_H_ #define _ASM_CONFIG_H_ +/* Relocation to SDRAM works on all NIOS boards */ +#define CONFIG_RELOC_FIXUP_WORKS + #endif diff --git a/include/asm-nios/global_data.h b/include/asm-nios/global_data.h index 4929a5b872a..fa54ee4dd3a 100644 --- a/include/asm-nios/global_data.h +++ b/include/asm-nios/global_data.h @@ -31,7 +31,6 @@ typedef struct global_data { unsigned long cpu_clk; /* CPU clock in Hz! */ unsigned long have_console; /* serial_init() was called */ phys_size_t ram_size; /* RAM size */ - unsigned long reloc_off; /* Relocation Offset */ unsigned long env_addr; /* Address of Environment struct */ unsigned long env_valid; /* Checksum of Environment valid */ #if defined(CONFIG_POST) || defined(CONFIG_LOGBUFFER) diff --git a/include/asm-nios2/config.h b/include/asm-nios2/config.h index 049c44eaf84..011d603a4b8 100644 --- a/include/asm-nios2/config.h +++ b/include/asm-nios2/config.h @@ -21,4 +21,7 @@ #ifndef _ASM_CONFIG_H_ #define _ASM_CONFIG_H_ +/* Relocation to SDRAM works on all NIOS2 boards */ +#define CONFIG_RELOC_FIXUP_WORKS + #endif diff --git a/include/asm-nios2/global_data.h b/include/asm-nios2/global_data.h index db71324d493..34aa96277ad 100644 --- a/include/asm-nios2/global_data.h +++ b/include/asm-nios2/global_data.h @@ -30,7 +30,6 @@ typedef struct global_data { unsigned long cpu_clk; /* CPU clock in Hz! */ unsigned long have_console; /* serial_init() was called */ phys_size_t ram_size; /* RAM size */ - unsigned long reloc_off; /* Relocation Offset */ unsigned long env_addr; /* Address of Environment struct */ unsigned long env_valid; /* Checksum of Environment valid */ #if defined(CONFIG_POST) || defined(CONFIG_LOGBUFFER) diff --git a/include/asm-sh/config.h b/include/asm-sh/config.h index 049c44eaf84..978cc92f40a 100644 --- a/include/asm-sh/config.h +++ b/include/asm-sh/config.h @@ -21,4 +21,7 @@ #ifndef _ASM_CONFIG_H_ #define _ASM_CONFIG_H_ +/* Relocation to SDRAM works on all sh boards */ +#define CONFIG_RELOC_FIXUP_WORKS + #endif diff --git a/include/asm-sh/global_data.h b/include/asm-sh/global_data.h index f8ade5ca621..c12b8558ecb 100644 --- a/include/asm-sh/global_data.h +++ b/include/asm-sh/global_data.h @@ -35,7 +35,6 @@ typedef struct global_data unsigned long cpu_clk; /* CPU clock in Hz! */ unsigned long have_console; /* serial_init() was called */ phys_size_t ram_size; /* RAM size */ - unsigned long reloc_off; /* Relocation Offset */ unsigned long env_addr; /* Address of Environment struct */ unsigned long env_valid; /* Checksum of Environment valid */ void **jt; /* Standalone app jump table */ From 3469424cb6d939c7aedf1e0efdec44a797c0a18c Mon Sep 17 00:00:00 2001 From: Peter Tyser Date: Mon, 21 Sep 2009 11:20:37 -0500 Subject: [PATCH 14/16] ppc: Remove reloc_off field from global_data structure Now that proper relocation is supported, the reloc_off field is no longer necessary. Note that the location of the standalone application jump table pointer in the global data structure is affected by this change, breaking execution of standalone applications compiled for previous versions of U-Boot. We therefore increment XF_VERSION to 6 Signed-off-by: Peter Tyser Signed-off-by: Wolfgang Denk --- include/asm-ppc/global_data.h | 2 +- include/exports.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/include/asm-ppc/global_data.h b/include/asm-ppc/global_data.h index db4b1eaa1e9..55e7e2066d8 100644 --- a/include/asm-ppc/global_data.h +++ b/include/asm-ppc/global_data.h @@ -24,6 +24,7 @@ #ifndef __ASM_GBL_DATA_H #define __ASM_GBL_DATA_H +#include "config.h" #include "asm/types.h" /* @@ -124,7 +125,6 @@ typedef struct global_data { unsigned long flb_clk; #endif phys_size_t ram_size; /* RAM size */ - unsigned long reloc_off; /* Relocation Offset */ unsigned long reset_status; /* reset status register at boot */ #if defined(CONFIG_MPC83xx) unsigned long arbiter_event_attributes; diff --git a/include/exports.h b/include/exports.h index 16ea03a6bd4..2e8fd8b8b41 100644 --- a/include/exports.h +++ b/include/exports.h @@ -47,7 +47,7 @@ enum { XF_MAX }; -#define XF_VERSION 5 +#define XF_VERSION 6 #if defined(CONFIG_I386) extern gd_t *global_data; From 3beb40c2473f0dd373231c723d88c51e46ad96f7 Mon Sep 17 00:00:00 2001 From: Peter Tyser Date: Wed, 7 Oct 2009 11:45:00 -0500 Subject: [PATCH 15/16] 85xx: Ensure BSS segment isn't linked at address 0 When U-Boot is relocated from flash to RAM pointers are modified accordingly. However, pointers initialzed with NULL values should not be modified so that they maintain their intended NULL value. If the BSS segment is linked at address 0 its address will not be updated as necessary during relocation. This is a temporary workaround. The end goal is to add support to U-Boot to dynamically locate the BSS at an arbitrary address at runtime. When the ability to fixup the BSS inteligently is added, this workaround can be removed and the 85xx link script can put the BSS at a fixed address at link time. Signed-off-by: Peter Tyser --- cpu/mpc85xx/u-boot.lds | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/cpu/mpc85xx/u-boot.lds b/cpu/mpc85xx/u-boot.lds index a347cd154b6..183dce9514d 100644 --- a/cpu/mpc85xx/u-boot.lds +++ b/cpu/mpc85xx/u-boot.lds @@ -131,6 +131,17 @@ SECTIONS . = RESET_VECTOR_ADDRESS + 0x4; + /* + * Make sure that the bss segment isn't linked at 0x0, otherwise its + * address won't be updated during relocation fixups. Note that + * this is a temporary fix. Code to dynamically the fixup the bss + * location will be added in the future. When the bss relocation + * fixup code is present this workaround should be removed. + */ +#if (RESET_VECTOR_ADDRESS == 0xfffffffc) + . |= 0x10; +#endif + __bss_start = .; .bss (NOLOAD) : { From afc3ba0fc4195624e79e21244380ed7cc2fd6969 Mon Sep 17 00:00:00 2001 From: Joakim Tjernlund Date: Thu, 8 Oct 2009 02:03:51 +0200 Subject: [PATCH 16/16] relocation: Do not relocate NULL pointers. NULL is an absolute value and should not be relocated. After this correction code like: void weak_fun(void) __attribute__((weak)); printf("weak_fun:%p\n", weak_fun); will still print null after relocation. Signed-off-by: Joakim Tjernlund --- cpu/74xx_7xx/start.S | 6 ++++-- cpu/mpc512x/start.S | 6 ++++-- cpu/mpc5xx/start.S | 6 ++++-- cpu/mpc5xxx/start.S | 6 ++++-- cpu/mpc8220/start.S | 6 ++++-- cpu/mpc824x/start.S | 6 ++++-- cpu/mpc8260/start.S | 6 ++++-- cpu/mpc83xx/start.S | 6 ++++-- cpu/mpc85xx/start.S | 6 ++++-- cpu/mpc86xx/start.S | 6 ++++-- cpu/mpc8xx/start.S | 6 ++++-- cpu/ppc4xx/start.S | 6 ++++-- 12 files changed, 48 insertions(+), 24 deletions(-) diff --git a/cpu/74xx_7xx/start.S b/cpu/74xx_7xx/start.S index 792cd308566..23381a35cd7 100644 --- a/cpu/74xx_7xx/start.S +++ b/cpu/74xx_7xx/start.S @@ -716,15 +716,17 @@ in_ram: sub r11,r3,r11 addi r3,r3,-4 1: lwzu r0,4(r3) + cmpwi r0,0 + beq- 2f add r0,r0,r11 stw r0,0(r3) - bdnz 1b +2: bdnz 1b /* * Now adjust the fixups and the pointers to the fixups * in case we need to move ourselves again. */ -2: li r0,__fixup_entries@sectoff@l + li r0,__fixup_entries@sectoff@l lwz r3,GOT(_FIXUP_TABLE_) cmpwi r0,0 mtctr r0 diff --git a/cpu/mpc512x/start.S b/cpu/mpc512x/start.S index 2e3f645afba..4edc8e94d92 100644 --- a/cpu/mpc512x/start.S +++ b/cpu/mpc512x/start.S @@ -611,15 +611,17 @@ in_ram: sub r11,r3,r11 addi r3,r3,-4 1: lwzu r0,4(r3) + cmpwi r0,0 + beq- 2f add r0,r0,r11 stw r0,0(r3) - bdnz 1b +2: bdnz 1b /* * Now adjust the fixups and the pointers to the fixups * in case we need to move ourselves again. */ -2: li r0,__fixup_entries@sectoff@l + li r0,__fixup_entries@sectoff@l lwz r3,GOT(_FIXUP_TABLE_) cmpwi r0,0 mtctr r0 diff --git a/cpu/mpc5xx/start.S b/cpu/mpc5xx/start.S index 106935cb636..85ea7a88276 100644 --- a/cpu/mpc5xx/start.S +++ b/cpu/mpc5xx/start.S @@ -458,15 +458,17 @@ in_ram: sub r11,r3,r11 addi r3,r3,-4 1: lwzu r0,4(r3) + cmpwi r0,0 + beq- 2f add r0,r0,r11 stw r0,0(r3) - bdnz 1b +2: bdnz 1b /* * Now adjust the fixups and the pointers to the fixups * in case we need to move ourselves again. */ -2: li r0,__fixup_entries@sectoff@l + li r0,__fixup_entries@sectoff@l lwz r3,GOT(_FIXUP_TABLE_) cmpwi r0,0 mtctr r0 diff --git a/cpu/mpc5xxx/start.S b/cpu/mpc5xxx/start.S index 6b1162aa5ee..eb42939b7b6 100644 --- a/cpu/mpc5xxx/start.S +++ b/cpu/mpc5xxx/start.S @@ -684,15 +684,17 @@ in_ram: sub r11,r3,r11 addi r3,r3,-4 1: lwzu r0,4(r3) + cmpwi r0,0 + beq- 2f add r0,r0,r11 stw r0,0(r3) - bdnz 1b +2: bdnz 1b /* * Now adjust the fixups and the pointers to the fixups * in case we need to move ourselves again. */ -2: li r0,__fixup_entries@sectoff@l + li r0,__fixup_entries@sectoff@l lwz r3,GOT(_FIXUP_TABLE_) cmpwi r0,0 mtctr r0 diff --git a/cpu/mpc8220/start.S b/cpu/mpc8220/start.S index 3abc619269f..af9472d6b3d 100644 --- a/cpu/mpc8220/start.S +++ b/cpu/mpc8220/start.S @@ -649,15 +649,17 @@ in_ram: sub r11,r3,r11 addi r3,r3,-4 1: lwzu r0,4(r3) + cmpwi r0,0 + beq- 2f add r0,r0,r11 stw r0,0(r3) - bdnz 1b +2: bdnz 1b /* * Now adjust the fixups and the pointers to the fixups * in case we need to move ourselves again. */ -2: li r0,__fixup_entries@sectoff@l + li r0,__fixup_entries@sectoff@l lwz r3,GOT(_FIXUP_TABLE_) cmpwi r0,0 mtctr r0 diff --git a/cpu/mpc824x/start.S b/cpu/mpc824x/start.S index 39325cda5b8..750457b02ad 100644 --- a/cpu/mpc824x/start.S +++ b/cpu/mpc824x/start.S @@ -589,15 +589,17 @@ in_ram: sub r11,r3,r11 addi r3,r3,-4 1: lwzu r0,4(r3) + cmpwi r0,0 + beq- 2f add r0,r0,r11 stw r0,0(r3) - bdnz 1b +2: bdnz 1b /* * Now adjust the fixups and the pointers to the fixups * in case we need to move ourselves again. */ -2: li r0,__fixup_entries@sectoff@l + li r0,__fixup_entries@sectoff@l lwz r3,GOT(_FIXUP_TABLE_) cmpwi r0,0 mtctr r0 diff --git a/cpu/mpc8260/start.S b/cpu/mpc8260/start.S index 379f2fb1753..edb95e6a62a 100644 --- a/cpu/mpc8260/start.S +++ b/cpu/mpc8260/start.S @@ -909,15 +909,17 @@ in_ram: sub r11,r3,r11 addi r3,r3,-4 1: lwzu r0,4(r3) + cmpwi r0,0 + beq- 2f add r0,r0,r11 stw r0,0(r3) - bdnz 1b +2: bdnz 1b /* * Now adjust the fixups and the pointers to the fixups * in case we need to move ourselves again. */ -2: li r0,__fixup_entries@sectoff@l + li r0,__fixup_entries@sectoff@l lwz r3,GOT(_FIXUP_TABLE_) cmpwi r0,0 mtctr r0 diff --git a/cpu/mpc83xx/start.S b/cpu/mpc83xx/start.S index 26e31061f41..ee4b8624aaa 100644 --- a/cpu/mpc83xx/start.S +++ b/cpu/mpc83xx/start.S @@ -957,16 +957,18 @@ in_ram: sub r11,r3,r11 addi r3,r3,-4 1: lwzu r0,4(r3) + cmpwi r0,0 + beq- 2f add r0,r0,r11 stw r0,0(r3) - bdnz 1b +2: bdnz 1b #ifndef CONFIG_NAND_SPL /* * Now adjust the fixups and the pointers to the fixups * in case we need to move ourselves again. */ -2: li r0,__fixup_entries@sectoff@l + li r0,__fixup_entries@sectoff@l lwz r3,GOT(_FIXUP_TABLE_) cmpwi r0,0 mtctr r0 diff --git a/cpu/mpc85xx/start.S b/cpu/mpc85xx/start.S index c9e91a90da6..6a865283d48 100644 --- a/cpu/mpc85xx/start.S +++ b/cpu/mpc85xx/start.S @@ -977,15 +977,17 @@ in_ram: sub r11,r3,r11 addi r3,r3,-4 1: lwzu r0,4(r3) + cmpwi r0,0 + beq- 2f add r0,r0,r11 stw r0,0(r3) - bdnz 1b +2: bdnz 1b /* * Now adjust the fixups and the pointers to the fixups * in case we need to move ourselves again. */ -2: li r0,__fixup_entries@sectoff@l + li r0,__fixup_entries@sectoff@l lwz r3,GOT(_FIXUP_TABLE_) cmpwi r0,0 mtctr r0 diff --git a/cpu/mpc86xx/start.S b/cpu/mpc86xx/start.S index 63cc8dbcda9..e65f1c0649a 100644 --- a/cpu/mpc86xx/start.S +++ b/cpu/mpc86xx/start.S @@ -733,15 +733,17 @@ in_ram: sub r11,r3,r11 addi r3,r3,-4 1: lwzu r0,4(r3) + cmpwi r0,0 + beq- 2f add r0,r0,r11 stw r0,0(r3) - bdnz 1b +2: bdnz 1b /* * Now adjust the fixups and the pointers to the fixups * in case we need to move ourselves again. */ -2: li r0,__fixup_entries@sectoff@l + li r0,__fixup_entries@sectoff@l lwz r3,GOT(_FIXUP_TABLE_) cmpwi r0,0 mtctr r0 diff --git a/cpu/mpc8xx/start.S b/cpu/mpc8xx/start.S index 8864c37cf65..e84326ebdc5 100644 --- a/cpu/mpc8xx/start.S +++ b/cpu/mpc8xx/start.S @@ -589,15 +589,17 @@ in_ram: sub r11,r3,r11 addi r3,r3,-4 1: lwzu r0,4(r3) + cmpwi r0,0 + beq- 2f add r0,r0,r11 stw r0,0(r3) - bdnz 1b +2: bdnz 1b /* * Now adjust the fixups and the pointers to the fixups * in case we need to move ourselves again. */ -2: li r0,__fixup_entries@sectoff@l + li r0,__fixup_entries@sectoff@l lwz r3,GOT(_FIXUP_TABLE_) cmpwi r0,0 mtctr r0 diff --git a/cpu/ppc4xx/start.S b/cpu/ppc4xx/start.S index 287a912246a..46f65aa779b 100644 --- a/cpu/ppc4xx/start.S +++ b/cpu/ppc4xx/start.S @@ -1596,15 +1596,17 @@ in_ram: sub r11,r3,r11 addi r3,r3,-4 1: lwzu r0,4(r3) + cmpwi r0,0 + beq- 2f add r0,r0,r11 stw r0,0(r3) - bdnz 1b +2: bdnz 1b /* * Now adjust the fixups and the pointers to the fixups * in case we need to move ourselves again. */ -2: li r0,__fixup_entries@sectoff@l + li r0,__fixup_entries@sectoff@l lwz r3,GOT(_FIXUP_TABLE_) cmpwi r0,0 mtctr r0