aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWolfgang Denk2009-10-09 00:03:18 +0200
committerWolfgang Denk2009-10-09 00:03:18 +0200
commitcd77dd109c4a439519a78c32eddc42bdebc7a61f (patch)
treec5534647cb1786044ef0f7e4ad4067725eddf11d
parent95c44ec485b46ffb43dbdaa299f1491a500fdadf (diff)
parentafc3ba0fc4195624e79e21244380ed7cc2fd6969 (diff)
Merge branch 'reloc'
-rw-r--r--board/LEOX/elpt860/u-boot.lds1
-rw-r--r--board/LEOX/elpt860/u-boot.lds.debug1
-rw-r--r--board/MAI/AmigaOneG3SE/u-boot.lds1
-rw-r--r--board/Marvell/db64360/u-boot.lds1
-rw-r--r--board/Marvell/db64460/u-boot.lds1
-rw-r--r--board/RPXClassic/u-boot.lds1
-rw-r--r--board/RPXClassic/u-boot.lds.debug1
-rw-r--r--board/RPXlite/u-boot.lds1
-rw-r--r--board/RPXlite/u-boot.lds.debug1
-rw-r--r--board/RPXlite_dw/u-boot.lds1
-rw-r--r--board/RPXlite_dw/u-boot.lds.debug1
-rw-r--r--board/RRvision/u-boot.lds1
-rw-r--r--board/adder/u-boot.lds1
-rw-r--r--board/amcc/acadia/u-boot-nand.lds1
-rw-r--r--board/amcc/acadia/u-boot.lds1
-rw-r--r--board/amcc/bamboo/u-boot-nand.lds1
-rw-r--r--board/amcc/bamboo/u-boot.lds1
-rw-r--r--board/amcc/bubinga/u-boot.lds1
-rw-r--r--board/amcc/canyonlands/u-boot-nand.lds1
-rw-r--r--board/amcc/canyonlands/u-boot.lds1
-rw-r--r--board/amcc/ebony/u-boot.lds1
-rw-r--r--board/amcc/katmai/u-boot.lds1
-rw-r--r--board/amcc/kilauea/u-boot-nand.lds1
-rw-r--r--board/amcc/kilauea/u-boot.lds1
-rw-r--r--board/amcc/luan/u-boot.lds1
-rw-r--r--board/amcc/makalu/u-boot.lds1
-rw-r--r--board/amcc/ocotea/u-boot.lds1
-rw-r--r--board/amcc/redwood/u-boot.lds1
-rw-r--r--board/amcc/sequoia/u-boot-nand.lds1
-rw-r--r--board/amcc/sequoia/u-boot-ram.lds1
-rw-r--r--board/amcc/sequoia/u-boot.lds1
-rw-r--r--board/amcc/taihu/u-boot.lds1
-rw-r--r--board/amcc/taishan/u-boot.lds1
-rw-r--r--board/amcc/walnut/u-boot.lds1
-rw-r--r--board/amcc/yosemite/u-boot.lds1
-rw-r--r--board/amcc/yucca/u-boot.lds1
-rw-r--r--board/amirix/ap1000/u-boot.lds1
-rw-r--r--board/c2mon/u-boot.lds1
-rw-r--r--board/c2mon/u-boot.lds.debug1
-rw-r--r--board/cm5200/u-boot.lds1
-rw-r--r--board/cogent/u-boot.lds1
-rw-r--r--board/cogent/u-boot.lds.debug1
-rw-r--r--board/cray/L1/u-boot.lds1
-rw-r--r--board/cray/L1/u-boot.lds.debug1
-rw-r--r--board/csb272/u-boot.lds1
-rw-r--r--board/csb472/u-boot.lds1
-rw-r--r--board/dave/PPChameleonEVB/u-boot.lds1
-rw-r--r--board/digsy_mtc/cmd_mtc.c30
-rw-r--r--board/digsy_mtc/digsy_mtc.c2
-rw-r--r--board/eltec/bab7xx/u-boot.lds1
-rw-r--r--board/eltec/elppc/u-boot.lds1
-rw-r--r--board/eltec/mhpc/u-boot.lds1
-rw-r--r--board/eltec/mhpc/u-boot.lds.debug1
-rw-r--r--board/emk/top860/u-boot.lds1
-rw-r--r--board/emk/top860/u-boot.lds.debug1
-rw-r--r--board/ep88x/u-boot.lds1
-rw-r--r--board/eric/u-boot.lds1
-rw-r--r--board/esd/adciop/u-boot.lds1
-rw-r--r--board/esd/apc405/u-boot.lds1
-rw-r--r--board/esd/ar405/u-boot.lds1
-rw-r--r--board/esd/ash405/u-boot.lds1
-rw-r--r--board/esd/canbt/u-boot.lds1
-rw-r--r--board/esd/cms700/u-boot.lds1
-rw-r--r--board/esd/cpci2dp/u-boot.lds1
-rw-r--r--board/esd/cpci405/u-boot.lds1
-rw-r--r--board/esd/cpci750/u-boot.lds1
-rw-r--r--board/esd/cpciiser4/u-boot.lds1
-rw-r--r--board/esd/dasa_sim/u-boot.lds1
-rw-r--r--board/esd/dp405/u-boot.lds1
-rw-r--r--board/esd/du405/u-boot.lds1
-rw-r--r--board/esd/du440/u-boot.lds1
-rw-r--r--board/esd/hh405/u-boot.lds1
-rw-r--r--board/esd/hub405/u-boot.lds1
-rw-r--r--board/esd/ocrtc/u-boot.lds1
-rw-r--r--board/esd/pci405/u-boot.lds1
-rw-r--r--board/esd/plu405/u-boot.lds1
-rw-r--r--board/esd/pmc405/u-boot.lds1
-rw-r--r--board/esd/pmc405de/u-boot.lds1
-rw-r--r--board/esd/pmc440/fpga.c6
-rw-r--r--board/esd/pmc440/u-boot-nand.lds1
-rw-r--r--board/esd/pmc440/u-boot.lds1
-rw-r--r--board/esd/voh405/u-boot.lds1
-rw-r--r--board/esd/vom405/u-boot.lds1
-rw-r--r--board/esd/wuh405/u-boot.lds1
-rw-r--r--board/esteem192e/u-boot.lds1
-rw-r--r--board/etx094/u-boot.lds1
-rw-r--r--board/etx094/u-boot.lds.debug1
-rw-r--r--board/evb64260/u-boot.lds1
-rw-r--r--board/exbitgen/u-boot.lds1
-rw-r--r--board/fads/u-boot.lds1
-rw-r--r--board/fads/u-boot.lds.debug1
-rw-r--r--board/flagadm/u-boot.lds1
-rw-r--r--board/flagadm/u-boot.lds.debug1
-rw-r--r--board/freescale/mpc7448hpc2/u-boot.lds1
-rw-r--r--board/freescale/mpc8548cds/mpc8548cds.c7
-rw-r--r--board/freescale/mpc8610hpcd/u-boot.lds1
-rw-r--r--board/freescale/mpc8641hpcn/u-boot.lds1
-rw-r--r--board/g2000/u-boot.lds1
-rw-r--r--board/gdsys/dlvision/u-boot.lds1
-rw-r--r--board/gdsys/gdppc440etx/u-boot.lds1
-rw-r--r--board/gdsys/intip/u-boot.lds1
-rw-r--r--board/gdsys/neo/u-boot.lds1
-rw-r--r--board/gen860t/fpga.c5
-rw-r--r--board/gen860t/u-boot-flashenv.lds1
-rw-r--r--board/gen860t/u-boot.lds1
-rw-r--r--board/genietv/u-boot.lds1
-rw-r--r--board/genietv/u-boot.lds.debug1
-rw-r--r--board/gth/u-boot.lds1
-rw-r--r--board/hermes/u-boot.lds1
-rw-r--r--board/hermes/u-boot.lds.debug1
-rw-r--r--board/hymod/u-boot.lds1
-rw-r--r--board/hymod/u-boot.lds.debug1
-rw-r--r--board/icu862/u-boot.lds1
-rw-r--r--board/icu862/u-boot.lds.debug1
-rw-r--r--board/inka4x0/inka4x0.c10
-rw-r--r--board/inka4x0/inkadiag.c28
-rw-r--r--board/ip860/u-boot.lds1
-rw-r--r--board/ip860/u-boot.lds.debug1
-rw-r--r--board/ivm/u-boot.lds1
-rw-r--r--board/ivm/u-boot.lds.debug1
-rw-r--r--board/jse/u-boot.lds1
-rw-r--r--board/keymile/km8xx/u-boot.lds1
-rw-r--r--board/korat/u-boot-F7FC.lds1
-rw-r--r--board/korat/u-boot.lds1
-rw-r--r--board/kup/kup4k/u-boot.lds1
-rw-r--r--board/kup/kup4k/u-boot.lds.debug1
-rw-r--r--board/kup/kup4x/u-boot.lds1
-rw-r--r--board/kup/kup4x/u-boot.lds.debug1
-rw-r--r--board/lantec/u-boot.lds1
-rw-r--r--board/lantec/u-boot.lds.debug1
-rw-r--r--board/lwmon/u-boot.lds1
-rw-r--r--board/lwmon/u-boot.lds.debug1
-rw-r--r--board/lwmon5/u-boot.lds1
-rw-r--r--board/matrix_vision/mvbc_p/fpga.c7
-rw-r--r--board/matrix_vision/mvblm7/fpga.c6
-rw-r--r--board/mbx8xx/u-boot.lds1
-rw-r--r--board/mbx8xx/u-boot.lds.debug1
-rw-r--r--board/ml2/u-boot.lds1
-rw-r--r--board/ml2/u-boot.lds.debug1
-rw-r--r--board/mousse/u-boot.lds1
-rw-r--r--board/mousse/u-boot.lds.rom1
-rw-r--r--board/mpl/common/memtst.c26
-rw-r--r--board/mpl/common/pci.c18
-rw-r--r--board/mpl/mip405/mip405.c3
-rw-r--r--board/mpl/mip405/u-boot.lds1
-rw-r--r--board/mpl/pati/pati.c2
-rw-r--r--board/mpl/pip405/u-boot.lds1
-rw-r--r--board/mpl/pip405/u-boot.lds.debug1
-rw-r--r--board/mpl/vcma9/vcma9.c3
-rw-r--r--board/munices/u-boot.lds1
-rw-r--r--board/nc650/u-boot.lds1
-rw-r--r--board/nc650/u-boot.lds.debug1
-rw-r--r--board/netphone/u-boot.lds1
-rw-r--r--board/netphone/u-boot.lds.debug1
-rw-r--r--board/netstal/hcu4/u-boot.lds1
-rw-r--r--board/netstal/hcu5/u-boot.lds1
-rw-r--r--board/netstal/mcu25/u-boot.lds1
-rw-r--r--board/netta/u-boot.lds1
-rw-r--r--board/netta/u-boot.lds.debug1
-rw-r--r--board/netta2/u-boot.lds1
-rw-r--r--board/netta2/u-boot.lds.debug1
-rw-r--r--board/netvia/u-boot.lds1
-rw-r--r--board/netvia/u-boot.lds.debug1
-rw-r--r--board/nx823/u-boot.lds1
-rw-r--r--board/nx823/u-boot.lds.debug1
-rw-r--r--board/pcippc2/u-boot.lds1
-rw-r--r--board/pcs440ep/u-boot.lds1
-rw-r--r--board/ppmc7xx/u-boot.lds1
-rw-r--r--board/prodrive/alpr/fpga.c4
-rw-r--r--board/prodrive/alpr/u-boot.lds1
-rw-r--r--board/prodrive/p3mx/p3mx.c10
-rw-r--r--board/prodrive/p3mx/u-boot.lds1
-rw-r--r--board/prodrive/p3p440/u-boot.lds1
-rw-r--r--board/quad100hd/u-boot.lds1
-rw-r--r--board/quantum/u-boot.lds1
-rw-r--r--board/quantum/u-boot.lds.debug1
-rw-r--r--board/r360mpi/u-boot.lds1
-rw-r--r--board/rbc823/u-boot.lds1
-rw-r--r--board/rmu/u-boot.lds1
-rw-r--r--board/rmu/u-boot.lds.debug1
-rw-r--r--board/rsdproto/u-boot.lds1
-rw-r--r--board/sandburst/karef/u-boot.lds1
-rw-r--r--board/sandburst/karef/u-boot.lds.debug1
-rw-r--r--board/sandburst/metrobox/u-boot.lds1
-rw-r--r--board/sandburst/metrobox/u-boot.lds.debug1
-rw-r--r--board/sbc405/u-boot.lds1
-rw-r--r--board/sbc8641d/u-boot.lds1
-rw-r--r--board/sc3/u-boot.lds1
-rw-r--r--board/siemens/CCM/u-boot.lds1
-rw-r--r--board/siemens/CCM/u-boot.lds.debug1
-rw-r--r--board/siemens/IAD210/u-boot.lds1
-rw-r--r--board/siemens/pcu_e/u-boot.lds1
-rw-r--r--board/siemens/pcu_e/u-boot.lds.debug1
-rw-r--r--board/sixnet/u-boot.lds1
-rw-r--r--board/snmc/qs850/u-boot.lds1
-rw-r--r--board/snmc/qs860t/u-boot.lds1
-rw-r--r--board/spc1920/u-boot.lds1
-rw-r--r--board/spd8xx/u-boot.lds1
-rw-r--r--board/spd8xx/u-boot.lds.debug1
-rw-r--r--board/stx/stxxtc/u-boot.lds1
-rw-r--r--board/stx/stxxtc/u-boot.lds.debug1
-rw-r--r--board/svm_sc8xx/u-boot.lds1
-rw-r--r--board/svm_sc8xx/u-boot.lds.debug1
-rw-r--r--board/tqc/tqm8xx/u-boot.lds1
-rw-r--r--board/tqc/tqm8xx/u-boot.lds.debug1
-rw-r--r--board/uc100/u-boot.lds1
-rw-r--r--board/uc100/u-boot.lds.debug1
-rw-r--r--board/v37/u-boot.lds1
-rw-r--r--board/w7o/u-boot.lds1
-rw-r--r--board/w7o/u-boot.lds.debug1
-rw-r--r--board/westel/amx860/u-boot.lds1
-rw-r--r--board/westel/amx860/u-boot.lds.debug1
-rw-r--r--board/xes/xpedite1000/u-boot.lds1
-rw-r--r--board/xes/xpedite1000/u-boot.lds.debug1
-rw-r--r--board/xes/xpedite5170/config.mk2
-rw-r--r--board/xes/xpedite5200/config.mk2
-rw-r--r--board/xes/xpedite5370/config.mk2
-rw-r--r--board/xilinx/ml300/u-boot.lds1
-rw-r--r--board/xilinx/ml300/u-boot.lds.debug1
-rw-r--r--board/xilinx/ppc405-generic/u-boot-ram.lds1
-rw-r--r--board/xilinx/ppc405-generic/u-boot-rom.lds1
-rw-r--r--board/xilinx/ppc440-generic/u-boot-ram.lds1
-rw-r--r--board/xilinx/ppc440-generic/u-boot-rom.lds1
-rw-r--r--board/zeus/u-boot.lds1
-rw-r--r--common/cmd_bootm.c4
-rw-r--r--common/cmd_date.c4
-rw-r--r--common/dlmalloc.c2
-rw-r--r--common/env_common.c4
-rw-r--r--common/hush.c4
-rw-r--r--common/image.c6
-rw-r--r--common/serial.c2
-rw-r--r--common/stdio.c5
-rw-r--r--cpu/74xx_7xx/start.S6
-rw-r--r--cpu/mpc512x/start.S6
-rw-r--r--cpu/mpc512x/u-boot.lds1
-rw-r--r--cpu/mpc5xx/start.S6
-rw-r--r--cpu/mpc5xx/u-boot.lds1
-rw-r--r--cpu/mpc5xxx/start.S6
-rw-r--r--cpu/mpc5xxx/u-boot-customlayout.lds1
-rw-r--r--cpu/mpc5xxx/u-boot.lds1
-rw-r--r--cpu/mpc8220/start.S6
-rw-r--r--cpu/mpc8220/u-boot.lds1
-rw-r--r--cpu/mpc824x/start.S6
-rw-r--r--cpu/mpc824x/u-boot.lds1
-rw-r--r--cpu/mpc8260/start.S6
-rw-r--r--cpu/mpc8260/u-boot.lds1
-rw-r--r--cpu/mpc83xx/start.S6
-rw-r--r--cpu/mpc83xx/u-boot.lds1
-rw-r--r--cpu/mpc85xx/start.S6
-rw-r--r--cpu/mpc85xx/u-boot.lds12
-rw-r--r--cpu/mpc86xx/start.S6
-rw-r--r--cpu/mpc8xx/start.S6
-rw-r--r--cpu/ppc4xx/start.S6
-rw-r--r--disk/part.c5
-rw-r--r--drivers/fpga/ACEX1K.c96
-rw-r--r--drivers/fpga/altera.c39
-rw-r--r--drivers/fpga/cyclon2.c91
-rw-r--r--drivers/fpga/fpga.c53
-rw-r--r--drivers/fpga/spartan2.c187
-rw-r--r--drivers/fpga/spartan3.c185
-rw-r--r--drivers/fpga/stratixII.c24
-rw-r--r--drivers/fpga/virtex2.c118
-rw-r--r--drivers/fpga/xilinx.c42
-rw-r--r--drivers/mtd/nand/nand.c2
-rw-r--r--drivers/net/tsec.c49
-rw-r--r--fs/ubifs/ubifs.c4
-rw-r--r--include/ACEX1K.h4
-rw-r--r--include/altera.h1
-rw-r--r--include/asm-arm/config.h3
-rw-r--r--include/asm-arm/global_data.h1
-rw-r--r--include/asm-microblaze/config.h3
-rw-r--r--include/asm-microblaze/global_data.h1
-rw-r--r--include/asm-nios/config.h3
-rw-r--r--include/asm-nios/global_data.h1
-rw-r--r--include/asm-nios2/config.h3
-rw-r--r--include/asm-nios2/global_data.h1
-rw-r--r--include/asm-ppc/config.h3
-rw-r--r--include/asm-ppc/global_data.h2
-rw-r--r--include/asm-sh/config.h3
-rw-r--r--include/asm-sh/global_data.h1
-rw-r--r--include/configs/XPEDITE5170.h1
-rw-r--r--include/configs/XPEDITE5200.h1
-rw-r--r--include/configs/XPEDITE5370.h1
-rw-r--r--include/configs/inka4x0.h1
-rw-r--r--include/configs/p3mx.h1
-rw-r--r--include/exports.h2
-rw-r--r--include/fpga.h2
-rw-r--r--include/post.h2
-rw-r--r--include/spartan2.h3
-rw-r--r--include/spartan3.h3
-rw-r--r--include/stratixII.h1
-rw-r--r--include/virtex2.h3
-rw-r--r--include/xilinx.h1
-rw-r--r--lib_ppc/Makefile6
-rw-r--r--lib_ppc/board.c50
-rw-r--r--lib_ppc/config.mk1
-rw-r--r--lib_ppc/extable.c26
-rw-r--r--post/board/lwmon/sysmon.c17
-rw-r--r--post/board/lwmon5/sysmon.c17
-rw-r--r--post/post.c2
300 files changed, 154 insertions, 1413 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/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/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/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/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/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/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/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/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/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/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/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/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/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/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
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/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/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/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/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();
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/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/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/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/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/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..870ddfd5ef9 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_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 /* !CONFIG_RELOC_FIXUP_WORKS */
/* Initialize the list */
INIT_LIST_HEAD(&(devs.list));
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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/mpc85xx/u-boot.lds b/cpu/mpc85xx/u-boot.lds
index ec4787157cc..183dce9514d 100644
--- a/cpu/mpc85xx/u-boot.lds
+++ b/cpu/mpc85xx/u-boot.lds
@@ -62,7 +62,6 @@ SECTIONS
.text :
{
*(.text)
- *(.fixup)
*(.got1)
} :text
_etext = .;
@@ -132,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) :
{
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
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/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/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/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)
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/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/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-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/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/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 */
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/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 */
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() */
/*-----------------------------------------------------------------------
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;
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/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/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
*********************************************************************/
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)
#########################################################################
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: ");
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
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;
}
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)
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
/*