]> git.kernelconcepts.de Git - karo-tx-uboot.git/commitdiff
Merge branch 'master' of git://git.denx.de/u-boot-samsung
authorWolfgang Denk <wd@denx.de>
Tue, 30 Nov 2010 20:30:13 +0000 (21:30 +0100)
committerWolfgang Denk <wd@denx.de>
Tue, 30 Nov 2010 20:30:13 +0000 (21:30 +0100)
977 files changed:
CREDITS
MAINTAINERS
MAKEALL
Makefile
README
api/Makefile
arch/arm/cpu/arm1136/Makefile
arch/arm/cpu/arm1136/mx31/Makefile
arch/arm/cpu/arm1136/omap24xx/Makefile
arch/arm/cpu/arm1176/Makefile
arch/arm/cpu/arm1176/s3c64xx/Makefile
arch/arm/cpu/arm1176/start.S
arch/arm/cpu/arm1176/tnetv107x/Makefile
arch/arm/cpu/arm720t/Makefile
arch/arm/cpu/arm720t/lpc2292/Makefile
arch/arm/cpu/arm720t/s3c4510b/Makefile
arch/arm/cpu/arm720t/start.S
arch/arm/cpu/arm720t/u-boot.lds
arch/arm/cpu/arm920t/Makefile
arch/arm/cpu/arm920t/a320/Makefile
arch/arm/cpu/arm920t/at91/Makefile
arch/arm/cpu/arm920t/at91rm9200/Makefile
arch/arm/cpu/arm920t/ep93xx/Makefile
arch/arm/cpu/arm920t/imx/Makefile
arch/arm/cpu/arm920t/ks8695/Makefile
arch/arm/cpu/arm920t/s3c24x0/Makefile
arch/arm/cpu/arm920t/start.S
arch/arm/cpu/arm920t/u-boot.lds
arch/arm/cpu/arm925t/Makefile
arch/arm/cpu/arm925t/start.S
arch/arm/cpu/arm925t/u-boot.lds
arch/arm/cpu/arm926ejs/Makefile
arch/arm/cpu/arm926ejs/at91/Makefile
arch/arm/cpu/arm926ejs/davinci/Makefile
arch/arm/cpu/arm926ejs/kirkwood/Makefile
arch/arm/cpu/arm926ejs/mb86r0x/Makefile
arch/arm/cpu/arm926ejs/mx25/Makefile
arch/arm/cpu/arm926ejs/mx27/Makefile
arch/arm/cpu/arm926ejs/nomadik/Makefile
arch/arm/cpu/arm926ejs/omap/Makefile
arch/arm/cpu/arm926ejs/orion5x/Makefile
arch/arm/cpu/arm926ejs/spear/Makefile
arch/arm/cpu/arm926ejs/versatile/Makefile
arch/arm/cpu/arm946es/Makefile
arch/arm/cpu/arm946es/start.S
arch/arm/cpu/arm946es/u-boot.lds
arch/arm/cpu/arm_intcm/Makefile
arch/arm/cpu/arm_intcm/start.S
arch/arm/cpu/arm_intcm/u-boot.lds
arch/arm/cpu/armv7/Makefile
arch/arm/cpu/armv7/mx5/Makefile
arch/arm/cpu/armv7/omap-common/Makefile
arch/arm/cpu/armv7/omap3/Makefile
arch/arm/cpu/armv7/omap3/emif4.c
arch/arm/cpu/armv7/omap4/Makefile
arch/arm/cpu/armv7/omap4/board.c
arch/arm/cpu/armv7/s5p-common/Makefile
arch/arm/cpu/armv7/s5pc1xx/Makefile
arch/arm/cpu/ixp/Makefile
arch/arm/cpu/ixp/npe/Makefile
arch/arm/cpu/ixp/start.S
arch/arm/cpu/ixp/u-boot.lds
arch/arm/cpu/lh7a40x/Makefile
arch/arm/cpu/lh7a40x/start.S
arch/arm/cpu/lh7a40x/u-boot.lds
arch/arm/cpu/pxa/Makefile
arch/arm/cpu/s3c44b0/Makefile
arch/arm/cpu/s3c44b0/start.S
arch/arm/cpu/s3c44b0/u-boot.lds
arch/arm/cpu/sa1100/Makefile
arch/arm/cpu/sa1100/start.S
arch/arm/cpu/sa1100/u-boot.lds
arch/arm/lib/Makefile
arch/avr32/cpu/Makefile
arch/avr32/cpu/at32ap700x/Makefile
arch/avr32/lib/Makefile
arch/blackfin/cpu/Makefile
arch/blackfin/lib/Makefile
arch/blackfin/lib/ins.S
arch/blackfin/lib/outs.S
arch/blackfin/lib/u-boot.lds.S
arch/i386/cpu/Makefile
arch/i386/cpu/sc520/Makefile
arch/i386/lib/Makefile
arch/m68k/cpu/mcf5227x/Makefile
arch/m68k/cpu/mcf523x/Makefile
arch/m68k/cpu/mcf52x2/Makefile
arch/m68k/cpu/mcf532x/Makefile
arch/m68k/cpu/mcf5445x/Makefile
arch/m68k/cpu/mcf547x_8x/Makefile
arch/m68k/lib/Makefile
arch/microblaze/cpu/Makefile
arch/microblaze/lib/Makefile
arch/mips/cpu/Makefile
arch/mips/lib/Makefile
arch/nios2/cpu/Makefile
arch/nios2/lib/Makefile
arch/powerpc/config.mk
arch/powerpc/cpu/74xx_7xx/Makefile
arch/powerpc/cpu/74xx_7xx/start.S
arch/powerpc/cpu/74xx_7xx/u-boot.lds [moved from board/freescale/mpc7448hpc2/u-boot.lds with 53% similarity]
arch/powerpc/cpu/mpc512x/Makefile
arch/powerpc/cpu/mpc512x/config.mk
arch/powerpc/cpu/mpc512x/start.S
arch/powerpc/cpu/mpc512x/u-boot.lds
arch/powerpc/cpu/mpc5xx/Makefile
arch/powerpc/cpu/mpc5xx/config.mk
arch/powerpc/cpu/mpc5xx/start.S
arch/powerpc/cpu/mpc5xx/u-boot.lds
arch/powerpc/cpu/mpc5xxx/Makefile
arch/powerpc/cpu/mpc5xxx/config.mk
arch/powerpc/cpu/mpc5xxx/i2c.c
arch/powerpc/cpu/mpc5xxx/start.S
arch/powerpc/cpu/mpc5xxx/u-boot-customlayout.lds
arch/powerpc/cpu/mpc5xxx/u-boot.lds
arch/powerpc/cpu/mpc8220/Makefile
arch/powerpc/cpu/mpc8220/config.mk
arch/powerpc/cpu/mpc8220/start.S
arch/powerpc/cpu/mpc8220/u-boot.lds
arch/powerpc/cpu/mpc824x/Makefile
arch/powerpc/cpu/mpc824x/config.mk
arch/powerpc/cpu/mpc824x/start.S
arch/powerpc/cpu/mpc824x/u-boot.lds
arch/powerpc/cpu/mpc8260/Makefile
arch/powerpc/cpu/mpc8260/config.mk
arch/powerpc/cpu/mpc8260/start.S
arch/powerpc/cpu/mpc8260/u-boot.lds
arch/powerpc/cpu/mpc83xx/Makefile
arch/powerpc/cpu/mpc83xx/config.mk
arch/powerpc/cpu/mpc83xx/start.S
arch/powerpc/cpu/mpc83xx/u-boot.lds
arch/powerpc/cpu/mpc85xx/Makefile
arch/powerpc/cpu/mpc85xx/config.mk
arch/powerpc/cpu/mpc85xx/start.S
arch/powerpc/cpu/mpc85xx/u-boot-nand.lds
arch/powerpc/cpu/mpc85xx/u-boot-nand_spl.lds
arch/powerpc/cpu/mpc86xx/Makefile
arch/powerpc/cpu/mpc86xx/config.mk
arch/powerpc/cpu/mpc86xx/start.S
arch/powerpc/cpu/mpc86xx/u-boot.lds
arch/powerpc/cpu/mpc8xx/Makefile
arch/powerpc/cpu/mpc8xx/config.mk
arch/powerpc/cpu/mpc8xx/start.S
arch/powerpc/cpu/mpc8xxx/Makefile
arch/powerpc/cpu/mpc8xxx/ddr/Makefile
arch/powerpc/cpu/ppc4xx/44x_spd_ddr2.c
arch/powerpc/cpu/ppc4xx/4xx_ibm_ddr2_autocalib.c
arch/powerpc/cpu/ppc4xx/Makefile
arch/powerpc/cpu/ppc4xx/cmd_ecctest.c
arch/powerpc/cpu/ppc4xx/config.mk
arch/powerpc/cpu/ppc4xx/start.S
arch/powerpc/cpu/ppc4xx/u-boot.lds
arch/powerpc/lib/Makefile
arch/powerpc/lib/board.c
arch/sh/cpu/sh2/Makefile
arch/sh/cpu/sh3/Makefile
arch/sh/cpu/sh4/Makefile
arch/sh/lib/Makefile
arch/sparc/cpu/leon2/Makefile
arch/sparc/cpu/leon3/Makefile
arch/sparc/lib/Makefile
board/BuS/EB+MCF-EV123/Makefile
board/BuS/eb_cpux9k2/Makefile
board/LEOX/elpt860/Makefile
board/LEOX/elpt860/u-boot.lds
board/LaCie/edminiv2/Makefile
board/Marvell/db64360/Makefile
board/Marvell/db64360/u-boot.lds [deleted file]
board/Marvell/db64460/Makefile
board/Marvell/guruplug/Makefile
board/Marvell/mv88f6281gtw_ge/Makefile
board/Marvell/openrd_base/Makefile
board/Marvell/rd6281a/Makefile
board/Marvell/sheevaplug/Makefile
board/RPXClassic/Makefile
board/RPXClassic/u-boot.lds
board/RPXlite/Makefile
board/RPXlite/u-boot.lds
board/RPXlite_dw/Makefile
board/RPXlite_dw/u-boot.lds
board/RRvision/Makefile
board/RRvision/u-boot.lds
board/Seagate/dockstar/Makefile [moved from board/eric/Makefile with 67% similarity]
board/Seagate/dockstar/dockstar.c [new file with mode: 0644]
board/Seagate/dockstar/dockstar.h [new file with mode: 0644]
board/Seagate/dockstar/kwbimage.cfg [new file with mode: 0644]
board/a3000/Makefile
board/a4m072/Makefile
board/actux1/Makefile
board/actux1/config.mk
board/actux2/Makefile
board/actux2/config.mk
board/actux3/Makefile
board/actux3/config.mk
board/actux4/Makefile
board/actux4/config.mk
board/adder/Makefile
board/adder/u-boot.lds
board/afeb9260/Makefile
board/alaska/Makefile
board/altera/nios2-generic/Makefile
board/amcc/acadia/Makefile
board/amcc/bamboo/Makefile
board/amcc/bamboo/u-boot-nand.lds
board/amcc/bluestone/Makefile
board/amcc/bubinga/Makefile
board/amcc/canyonlands/Makefile
board/amcc/canyonlands/canyonlands.c
board/amcc/canyonlands/u-boot-nand.lds
board/amcc/ebony/Makefile
board/amcc/katmai/Makefile
board/amcc/kilauea/Makefile
board/amcc/luan/Makefile
board/amcc/makalu/Makefile
board/amcc/ocotea/Makefile
board/amcc/redwood/Makefile
board/amcc/sequoia/Makefile
board/amcc/sequoia/u-boot-nand.lds
board/amcc/sequoia/u-boot-ram.lds
board/amcc/taihu/Makefile
board/amcc/taishan/Makefile
board/amcc/walnut/Makefile
board/amcc/yosemite/Makefile
board/amcc/yucca/Makefile
board/amirix/ap1000/Makefile
board/amirix/ap1000/u-boot.lds
board/apollon/Makefile
board/armadillo/Makefile
board/armltd/integrator/Makefile
board/armltd/versatile/Makefile
board/armltd/vexpress/Makefile
board/assabet/Makefile
board/astro/mcf5373l/Makefile
board/atc/Makefile
board/atc/ti113x.c
board/atmel/at91cap9adk/Makefile
board/atmel/at91rm9200dk/Makefile
board/atmel/at91rm9200ek/Makefile
board/atmel/at91sam9260ek/Makefile
board/atmel/at91sam9261ek/Makefile
board/atmel/at91sam9263ek/Makefile
board/atmel/at91sam9m10g45ek/Makefile
board/atmel/at91sam9rlek/Makefile
board/atmel/atngw100/Makefile
board/atmel/atstk1000/Makefile
board/atum8548/Makefile
board/atum8548/atum8548.c
board/balloon3/Makefile
board/barco/Makefile [deleted file]
board/barco/README [deleted file]
board/barco/barco.c [deleted file]
board/barco/barco_svc.h [deleted file]
board/barco/early_init.S [deleted file]
board/barco/flash.c [deleted file]
board/barco/speed.h [deleted file]
board/bc3450/Makefile
board/bct-brettl2/Makefile
board/bf518f-ezbrd/Makefile
board/bf526-ezbrd/Makefile
board/bf527-ad7160-eval/Makefile
board/bf527-ezkit/Makefile
board/bf527-sdp/Makefile
board/bf533-ezkit/Makefile
board/bf533-stamp/Makefile
board/bf537-minotaur/Makefile
board/bf537-pnav/Makefile
board/bf537-srv1/Makefile
board/bf537-stamp/Makefile
board/bf538f-ezkit/Makefile
board/bf548-ezkit/Makefile
board/bf561-acvilon/Makefile
board/bf561-ezkit/Makefile
board/blackstamp/Makefile
board/blackvme/Makefile
board/bmw/Makefile
board/c2mon/Makefile
board/c2mon/u-boot.lds
board/calao/sbc35_a9g20/Makefile
board/calao/tny_a9260/Makefile
board/canmb/Makefile
board/cerf250/Makefile
board/cm-bf527/Makefile
board/cm-bf533/Makefile
board/cm-bf537e/Makefile
board/cm-bf537u/Makefile
board/cm-bf548/Makefile
board/cm-bf561/Makefile
board/cm4008/Makefile
board/cm41xx/Makefile
board/cm5200/Makefile
board/cmc_pu2/Makefile
board/cmi/Makefile
board/cobra5272/Makefile
board/cogent/Makefile
board/cogent/u-boot.lds
board/colibri_pxa270/Makefile
board/cpc45/Makefile
board/cpc45/pd67290.c
board/cpu86/Makefile
board/cpu87/Makefile
board/cradle/Makefile
board/cray/L1/L1.c
board/cray/L1/Makefile
board/csb226/Makefile
board/csb272/Makefile
board/csb472/Makefile
board/csb637/Makefile
board/cu824/Makefile
board/dave/B2/Makefile
board/dave/PPChameleonEVB/Makefile
board/dave/PPChameleonEVB/u-boot.lds [moved from board/Marvell/db64460/u-boot.lds with 50% similarity]
board/davedenx/aria/Makefile
board/davedenx/qong/Makefile
board/davinci/common/Makefile
board/davinci/da8xxevm/Makefile
board/davinci/da8xxevm/da850evm.c
board/davinci/dm355evm/Makefile
board/davinci/dm355leopard/Makefile
board/davinci/dm365evm/Makefile
board/davinci/dm6467evm/Makefile
board/davinci/dvevm/Makefile
board/davinci/schmoogie/Makefile
board/davinci/sffsdr/Makefile
board/davinci/sonata/Makefile
board/dbau1x00/Makefile
board/digsy_mtc/Makefile
board/dnp1110/Makefile
board/eNET/Makefile
board/eXalion/Makefile
board/earthlcd/favr-32-ezkit/Makefile
board/edb93xx/Makefile
board/eltec/bab7xx/Makefile
board/eltec/bab7xx/u-boot.lds [deleted file]
board/eltec/elppc/Makefile
board/eltec/elppc/u-boot.lds [deleted file]
board/eltec/mhpc/Makefile
board/eltec/mhpc/u-boot.lds
board/emk/top5200/Makefile
board/emk/top860/Makefile
board/emk/top860/u-boot.lds
board/ep7312/Makefile
board/ep8248/Makefile
board/ep8260/Makefile
board/ep82xxm/Makefile
board/ep88x/Makefile
board/ep88x/u-boot.lds
board/eric/eric.c [deleted file]
board/eric/eric.h [deleted file]
board/eric/flash.c [deleted file]
board/eric/init.S [deleted file]
board/esd/adciop/Makefile
board/esd/apc405/Makefile
board/esd/ar405/Makefile
board/esd/ash405/Makefile
board/esd/canbt/Makefile
board/esd/cms700/Makefile
board/esd/cpci2dp/Makefile
board/esd/cpci405/Makefile
board/esd/cpci5200/Makefile
board/esd/cpci750/Makefile
board/esd/cpci750/u-boot.lds [deleted file]
board/esd/cpciiser4/Makefile
board/esd/dasa_sim/Makefile
board/esd/dasa_sim/u-boot.lds
board/esd/dp405/Makefile
board/esd/du405/Makefile
board/esd/du440/Makefile
board/esd/hh405/Makefile
board/esd/hub405/Makefile
board/esd/mecp5123/Makefile
board/esd/mecp5200/Makefile
board/esd/meesc/Makefile
board/esd/ocrtc/Makefile
board/esd/otc570/Makefile
board/esd/pci405/Makefile
board/esd/pf5200/Makefile
board/esd/plu405/Makefile
board/esd/pmc405/Makefile
board/esd/pmc405de/Makefile
board/esd/pmc440/Makefile
board/esd/tasreg/Makefile
board/esd/vme8349/Makefile
board/esd/voh405/Makefile
board/esd/vom405/Makefile
board/esd/wuh405/Makefile
board/espt/Makefile
board/esteem192e/Makefile
board/esteem192e/u-boot.lds
board/etin/debris/Makefile
board/etin/kvme080/Makefile
board/etx094/Makefile
board/etx094/u-boot.lds
board/eukrea/cpu9260/Makefile
board/eukrea/cpuat91/Makefile
board/evb4510/Makefile
board/evb64260/Makefile
board/evb64260/u-boot.lds
board/fads/Makefile
board/fads/u-boot.lds
board/fads/u-boot.lds.debug [deleted file]
board/faraday/a320evb/Makefile
board/flagadm/Makefile
board/flagadm/u-boot.lds
board/freescale/common/Makefile
board/freescale/corenet_ds/Makefile
board/freescale/corenet_ds/corenet_ds.c
board/freescale/corenet_ds/pci.c
board/freescale/m5208evbe/Makefile
board/freescale/m5208evbe/u-boot.lds
board/freescale/m52277evb/Makefile
board/freescale/m52277evb/u-boot.spa
board/freescale/m5235evb/Makefile
board/freescale/m5235evb/u-boot.32
board/freescale/m5249evb/Makefile
board/freescale/m5253demo/Makefile
board/freescale/m5253evbe/Makefile
board/freescale/m5271evb/Makefile
board/freescale/m5271evb/u-boot.lds
board/freescale/m5272c3/Makefile
board/freescale/m5275evb/Makefile
board/freescale/m5282evb/Makefile
board/freescale/m53017evb/Makefile
board/freescale/m53017evb/u-boot.lds
board/freescale/m5329evb/Makefile
board/freescale/m5373evb/Makefile
board/freescale/m54451evb/Makefile
board/freescale/m54451evb/u-boot.spa
board/freescale/m54455evb/Makefile
board/freescale/m547xevb/Makefile
board/freescale/m548xevb/Makefile
board/freescale/mpc5121ads/Makefile
board/freescale/mpc7448hpc2/Makefile
board/freescale/mpc8260ads/Makefile
board/freescale/mpc8266ads/Makefile
board/freescale/mpc8308rdb/Makefile
board/freescale/mpc8313erdb/Makefile
board/freescale/mpc8315erdb/Makefile
board/freescale/mpc8323erdb/Makefile
board/freescale/mpc832xemds/Makefile
board/freescale/mpc8349emds/Makefile
board/freescale/mpc8349itx/Makefile
board/freescale/mpc8360emds/Makefile
board/freescale/mpc8360erdk/Makefile
board/freescale/mpc837xemds/Makefile
board/freescale/mpc837xerdb/Makefile
board/freescale/mpc8536ds/Makefile
board/freescale/mpc8536ds/mpc8536ds.c
board/freescale/mpc8540ads/Makefile
board/freescale/mpc8540ads/mpc8540ads.c
board/freescale/mpc8541cds/Makefile
board/freescale/mpc8541cds/mpc8541cds.c
board/freescale/mpc8544ds/Makefile
board/freescale/mpc8544ds/mpc8544ds.c
board/freescale/mpc8548cds/Makefile
board/freescale/mpc8548cds/mpc8548cds.c
board/freescale/mpc8555cds/Makefile
board/freescale/mpc8555cds/mpc8555cds.c
board/freescale/mpc8560ads/Makefile
board/freescale/mpc8560ads/mpc8560ads.c
board/freescale/mpc8568mds/Makefile
board/freescale/mpc8568mds/mpc8568mds.c
board/freescale/mpc8569mds/Makefile
board/freescale/mpc8569mds/mpc8569mds.c
board/freescale/mpc8572ds/Makefile
board/freescale/mpc8572ds/mpc8572ds.c
board/freescale/mpc8610hpcd/Makefile
board/freescale/mpc8610hpcd/mpc8610hpcd.c
board/freescale/mpc8641hpcn/Makefile
board/freescale/mpc8641hpcn/mpc8641hpcn.c
board/freescale/mx31ads/Makefile
board/freescale/mx31ads/u-boot.lds
board/freescale/mx31pdk/Makefile
board/freescale/mx51evk/Makefile
board/freescale/p1022ds/Makefile
board/freescale/p1022ds/p1022ds.c
board/freescale/p1_p2_rdb/Makefile
board/freescale/p1_p2_rdb/p1_p2_rdb.c
board/freescale/p1_p2_rdb/pci.c
board/freescale/p2020ds/Makefile
board/freescale/p2020ds/p2020ds.c
board/funkwerk/vovpn-gw/Makefile
board/g2000/Makefile
board/gaisler/gr_cpci_ax2000/Makefile
board/gaisler/gr_ep2s60/Makefile
board/gaisler/gr_xc3s_1500/Makefile
board/gaisler/grsim/Makefile
board/gaisler/grsim_leon2/Makefile
board/galaxy5200/Makefile
board/gcplus/Makefile
board/gdsys/405ep/Makefile
board/gdsys/common/Makefile
board/gdsys/common/osd.c
board/gdsys/dlvision/Makefile
board/gdsys/gdppc440etx/Makefile
board/gdsys/intip/Makefile
board/gdsys/neo/Makefile
board/gen860t/Makefile
board/gen860t/u-boot-flashenv.lds
board/gen860t/u-boot.lds
board/genietv/Makefile
board/genietv/u-boot.lds
board/gth2/Makefile
board/gw8260/Makefile
board/hermes/Makefile
board/hermes/u-boot.lds
board/hidden_dragon/Makefile
board/hymod/Makefile
board/ibf-dsp561/Makefile
board/icecube/Makefile
board/icu862/Makefile
board/icu862/u-boot.lds
board/idmr/Makefile
board/idmr/u-boot.lds
board/ids8247/Makefile
board/ids8247/flash.c [deleted file]
board/impa7/Makefile
board/imx31_phycore/Makefile
board/incaip/Makefile
board/inka4x0/Makefile
board/innokom/Makefile
board/ip04/Makefile
board/ip860/Makefile
board/ip860/u-boot.lds
board/ipek01/Makefile
board/iphase4539/Makefile
board/isee/igep0020/Makefile
board/isee/igep0030/Makefile
board/ispan/Makefile
board/ivm/Makefile
board/ivm/u-boot.lds
board/ixdp425/Makefile
board/jornada/Makefile
board/jornada/setup.S
board/jse/Makefile
board/jupiter/Makefile
board/karo/tx25/Makefile
board/kb9202/Makefile
board/keymile/km8xx/Makefile
board/keymile/km8xx/u-boot.lds
board/keymile/km_arm/Makefile
board/keymile/kmeter1/Makefile
board/keymile/mgcoge/Makefile
board/korat/Makefile
board/kup/Makefile
board/kup/kup4k/Makefile
board/kup/kup4k/u-boot.lds
board/kup/kup4x/Makefile
board/kup/kup4x/u-boot.lds
board/lantec/Makefile
board/lantec/u-boot.lds
board/lart/Makefile
board/linkstation/Makefile
board/logicpd/am3517evm/Makefile
board/logicpd/am3517evm/config.mk
board/logicpd/imx27lite/Makefile
board/logicpd/imx31_litekit/Makefile
board/logicpd/zoom1/Makefile
board/logicpd/zoom1/config.mk
board/logicpd/zoom2/Makefile
board/logicpd/zoom2/config.mk
board/lpc2292sodimm/Makefile
board/lpd7a40x/Makefile
board/lubbock/Makefile
board/lwmon/Makefile
board/lwmon/u-boot.lds
board/lwmon5/Makefile
board/m501sk/Makefile
board/manroland/hmi1001/Makefile
board/manroland/hmi1001/config.mk [deleted file]
board/manroland/mucmc52/Makefile
board/manroland/uc100/Makefile
board/manroland/uc100/u-boot.lds
board/manroland/uc101/Makefile
board/matrix_vision/common/Makefile
board/matrix_vision/mvbc_p/Makefile
board/matrix_vision/mvblm7/Makefile
board/matrix_vision/mvsmr/Makefile
board/matrix_vision/mvsmr/u-boot.lds
board/mbx8xx/Makefile
board/mbx8xx/u-boot.lds
board/mcc200/Makefile
board/micronas/vct/Makefile
board/mimc/mimc200/Makefile
board/miromico/hammerhead/Makefile
board/ml2/Makefile
board/ml2/u-boot.lds
board/modnet50/Makefile
board/mosaixtech/icon/Makefile
board/motionpro/Makefile
board/mousse/Makefile
board/mousse/u-boot.lds
board/mp2usb/Makefile
board/mpc8308_p1m/Makefile
board/mpc8540eval/Makefile
board/mpl/mip405/Makefile
board/mpl/pati/Makefile
board/mpl/pip405/Makefile
board/mpl/vcma9/Makefile
board/mpr2/Makefile
board/ms7720se/Makefile
board/ms7722se/Makefile
board/ms7750se/Makefile
board/muas3001/Makefile
board/munices/Makefile
board/musenki/Makefile
board/mvblue/Makefile
board/mvblue/u-boot.lds [moved from board/pcippc2/u-boot.lds with 50% similarity]
board/mx1ads/Makefile
board/mx1fs2/Makefile
board/netphone/Makefile
board/netphone/u-boot.lds
board/netstal/hcu4/Makefile
board/netstal/hcu5/Makefile
board/netstal/mcu25/Makefile
board/netstar/Makefile
board/netta/Makefile
board/netta/u-boot.lds
board/netta2/Makefile
board/netta2/u-boot.lds
board/netvia/Makefile
board/netvia/u-boot.lds
board/ns9750dev/Makefile
board/nx823/Makefile
board/nx823/u-boot.lds
board/o2dnt/Makefile
board/overo/Makefile
board/oxc/Makefile
board/palmld/Makefile
board/palmtc/Makefile
board/pandora/Makefile
board/pandora/config.mk [deleted file]
board/pb1x00/Makefile
board/pcippc2/Makefile
board/pcs440ep/Makefile
board/pdm360ng/Makefile
board/phytec/pcm030/Makefile
board/pleb2/Makefile
board/pm520/Makefile
board/pm826/Makefile
board/pm828/Makefile
board/pm854/Makefile
board/pm854/pm854.c
board/pm856/Makefile
board/pm856/pm856.c
board/pn62/Makefile
board/ppmc7xx/Makefile
board/ppmc7xx/u-boot.lds [deleted file]
board/ppmc8260/Makefile
board/prodrive/alpr/Makefile
board/prodrive/p3mx/Makefile
board/prodrive/p3mx/u-boot.lds [deleted file]
board/prodrive/p3p440/Makefile
board/prodrive/pdnb3/Makefile
board/psyent/pci5441/Makefile
board/psyent/pk1c20/Makefile
board/purple/Makefile
board/pxa255_idp/Makefile
board/qemu-mips/Makefile
board/quad100hd/Makefile
board/quantum/Makefile
board/quantum/u-boot.lds
board/r360mpi/Makefile
board/r360mpi/u-boot.lds
board/rattler/Makefile
board/rbc823/Makefile
board/rbc823/u-boot.lds
board/renesas/MigoR/Makefile
board/renesas/ap325rxa/Makefile
board/renesas/r2dplus/Makefile
board/renesas/r7780mp/Makefile
board/renesas/rsk7203/Makefile
board/renesas/sh7763rdp/Makefile
board/renesas/sh7785lcr/Makefile
board/rmu/Makefile
board/rmu/u-boot.lds
board/ronetix/pm9261/Makefile
board/ronetix/pm9263/Makefile
board/ronetix/pm9g45/Makefile
board/rpxsuper/Makefile
board/rsdproto/Makefile
board/sacsng/Makefile
board/samsung/goni/Makefile
board/samsung/smdk2400/Makefile
board/samsung/smdk2410/Makefile
board/samsung/smdk6400/Makefile
board/samsung/smdkc100/Makefile
board/sandburst/karef/Makefile
board/sandburst/metrobox/Makefile
board/sandpoint/Makefile
board/sandpoint/u-boot.lds [moved from board/manroland/uc100/u-boot.lds.debug with 54% similarity]
board/sbc2410x/Makefile
board/sbc405/Makefile
board/sbc405/sbc405.c
board/sbc8240/Makefile
board/sbc8260/Makefile
board/sbc8349/Makefile
board/sbc8548/Makefile
board/sbc8548/sbc8548.c
board/sbc8560/Makefile
board/sbc8641d/Makefile
board/sbc8641d/sbc8641d.c
board/sc3/Makefile
board/scb9328/Makefile
board/shannon/Makefile
board/sheldon/simpc8313/Makefile
board/siemens/IAD210/Makefile
board/siemens/IAD210/u-boot.lds
board/siemens/SCM/Makefile
board/siemens/SMN42/Makefile
board/sixnet/Makefile
board/sixnet/u-boot.lds
board/snmc/qs850/Makefile
board/snmc/qs850/u-boot.lds
board/snmc/qs860t/Makefile
board/snmc/qs860t/u-boot.lds
board/socrates/Makefile
board/sorcery/Makefile
board/spc1920/Makefile
board/spc1920/u-boot.lds
board/spd8xx/Makefile
board/spd8xx/u-boot.lds
board/spear/common/Makefile
board/spear/spear300/Makefile
board/spear/spear310/Makefile
board/spear/spear320/Makefile
board/spear/spear600/Makefile
board/st/nhk8815/Makefile
board/stx/stxgp3/Makefile
board/stx/stxssa/Makefile
board/stx/stxxtc/Makefile
board/stx/stxxtc/u-boot.lds
board/svm_sc8xx/Makefile
board/svm_sc8xx/u-boot.lds
board/sx1/Makefile
board/syteco/jadecpu/Makefile
board/t3corp/Makefile
board/tb0229/Makefile
board/tcm-bf518/Makefile
board/tcm-bf537/Makefile
board/ti/beagle/Makefile
board/ti/evm/Makefile
board/ti/omap1510inn/Makefile
board/ti/omap1610inn/Makefile
board/ti/omap2420h4/Makefile
board/ti/omap5912osk/Makefile
board/ti/omap730p2/Makefile
board/ti/panda/Makefile
board/ti/sdp3430/Makefile
board/ti/sdp3430/config.mk
board/ti/sdp4430/Makefile
board/ti/tnetv107xevm/Makefile
board/timll/devkit8000/Makefile
board/total5200/Makefile
board/tqc/tqm5200/Makefile
board/tqc/tqm5200/cam5200_flash.c
board/tqc/tqm8260/Makefile
board/tqc/tqm8272/Makefile
board/tqc/tqm834x/Makefile
board/tqc/tqm85xx/Makefile
board/tqc/tqm85xx/tqm85xx.c
board/tqc/tqm8xx/Makefile
board/tqc/tqm8xx/u-boot.lds
board/trab/Makefile
board/trizepsiv/Makefile
board/ttcontrol/vision2/Makefile
board/utx8245/Makefile
board/v37/Makefile
board/v37/u-boot.lds
board/v38b/Makefile
board/ve8313/Makefile
board/voiceblue/Makefile
board/vpac270/Makefile
board/w7o/Makefile
board/westel/amx860/Makefile
board/westel/amx860/u-boot.lds
board/xaeniax/Makefile
board/xes/common/Makefile
board/xes/common/fsl_8xxx_pci.c
board/xes/xpedite1000/Makefile
board/xes/xpedite517x/Makefile
board/xes/xpedite520x/Makefile
board/xes/xpedite537x/Makefile
board/xes/xpedite550x/Makefile
board/xilinx/microblaze-generic/Makefile
board/xilinx/ppc405-generic/Makefile
board/xilinx/ppc440-generic/Makefile
board/xm250/Makefile
board/zeus/Makefile
board/zipitz2/Makefile
board/zpc1900/Makefile
board/zylonite/Makefile
boards.cfg
common/Makefile
common/cmd_nvedit.c
common/cmd_pci.c
common/command.c
common/dlmalloc.c
common/env_mmc.c
common/env_sf.c
common/fdt_support.c
config.mk
disk/Makefile
doc/README.davinci
doc/README.scrapyard
drivers/bios_emulator/Makefile
drivers/block/Makefile
drivers/dma/Makefile
drivers/fpga/Makefile
drivers/gpio/Makefile
drivers/hwmon/Makefile
drivers/i2c/Makefile
drivers/input/Makefile
drivers/misc/Makefile
drivers/mmc/Makefile
drivers/mmc/omap_hsmmc.c
drivers/mtd/Makefile
drivers/mtd/cfi_flash.c
drivers/mtd/nand/Makefile
drivers/mtd/nand/ndfc.c
drivers/mtd/onenand/Makefile
drivers/mtd/spi/Makefile
drivers/mtd/spi/ramtron.c [new file with mode: 0644]
drivers/mtd/spi/spi_flash.c
drivers/mtd/spi/spi_flash_internal.h
drivers/mtd/ubi/Makefile
drivers/net/Makefile
drivers/net/dc2114x.c
drivers/net/e1000.c
drivers/net/eepro100.c
drivers/net/fec_mxc.c
drivers/net/greth.c
drivers/net/natsemi.c
drivers/net/ns8382x.c
drivers/net/pcnet.c
drivers/net/phy/Makefile
drivers/net/rtl8139.c
drivers/net/rtl8169.c
drivers/net/tsi108_eth.c
drivers/net/uli526x.c
drivers/pci/Makefile
drivers/pci/fsl_pci_init.c
drivers/pci/pci.c
drivers/pci/tsi108_pci.c
drivers/pcmcia/Makefile
drivers/power/Makefile
drivers/qe/Makefile
drivers/qe/fdt.c
drivers/rtc/Makefile
drivers/serial/Makefile
drivers/spi/Makefile
drivers/twserial/Makefile
drivers/usb/gadget/Makefile
drivers/usb/host/Makefile
drivers/usb/host/ehci-hcd.c
drivers/usb/host/ehci-ppc4xx.c
drivers/usb/musb/Makefile
drivers/usb/phy/Makefile
drivers/video/Makefile
drivers/watchdog/Makefile
examples/standalone/Makefile
fs/cramfs/Makefile
fs/ext2/Makefile
fs/fat/Makefile
fs/fdos/Makefile
fs/jffs2/Makefile
fs/reiserfs/Makefile
fs/ubifs/Makefile
fs/yaffs2/Makefile
include/configs/AP1000.h
include/configs/CANBT.h
include/configs/CATcenter.h
include/configs/CPCI2DP.h
include/configs/DP405.h
include/configs/ERIC.h [deleted file]
include/configs/EVB64260.h
include/configs/HIDDEN_DRAGON.h
include/configs/ML2.h
include/configs/MPC8313ERDB.h
include/configs/MPC8315ERDB.h
include/configs/MPC8536DS.h
include/configs/MPC8569MDS.h
include/configs/MPC8572DS.h
include/configs/MVBLUE.h
include/configs/NETPHONE.h
include/configs/NETTA.h
include/configs/NETVIA.h
include/configs/P1022DS.h
include/configs/P1_P2_RDB.h
include/configs/P4080DS.h
include/configs/PPChameleonEVB.h
include/configs/SIMPC8313.h
include/configs/Sandpoint8240.h
include/configs/Sandpoint8245.h
include/configs/TQM5200.h
include/configs/am3517_evm.h
include/configs/balloon3.h
include/configs/barco.h [deleted file]
include/configs/bct-brettl2.h
include/configs/bf533-stamp.h
include/configs/bf537-pnav.h
include/configs/bf537-stamp.h
include/configs/bf538f-ezkit.h
include/configs/bf561-ezkit.h
include/configs/cm-bf537e.h
include/configs/cm-bf537u.h
include/configs/cmi_mpc5xx.h
include/configs/cogent_mpc8260.h
include/configs/cogent_mpc8xx.h
include/configs/corenet_ds.h
include/configs/da830evm.h
include/configs/da850evm.h
include/configs/davinci_dm355evm.h
include/configs/davinci_dm355leopard.h
include/configs/davinci_dm365evm.h
include/configs/davinci_dvevm.h
include/configs/davinci_sonata.h
include/configs/devkit8000.h
include/configs/dockstar.h [new file with mode: 0644]
include/configs/ibf-dsp561.h
include/configs/igep0030.h
include/configs/keymile-common.h
include/configs/mcc200.h
include/configs/mv-common.h
include/configs/omap3_beagle.h
include/configs/omap3_evm.h
include/configs/omap3_overo.h
include/configs/omap3_pandora.h
include/configs/omap3_sdp3430.h
include/configs/omap3_zoom1.h
include/configs/omap3_zoom2.h
include/configs/omap4_panda.h
include/configs/omap4_sdp4430.h
include/configs/palmld.h
include/configs/palmtc.h
include/configs/pleb2.h
include/configs/quantum.h
include/configs/sc3.h
include/configs/tcm-bf537.h
include/configs/tnetv107x_evm.h
include/configs/zipitz2.h
include/pci.h
lib/Makefile
lib/libfdt/Makefile
lib/lzma/Makefile
lib/lzo/Makefile
nand_spl/board/amcc/acadia/u-boot.lds
nand_spl/board/amcc/bamboo/u-boot.lds
nand_spl/board/amcc/canyonlands/u-boot.lds
nand_spl/board/amcc/kilauea/u-boot.lds
nand_spl/board/amcc/sequoia/u-boot.lds
nand_spl/board/freescale/mpc8313erdb/Makefile
nand_spl/board/freescale/mpc8313erdb/u-boot.lds
nand_spl/board/freescale/mpc8315erdb/Makefile
nand_spl/board/freescale/mpc8315erdb/u-boot.lds
nand_spl/board/freescale/mpc8536ds/Makefile
nand_spl/board/freescale/mpc8569mds/Makefile
nand_spl/board/freescale/p1_p2_rdb/Makefile
nand_spl/board/sheldon/simpc8313/Makefile
net/Makefile
net/bootp.c
net/eth.c
post/Makefile
post/board/lwmon/Makefile
post/board/lwmon5/Makefile
post/board/netta/Makefile
post/board/pdm360ng/Makefile
post/cpu/mpc83xx/Makefile
post/cpu/mpc8xx/Makefile
post/cpu/ppc4xx/Makefile
post/cpu/ppc4xx/denali_ecc.c
post/drivers/Makefile
post/drivers/i2c.c
post/lib_powerpc/Makefile
post/lib_powerpc/fpu/Makefile
post/rules.mk
tools/Makefile
tools/env/Makefile

diff --git a/CREDITS b/CREDITS
index d6810189b607f6245d835e895b75fdfac24dacea..dacc5b4f9bf9dafb861a13e5de57a587a015a6ae 100644 (file)
--- a/CREDITS
+++ b/CREDITS
@@ -22,10 +22,6 @@ N: Guillaume Alexandre
 E: guillaume.alexandre@gespac.ch
 D: Add PCIPPC6 configuration
 
-N: Swen Anderson
-E: sand@peppercon.de
-D: ERIC Support
-
 N: Pantelis Antoniou
 E: panto@intracom.gr
 D: NETVIA & NETPHONE board support, ARTOS support.
@@ -282,11 +278,6 @@ N: Thomas Lange
 E: thomas@corelatus.se
 D: Support for GTH, GTH2 and dbau1x00 boards; lots of PCMCIA fixes
 
-N: Marc Leeman
-E: marc.leeman@barco.com
-D: Support for Barco Streaming Video Card (SVC) and Sample Compress Network (SCN)
-W: www.barco.com
-
 N: The LEOX team
 E: team@leox.org
 D: Support for LEOX boards, DS164x RTC
index 9258cb12732f23cfa8de54ea7d02a79f7c359be8..f47fca5ecb19adc56e2e0f80b80806de65d0d688 100644 (file)
@@ -524,8 +524,6 @@ Unknown / orphaned boards:
        RPXClassic      MPC8xx
        RPXlite         MPC8xx
 
-       ERIC            PPC4xx
-
        MOUSSE          MPC824x
 
        RPXsuper        MPC8260
@@ -591,6 +589,10 @@ Po-Yu Chuang <ratbert@faraday-tech.com>
 
        a320evb         FA526 (ARM920T-like) (a320 SoC)
 
+Eric Cooper <ecc@cmu.edu>
+
+       dockstar        ARM926EJS (Kirkwood SoC)
+
 George G. Davis <gdavis@mvista.com>
 
        assabet         SA1100
diff --git a/MAKEALL b/MAKEALL
index c54c6e8cf95eb3bbba05fa0881d4454347309550..767d561c397fafceea04a044515e7bd6d9cc3863 100755 (executable)
--- a/MAKEALL
+++ b/MAKEALL
@@ -11,7 +11,7 @@
 # line; without any arguments, MAKEALL defaults to building all Power
 # Architecture systems (i. e. same as for "MAKEALL powerpc").
 #
-# With the iontroduction of the board.cfg file, it has become possible
+# With the introduction of the board.cfg file, it has become possible
 # to provide additional selections.  We use standard command line
 # options for this:
 #
@@ -125,6 +125,12 @@ FILTER="\$1 !~ /^#/"
 
 if [ "$SELECTED" ] ; then
        SELECTED=$(awk '('"$FILTER"') { print $1 }' boards.cfg)
+
+       # Make sure some boards from boards.cfg are actually found
+       if [ -z "$SELECTED" ] ; then
+               echo "Error: No boards selected, invalid arguments"
+               exit 1
+       fi
 fi
 
 #########################################################################
index f0c270307c389950b34d40dd554d176e5921b82b..87a383d32c4d6ff72a473e633b2e4d04b957cf9a 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -24,7 +24,7 @@
 VERSION = 2010
 PATCHLEVEL = 12
 SUBLEVEL =
-EXTRAVERSION = -rc1
+EXTRAVERSION = -rc2
 ifneq "$(SUBLEVEL)" ""
 U_BOOT_VERSION = $(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)
 else
@@ -180,96 +180,99 @@ endif
 
 OBJS := $(addprefix $(obj),$(OBJS))
 
-LIBS  = lib/libgeneric.a
-LIBS += lib/lzma/liblzma.a
-LIBS += lib/lzo/liblzo.a
+LIBS  = lib/libgeneric.o
+LIBS += lib/lzma/liblzma.o
+LIBS += lib/lzo/liblzo.o
 LIBS += $(shell if [ -f board/$(VENDOR)/common/Makefile ]; then echo \
-       "board/$(VENDOR)/common/lib$(VENDOR).a"; fi)
-LIBS += $(CPUDIR)/lib$(CPU).a
+       "board/$(VENDOR)/common/lib$(VENDOR).o"; fi)
+ifdef CONFIG_FSL_DIU_FB
+LIBS += board/freescale/common/libfreescale.o
+endif
+LIBS += $(CPUDIR)/lib$(CPU).o
 ifdef SOC
-LIBS += $(CPUDIR)/$(SOC)/lib$(SOC).a
+LIBS += $(CPUDIR)/$(SOC)/lib$(SOC).o
 endif
 ifeq ($(CPU),ixp)
-LIBS += arch/arm/cpu/ixp/npe/libnpe.a
+LIBS += arch/arm/cpu/ixp/npe/libnpe.o
 endif
-LIBS += arch/$(ARCH)/lib/lib$(ARCH).a
-LIBS += fs/cramfs/libcramfs.a fs/fat/libfat.a fs/fdos/libfdos.a fs/jffs2/libjffs2.a \
-       fs/reiserfs/libreiserfs.a fs/ext2/libext2fs.a fs/yaffs2/libyaffs2.a \
-       fs/ubifs/libubifs.a
-LIBS += net/libnet.a
-LIBS += disk/libdisk.a
-LIBS += drivers/bios_emulator/libatibiosemu.a
-LIBS += drivers/block/libblock.a
-LIBS += drivers/dma/libdma.a
-LIBS += drivers/fpga/libfpga.a
-LIBS += drivers/gpio/libgpio.a
-LIBS += drivers/hwmon/libhwmon.a
-LIBS += drivers/i2c/libi2c.a
-LIBS += drivers/input/libinput.a
-LIBS += drivers/misc/libmisc.a
-LIBS += drivers/mmc/libmmc.a
-LIBS += drivers/mtd/libmtd.a
-LIBS += drivers/mtd/nand/libnand.a
-LIBS += drivers/mtd/onenand/libonenand.a
-LIBS += drivers/mtd/ubi/libubi.a
-LIBS += drivers/mtd/spi/libspi_flash.a
-LIBS += drivers/net/libnet.a
-LIBS += drivers/net/phy/libphy.a
-LIBS += drivers/pci/libpci.a
-LIBS += drivers/pcmcia/libpcmcia.a
-LIBS += drivers/power/libpower.a
-LIBS += drivers/spi/libspi.a
+LIBS += arch/$(ARCH)/lib/lib$(ARCH).o
+LIBS += fs/cramfs/libcramfs.o fs/fat/libfat.o fs/fdos/libfdos.o fs/jffs2/libjffs2.o \
+       fs/reiserfs/libreiserfs.o fs/ext2/libext2fs.o fs/yaffs2/libyaffs2.o \
+       fs/ubifs/libubifs.o
+LIBS += net/libnet.o
+LIBS += disk/libdisk.o
+LIBS += drivers/bios_emulator/libatibiosemu.o
+LIBS += drivers/block/libblock.o
+LIBS += drivers/dma/libdma.o
+LIBS += drivers/fpga/libfpga.o
+LIBS += drivers/gpio/libgpio.o
+LIBS += drivers/hwmon/libhwmon.o
+LIBS += drivers/i2c/libi2c.o
+LIBS += drivers/input/libinput.o
+LIBS += drivers/misc/libmisc.o
+LIBS += drivers/mmc/libmmc.o
+LIBS += drivers/mtd/libmtd.o
+LIBS += drivers/mtd/nand/libnand.o
+LIBS += drivers/mtd/onenand/libonenand.o
+LIBS += drivers/mtd/ubi/libubi.o
+LIBS += drivers/mtd/spi/libspi_flash.o
+LIBS += drivers/net/libnet.o
+LIBS += drivers/net/phy/libphy.o
+LIBS += drivers/pci/libpci.o
+LIBS += drivers/pcmcia/libpcmcia.o
+LIBS += drivers/power/libpower.o
+LIBS += drivers/spi/libspi.o
 ifeq ($(CPU),mpc83xx)
-LIBS += drivers/qe/qe.a
-LIBS += arch/powerpc/cpu/mpc8xxx/lib8xxx.a
+LIBS += drivers/qe/libqe.o
+LIBS += arch/powerpc/cpu/mpc8xxx/lib8xxx.o
 endif
 ifeq ($(CPU),mpc85xx)
-LIBS += drivers/qe/qe.a
-LIBS += arch/powerpc/cpu/mpc8xxx/ddr/libddr.a
-LIBS += arch/powerpc/cpu/mpc8xxx/lib8xxx.a
+LIBS += drivers/qe/libqe.o
+LIBS += arch/powerpc/cpu/mpc8xxx/ddr/libddr.o
+LIBS += arch/powerpc/cpu/mpc8xxx/lib8xxx.o
 endif
 ifeq ($(CPU),mpc86xx)
-LIBS += arch/powerpc/cpu/mpc8xxx/ddr/libddr.a
-LIBS += arch/powerpc/cpu/mpc8xxx/lib8xxx.a
+LIBS += arch/powerpc/cpu/mpc8xxx/ddr/libddr.o
+LIBS += arch/powerpc/cpu/mpc8xxx/lib8xxx.o
 endif
-LIBS += drivers/rtc/librtc.a
-LIBS += drivers/serial/libserial.a
-LIBS += drivers/twserial/libtws.a
-LIBS += drivers/usb/gadget/libusb_gadget.a
-LIBS += drivers/usb/host/libusb_host.a
-LIBS += drivers/usb/musb/libusb_musb.a
-LIBS += drivers/usb/phy/libusb_phy.a
-LIBS += drivers/video/libvideo.a
-LIBS += drivers/watchdog/libwatchdog.a
-LIBS += common/libcommon.a
-LIBS += lib/libfdt/libfdt.a
-LIBS += api/libapi.a
-LIBS += post/libpost.a
+LIBS += drivers/rtc/librtc.o
+LIBS += drivers/serial/libserial.o
+LIBS += drivers/twserial/libtws.o
+LIBS += drivers/usb/gadget/libusb_gadget.o
+LIBS += drivers/usb/host/libusb_host.o
+LIBS += drivers/usb/musb/libusb_musb.o
+LIBS += drivers/usb/phy/libusb_phy.o
+LIBS += drivers/video/libvideo.o
+LIBS += drivers/watchdog/libwatchdog.o
+LIBS += common/libcommon.o
+LIBS += lib/libfdt/libfdt.o
+LIBS += api/libapi.o
+LIBS += post/libpost.o
 
 ifeq ($(SOC),omap3)
-LIBS += $(CPUDIR)/omap-common/libomap-common.a
+LIBS += $(CPUDIR)/omap-common/libomap-common.o
 endif
 ifeq ($(SOC),omap4)
-LIBS += $(CPUDIR)/omap-common/libomap-common.a
+LIBS += $(CPUDIR)/omap-common/libomap-common.o
 endif
 
 ifeq ($(SOC),s5pc1xx)
-LIBS += $(CPUDIR)/s5p-common/libs5p-common.a
+LIBS += $(CPUDIR)/s5p-common/libs5p-common.o
 endif
 ifeq ($(SOC),s5pc2xx)
-LIBS += $(CPUDIR)/s5p-common/libs5p-common.a
+LIBS += $(CPUDIR)/s5p-common/libs5p-common.o
 endif
 
-LIBS := $(addprefix $(obj),$(LIBS))
+LIBS := $(addprefix $(obj),$(sort $(LIBS)))
 .PHONY : $(LIBS) $(TIMESTAMP_FILE) $(VERSION_FILE)
 
-LIBBOARD = board/$(BOARDDIR)/lib$(BOARD).a
+LIBBOARD = board/$(BOARDDIR)/lib$(BOARD).o
 LIBBOARD := $(addprefix $(obj),$(LIBBOARD))
 
 # Add GCC lib
 ifdef USE_PRIVATE_LIBGCC
 ifeq ("$(USE_PRIVATE_LIBGCC)", "yes")
-PLATFORM_LIBGCC = -L $(OBJTREE)/arch/$(ARCH)/lib -lgcc
+PLATFORM_LIBGCC = $(OBJTREE)/arch/$(ARCH)/lib/libgcc.o
 else
 PLATFORM_LIBGCC = -L $(USE_PRIVATE_LIBGCC) -lgcc
 endif
diff --git a/README b/README
index 1acf9a37eea34fe2db045b06f211c8130f654802..68f5fb09180ec39b4f87306a75e9902347e48cec 100644 (file)
--- a/README
+++ b/README
@@ -2836,15 +2836,15 @@ Low Level (hardware related) configuration options:
                globally (CONFIG_CMD_MEM).
 
 - CONFIG_SKIP_LOWLEVEL_INIT
-                [ARM only] If this variable is defined, then certain
-                low level initializations (like setting up the memory
-                controller) are omitted and/or U-Boot does not
-                relocate itself into RAM.
-
-                Normally this variable MUST NOT be defined. The only
-                exception is when U-Boot is loaded (to RAM) by some
-                other boot loader or by a debugger which performs
-                these initializations itself.
+               [ARM only] If this variable is defined, then certain
+               low level initializations (like setting up the memory
+               controller) are omitted and/or U-Boot does not
+               relocate itself into RAM.
+
+               Normally this variable MUST NOT be defined. The only
+               exception is when U-Boot is loaded (to RAM) by some
+               other boot loader or by a debugger which performs
+               these initializations itself.
 
 - CONFIG_PRELOADER
                Modifies the behaviour of start.S when compiling a loader
index 42168920725c6ff938f25963e4dcd0c557f72b7b..2a64c4ddf6fea109c56f741a7405f5e779afa12e 100644 (file)
@@ -22,7 +22,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)libapi.a
+LIB    = $(obj)libapi.o
 
 COBJS-$(CONFIG_API) += api.o api_net.o api_storage.o api_platform-$(ARCH).o
 
@@ -31,7 +31,7 @@ SRCS  := $(COBJS:.o=.c)
 OBJS   := $(addprefix $(obj),$(COBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 # defines $(obj).depend target
 include $(SRCTREE)/rules.mk
index 7701b03bbeb736a530a9ad970be5cbe01904f599..930e0d1bfc5d32fee79f3772508d0f1882433578 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(CPU).a
+LIB    = $(obj)lib$(CPU).o
 
 START  = start.o
 COBJS  = cpu.o
@@ -35,7 +35,7 @@ START := $(addprefix $(obj),$(START))
 all:   $(obj).depend $(START) $(LIB)
 
 $(LIB):        $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index c8e18f7f0259f98788f91ba9a75b3765bd50539d..eaed37136ac64d9c86e08ad4ca264eeb81937c39 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(SOC).a
+LIB    = $(obj)lib$(SOC).o
 
 COBJS  += generic.o
 COBJS  += timer.o
@@ -35,7 +35,7 @@ OBJS  := $(addprefix $(obj),$(SOBJS) $(COBJS))
 all:   $(obj).depend $(LIB)
 
 $(LIB):        $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 48dc7e3283371500b30d72fa95d2a7f08e105b9e..0776101443a20d82094d411db614896abcd2096c 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(SOC).a
+LIB    = $(obj)lib$(SOC).o
 
 SOBJS  = reset.o
 
@@ -35,7 +35,7 @@ OBJS  := $(addprefix $(obj),$(SOBJS) $(COBJS))
 all:   $(obj).depend $(LIB)
 
 $(LIB):        $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 1ca9199a642e2cf26fa9c614fb18c5b1056339ba..7ec869b9601d327a1b5e0abc066ecaa13fd31f53 100644 (file)
@@ -26,7 +26,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(CPU).a
+LIB    = $(obj)lib$(CPU).o
 
 START  = start.o
 COBJS  = cpu.o
@@ -38,7 +38,7 @@ START := $(addprefix $(obj),$(START))
 all:   $(obj).depend $(START) $(LIB)
 
 $(LIB):        $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index b52793913773187927ad4f668354a90348ff7d36..0785b194c50cd4894f6031ba03d98a67af0f9870 100644 (file)
@@ -26,7 +26,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(SOC).a
+LIB    = $(obj)lib$(SOC).o
 
 SOBJS  = reset.o
 
@@ -38,7 +38,7 @@ OBJS  := $(addprefix $(obj),$(SOBJS) $(COBJS-y))
 all:   $(obj).depend $(START) $(LIB)
 
 $(LIB):        $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index f04d2688814e238bf460f5a56bef9c11a4a9b24e..cd8f01637af621d292bedc0ee2ea1807ecf974fe 100644 (file)
@@ -123,34 +123,6 @@ _bss_start_ofs:
 _bss_end_ofs:
        .word _end - _start
 
-.globl _datarel_start_ofs
-_datarel_start_ofs:
-       .word __datarel_start - _start
-
-.globl _datarelrolocal_start_ofs
-_datarelrolocal_start_ofs:
-       .word __datarelrolocal_start - _start
-
-.globl _datarellocal_start_ofs
-_datarellocal_start_ofs:
-       .word __datarellocal_start - _start
-
-.globl _datarelro_start_ofs
-_datarelro_start_ofs:
-       .word __datarelro_start - _start
-
-.globl _rel_dyn_start_ofs
-_rel_dyn_start_ofs:
-       .word __rel_dyn_start - _start
-
-.globl _rel_dyn_end_ofs
-_rel_dyn_end_ofs:
-       .word __rel_dyn_end - _start
-
-.globl _dynsym_start_ofs
-_dynsym_start_ofs:
-       .word __dynsym_start - _start
-
 /* IRQ stack memory (calculated at run-time) + 8 bytes */
 .globl IRQ_STACK_START_IN
 IRQ_STACK_START_IN:
@@ -300,13 +272,13 @@ copy_loop:
        ldr     r3, _rel_dyn_end_ofs    /* r3 <- rel dyn end ofs */
        add     r3, r3, r0              /* r3 <- rel dyn end in FLASH */
 fixloop:
-       ldr     r0, [r2]        /* r0 <- location to fix up, IN FLASH! */
-       add     r0, r0, r9      /* r0 <- location to fix up in RAM */
+       ldr     r0, [r2]                /* r0 <- location to fix up, IN FLASH! */
+       add     r0, r0, r9              /* r0 <- location to fix up in RAM */
        ldr     r1, [r2, #4]
        and     r8, r1, #0xff
-       cmp     r8, #23         /* relative fixup? */
+       cmp     r8, #23                 /* relative fixup? */
        beq     fixrel
-       cmp     r8, #2          /* absolute fixup? */
+       cmp     r8, #2                  /* absolute fixup? */
        beq     fixabs
        /* ignore unknown type of fixup */
        b       fixnext
@@ -315,7 +287,7 @@ fixabs:
        mov     r1, r1, LSR #4          /* r1 <- symbol index in .dynsym */
        add     r1, r10, r1             /* r1 <- address of symbol in table */
        ldr     r1, [r1, #4]            /* r1 <- symbol value */
-       add     r1, r1, r9              /* r1 <- relocated sym addr */
+       add     r1, r9                  /* r1 <- relocated sym addr */
        b       fixnext
 fixrel:
        /* relative fix: increase location by offset */
@@ -323,7 +295,7 @@ fixrel:
        add     r1, r1, r9
 fixnext:
        str     r1, [r0]
-       add     r2, r2, #8      /* each rel.dyn entry is 8 bytes */
+       add     r2, r2, #8              /* each rel.dyn entry is 8 bytes */
        cmp     r2, r3
        blo     fixloop
 #endif
@@ -408,6 +380,13 @@ _board_init_r_ofs:
        .word board_init_r - _start
 #endif
 
+_rel_dyn_start_ofs:
+       .word __rel_dyn_start - _start
+_rel_dyn_end_ofs:
+       .word __rel_dyn_end - _start
+_dynsym_start_ofs:
+       .word __dynsym_start - _start
+
 #ifdef CONFIG_ENABLE_MMU
 _mmu_table_base:
        .word mmu_table
index fe9d8a0dcd617252acd742a1c28cf5235be45025..c63dc925efb725eea21858c7b13217e0da201081 100644 (file)
@@ -19,7 +19,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(SOC).a
+LIB    = $(obj)lib$(SOC).o
 
 COBJS  += aemif.o clock.o init.o mux.o timer.o wdt.o
 SOBJS  += lowlevel_init.o
@@ -32,7 +32,7 @@ START := $(addprefix $(obj),$(START))
 all:   $(obj).depend $(LIB)
 
 $(LIB):        $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index d5ac7d3fd980e66e909bbe55dadaf3c3906c3737..1a097b5d985a7d78c688b0bb81c5471c26ef7faf 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(CPU).a
+LIB    = $(obj)lib$(CPU).o
 
 START  = start.o
 COBJS  = interrupts.o cpu.o
@@ -35,7 +35,7 @@ START := $(addprefix $(obj),$(START))
 all:   $(obj).depend $(START) $(LIB)
 
 $(LIB):        $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 240f1e3b3b5ef66dc413442f09c04c3fa6a3eb5b..1b930086856f0b578db592ac4ca10947f7314f31 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(SOC).a
+LIB    = $(obj)lib$(SOC).o
 
 COBJS  = flash.o mmc.o mmc_hw.o spi.o
 SOBJS  = $(obj)iap_entry.o
@@ -34,7 +34,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 all:   $(obj).depend $(LIB)
 
 $(LIB):        $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 # this MUST be compiled as thumb code!
 $(SOBJS):
index c099036351d989f726948bfe77f16dd9dbdf2530..5c6df08b1a9f16e6433ae807a34917441aa0a8e7 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(SOC).a
+LIB    = $(obj)lib$(SOC).o
 
 COBJS-y        += cache.o
 
@@ -33,7 +33,7 @@ OBJS  := $(addprefix $(obj),$(SOBJS) $(COBJS-y))
 all:   $(obj).depend $(LIB)
 
 $(LIB):        $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 8cd267b352a215bfcad139d75d40802066c599cc..46050dab6e9bca9f4b2435274b81725afdabb568 100644 (file)
@@ -81,14 +81,17 @@ _TEXT_BASE:
 
 /*
  * These are defined in the board-specific linker script.
+ * Subtracting _start from them lets the linker put their
+ * relative position in the executable instead of leaving
+ * them null.
  */
-.globl _bss_start
-_bss_start:
-       .word __bss_start
+.globl _bss_start_ofs
+_bss_start_ofs:
+       .word __bss_start - _start
 
-.globl _bss_end
-_bss_end:
-       .word _end
+.globl _bss_end_ofs
+_bss_end_ofs:
+       .word _end - _start
 
 #ifdef CONFIG_USE_IRQ
 /* IRQ stack memory (calculated at run-time) */
@@ -107,30 +110,6 @@ FIQ_STACK_START:
 IRQ_STACK_START_IN:
        .word   0x0badc0de
 
-.globl _datarel_start
-_datarel_start:
-       .word __datarel_start
-
-.globl _datarelrolocal_start
-_datarelrolocal_start:
-       .word __datarelrolocal_start
-
-.globl _datarellocal_start
-_datarellocal_start:
-       .word __datarellocal_start
-
-.globl _datarelro_start
-_datarelro_start:
-       .word __datarelro_start
-
-.globl _got_start
-_got_start:
-       .word __got_start
-
-.globl _got_end
-_got_end:
-       .word __got_end
-
 /*
  * the actual reset code
  */
@@ -184,9 +163,8 @@ stack_setup:
 
        adr     r0, _start
        ldr     r2, _TEXT_BASE
-       ldr     r3, _bss_start
-       sub     r2, r3, r2              /* r2 <- size of armboot            */
-       add     r2, r0, r2              /* r2 <- source end address         */
+       ldr     r3, _bss_start_ofs
+       add     r2, r0, r3              /* r2 <- source end address         */
        cmp     r0, r6
        beq     clear_bss
 
@@ -197,35 +175,53 @@ copy_loop:
        blo     copy_loop
 
 #ifndef CONFIG_PRELOADER
-       /* fix got entries */
-       ldr     r1, _TEXT_BASE          /* Text base */
-       mov     r0, r7                  /* reloc addr */
-       ldr     r2, _got_start          /* addr in Flash */
-       ldr     r3, _got_end            /* addr in Flash */
-       sub     r3, r3, r1
-       add     r3, r3, r0
-       sub     r2, r2, r1
-       add     r2, r2, r0
-
+       /*
+        * fix .rel.dyn relocations
+        */
+       ldr     r0, _TEXT_BASE          /* r0 <- Text base */
+       sub     r9, r7, r0              /* r9 <- relocation offset */
+       ldr     r10, _dynsym_start_ofs  /* r10 <- sym table ofs */
+       add     r10, r10, r0            /* r10 <- sym table in FLASH */
+       ldr     r2, _rel_dyn_start_ofs  /* r2 <- rel dyn start ofs */
+       add     r2, r2, r0              /* r2 <- rel dyn start in FLASH */
+       ldr     r3, _rel_dyn_end_ofs    /* r3 <- rel dyn end ofs */
+       add     r3, r3, r0              /* r3 <- rel dyn end in FLASH */
 fixloop:
-       ldr     r4, [r2]
-       sub     r4, r4, r1
-       add     r4, r4, r0
-       str     r4, [r2]
-       add     r2, r2, #4
+       ldr     r0, [r2]                /* r0 <- location to fix up, IN FLASH! */
+       add     r0, r0, r9              /* r0 <- location to fix up in RAM */
+       ldr     r1, [r2, #4]
+       and     r8, r1, #0xff
+       cmp     r8, #23                 /* relative fixup? */
+       beq     fixrel
+       cmp     r8, #2                  /* absolute fixup? */
+       beq     fixabs
+       /* ignore unknown type of fixup */
+       b       fixnext
+fixabs:
+       /* absolute fix: set location to (offset) symbol value */
+       mov     r1, r1, LSR #4          /* r1 <- symbol index in .dynsym */
+       add     r1, r10, r1             /* r1 <- address of symbol in table */
+       ldr     r1, [r1, #4]            /* r1 <- symbol value */
+       add     r1, r9                  /* r1 <- relocated sym addr */
+       b       fixnext
+fixrel:
+       /* relative fix: increase location by offset */
+       ldr     r1, [r0]
+       add     r1, r1, r9
+fixnext:
+       str     r1, [r0]
+       add     r2, r2, #8              /* each rel.dyn entry is 8 bytes */
        cmp     r2, r3
        blo     fixloop
 #endif
 
 clear_bss:
 #ifndef CONFIG_PRELOADER
-       ldr     r0, _bss_start
-       ldr     r1, _bss_end
+       ldr     r0, _bss_start_ofs
+       ldr     r1, _bss_end_ofs
        ldr     r3, _TEXT_BASE          /* Text base */
        mov     r4, r7                  /* reloc addr */
-       sub     r0, r0, r3
        add     r0, r0, r4
-       sub     r1, r1, r3
        add     r1, r1, r4
        mov     r2, #0x00000000         /* clear                            */
 
@@ -242,18 +238,25 @@ clbss_l:str       r2, [r0]                /* clear loop...                    */
  * We are done. Do not return, instead branch to second part of board
  * initialization, now running from RAM.
  */
-       ldr     r0, _TEXT_BASE
-       ldr     r2, _board_init_r
-       sub     r2, r2, r0
-       add     r2, r2, r7      /* position from board_init_r in RAM */
+       ldr     r0, _board_init_r_ofs
+       adr     r1, _start
+       add     lr, r0, r1
+       add     lr, lr, r9
        /* setup parameters for board_init_r */
        mov     r0, r5          /* gd_t */
        mov     r1, r7          /* dest_addr */
        /* jump to it ... */
-       mov     lr, r2
        mov     pc, lr
 
-_board_init_r: .word board_init_r
+_board_init_r_ofs:
+       .word board_init_r - _start
+
+_rel_dyn_start_ofs:
+       .word __rel_dyn_start - _start
+_rel_dyn_end_ofs:
+       .word __rel_dyn_end - _start
+_dynsym_start_ofs:
+       .word __dynsym_start - _start
 
 /*
  *************************************************************************
index 4a0bc70c77090403103dca9add52f188f16a6beb..0686e423e243bfbb9939d9a57dd5310db6b82c55 100644 (file)
@@ -40,29 +40,38 @@ SECTIONS
 
        . = ALIGN(4);
        .data : {
-               *(.data)
-       __datarel_start = .;
-               *(.data.rel)
-       __datarelrolocal_start = .;
-               *(.data.rel.ro.local)
-       __datarellocal_start = .;
-               *(.data.rel.local)
-       __datarelro_start = .;
-               *(.data.rel.ro)
        }
 
-       __got_start = .;
        . = ALIGN(4);
-       .got : { *(.got) }
 
-       __got_end = .;
        . = .;
        __u_boot_cmd_start = .;
        .u_boot_cmd : { *(.u_boot_cmd) }
        __u_boot_cmd_end = .;
 
        . = ALIGN(4);
-       __bss_start = .;
-       .bss (NOLOAD) : { *(.bss) . = ALIGN(4); }
-       _end = .;
+
+       .rel.dyn : {
+               __rel_dyn_start = .;
+               *(.rel*)
+               __rel_dyn_end = .;
+       }
+
+       .dynsym : {
+               __dynsym_start = .;
+               *(.dynsym)
+       }
+
+       .bss __rel_dyn_start (OVERLAY) : {
+               __bss_start = .;
+               *(.bss)
+                . = ALIGN(4);
+               _end = .;
+       }
+
+       /DISCARD/ : { *(.dynstr*) }
+       /DISCARD/ : { *(.dynamic*) }
+       /DISCARD/ : { *(.plt*) }
+       /DISCARD/ : { *(.interp*) }
+       /DISCARD/ : { *(.gnu*) }
 }
index cbb13b2a4c8f697040323b5d0c1845f3ef0790ce..dcc7782f58786bca35ec119920924a0d74c6e6b7 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(CPU).a
+LIB    = $(obj)lib$(CPU).o
 
 START  = start.o
 
@@ -37,7 +37,7 @@ START := $(addprefix $(obj),$(START))
 all:   $(obj).depend $(START) $(LIB)
 
 $(LIB):        $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index f030c53626004733091e9b6040430465c5ab8908..31da706e593644f8c5a2e25e9d6e81a0bb955c13 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(SOC).a
+LIB    = $(obj)lib$(SOC).o
 
 SOBJS  += reset.o
 COBJS  += timer.o
@@ -35,7 +35,7 @@ OBJS  := $(addprefix $(obj),$(SOBJS) $(COBJS))
 all:   $(obj).depend $(LIB)
 
 $(LIB):        $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index d8a4383650f65860b258ccbe8c7d20553709b4a5..5c71b7774724954e19b4420b065dd22b91a1ff4f 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(SOC).a
+LIB    = $(obj)lib$(SOC).o
 
 SOBJS  += lowlevel_init.o
 COBJS  += reset.o
@@ -35,7 +35,7 @@ OBJS  := $(addprefix $(obj),$(SOBJS) $(COBJS))
 all:   $(obj).depend $(LIB)
 
 $(LIB):        $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 114d8adeb2fa9f3025516ef3dd2f6df3069740a2..7530e6ac321b9b59adc33aaa79fd58851bd433cd 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(SOC).a
+LIB    = $(obj)lib$(SOC).o
 
 SOBJS  += lowlevel_init.o
 
@@ -44,7 +44,7 @@ OBJS  := $(addprefix $(obj),$(SOBJS) $(COBJS) $(COBJS-y))
 all:   $(obj).depend $(LIB)
 
 $(LIB):        $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 01a2f5555a757dd58d7bd16d7d9e44d7fb021b0e..1d6a538fd2a06004b8d7355c2864bdc171e8323d 100644 (file)
@@ -32,7 +32,7 @@
 #
 include $(TOPDIR)/config.mk
 
-LIB = $(obj)lib$(SOC).a
+LIB = $(obj)lib$(SOC).o
 
 COBJS   = cpu.o led.o speed.o timer.o
 SOBJS   = lowlevel_init.o
@@ -43,7 +43,7 @@ OBJS    := $(addprefix $(obj),$(SOBJS) $(COBJS))
 all:    $(obj).depend $(LIB)
 
 $(LIB): $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 28945e22cb8f67bfd120aebd49db259ddb22b384..32b41b33508bb31120e5a9246a53f660a15e41b6 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(SOC).a
+LIB    = $(obj)lib$(SOC).o
 
 COBJS  += generic.o
 COBJS  += speed.o
@@ -35,7 +35,7 @@ OBJS  := $(addprefix $(obj),$(SOBJS) $(COBJS))
 all:   $(obj).depend $(LIB)
 
 $(LIB):        $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index f53fdc2b2511f695c7aa26017401e83f0f1133fb..00ce62bf61c44080a8ba8d29a6eaa58ec4742fb0 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(SOC).a
+LIB    = $(obj)lib$(SOC).o
 
 SOBJS  = lowlevel_init.o
 
@@ -35,7 +35,7 @@ OBJS  := $(addprefix $(obj),$(SOBJS) $(COBJS))
 all:   $(obj).depend $(LIB)
 
 $(LIB):        $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 7e8d6ed5f2f9e0872daea1501dc4851379561759..bd53724b5126a7652e6db82ffebc52cd3dd844b1 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(SOC).a
+LIB    = $(obj)lib$(SOC).o
 
 COBJS-$(CONFIG_USE_IRQ) += interrupts.o
 COBJS-y        += speed.o
@@ -38,7 +38,7 @@ OBJS  := $(addprefix $(obj),$(SOBJS) $(COBJS-y))
 all:   $(obj).depend $(LIB)
 
 $(LIB):        $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index d4edde797b7b24327f1db896b374e59eddf071d5..01edb9bdcbeaf04336a0a0c477c7da986f39221d 100644 (file)
@@ -77,14 +77,17 @@ _TEXT_BASE:
 
 /*
  * These are defined in the board-specific linker script.
+ * Subtracting _start from them lets the linker put their
+ * relative position in the executable instead of leaving
+ * them null.
  */
-.globl _bss_start
-_bss_start:
-       .word __bss_start
+.globl _bss_start_ofs
+_bss_start_ofs:
+       .word __bss_start - _start
 
-.globl _bss_end
-_bss_end:
-       .word _end
+.globl _bss_end_ofs
+_bss_end_ofs:
+       .word _end - _start
 
 #ifdef CONFIG_USE_IRQ
 /* IRQ stack memory (calculated at run-time) */
@@ -103,30 +106,6 @@ FIQ_STACK_START:
 IRQ_STACK_START_IN:
        .word   0x0badc0de
 
-.globl _datarel_start
-_datarel_start:
-       .word __datarel_start
-
-.globl _datarelrolocal_start
-_datarelrolocal_start:
-       .word __datarelrolocal_start
-
-.globl _datarellocal_start
-_datarellocal_start:
-       .word __datarellocal_start
-
-.globl _datarelro_start
-_datarelro_start:
-       .word __datarelro_start
-
-.globl _got_start
-_got_start:
-       .word __got_start
-
-.globl _got_end
-_got_end:
-       .word __got_end
-
 /*
  * the actual start code
  */
@@ -230,9 +209,8 @@ stack_setup:
 
        adr     r0, _start
        ldr     r2, _TEXT_BASE
-       ldr     r3, _bss_start
-       sub     r2, r3, r2              /* r2 <- size of armboot            */
-       add     r2, r0, r2              /* r2 <- source end address         */
+       ldr     r3, _bss_start_ofs
+       add     r2, r0, r3              /* r2 <- source end address         */
        cmp     r0, r6
        beq     clear_bss
 
@@ -243,35 +221,53 @@ copy_loop:
        blo     copy_loop
 
 #ifndef CONFIG_PRELOADER
-       /* fix got entries */
-       ldr     r1, _TEXT_BASE          /* Text base */
-       mov     r0, r7                  /* reloc addr */
-       ldr     r2, _got_start          /* addr in Flash */
-       ldr     r3, _got_end            /* addr in Flash */
-       sub     r3, r3, r1
-       add     r3, r3, r0
-       sub     r2, r2, r1
-       add     r2, r2, r0
-
+       /*
+        * fix .rel.dyn relocations
+        */
+       ldr     r0, _TEXT_BASE          /* r0 <- Text base */
+       sub     r9, r7, r0              /* r9 <- relocation offset */
+       ldr     r10, _dynsym_start_ofs  /* r10 <- sym table ofs */
+       add     r10, r10, r0            /* r10 <- sym table in FLASH */
+       ldr     r2, _rel_dyn_start_ofs  /* r2 <- rel dyn start ofs */
+       add     r2, r2, r0              /* r2 <- rel dyn start in FLASH */
+       ldr     r3, _rel_dyn_end_ofs    /* r3 <- rel dyn end ofs */
+       add     r3, r3, r0              /* r3 <- rel dyn end in FLASH */
 fixloop:
-       ldr     r4, [r2]
-       sub     r4, r4, r1
-       add     r4, r4, r0
-       str     r4, [r2]
-       add     r2, r2, #4
+       ldr     r0, [r2]                /* r0 <- location to fix up, IN FLASH! */
+       add     r0, r0, r9              /* r0 <- location to fix up in RAM */
+       ldr     r1, [r2, #4]
+       and     r8, r1, #0xff
+       cmp     r8, #23                 /* relative fixup? */
+       beq     fixrel
+       cmp     r8, #2                  /* absolute fixup? */
+       beq     fixabs
+       /* ignore unknown type of fixup */
+       b       fixnext
+fixabs:
+       /* absolute fix: set location to (offset) symbol value */
+       mov     r1, r1, LSR #4          /* r1 <- symbol index in .dynsym */
+       add     r1, r10, r1             /* r1 <- address of symbol in table */
+       ldr     r1, [r1, #4]            /* r1 <- symbol value */
+       add     r1, r9                  /* r1 <- relocated sym addr */
+       b       fixnext
+fixrel:
+       /* relative fix: increase location by offset */
+       ldr     r1, [r0]
+       add     r1, r1, r9
+fixnext:
+       str     r1, [r0]
+       add     r2, r2, #8              /* each rel.dyn entry is 8 bytes */
        cmp     r2, r3
        blo     fixloop
 #endif
 
 clear_bss:
 #ifndef CONFIG_PRELOADER
-       ldr     r0, _bss_start
-       ldr     r1, _bss_end
+       ldr     r0, _bss_start_ofs
+       ldr     r1, _bss_end_ofs
        ldr     r3, _TEXT_BASE          /* Text base */
        mov     r4, r7                  /* reloc addr */
-       sub     r0, r0, r3
        add     r0, r0, r4
-       sub     r1, r1, r3
        add     r1, r1, r4
        mov     r2, #0x00000000         /* clear                            */
 
@@ -289,24 +285,33 @@ clbss_l:str       r2, [r0]                /* clear loop...                    */
  * initialization, now running from RAM.
  */
 #ifdef CONFIG_NAND_SPL
-       ldr     pc, _nand_boot
+       ldr     r0, _nand_boot_ofs
+       mov     pc, r0
 
-_nand_boot: .word nand_boot
+_nand_boot_ofs:
+       .word nand_boot
 #else
-       ldr     r0, _TEXT_BASE
-       ldr     r2, _board_init_r
-       sub     r2, r2, r0
-       add     r2, r2, r7      /* position from board_init_r in RAM */
+       ldr     r0, _board_init_r_ofs
+       adr     r1, _start
+       add     lr, r0, r1
+       add     lr, lr, r9
        /* setup parameters for board_init_r */
        mov     r0, r5          /* gd_t */
        mov     r1, r7          /* dest_addr */
        /* jump to it ... */
-       mov     lr, r2
        mov     pc, lr
 
-_board_init_r: .word board_init_r
+_board_init_r_ofs:
+       .word board_init_r - _start
 #endif
 
+_rel_dyn_start_ofs:
+       .word __rel_dyn_start - _start
+_rel_dyn_end_ofs:
+       .word __rel_dyn_end - _start
+_dynsym_start_ofs:
+       .word __dynsym_start - _start
+
 /*
  *************************************************************************
  *
index 69854347952f11a6bed118d61bc6414b28ab7f2b..a6f8b56a3ab106097e960909529842f87c608701 100644 (file)
@@ -49,28 +49,38 @@ SECTIONS
        . = ALIGN(4);
        .data : {
                *(.data)
-       __datarel_start = .;
-               *(.data.rel)
-       __datarelrolocal_start = .;
-               *(.data.rel.ro.local)
-       __datarellocal_start = .;
-               *(.data.rel.local)
-       __datarelro_start = .;
-               *(.data.rel.ro)
        }
 
-       __got_start = .;
        . = ALIGN(4);
-       .got : { *(.got) }
 
-       __got_end = .;
        . = .;
        __u_boot_cmd_start = .;
        .u_boot_cmd : { *(.u_boot_cmd) }
        __u_boot_cmd_end = .;
 
        . = ALIGN(4);
-       __bss_start = .;
-       .bss (NOLOAD) : { *(.bss) . = ALIGN(4); }
-       _end = .;
+
+       .rel.dyn : {
+               __rel_dyn_start = .;
+               *(.rel*)
+               __rel_dyn_end = .;
+       }
+
+       .dynsym : {
+               __dynsym_start = .;
+               *(.dynsym)
+       }
+
+       .bss __rel_dyn_start (OVERLAY) : {
+               __bss_start = .;
+               *(.bss)
+                . = ALIGN(4);
+               _end = .;
+       }
+
+       /DISCARD/ : { *(.dynstr*) }
+       /DISCARD/ : { *(.dynamic*) }
+       /DISCARD/ : { *(.plt*) }
+       /DISCARD/ : { *(.interp*) }
+       /DISCARD/ : { *(.gnu*) }
 }
index 8d0e88f902601a8c1f004aa30c994b16ec6a0167..29465c2dcf9635ff3053fae1dfc4b0e4087144f7 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(CPU).a
+LIB    = $(obj)lib$(CPU).o
 
 START  = start.o
 
@@ -38,7 +38,7 @@ START := $(addprefix $(obj),$(START))
 all:   $(obj).depend $(START) $(LIB)
 
 $(LIB):        $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 51229c61544383f58a1e84295f2f6971e5fc202f..ce590a703823fc3e64e8c2658f7dc5aaf7f72552 100644 (file)
@@ -87,14 +87,17 @@ _TEXT_BASE:
 
 /*
  * These are defined in the board-specific linker script.
+ * Subtracting _start from them lets the linker put their
+ * relative position in the executable instead of leaving
+ * them null.
  */
-.globl _bss_start
-_bss_start:
-       .word __bss_start
+.globl _bss_start_ofs
+_bss_start_ofs:
+       .word __bss_start - _start
 
-.globl _bss_end
-_bss_end:
-       .word _end
+.globl _bss_end_ofs
+_bss_end_ofs:
+       .word _end - _start
 
 #ifdef CONFIG_USE_IRQ
 /* IRQ stack memory (calculated at run-time) */
@@ -113,30 +116,6 @@ FIQ_STACK_START:
 IRQ_STACK_START_IN:
        .word   0x0badc0de
 
-.globl _datarel_start
-_datarel_start:
-       .word __datarel_start
-
-.globl _datarelrolocal_start
-_datarelrolocal_start:
-       .word __datarelrolocal_start
-
-.globl _datarellocal_start
-_datarellocal_start:
-       .word __datarellocal_start
-
-.globl _datarelro_start
-_datarelro_start:
-       .word __datarelro_start
-
-.globl _got_start
-_got_start:
-       .word __got_start
-
-.globl _got_end
-_got_end:
-       .word __got_end
-
 /*
  * the actual reset code
  */
@@ -221,9 +200,8 @@ stack_setup:
 
        adr     r0, _start
        ldr     r2, _TEXT_BASE
-       ldr     r3, _bss_start
-       sub     r2, r3, r2              /* r2 <- size of armboot            */
-       add     r2, r0, r2              /* r2 <- source end address         */
+       ldr     r3, _bss_start_ofs
+       add     r2, r0, r3              /* r2 <- source end address         */
        cmp     r0, r6
        beq     clear_bss
 
@@ -234,35 +212,53 @@ copy_loop:
        blo     copy_loop
 
 #ifndef CONFIG_PRELOADER
-       /* fix got entries */
-       ldr     r1, _TEXT_BASE          /* Text base */
-       mov     r0, r7                  /* reloc addr */
-       ldr     r2, _got_start          /* addr in Flash */
-       ldr     r3, _got_end            /* addr in Flash */
-       sub     r3, r3, r1
-       add     r3, r3, r0
-       sub     r2, r2, r1
-       add     r2, r2, r0
-
+       /*
+        * fix .rel.dyn relocations
+        */
+       ldr     r0, _TEXT_BASE          /* r0 <- Text base */
+       sub     r9, r7, r0              /* r9 <- relocation offset */
+       ldr     r10, _dynsym_start_ofs  /* r10 <- sym table ofs */
+       add     r10, r10, r0            /* r10 <- sym table in FLASH */
+       ldr     r2, _rel_dyn_start_ofs  /* r2 <- rel dyn start ofs */
+       add     r2, r2, r0              /* r2 <- rel dyn start in FLASH */
+       ldr     r3, _rel_dyn_end_ofs    /* r3 <- rel dyn end ofs */
+       add     r3, r3, r0              /* r3 <- rel dyn end in FLASH */
 fixloop:
-       ldr     r4, [r2]
-       sub     r4, r4, r1
-       add     r4, r4, r0
-       str     r4, [r2]
-       add     r2, r2, #4
+       ldr     r0, [r2]                /* r0 <- location to fix up, IN FLASH! */
+       add     r0, r0, r9              /* r0 <- location to fix up in RAM */
+       ldr     r1, [r2, #4]
+       and     r8, r1, #0xff
+       cmp     r8, #23                 /* relative fixup? */
+       beq     fixrel
+       cmp     r8, #2                  /* absolute fixup? */
+       beq     fixabs
+       /* ignore unknown type of fixup */
+       b       fixnext
+fixabs:
+       /* absolute fix: set location to (offset) symbol value */
+       mov     r1, r1, LSR #4          /* r1 <- symbol index in .dynsym */
+       add     r1, r10, r1             /* r1 <- address of symbol in table */
+       ldr     r1, [r1, #4]            /* r1 <- symbol value */
+       add     r1, r9                  /* r1 <- relocated sym addr */
+       b       fixnext
+fixrel:
+       /* relative fix: increase location by offset */
+       ldr     r1, [r0]
+       add     r1, r1, r9
+fixnext:
+       str     r1, [r0]
+       add     r2, r2, #8              /* each rel.dyn entry is 8 bytes */
        cmp     r2, r3
        blo     fixloop
 #endif
 
 clear_bss:
 #ifndef CONFIG_PRELOADER
-       ldr     r0, _bss_start
-       ldr     r1, _bss_end
+       ldr     r0, _bss_start_ofs
+       ldr     r1, _bss_end_ofs
        ldr     r3, _TEXT_BASE          /* Text base */
        mov     r4, r7                  /* reloc addr */
-       sub     r0, r0, r3
        add     r0, r0, r4
-       sub     r1, r1, r3
        add     r1, r1, r4
        mov     r2, #0x00000000         /* clear                            */
 
@@ -271,6 +267,8 @@ clbss_l:str r2, [r0]                /* clear loop...                    */
        cmp     r0, r1
        bne     clbss_l
 
+       bl coloured_LED_init
+       bl red_LED_on
 #endif
 
 /*
@@ -278,24 +276,33 @@ clbss_l:str       r2, [r0]                /* clear loop...                    */
  * initialization, now running from RAM.
  */
 #ifdef CONFIG_NAND_SPL
-       ldr     pc, _nand_boot
+       ldr     r0, _nand_boot_ofs
+       mov     pc, r0
 
-_nand_boot: .word nand_boot
+_nand_boot_ofs:
+       .word nand_boot
 #else
-       ldr     r0, _TEXT_BASE
-       ldr     r2, _board_init_r
-       sub     r2, r2, r0
-       add     r2, r2, r7      /* position from board_init_r in RAM */
+       ldr     r0, _board_init_r_ofs
+       adr     r1, _start
+       add     lr, r0, r1
+       add     lr, lr, r9
        /* setup parameters for board_init_r */
        mov     r0, r5          /* gd_t */
        mov     r1, r7          /* dest_addr */
        /* jump to it ... */
-       mov     lr, r2
        mov     pc, lr
 
-_board_init_r: .word board_init_r
+_board_init_r_ofs:
+       .word board_init_r - _start
 #endif
 
+_rel_dyn_start_ofs:
+       .word __rel_dyn_start - _start
+_rel_dyn_end_ofs:
+       .word __rel_dyn_end - _start
+_dynsym_start_ofs:
+       .word __dynsym_start - _start
+
 /*
  *************************************************************************
  *
index 1c4e9bcfb5055f9d42e010ca057b8b6f2a1ee857..7b53edb9be10e7c60bffec36cbf2a785e6b89ad0 100644 (file)
@@ -44,28 +44,38 @@ SECTIONS
        . = ALIGN(4);
        .data : {
                *(.data)
-       __datarel_start = .;
-               *(.data.rel)
-       __datarelrolocal_start = .;
-               *(.data.rel.ro.local)
-       __datarellocal_start = .;
-               *(.data.rel.local)
-       __datarelro_start = .;
-               *(.data.rel.ro)
        }
 
-       __got_start = .;
        . = ALIGN(4);
-       .got : { *(.got) }
 
-       __got_end = .;
        . = .;
        __u_boot_cmd_start = .;
        .u_boot_cmd : { *(.u_boot_cmd) }
        __u_boot_cmd_end = .;
 
        . = ALIGN(4);
-       __bss_start = .;
-       .bss (NOLOAD) : { *(.bss) . = ALIGN(4); }
-       _end = .;
+
+       .rel.dyn : {
+               __rel_dyn_start = .;
+               *(.rel*)
+               __rel_dyn_end = .;
+       }
+
+       .dynsym : {
+               __dynsym_start = .;
+               *(.dynsym)
+       }
+
+       .bss __rel_dyn_start (OVERLAY) : {
+               __bss_start = .;
+               *(.bss)
+                . = ALIGN(4);
+               _end = .;
+       }
+
+       /DISCARD/ : { *(.dynstr*) }
+       /DISCARD/ : { *(.dynamic*) }
+       /DISCARD/ : { *(.plt*) }
+       /DISCARD/ : { *(.interp*) }
+       /DISCARD/ : { *(.gnu*) }
 }
index 7701b03bbeb736a530a9ad970be5cbe01904f599..930e0d1bfc5d32fee79f3772508d0f1882433578 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(CPU).a
+LIB    = $(obj)lib$(CPU).o
 
 START  = start.o
 COBJS  = cpu.o
@@ -35,7 +35,7 @@ START := $(addprefix $(obj),$(START))
 all:   $(obj).depend $(START) $(LIB)
 
 $(LIB):        $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index def3980b63496ab3cbca212a1d856f6c82953976..be9f6dddf05e21a3ef667a2ae1da5af94541a3e6 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(SOC).a
+LIB    = $(obj)lib$(SOC).o
 
 COBJS-$(CONFIG_AT91CAP9)       += at91cap9_devices.o
 COBJS-$(CONFIG_AT91SAM9260)    += at91sam9260_devices.o
@@ -51,7 +51,7 @@ OBJS    := $(addprefix $(obj),$(SOBJS-y) $(COBJS-y))
 all:   $(obj).depend $(LIB)
 
 $(LIB):        $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index d7e9e2ca047d3ca0c94061213051bd7b9e12c95e..4eb1d876eafd8e14478114c79255555a327c1322 100644 (file)
@@ -25,7 +25,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(SOC).a
+LIB    = $(obj)lib$(SOC).o
 
 COBJS-y                                += cpu.o timer.o psc.o
 COBJS-$(CONFIG_SOC_DM355)      += dm355.o
@@ -47,7 +47,7 @@ START := $(addprefix $(obj),$(START))
 all:   $(obj).depend $(LIB)
 
 $(LIB):        $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index fc2cc0300170d08252c987d2844e71730952c638..07542975e68b8a259a8caef81a575eef81f4fdaf 100644 (file)
@@ -24,7 +24,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(SOC).a
+LIB    = $(obj)lib$(SOC).o
 
 COBJS-y        = cpu.o
 COBJS-y        += dram.o
@@ -37,7 +37,7 @@ OBJS  := $(addprefix $(obj),$(SOBJS) $(COBJS-y))
 all:   $(obj).depend $(LIB)
 
 $(LIB):        $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index ce3e5a5a5acfc595afeb173cf923226c8401d982..bab048bfd5f0b6cc66d94bf9b3001c15fc9158d8 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(SOC).a
+LIB    = $(obj)lib$(SOC).o
 
 COBJS  = clock.o reset.o timer.o
 SOBJS  =
@@ -35,7 +35,7 @@ START := $(addprefix $(obj),$(START))
 all:   $(obj).depend $(LIB)
 
 $(LIB):        $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 76f01791a0a35a82c09d0e62c14e5a77a204eab3..38d7f03ab2bf6af0fc6b89239b6bb73d5109d247 100644 (file)
@@ -22,7 +22,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(SOC).a
+LIB    = $(obj)lib$(SOC).o
 
 COBJS  = generic.o timer.o
 MX27OBJS = reset.o
@@ -34,7 +34,7 @@ OBJS  := $(addprefix $(obj),$(SOBJS) $(COBJS) $(MX27OBJS))
 all:   $(obj).depend $(LIB)
 
 $(LIB):        $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 67d1b0e30376be3e0e765e6f1259caca646de76b..0e112b34f4d7a49b173a84662dc729165bffcd93 100644 (file)
@@ -22,7 +22,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(SOC).a
+LIB    = $(obj)lib$(SOC).o
 
 COBJS  = generic.o reset.o timer.o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(SOBJS) $(COBJS))
 all:   $(obj).depend $(LIB)
 
 $(LIB):        $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 0fc9f2a4c1f7c734baf65ed99dffb8f45065cb1a..1c1f58e1c3a59241b1093845a9246b1e90feb759 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(SOC).a
+LIB    = $(obj)lib$(SOC).o
 
 COBJS  = timer.o gpio.o
 SOBJS  = reset.o
@@ -34,7 +34,7 @@ OBJS  := $(addprefix $(obj),$(COBJS)) $(addprefix $(obj),$(SOBJS))
 all:   $(obj).depend $(LIB)
 
 $(LIB):        $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 74aea741892e93ebf4754ec10ed500031bc2cae2..862ca0276dd8be2a87d937fd23dbe6da87c0720e 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(SOC).a
+LIB    = $(obj)lib$(SOC).o
 
 COBJS  = timer.o cpuinfo.o
 SOBJS  = reset.o
@@ -35,7 +35,7 @@ START := $(addprefix $(obj),$(START))
 all:   $(obj).depend $(LIB)
 
 $(LIB):        $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 11f4141bffdacc9e71cbbc8557dbd6020559c9b4..e5a9994e6bc072ba604025fcaa0a35790dd43985 100644 (file)
@@ -27,7 +27,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(SOC).a
+LIB    = $(obj)lib$(SOC).o
 
 COBJS-y        = cpu.o
 COBJS-y        += dram.o
@@ -43,7 +43,7 @@ OBJS  := $(addprefix $(obj),$(SOBJS) $(COBJS-y))
 all:   $(obj).depend $(LIB)
 
 $(LIB):        $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index bf8dfa8c3ca911713eeb3e4bed98ae06f298e9c0..1cbff43d63e7a462e354342be5f5660c7c71a64b 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(SOC).a
+LIB    = $(obj)lib$(SOC).o
 
 COBJS  := reset.o \
           timer.o
@@ -34,7 +34,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index c335d5c8665363cf51b45d1b1d6a9816fa21b583..64e6aae229e0d66b2e3e6e3c6447af59624b57f3 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(SOC).a
+LIB    = $(obj)lib$(SOC).o
 
 COBJS  = timer.o
 SOBJS  = reset.o
@@ -35,7 +35,7 @@ START := $(addprefix $(obj),$(START))
 all:   $(obj).depend $(LIB)
 
 $(LIB):        $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index e81f2da29d16fda05d69a09b6943d35c9ae1de86..d4747f3c0e45aaf768ec7788779644a2eed53862 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(CPU).a
+LIB    = $(obj)lib$(CPU).o
 
 START  = start.o
 
@@ -36,7 +36,7 @@ START := $(addprefix $(obj),$(START))
 all:   $(obj).depend $(START) $(LIB)
 
 $(LIB):        $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index cad43ba0485631762b8edafa9cfafd3c2a8349ad..f4950f70729a832d58df9150dc0134a8f2678e54 100644 (file)
@@ -10,6 +10,7 @@
  *  Copyright (c) 2002 Gary Jennejohn <garyj@denx.de>
  *  Copyright (c) 2003 Richard Woodruff <r-woodruff2@ti.com>
  *  Copyright (c) 2003 Kshitij <kshitij@ti.com>
+ *  Copyright (c) 2010 Albert Aribaud <albert.aribaud@free.fr>
  *
  * See file CREDITS for list of people who contributed to this
  * project.
@@ -71,6 +72,7 @@ _fiq:
 
        .balignl 16,0xdeadbeef
 
+_vectors_end:
 
 /*
  *************************************************************************
@@ -91,14 +93,17 @@ _TEXT_BASE:
 
 /*
  * These are defined in the board-specific linker script.
+ * Subtracting _start from them lets the linker put their
+ * relative position in the executable instead of leaving
+ * them null.
  */
-.globl _bss_start
-_bss_start:
-       .word __bss_start
+.globl _bss_start_ofs
+_bss_start_ofs:
+       .word __bss_start - _start
 
-.globl _bss_end
-_bss_end:
-       .word _end
+.globl _bss_end_ofs
+_bss_end_ofs:
+       .word _end - _start
 
 #ifdef CONFIG_USE_IRQ
 /* IRQ stack memory (calculated at run-time) */
@@ -117,30 +122,6 @@ FIQ_STACK_START:
 IRQ_STACK_START_IN:
        .word   0x0badc0de
 
-.globl _datarel_start
-_datarel_start:
-       .word __datarel_start
-
-.globl _datarelrolocal_start
-_datarelrolocal_start:
-       .word __datarelrolocal_start
-
-.globl _datarellocal_start
-_datarellocal_start:
-       .word __datarellocal_start
-
-.globl _datarelro_start
-_datarelro_start:
-       .word __datarelro_start
-
-.globl _got_start
-_got_start:
-       .word __got_start
-
-.globl _got_end
-_got_end:
-       .word __got_end
-
 /*
  * the actual reset code
  */
@@ -190,9 +171,8 @@ stack_setup:
 
        adr     r0, _start
        ldr     r2, _TEXT_BASE
-       ldr     r3, _bss_start
-       sub     r2, r3, r2              /* r2 <- size of armboot            */
-       add     r2, r0, r2              /* r2 <- source end address         */
+       ldr     r3, _bss_start_ofs
+       add     r2, r0, r3              /* r2 <- source end address         */
        cmp     r0, r6
        beq     clear_bss
 
@@ -203,42 +183,60 @@ copy_loop:
        blo     copy_loop
 
 #ifndef CONFIG_PRELOADER
-       /* fix got entries */
-       ldr     r1, _TEXT_BASE          /* Text base */
-       mov     r0, r7                  /* reloc addr */
-       ldr     r2, _got_start          /* addr in Flash */
-       ldr     r3, _got_end            /* addr in Flash */
-       sub     r3, r3, r1
-       add     r3, r3, r0
-       sub     r2, r2, r1
-       add     r2, r2, r0
-
+       /*
+        * fix .rel.dyn relocations
+        */
+       ldr     r0, _TEXT_BASE          /* r0 <- Text base */
+       sub     r9, r7, r0              /* r9 <- relocation offset */
+       ldr     r10, _dynsym_start_ofs  /* r10 <- sym table ofs */
+       add     r10, r10, r0            /* r10 <- sym table in FLASH */
+       ldr     r2, _rel_dyn_start_ofs  /* r2 <- rel dyn start ofs */
+       add     r2, r2, r0              /* r2 <- rel dyn start in FLASH */
+       ldr     r3, _rel_dyn_end_ofs    /* r3 <- rel dyn end ofs */
+       add     r3, r3, r0              /* r3 <- rel dyn end in FLASH */
 fixloop:
-       ldr     r4, [r2]
-       sub     r4, r4, r1
-       add     r4, r4, r0
-       str     r4, [r2]
-       add     r2, r2, #4
+       ldr     r0, [r2]                /* r0 <- location to fix up, IN FLASH! */
+       add     r0, r0, r9              /* r0 <- location to fix up in RAM */
+       ldr     r1, [r2, #4]
+       and     r8, r1, #0xff
+       cmp     r8, #23                 /* relative fixup? */
+       beq     fixrel
+       cmp     r8, #2                  /* absolute fixup? */
+       beq     fixabs
+       /* ignore unknown type of fixup */
+       b       fixnext
+fixabs:
+       /* absolute fix: set location to (offset) symbol value */
+       mov     r1, r1, LSR #4          /* r1 <- symbol index in .dynsym */
+       add     r1, r10, r1             /* r1 <- address of symbol in table */
+       ldr     r1, [r1, #4]            /* r1 <- symbol value */
+       add     r1, r9                  /* r1 <- relocated sym addr */
+       b       fixnext
+fixrel:
+       /* relative fix: increase location by offset */
+       ldr     r1, [r0]
+       add     r1, r1, r9
+fixnext:
+       str     r1, [r0]
+       add     r2, r2, #8              /* each rel.dyn entry is 8 bytes */
        cmp     r2, r3
        blo     fixloop
 #endif
 
 clear_bss:
 #ifndef CONFIG_PRELOADER
-       ldr     r0, _bss_start
-       ldr     r1, _bss_end
+       ldr     r0, _bss_start_ofs
+       ldr     r1, _bss_end_ofs
        ldr     r3, _TEXT_BASE          /* Text base */
        mov     r4, r7                  /* reloc addr */
-       sub     r0, r0, r3
        add     r0, r0, r4
-       sub     r1, r1, r3
        add     r1, r1, r4
        mov     r2, #0x00000000         /* clear                            */
 
 clbss_l:str    r2, [r0]                /* clear loop...                    */
        add     r0, r0, #4
        cmp     r0, r1
-       bne     clbss_l
+       blo     clbss_l
 #endif
 
 /*
@@ -250,20 +248,27 @@ clbss_l:str       r2, [r0]                /* clear loop...                    */
 
 _nand_boot: .word nand_boot
 #else
-       ldr     r0, _TEXT_BASE
-       ldr     r2, _board_init_r
-       sub     r2, r2, r0
-       add     r2, r2, r7      /* position from board_init_r in RAM */
+       ldr     r0, _board_init_r_ofs
+       adr     r1, _start
+       add     lr, r0, r1
+       add     lr, lr, r9
        /* setup parameters for board_init_r */
        mov     r0, r5          /* gd_t */
        mov     r1, r7          /* dest_addr */
        /* jump to it ... */
-       mov     lr, r2
        mov     pc, lr
 
-_board_init_r: .word board_init_r
+_board_init_r_ofs:
+       .word board_init_r - _start
 #endif
 
+_rel_dyn_start_ofs:
+       .word __rel_dyn_start - _start
+_rel_dyn_end_ofs:
+       .word __rel_dyn_end - _start
+_dynsym_start_ofs:
+       .word __dynsym_start - _start
+
 /*
  *************************************************************************
  *
index 65359630933f597a2cfb6f1cf8e17ddc7b47f3d8..eb91979711c036fcdd4ddca1d69592061c3d83b2 100644 (file)
@@ -41,28 +41,38 @@ SECTIONS
        . = ALIGN(4);
        .data : {
                *(.data)
-       __datarel_start = .;
-               *(.data.rel)
-       __datarelrolocal_start = .;
-               *(.data.rel.ro.local)
-       __datarellocal_start = .;
-               *(.data.rel.local)
-       __datarelro_start = .;
-               *(.data.rel.ro)
        }
 
-       __got_start = .;
        . = ALIGN(4);
-       .got : { *(.got) }
 
-       __got_end = .;
        . = .;
        __u_boot_cmd_start = .;
        .u_boot_cmd : { *(.u_boot_cmd) }
        __u_boot_cmd_end = .;
 
        . = ALIGN(4);
-       __bss_start = .;
-       .bss (NOLOAD) : { *(.bss) . = ALIGN(4); }
-       _end = .;
+
+       .rel.dyn : {
+               __rel_dyn_start = .;
+               *(.rel*)
+               __rel_dyn_end = .;
+       }
+
+       .dynsym : {
+               __dynsym_start = .;
+               *(.dynsym)
+       }
+
+       .bss __rel_dyn_start (OVERLAY) : {
+               __bss_start = .;
+               *(.bss)
+                . = ALIGN(4);
+               _end = .;
+       }
+
+       /DISCARD/ : { *(.dynstr*) }
+       /DISCARD/ : { *(.dynamic*) }
+       /DISCARD/ : { *(.plt*) }
+       /DISCARD/ : { *(.interp*) }
+       /DISCARD/ : { *(.gnu*) }
 }
index 7701b03bbeb736a530a9ad970be5cbe01904f599..930e0d1bfc5d32fee79f3772508d0f1882433578 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(CPU).a
+LIB    = $(obj)lib$(CPU).o
 
 START  = start.o
 COBJS  = cpu.o
@@ -35,7 +35,7 @@ START := $(addprefix $(obj),$(START))
 all:   $(obj).depend $(START) $(LIB)
 
 $(LIB):        $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 957ca34766c333baaf943c8018fa552ce64ce97d..fcaba30f586b6896b472eeff5ab4b4f3e2592010 100644 (file)
@@ -89,14 +89,17 @@ _TEXT_BASE:
 
 /*
  * These are defined in the board-specific linker script.
+ * Subtracting _start from them lets the linker put their
+ * relative position in the executable instead of leaving
+ * them null.
  */
-.globl _bss_start
-_bss_start:
-       .word __bss_start
+.globl _bss_start_ofs
+_bss_start_ofs:
+       .word __bss_start - _start
 
-.globl _bss_end
-_bss_end:
-       .word _end
+.globl _bss_end_ofs
+_bss_end_ofs:
+       .word _end - _start
 
 #ifdef CONFIG_USE_IRQ
 /* IRQ stack memory (calculated at run-time) */
@@ -115,30 +118,6 @@ FIQ_STACK_START:
 IRQ_STACK_START_IN:
        .word   0x0badc0de
 
-.globl _datarel_start
-_datarel_start:
-       .word __datarel_start
-
-.globl _datarelrolocal_start
-_datarelrolocal_start:
-       .word __datarelrolocal_start
-
-.globl _datarellocal_start
-_datarellocal_start:
-       .word __datarellocal_start
-
-.globl _datarelro_start
-_datarelro_start:
-       .word __datarelro_start
-
-.globl _got_start
-_got_start:
-       .word __got_start
-
-.globl _got_end
-_got_end:
-       .word __got_end
-
 /*
  * the actual reset code
  */
@@ -188,9 +167,8 @@ stack_setup:
 
        adr     r0, _start
        ldr     r2, _TEXT_BASE
-       ldr     r3, _bss_start
-       sub     r2, r3, r2              /* r2 <- size of armboot            */
-       add     r2, r0, r2              /* r2 <- source end address         */
+       ldr     r3, _bss_start_ofs
+       add     r2, r0, r3              /* r2 <- source end address         */
        cmp     r0, r6
        beq     clear_bss
 
@@ -201,35 +179,53 @@ copy_loop:
        blo     copy_loop
 
 #ifndef CONFIG_PRELOADER
-       /* fix got entries */
-       ldr     r1, _TEXT_BASE          /* Text base */
-       mov     r0, r7                  /* reloc addr */
-       ldr     r2, _got_start          /* addr in Flash */
-       ldr     r3, _got_end            /* addr in Flash */
-       sub     r3, r3, r1
-       add     r3, r3, r0
-       sub     r2, r2, r1
-       add     r2, r2, r0
-
+       /*
+        * fix .rel.dyn relocations
+        */
+       ldr     r0, _TEXT_BASE          /* r0 <- Text base */
+       sub     r9, r7, r0              /* r9 <- relocation offset */
+       ldr     r10, _dynsym_start_ofs  /* r10 <- sym table ofs */
+       add     r10, r10, r0            /* r10 <- sym table in FLASH */
+       ldr     r2, _rel_dyn_start_ofs  /* r2 <- rel dyn start ofs */
+       add     r2, r2, r0              /* r2 <- rel dyn start in FLASH */
+       ldr     r3, _rel_dyn_end_ofs    /* r3 <- rel dyn end ofs */
+       add     r3, r3, r0              /* r3 <- rel dyn end in FLASH */
 fixloop:
-       ldr     r4, [r2]
-       sub     r4, r4, r1
-       add     r4, r4, r0
-       str     r4, [r2]
-       add     r2, r2, #4
+       ldr     r0, [r2]                /* r0 <- location to fix up, IN FLASH! */
+       add     r0, r0, r9              /* r0 <- location to fix up in RAM */
+       ldr     r1, [r2, #4]
+       and     r8, r1, #0xff
+       cmp     r8, #23                 /* relative fixup? */
+       beq     fixrel
+       cmp     r8, #2                  /* absolute fixup? */
+       beq     fixabs
+       /* ignore unknown type of fixup */
+       b       fixnext
+fixabs:
+       /* absolute fix: set location to (offset) symbol value */
+       mov     r1, r1, LSR #4          /* r1 <- symbol index in .dynsym */
+       add     r1, r10, r1             /* r1 <- address of symbol in table */
+       ldr     r1, [r1, #4]            /* r1 <- symbol value */
+       add     r1, r9                  /* r1 <- relocated sym addr */
+       b       fixnext
+fixrel:
+       /* relative fix: increase location by offset */
+       ldr     r1, [r0]
+       add     r1, r1, r9
+fixnext:
+       str     r1, [r0]
+       add     r2, r2, #8              /* each rel.dyn entry is 8 bytes */
        cmp     r2, r3
        blo     fixloop
 #endif
 
 clear_bss:
 #ifndef CONFIG_PRELOADER
-       ldr     r0, _bss_start
-       ldr     r1, _bss_end
+       ldr     r0, _bss_start_ofs
+       ldr     r1, _bss_end_ofs
        ldr     r3, _TEXT_BASE          /* Text base */
        mov     r4, r7                  /* reloc addr */
-       sub     r0, r0, r3
        add     r0, r0, r4
-       sub     r1, r1, r3
        add     r1, r1, r4
        mov     r2, #0x00000000         /* clear                            */
 
@@ -246,18 +242,33 @@ clbss_l:str       r2, [r0]                /* clear loop...                    */
  * We are done. Do not return, instead branch to second part of board
  * initialization, now running from RAM.
  */
-       ldr     r0, _TEXT_BASE
-       ldr     r2, _board_init_r
-       sub     r2, r2, r0
-       add     r2, r2, r7      /* position from board_init_r in RAM */
+#ifdef CONFIG_NAND_SPL
+       ldr     r0, _nand_boot_ofs
+       mov     pc, r0
+
+_nand_boot_ofs:
+       .word nand_boot
+#else
+       ldr     r0, _board_init_r_ofs
+       adr     r1, _start
+       add     lr, r0, r1
+       add     lr, lr, r9
        /* setup parameters for board_init_r */
        mov     r0, r5          /* gd_t */
        mov     r1, r7          /* dest_addr */
        /* jump to it ... */
-       mov     lr, r2
        mov     pc, lr
 
-_board_init_r: .word board_init_r
+_board_init_r_ofs:
+       .word board_init_r - _start
+#endif
+
+_rel_dyn_start_ofs:
+       .word __rel_dyn_start - _start
+_rel_dyn_end_ofs:
+       .word __rel_dyn_end - _start
+_dynsym_start_ofs:
+       .word __dynsym_start - _start
 
 /*
  *************************************************************************
index 242c7ece020b5f4d383a7707f55721f8bcf4eeec..3b5c18d72a17753ad0599187d7e28243846b745a 100644 (file)
@@ -41,28 +41,38 @@ SECTIONS
        . = ALIGN(4);
        .data : {
                *(.data)
-       __datarel_start = .;
-               *(.data.rel)
-       __datarelrolocal_start = .;
-               *(.data.rel.ro.local)
-       __datarellocal_start = .;
-               *(.data.rel.local)
-       __datarelro_start = .;
-               *(.data.rel.ro)
        }
 
-       __got_start = .;
        . = ALIGN(4);
-       .got : { *(.got) }
 
-       __got_end = .;
        . = .;
        __u_boot_cmd_start = .;
        .u_boot_cmd : { *(.u_boot_cmd) }
        __u_boot_cmd_end = .;
 
        . = ALIGN(4);
-       __bss_start = .;
-       .bss (NOLOAD) : { *(.bss) . = ALIGN(4); }
-       _end = .;
+
+       .rel.dyn : {
+               __rel_dyn_start = .;
+               *(.rel*)
+               __rel_dyn_end = .;
+       }
+
+       .dynsym : {
+               __dynsym_start = .;
+               *(.dynsym)
+       }
+
+       .bss __rel_dyn_start (OVERLAY) : {
+               __bss_start = .;
+               *(.bss)
+                . = ALIGN(4);
+               _end = .;
+       }
+
+       /DISCARD/ : { *(.dynstr*) }
+       /DISCARD/ : { *(.dynamic*) }
+       /DISCARD/ : { *(.plt*) }
+       /DISCARD/ : { *(.interp*) }
+       /DISCARD/ : { *(.gnu*) }
 }
index 7743fefdbea8e80741750aef49885994e29ebe69..8c0e9150037714ddd07eb12fc2cd8b03787d73ec 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(CPU).a
+LIB    = $(obj)lib$(CPU).o
 
 START  := start.o
 COBJS  := cpu.o
@@ -36,7 +36,7 @@ START := $(addprefix $(obj),$(START))
 all:   $(obj).depend $(START) $(LIB)
 
 $(LIB):        $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 7cfaa2c1305e639b10e2f9eb16c6fb79225c61a9..e8be9c9fabfa926de0f0ab30e3d8201005fad635 100644 (file)
@@ -25,7 +25,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(SOC).a
+LIB    = $(obj)lib$(SOC).o
 
 COBJS  = soc.o clock.o iomux.o timer.o speed.o
 SOBJS = lowlevel_init.o
@@ -36,7 +36,7 @@ OBJS  := $(addprefix $(obj),$(SOBJS) $(COBJS))
 all:   $(obj).depend $(LIB)
 
 $(LIB):        $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index aedea7b95b90a51f88bbf5e394c6c60fedd27671..dc01ee5d3c70f949d4010ad3d160315c69cd3ab9 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)libomap-common.a
+LIB    = $(obj)libomap-common.o
 
 SOBJS  := reset.o
 
@@ -35,7 +35,7 @@ OBJS  := $(addprefix $(obj),$(SOBJS) $(COBJS))
 all:   $(obj).depend $(LIB)
 
 $(LIB):        $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 95526d6893da16000b116b9e9324a0ac33ab22a1..7164d505b9c893cd17935b2b19cdb293c2d674a0 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    =  $(obj)lib$(SOC).a
+LIB    =  $(obj)lib$(SOC).o
 
 SOBJS  := lowlevel_init.o
 SOBJS  += cache.o
@@ -43,7 +43,7 @@ OBJS  := $(addprefix $(obj),$(COBJS) $(COBJS-y) $(SOBJS))
 all:    $(obj).depend $(LIB)
 
 $(LIB):        $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 0870857ede4eddd9d63a9783e5aff180ede84dbf..2227576b7b3135e02cc8eda28895fa741320f204 100644 (file)
@@ -48,10 +48,11 @@ u32 is_mem_sdr(void)
  */
 u32 get_sdr_cs_size(u32 cs)
 {
-       u32 size;
+       u32 size = 0;
 
        /* TODO: Calculate the size based on EMIF4 configuration */
-       size = CONFIG_SYS_CS0_SIZE;
+       if (cs == CS0)
+               size = CONFIG_SYS_CS0_SIZE;
 
        return size;
 }
index d926fbb48024f69143c5c9968788ddfd09d2ed48..987dc9d78c27401f167dff767a6a328c6c201bb7 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    =  $(obj)lib$(SOC).a
+LIB    =  $(obj)lib$(SOC).o
 
 SOBJS  += lowlevel_init.o
 
@@ -37,7 +37,7 @@ OBJS  := $(addprefix $(obj),$(COBJS) $(SOBJS))
 all:    $(obj).depend $(LIB)
 
 $(LIB):        $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index e7651d2dd5b5007aa27c95677d8b070b71b5038d..fcd29a73e0e51dc7ffaf64896d770073a20782e0 100644 (file)
@@ -32,6 +32,8 @@
 #include <asm/arch/sys_proto.h>
 #include <asm/sizes.h>
 
+DECLARE_GLOBAL_DATA_PTR;
+
 /*
  * Routine: s_init
  * Description: Does early system init of muxing and clocks.
@@ -100,7 +102,6 @@ u32 sdram_size(void)
  */
 int dram_init(void)
 {
-       DECLARE_GLOBAL_DATA_PTR;
 
        gd->ram_size = sdram_size();
 
index 37371f6fda6831855816060d4a3da059d3bf6d13..922cd95448b7905cfb217254d6fec0d0258e8fd6 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)libs5p-common.a
+LIB    = $(obj)libs5p-common.o
 
 COBJS-y                += cpu_info.o
 COBJS-y                += timer.o
@@ -34,7 +34,7 @@ OBJS  := $(addprefix $(obj),$(COBJS-y) $(SOBJS))
 all:    $(obj).depend $(LIB)
 
 $(LIB):        $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 263945f4e77d9b5d0ea8b250acfb4bf5c36efba7..b182bf5a4915e26ba5bb2752e6ede79860efdab0 100644 (file)
@@ -26,7 +26,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(SOC).a
+LIB    = $(obj)lib$(SOC).o
 
 SOBJS  = cache.o
 SOBJS  += reset.o
@@ -40,7 +40,7 @@ OBJS  := $(addprefix $(obj),$(COBJS) $(SOBJS))
 all:    $(obj).depend $(LIB)
 
 $(LIB):        $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 1403c4f390f65e61e1f1a2e95eb101d4be454d66..b0a466ec4b3e8e9892ed851513b94173e5122ef6 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(CPU).a
+LIB    = $(obj)lib$(CPU).o
 
 START  = start.o
 
@@ -38,7 +38,7 @@ START := $(addprefix $(obj),$(START))
 all:   $(obj).depend $(START) $(LIB)
 
 $(LIB):        $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index e1f970062df863b17c5d23069e1e507eb87aac98..c756a1da4166c16e881d84ea5473cb5e517fe6f6 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB := $(obj)libnpe.a
+LIB := $(obj)libnpe.o
 
 LOCAL_CFLAGS  += -I$(TOPDIR)/arch/arm/cpu/ixp/npe/include -DCONFIG_IXP425_COMPONENT_ETHDB -D__linux
 CFLAGS  += $(LOCAL_CFLAGS)
@@ -86,7 +86,7 @@ SOBJS := $(addprefix $(obj),$(SOBJS))
 all:   $(LIB)
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 8d1aebc7199892cbdb53af18a2f4e98fe3c69f33..d1ab19bf5da25cb4904c5de6a33786bd760f8b4b 100644 (file)
@@ -100,14 +100,17 @@ _TEXT_BASE:
 
 /*
  * These are defined in the board-specific linker script.
+ * Subtracting _start from them lets the linker put their
+ * relative position in the executable instead of leaving
+ * them null.
  */
-.globl _bss_start
-_bss_start:
-       .word __bss_start
+.globl _bss_start_ofs
+_bss_start_ofs:
+       .word __bss_start - _start
 
-.globl _bss_end
-_bss_end:
-       .word _end
+.globl _bss_end_ofs
+_bss_end_ofs:
+       .word _end - _start
 
 #ifdef CONFIG_USE_IRQ
 /* IRQ stack memory (calculated at run-time) */
@@ -126,30 +129,6 @@ FIQ_STACK_START:
 IRQ_STACK_START_IN:
        .word   0x0badc0de
 
-.globl _datarel_start
-_datarel_start:
-       .word __datarel_start
-
-.globl _datarelrolocal_start
-_datarelrolocal_start:
-       .word __datarelrolocal_start
-
-.globl _datarellocal_start
-_datarellocal_start:
-       .word __datarellocal_start
-
-.globl _datarelro_start
-_datarelro_start:
-       .word __datarelro_start
-
-.globl _got_start
-_got_start:
-       .word __got_start
-
-.globl _got_end
-_got_end:
-       .word __got_end
-
 /*
  * the actual reset code
  */
@@ -314,9 +293,8 @@ stack_setup:
 
        adr     r0, _start
        ldr     r2, _TEXT_BASE
-       ldr     r3, _bss_start
-       sub     r2, r3, r2              /* r2 <- size of armboot            */
-       add     r2, r0, r2              /* r2 <- source end address         */
+       ldr     r3, _bss_start_ofs
+       add     r2, r0, r3              /* r2 <- source end address         */
        cmp     r0, r6
        beq     clear_bss
 
@@ -327,35 +305,53 @@ copy_loop:
        blo     copy_loop
 
 #ifndef CONFIG_PRELOADER
-       /* fix got entries */
-       ldr     r1, _TEXT_BASE          /* Text base */
-       mov     r0, r7                  /* reloc addr */
-       ldr     r2, _got_start          /* addr in Flash */
-       ldr     r3, _got_end            /* addr in Flash */
-       sub     r3, r3, r1
-       add     r3, r3, r0
-       sub     r2, r2, r1
-       add     r2, r2, r0
-
+       /*
+        * fix .rel.dyn relocations
+        */
+       ldr     r0, _TEXT_BASE          /* r0 <- Text base */
+       sub     r9, r7, r0              /* r9 <- relocation offset */
+       ldr     r10, _dynsym_start_ofs  /* r10 <- sym table ofs */
+       add     r10, r10, r0            /* r10 <- sym table in FLASH */
+       ldr     r2, _rel_dyn_start_ofs  /* r2 <- rel dyn start ofs */
+       add     r2, r2, r0              /* r2 <- rel dyn start in FLASH */
+       ldr     r3, _rel_dyn_end_ofs    /* r3 <- rel dyn end ofs */
+       add     r3, r3, r0              /* r3 <- rel dyn end in FLASH */
 fixloop:
-       ldr     r4, [r2]
-       sub     r4, r4, r1
-       add     r4, r4, r0
-       str     r4, [r2]
-       add     r2, r2, #4
+       ldr     r0, [r2]                /* r0 <- location to fix up, IN FLASH! */
+       add     r0, r0, r9              /* r0 <- location to fix up in RAM */
+       ldr     r1, [r2, #4]
+       and     r8, r1, #0xff
+       cmp     r8, #23                 /* relative fixup? */
+       beq     fixrel
+       cmp     r8, #2                  /* absolute fixup? */
+       beq     fixabs
+       /* ignore unknown type of fixup */
+       b       fixnext
+fixabs:
+       /* absolute fix: set location to (offset) symbol value */
+       mov     r1, r1, LSR #4          /* r1 <- symbol index in .dynsym */
+       add     r1, r10, r1             /* r1 <- address of symbol in table */
+       ldr     r1, [r1, #4]            /* r1 <- symbol value */
+       add     r1, r9                  /* r1 <- relocated sym addr */
+       b       fixnext
+fixrel:
+       /* relative fix: increase location by offset */
+       ldr     r1, [r0]
+       add     r1, r1, r9
+fixnext:
+       str     r1, [r0]
+       add     r2, r2, #8              /* each rel.dyn entry is 8 bytes */
        cmp     r2, r3
        blo     fixloop
 #endif
 
 clear_bss:
 #ifndef CONFIG_PRELOADER
-       ldr     r0, _bss_start
-       ldr     r1, _bss_end
+       ldr     r0, _bss_start_ofs
+       ldr     r1, _bss_end_ofs
        ldr     r3, _TEXT_BASE          /* Text base */
        mov     r4, r7                  /* reloc addr */
-       sub     r0, r0, r3
        add     r0, r0, r4
-       sub     r1, r1, r3
        add     r1, r1, r4
        mov     r2, #0x00000000         /* clear                            */
 
@@ -372,19 +368,25 @@ clbss_l:str       r2, [r0]                /* clear loop...                    */
  * We are done. Do not return, instead branch to second part of board
  * initialization, now running from RAM.
  */
-       ldr     r0, _TEXT_BASE
-       ldr     r2, _board_init_r
-       sub     r2, r2, r0
-       add     r2, r2, r7      /* position from board_init_r in RAM */
+       ldr     r0, _board_init_r_ofs
+       adr     r1, _start
+       add     lr, r0, r1
+       add     lr, lr, r9
        /* setup parameters for board_init_r */
        mov     r0, r5          /* gd_t */
        mov     r1, r7          /* dest_addr */
        /* jump to it ... */
-       mov     lr, r2
        mov     pc, lr
 
-_board_init_r: .word board_init_r
+_board_init_r_ofs:
+       .word board_init_r - _start
 
+_rel_dyn_start_ofs:
+       .word __rel_dyn_start - _start
+_rel_dyn_end_ofs:
+       .word __rel_dyn_end - _start
+_dynsym_start_ofs:
+       .word __dynsym_start - _start
 
 /****************************************************************************/
 /*                                                                         */
index f3d9dc51487ba7deb10def6ce5636cb2303ab1af..a55eb8a509b48f5802a71774d80abc1497278356 100644 (file)
@@ -41,28 +41,38 @@ SECTIONS
        . = ALIGN(4);
        .data : {
                *(.data)
-       __datarel_start = .;
-               *(.data.rel)
-       __datarelrolocal_start = .;
-               *(.data.rel.ro.local)
-       __datarellocal_start = .;
-               *(.data.rel.local)
-       __datarelro_start = .;
-               *(.data.rel.ro)
        }
 
-       __got_start = .;
        . = ALIGN(4);
-       .got : { *(.got) }
 
-       __got_end = .;
        . = .;
        __u_boot_cmd_start = .;
        .u_boot_cmd : { *(.u_boot_cmd) }
        __u_boot_cmd_end = .;
 
        . = ALIGN(4);
-       __bss_start = .;
-       .bss (NOLOAD) : { *(.bss) . = ALIGN(4); }
-       _end = .;
+
+       .rel.dyn : {
+               __rel_dyn_start = .;
+               *(.rel*)
+               __rel_dyn_end = .;
+       }
+
+       .dynsym : {
+               __dynsym_start = .;
+               *(.dynsym)
+       }
+
+       .bss __rel_dyn_start (OVERLAY) : {
+               __bss_start = .;
+               *(.bss)
+                . = ALIGN(4);
+               _end = .;
+       }
+
+       /DISCARD/ : { *(.dynstr*) }
+       /DISCARD/ : { *(.dynamic*) }
+       /DISCARD/ : { *(.plt*) }
+       /DISCARD/ : { *(.interp*) }
+       /DISCARD/ : { *(.gnu*) }
 }
index 1b3f58abb93bd50e85ce42b122d23fac0a2250ca..01cf7f54554485d57534f509697a5d6f3e533a39 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(CPU).a
+LIB    = $(obj)lib$(CPU).o
 
 START  = start.o
 COBJS  = cpu.o speed.o timer.o
@@ -35,7 +35,7 @@ START := $(addprefix $(obj),$(START))
 all:   $(obj).depend $(START) $(LIB)
 
 $(LIB):        $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index fd8a40b8aa4a2aea201be7cf6d1d4c2d07658164..5cf477b1a36459b614ffe405743ca3b685ea6150 100644 (file)
@@ -77,14 +77,17 @@ _TEXT_BASE:
 
 /*
  * These are defined in the board-specific linker script.
+ * Subtracting _start from them lets the linker put their
+ * relative position in the executable instead of leaving
+ * them null.
  */
-.globl _bss_start
-_bss_start:
-       .word __bss_start
+.globl _bss_start_ofs
+_bss_start_ofs:
+       .word __bss_start - _start
 
-.globl _bss_end
-_bss_end:
-       .word _end
+.globl _bss_end_ofs
+_bss_end_ofs:
+       .word _end - _start
 
 #ifdef CONFIG_USE_IRQ
 /* IRQ stack memory (calculated at run-time) */
@@ -103,30 +106,6 @@ FIQ_STACK_START:
 IRQ_STACK_START_IN:
        .word   0x0badc0de
 
-.globl _datarel_start
-_datarel_start:
-       .word __datarel_start
-
-.globl _datarelrolocal_start
-_datarelrolocal_start:
-       .word __datarelrolocal_start
-
-.globl _datarellocal_start
-_datarellocal_start:
-       .word __datarellocal_start
-
-.globl _datarelro_start
-_datarelro_start:
-       .word __datarelro_start
-
-.globl _got_start
-_got_start:
-       .word __got_start
-
-.globl _got_end
-_got_end:
-       .word __got_end
-
 /*
  * the actual reset code
  */
@@ -201,9 +180,8 @@ stack_setup:
 
        adr     r0, _start
        ldr     r2, _TEXT_BASE
-       ldr     r3, _bss_start
-       sub     r2, r3, r2              /* r2 <- size of armboot            */
-       add     r2, r0, r2              /* r2 <- source end address         */
+       ldr     r3, _bss_start_ofs
+       add     r2, r0, r3              /* r2 <- source end address         */
        cmp     r0, r6
        beq     clear_bss
 
@@ -214,35 +192,53 @@ copy_loop:
        blo     copy_loop
 
 #ifndef CONFIG_PRELOADER
-       /* fix got entries */
-       ldr     r1, _TEXT_BASE          /* Text base */
-       mov     r0, r7                  /* reloc addr */
-       ldr     r2, _got_start          /* addr in Flash */
-       ldr     r3, _got_end            /* addr in Flash */
-       sub     r3, r3, r1
-       add     r3, r3, r0
-       sub     r2, r2, r1
-       add     r2, r2, r0
-
+       /*
+        * fix .rel.dyn relocations
+        */
+       ldr     r0, _TEXT_BASE          /* r0 <- Text base */
+       sub     r9, r7, r0              /* r9 <- relocation offset */
+       ldr     r10, _dynsym_start_ofs  /* r10 <- sym table ofs */
+       add     r10, r10, r0            /* r10 <- sym table in FLASH */
+       ldr     r2, _rel_dyn_start_ofs  /* r2 <- rel dyn start ofs */
+       add     r2, r2, r0              /* r2 <- rel dyn start in FLASH */
+       ldr     r3, _rel_dyn_end_ofs    /* r3 <- rel dyn end ofs */
+       add     r3, r3, r0              /* r3 <- rel dyn end in FLASH */
 fixloop:
-       ldr     r4, [r2]
-       sub     r4, r4, r1
-       add     r4, r4, r0
-       str     r4, [r2]
-       add     r2, r2, #4
+       ldr     r0, [r2]                /* r0 <- location to fix up, IN FLASH! */
+       add     r0, r0, r9              /* r0 <- location to fix up in RAM */
+       ldr     r1, [r2, #4]
+       and     r8, r1, #0xff
+       cmp     r8, #23                 /* relative fixup? */
+       beq     fixrel
+       cmp     r8, #2                  /* absolute fixup? */
+       beq     fixabs
+       /* ignore unknown type of fixup */
+       b       fixnext
+fixabs:
+       /* absolute fix: set location to (offset) symbol value */
+       mov     r1, r1, LSR #4          /* r1 <- symbol index in .dynsym */
+       add     r1, r10, r1             /* r1 <- address of symbol in table */
+       ldr     r1, [r1, #4]            /* r1 <- symbol value */
+       add     r1, r9                  /* r1 <- relocated sym addr */
+       b       fixnext
+fixrel:
+       /* relative fix: increase location by offset */
+       ldr     r1, [r0]
+       add     r1, r1, r9
+fixnext:
+       str     r1, [r0]
+       add     r2, r2, #8              /* each rel.dyn entry is 8 bytes */
        cmp     r2, r3
        blo     fixloop
 #endif
 
 clear_bss:
 #ifndef CONFIG_PRELOADER
-       ldr     r0, _bss_start
-       ldr     r1, _bss_end
+       ldr     r0, _bss_start_ofs
+       ldr     r1, _bss_end_ofs
        ldr     r3, _TEXT_BASE          /* Text base */
        mov     r4, r7                  /* reloc addr */
-       sub     r0, r0, r3
        add     r0, r0, r4
-       sub     r1, r1, r3
        add     r1, r1, r4
        mov     r2, #0x00000000         /* clear                            */
 
@@ -256,18 +252,25 @@ clbss_l:str       r2, [r0]                /* clear loop...                    */
  * We are done. Do not return, instead branch to second part of board
  * initialization, now running from RAM.
  */
-       ldr     r0, _TEXT_BASE
-       ldr     r2, _board_init_r
-       sub     r2, r2, r0
-       add     r2, r2, r7      /* position from board_init_r in RAM */
+       ldr     r0, _board_init_r_ofs
+       adr     r1, _start
+       add     lr, r0, r1
+       add     lr, lr, r9
        /* setup parameters for board_init_r */
        mov     r0, r5          /* gd_t */
        mov     r1, r7          /* dest_addr */
        /* jump to it ... */
-       mov     lr, r2
        mov     pc, lr
 
-_board_init_r: .word board_init_r
+_board_init_r_ofs:
+       .word board_init_r - _start
+
+_rel_dyn_start_ofs:
+       .word __rel_dyn_start - _start
+_rel_dyn_end_ofs:
+       .word __rel_dyn_end - _start
+_dynsym_start_ofs:
+       .word __dynsym_start - _start
 
 /*
  *************************************************************************
index cb55b0a2748185e05cee327cb27cd23f3976d66c..463237d916c70d2a466f78337d6320a452a5b678 100644 (file)
@@ -41,28 +41,38 @@ SECTIONS
        . = ALIGN(4);
        .data : {
                *(.data)
-       __datarel_start = .;
-               *(.data.rel)
-       __datarelrolocal_start = .;
-               *(.data.rel.ro.local)
-       __datarellocal_start = .;
-               *(.data.rel.local)
-       __datarelro_start = .;
-               *(.data.rel.ro)
        }
 
-       __got_start = .;
        . = ALIGN(4);
-       .got : { *(.got) }
 
-       __got_end = .;
        . = .;
        __u_boot_cmd_start = .;
        .u_boot_cmd : { *(.u_boot_cmd) }
        __u_boot_cmd_end = .;
 
        . = ALIGN(4);
-       __bss_start = .;
-       .bss (NOLOAD) : { *(.bss) . = ALIGN(4); }
-       _end = .;
+
+       .rel.dyn : {
+               __rel_dyn_start = .;
+               *(.rel*)
+               __rel_dyn_end = .;
+       }
+
+       .dynsym : {
+               __dynsym_start = .;
+               *(.dynsym)
+       }
+
+       .bss __rel_dyn_start (OVERLAY) : {
+               __bss_start = .;
+               *(.bss)
+                . = ALIGN(4);
+               _end = .;
+       }
+
+       /DISCARD/ : { *(.dynstr*) }
+       /DISCARD/ : { *(.dynamic*) }
+       /DISCARD/ : { *(.plt*) }
+       /DISCARD/ : { *(.interp*) }
+       /DISCARD/ : { *(.gnu*) }
 }
index 07a151a17032d25ab23d10c975fbb6135bf99d84..49a6ed3c74d73ff5085c1b62a8eceaeaa260b393 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(CPU).a
+LIB    = $(obj)lib$(CPU).o
 
 START  = start.o
 
@@ -40,7 +40,7 @@ START := $(addprefix $(obj),$(START))
 all:   $(obj).depend $(START) $(LIB)
 
 $(LIB):        $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 6da2016f66081242a47f6ee8872ee650a25beb05..7742dc2c9d5f104201bee99813b13360a0fc5aa4 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(CPU).a
+LIB    = $(obj)lib$(CPU).o
 
 START  = start.o
 
@@ -38,7 +38,7 @@ START := $(addprefix $(obj),$(START))
 all:   $(obj).depend $(START) $(LIB)
 
 $(LIB):        $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 67b2c6a695576701d72fee325be1da8f2d3f78ee..8c7100c2bf756c49c86ceb053bb1fe6d25320a3b 100644 (file)
@@ -68,14 +68,17 @@ _TEXT_BASE:
 
 /*
  * These are defined in the board-specific linker script.
+ * Subtracting _start from them lets the linker put their
+ * relative position in the executable instead of leaving
+ * them null.
  */
-.globl _bss_start
-_bss_start:
-       .word __bss_start
+.globl _bss_start_ofs
+_bss_start_ofs:
+       .word __bss_start - _start
 
-.globl _bss_end
-_bss_end:
-       .word _end
+.globl _bss_end_ofs
+_bss_end_ofs:
+       .word _end - _start
 
 #ifdef CONFIG_USE_IRQ
 /* IRQ stack memory (calculated at run-time) */
@@ -94,30 +97,6 @@ FIQ_STACK_START:
 IRQ_STACK_START_IN:
        .word   0x0badc0de
 
-.globl _datarel_start
-_datarel_start:
-       .word __datarel_start
-
-.globl _datarelrolocal_start
-_datarelrolocal_start:
-       .word __datarelrolocal_start
-
-.globl _datarellocal_start
-_datarellocal_start:
-       .word __datarellocal_start
-
-.globl _datarelro_start
-_datarelro_start:
-       .word __datarelro_start
-
-.globl _got_start
-_got_start:
-       .word __got_start
-
-.globl _got_end
-_got_end:
-       .word __got_end
-
 /*
  * the actual reset code
  */
@@ -173,9 +152,8 @@ stack_setup:
 
        adr     r0, _start
        ldr     r2, _TEXT_BASE
-       ldr     r3, _bss_start
-       sub     r2, r3, r2              /* r2 <- size of armboot            */
-       add     r2, r0, r2              /* r2 <- source end address         */
+       ldr     r3, _bss_start_ofs
+       add     r2, r0, r3              /* r2 <- source end address         */
        cmp     r0, r6
        beq     clear_bss
 
@@ -186,47 +164,53 @@ copy_loop:
        blo     copy_loop
 
 #ifndef CONFIG_PRELOADER
-       /* fix got entries */
-       ldr     r1, _TEXT_BASE          /* Text base */
-       mov     r0, r7                  /* reloc addr */
-       ldr     r2, _got_start          /* addr in Flash */
-       ldr     r3, _got_end            /* addr in Flash */
-       sub     r3, r3, r1
-       add     r3, r3, r0
-       sub     r2, r2, r1
-       add     r2, r2, r0
-
+       /*
+        * fix .rel.dyn relocations
+        */
+       ldr     r0, _TEXT_BASE          /* r0 <- Text base */
+       sub     r9, r7, r0              /* r9 <- relocation offset */
+       ldr     r10, _dynsym_start_ofs  /* r10 <- sym table ofs */
+       add     r10, r10, r0            /* r10 <- sym table in FLASH */
+       ldr     r2, _rel_dyn_start_ofs  /* r2 <- rel dyn start ofs */
+       add     r2, r2, r0              /* r2 <- rel dyn start in FLASH */
+       ldr     r3, _rel_dyn_end_ofs    /* r3 <- rel dyn end ofs */
+       add     r3, r3, r0              /* r3 <- rel dyn end in FLASH */
 fixloop:
-       ldr     r4, [r2]
-       sub     r4, r4, r1
-       add     r4, r4, r0
-       str     r4, [r2]
-       add     r2, r2, #4
+       ldr     r0, [r2]                /* r0 <- location to fix up, IN FLASH! */
+       add     r0, r0, r9              /* r0 <- location to fix up in RAM */
+       ldr     r1, [r2, #4]
+       and     r8, r1, #0xff
+       cmp     r8, #23                 /* relative fixup? */
+       beq     fixrel
+       cmp     r8, #2                  /* absolute fixup? */
+       beq     fixabs
+       /* ignore unknown type of fixup */
+       b       fixnext
+fixabs:
+       /* absolute fix: set location to (offset) symbol value */
+       mov     r1, r1, LSR #4          /* r1 <- symbol index in .dynsym */
+       add     r1, r10, r1             /* r1 <- address of symbol in table */
+       ldr     r1, [r1, #4]            /* r1 <- symbol value */
+       add     r1, r9                  /* r1 <- relocated sym addr */
+       b       fixnext
+fixrel:
+       /* relative fix: increase location by offset */
+       ldr     r1, [r0]
+       add     r1, r1, r9
+fixnext:
+       str     r1, [r0]
+       add     r2, r2, #8              /* each rel.dyn entry is 8 bytes */
        cmp     r2, r3
        blo     fixloop
 #endif
-/*
-       now copy to sram the interrupt vector
-*/
-       adr     r0, real_vectors
-       add     r2, r0, #1024
-       ldr     r1, =0x0c000000
-       add     r1, r1, #0x08
-vector_copy_loop:
-       ldmia   r0!, {r3-r10}
-       stmia   r1!, {r3-r10}
-       cmp     r0, r2
-       blo     vector_copy_loop
 
 clear_bss:
 #ifndef CONFIG_PRELOADER
-       ldr     r0, _bss_start
-       ldr     r1, _bss_end
+       ldr     r0, _bss_start_ofs
+       ldr     r1, _bss_end_ofs
        ldr     r3, _TEXT_BASE          /* Text base */
        mov     r4, r7                  /* reloc addr */
-       sub     r0, r0, r3
        add     r0, r0, r4
-       sub     r1, r1, r3
        add     r1, r1, r4
        mov     r2, #0x00000000         /* clear                            */
 
@@ -243,18 +227,25 @@ clbss_l:str       r2, [r0]                /* clear loop...                    */
  * We are done. Do not return, instead branch to second part of board
  * initialization, now running from RAM.
  */
-       ldr     r0, _TEXT_BASE
-       ldr     r2, _board_init_r
-       sub     r2, r2, r0
-       add     r2, r2, r7      /* position from board_init_r in RAM */
+       ldr     r0, _board_init_r_ofs
+       adr     r1, _start
+       add     lr, r0, r1
+       add     lr, lr, r9
        /* setup parameters for board_init_r */
        mov     r0, r5          /* gd_t */
        mov     r1, r7          /* dest_addr */
        /* jump to it ... */
-       mov     lr, r2
        mov     pc, lr
 
-_board_init_r: .word board_init_r
+_board_init_r_ofs:
+       .word board_init_r - _start
+
+_rel_dyn_start_ofs:
+       .word __rel_dyn_start - _start
+_rel_dyn_end_ofs:
+       .word __rel_dyn_end - _start
+_dynsym_start_ofs:
+       .word __dynsym_start - _start
 
 /*
  *************************************************************************
index bbc8c3aa552e0887028293322bb249a315c3c661..ac2944018223f37f742902bac86fcb0b2967bbe3 100644 (file)
@@ -41,28 +41,38 @@ SECTIONS
        . = ALIGN(4);
        .data : {
                *(.data)
-       __datarel_start = .;
-               *(.data.rel)
-       __datarelrolocal_start = .;
-               *(.data.rel.ro.local)
-       __datarellocal_start = .;
-               *(.data.rel.local)
-       __datarelro_start = .;
-               *(.data.rel.ro)
        }
 
-       __got_start = .;
        . = ALIGN(4);
-       .got : { *(.got) }
 
-       __got_end = .;
        . = .;
        __u_boot_cmd_start = .;
        .u_boot_cmd : { *(.u_boot_cmd) }
        __u_boot_cmd_end = .;
 
        . = ALIGN(4);
-       __bss_start = .;
-       .bss (NOLOAD) : { *(.bss) . = ALIGN(4); }
-       _end = .;
+
+       .rel.dyn : {
+               __rel_dyn_start = .;
+               *(.rel*)
+               __rel_dyn_end = .;
+       }
+
+       .dynsym : {
+               __dynsym_start = .;
+               *(.dynsym)
+       }
+
+       .bss __rel_dyn_start (OVERLAY) : {
+               __bss_start = .;
+               *(.bss)
+                . = ALIGN(4);
+               _end = .;
+       }
+
+       /DISCARD/ : { *(.dynstr*) }
+       /DISCARD/ : { *(.dynamic*) }
+       /DISCARD/ : { *(.plt*) }
+       /DISCARD/ : { *(.interp*) }
+       /DISCARD/ : { *(.gnu*) }
 }
index 28b668267c4912f874e941e7a859db8d83bc3cdf..1021c9989ae4855b755eeb3f9b0b12ce1c82a3d1 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(CPU).a
+LIB    = $(obj)lib$(CPU).o
 
 START  = start.o
 
@@ -37,7 +37,7 @@ START := $(addprefix $(obj),$(START))
 all:   $(obj).depend $(START) $(LIB)
 
 $(LIB):        $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index ace0c074df77f409f2e7f64d04eb648d04615948..36d44da1f83819d6695bdb396d8b356b13a1ca2f 100644 (file)
@@ -78,14 +78,17 @@ _TEXT_BASE:
 
 /*
  * These are defined in the board-specific linker script.
+ * Subtracting _start from them lets the linker put their
+ * relative position in the executable instead of leaving
+ * them null.
  */
-.globl _bss_start
-_bss_start:
-       .word __bss_start
+.globl _bss_start_ofs
+_bss_start_ofs:
+       .word __bss_start - _start
 
-.globl _bss_end
-_bss_end:
-       .word _end
+.globl _bss_end_ofs
+_bss_end_ofs:
+       .word _end - _start
 
 #ifdef CONFIG_USE_IRQ
 /* IRQ stack memory (calculated at run-time) */
@@ -104,30 +107,6 @@ FIQ_STACK_START:
 IRQ_STACK_START_IN:
        .word   0x0badc0de
 
-.globl _datarel_start
-_datarel_start:
-       .word __datarel_start
-
-.globl _datarelrolocal_start
-_datarelrolocal_start:
-       .word __datarelrolocal_start
-
-.globl _datarellocal_start
-_datarellocal_start:
-       .word __datarellocal_start
-
-.globl _datarelro_start
-_datarelro_start:
-       .word __datarelro_start
-
-.globl _got_start
-_got_start:
-       .word __got_start
-
-.globl _got_end
-_got_end:
-       .word __got_end
-
 /*
  * the actual reset code
  */
@@ -177,9 +156,8 @@ stack_setup:
 
        adr     r0, _start
        ldr     r2, _TEXT_BASE
-       ldr     r3, _bss_start
-       sub     r2, r3, r2              /* r2 <- size of armboot            */
-       add     r2, r0, r2              /* r2 <- source end address         */
+       ldr     r3, _bss_start_ofs
+       add     r2, r0, r3              /* r2 <- source end address         */
        cmp     r0, r6
        beq     clear_bss
 
@@ -190,35 +168,53 @@ copy_loop:
        blo     copy_loop
 
 #ifndef CONFIG_PRELOADER
-       /* fix got entries */
-       ldr     r1, _TEXT_BASE          /* Text base */
-       mov     r0, r7                  /* reloc addr */
-       ldr     r2, _got_start          /* addr in Flash */
-       ldr     r3, _got_end            /* addr in Flash */
-       sub     r3, r3, r1
-       add     r3, r3, r0
-       sub     r2, r2, r1
-       add     r2, r2, r0
-
+       /*
+        * fix .rel.dyn relocations
+        */
+       ldr     r0, _TEXT_BASE          /* r0 <- Text base */
+       sub     r9, r7, r0              /* r9 <- relocation offset */
+       ldr     r10, _dynsym_start_ofs  /* r10 <- sym table ofs */
+       add     r10, r10, r0            /* r10 <- sym table in FLASH */
+       ldr     r2, _rel_dyn_start_ofs  /* r2 <- rel dyn start ofs */
+       add     r2, r2, r0              /* r2 <- rel dyn start in FLASH */
+       ldr     r3, _rel_dyn_end_ofs    /* r3 <- rel dyn end ofs */
+       add     r3, r3, r0              /* r3 <- rel dyn end in FLASH */
 fixloop:
-       ldr     r4, [r2]
-       sub     r4, r4, r1
-       add     r4, r4, r0
-       str     r4, [r2]
-       add     r2, r2, #4
+       ldr     r0, [r2]                /* r0 <- location to fix up, IN FLASH! */
+       add     r0, r0, r9              /* r0 <- location to fix up in RAM */
+       ldr     r1, [r2, #4]
+       and     r8, r1, #0xff
+       cmp     r8, #23                 /* relative fixup? */
+       beq     fixrel
+       cmp     r8, #2                  /* absolute fixup? */
+       beq     fixabs
+       /* ignore unknown type of fixup */
+       b       fixnext
+fixabs:
+       /* absolute fix: set location to (offset) symbol value */
+       mov     r1, r1, LSR #4          /* r1 <- symbol index in .dynsym */
+       add     r1, r10, r1             /* r1 <- address of symbol in table */
+       ldr     r1, [r1, #4]            /* r1 <- symbol value */
+       add     r1, r9                  /* r1 <- relocated sym addr */
+       b       fixnext
+fixrel:
+       /* relative fix: increase location by offset */
+       ldr     r1, [r0]
+       add     r1, r1, r9
+fixnext:
+       str     r1, [r0]
+       add     r2, r2, #8              /* each rel.dyn entry is 8 bytes */
        cmp     r2, r3
        blo     fixloop
 #endif
 
 clear_bss:
 #ifndef CONFIG_PRELOADER
-       ldr     r0, _bss_start
-       ldr     r1, _bss_end
+       ldr     r0, _bss_start_ofs
+       ldr     r1, _bss_end_ofs
        ldr     r3, _TEXT_BASE          /* Text base */
        mov     r4, r7                  /* reloc addr */
-       sub     r0, r0, r3
        add     r0, r0, r4
-       sub     r1, r1, r3
        add     r1, r1, r4
        mov     r2, #0x00000000         /* clear                            */
 
@@ -232,18 +228,25 @@ clbss_l:str       r2, [r0]                /* clear loop...                    */
  * We are done. Do not return, instead branch to second part of board
  * initialization, now running from RAM.
  */
-       ldr     r0, _TEXT_BASE
-       ldr     r2, _board_init_r
-       sub     r2, r2, r0
-       add     r2, r2, r7      /* position from board_init_r in RAM */
+       ldr     r0, _board_init_r_ofs
+       adr     r1, _start
+       add     lr, r0, r1
+       add     lr, lr, r9
        /* setup parameters for board_init_r */
        mov     r0, r5          /* gd_t */
        mov     r1, r7          /* dest_addr */
        /* jump to it ... */
-       mov     lr, r2
        mov     pc, lr
 
-_board_init_r: .word board_init_r
+_board_init_r_ofs:
+       .word board_init_r - _start
+
+_rel_dyn_start_ofs:
+       .word __rel_dyn_start - _start
+_rel_dyn_end_ofs:
+       .word __rel_dyn_end - _start
+_dynsym_start_ofs:
+       .word __dynsym_start - _start
 
 /*
  *************************************************************************
index 2e29291909176db3eba4239e05c93106c889e507..fa6d05cdf7db38ef2d747739dcb1fbf156cfff3e 100644 (file)
@@ -44,28 +44,38 @@ SECTIONS
        . = ALIGN(4);
        .data : {
                *(.data)
-       __datarel_start = .;
-               *(.data.rel)
-       __datarelrolocal_start = .;
-               *(.data.rel.ro.local)
-       __datarellocal_start = .;
-               *(.data.rel.local)
-       __datarelro_start = .;
-               *(.data.rel.ro)
        }
 
-       __got_start = .;
        . = ALIGN(4);
-       .got : { *(.got) }
 
-       __got_end = .;
        . = .;
        __u_boot_cmd_start = .;
        .u_boot_cmd : { *(.u_boot_cmd) }
        __u_boot_cmd_end = .;
 
        . = ALIGN(4);
-       __bss_start = .;
-       .bss (NOLOAD) : { *(.bss) . = ALIGN(4); }
-       _end = .;
+
+       .rel.dyn : {
+               __rel_dyn_start = .;
+               *(.rel*)
+               __rel_dyn_end = .;
+       }
+
+       .dynsym : {
+               __dynsym_start = .;
+               *(.dynsym)
+       }
+
+       .bss __rel_dyn_start (OVERLAY) : {
+               __bss_start = .;
+               *(.bss)
+                . = ALIGN(4);
+               _end = .;
+       }
+
+       /DISCARD/ : { *(.dynstr*) }
+       /DISCARD/ : { *(.dynamic*) }
+       /DISCARD/ : { *(.plt*) }
+       /DISCARD/ : { *(.interp*) }
+       /DISCARD/ : { *(.gnu*) }
 }
index 02933485cd16600f4f9dbae073a85184a40a7d8d..454440c057af917936dca02cf6b6f04f326b1238 100644 (file)
@@ -23,8 +23,8 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(ARCH).a
-LIBGCC = $(obj)libgcc.a
+LIB    = $(obj)lib$(ARCH).o
+LIBGCC = $(obj)libgcc.o
 
 GLSOBJS        += _ashldi3.o
 GLSOBJS        += _ashrdi3.o
@@ -51,7 +51,7 @@ OBJS  := $(addprefix $(obj),$(SOBJS-y) $(COBJS-y))
 LGOBJS := $(addprefix $(obj),$(GLSOBJS)) \
           $(addprefix $(obj),$(GLCOBJS))
 
-# Always build libarm.a
+# Always build libarm.o
 TARGETS        := $(LIB)
 
 # Build private libgcc only when asked for
@@ -67,10 +67,10 @@ endif
 all:   $(TARGETS)
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 $(LIBGCC): $(obj).depend $(LGOBJS)
-       $(AR) $(ARFLAGS) $@ $(LGOBJS)
+       $(call cmd_link_o_target, $(LGOBJS))
 
 #########################################################################
 
index 60899c79ea0b59c24fb3315412362a939afbb219..edb866f7f948a8c1d91e7b3c92a5e7ff08a051d7 100644 (file)
@@ -25,7 +25,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    := $(obj)lib$(CPU).a
+LIB    := $(obj)lib$(CPU).o
 
 START-y                        += start.o
 
@@ -44,7 +44,7 @@ START := $(addprefix $(obj),$(START-y))
 all: $(obj).depend $(START) $(LIB)
 
 $(LIB): $(OBJS)
-       $(AR) $(ARFLAGS) $@ $^
+       $(call cmd_link_o_target, $^)
 
 #########################################################################
 
index 30ea92590dca3ed2179bfb7bcae69683fce9f324..8372149bd51b4a5f6bc021242d8947fb664d4ed5 100644 (file)
@@ -22,7 +22,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    := $(obj)lib$(SOC).a
+LIB    := $(obj)lib$(SOC).o
 
 COBJS  := portmux.o clk.o mmu.o
 SRCS   := $(SOBJS:.o=.S) $(COBJS:.o=.c)
@@ -31,7 +31,7 @@ OBJS  := $(addprefix $(obj),$(SOBJS) $(COBJS))
 all: $(obj).depend $(LIB)
 
 $(LIB): $(OBJS)
-       $(AR) $(ARFLAGS) $@ $^
+       $(call cmd_link_o_target, $^)
 
 #########################################################################
 
index 37b80514f3f4331c82078a2b83857c97ae32c41a..ee6d0672aa6f44dec64d47ff1952baca60abdbf6 100644 (file)
@@ -25,7 +25,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(ARCH).a
+LIB    = $(obj)lib$(ARCH).o
 
 SOBJS-y        += memset.o
 
@@ -37,7 +37,7 @@ SRCS  := $(SOBJS-y:.o=.S) $(COBJS-y:.o=.c)
 OBJS   := $(addprefix $(obj),$(SOBJS-y) $(COBJS-y))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index b7f991dea04959c5959b7b43a9c66fd871a2217d..4a9e577a872ecb516fb77ce3aac9184a0f399b76 100644 (file)
@@ -11,7 +11,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(CPU).a
+LIB    = $(obj)lib$(CPU).o
 
 EXTRA    :=
 CEXTRA   := initcode.o
@@ -29,10 +29,6 @@ COBJS-y  += serial.o
 COBJS-y  += traps.o
 COBJS-$(CONFIG_HW_WATCHDOG)  += watchdog.o
 
-ifeq ($(CONFIG_BFIN_BOOT_MODE),BFIN_BOOT_BYPASS)
-COBJS-y  += initcode.o
-endif
-
 SRCS     := $(SEXTRA:.o=.S) $(SOBJS:.o=.S) $(COBJS-y:.o=.c)
 OBJS     := $(addprefix $(obj),$(COBJS-y) $(SOBJS))
 EXTRA    := $(addprefix $(obj),$(EXTRA))
@@ -42,7 +38,7 @@ SEXTRA   := $(addprefix $(obj),$(SEXTRA))
 all:   $(obj).depend $(LIB) $(obj).depend $(EXTRA) $(CEXTRA) $(SEXTRA) check_initcode
 
 $(LIB):        $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 $(OBJS): $(obj)bootrom-asm-offsets.h
 $(obj)bootrom-asm-offsets.c: bootrom-asm-offsets.c.in bootrom-asm-offsets.awk
index a18bbd63e9a98e2af7c29ab7c6746b5ff6b26cb5..4a227665aa0221f1e066eadf0fa1dccdb0a272dc 100644 (file)
@@ -29,7 +29,7 @@ include $(TOPDIR)/config.mk
 
 CFLAGS += -DBFIN_BOARD_NAME='"$(BOARD)"'
 
-LIB    = $(obj)lib$(ARCH).a
+LIB    = $(obj)lib$(ARCH).o
 
 SOBJS-y        += ins.o
 SOBJS-y        += memcmp.o
@@ -53,7 +53,7 @@ SRCS  := $(SOBJS-y:.o=.S) $(COBJS-y:.o=.c)
 OBJS   := $(addprefix $(obj),$(SOBJS-y) $(COBJS-y))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 4519596420e50debc3a111ef56c304cfd41c3509..3ac6d84548642be4656cefb12e576ac920314cbd 100644 (file)
@@ -71,6 +71,7 @@
  */
 
 #define COMMON_INS(func, ops) \
+.section .text._ins##func; \
 ENTRY(_ins##func) \
        P0 = R0;        /* P0 = port */ \
        CLI_OUTER;      /* 3 instructions before first read access */ \
index 90c6033c9e5f156ad51bc08af1a4eb7e8ccbecaa..253d4c3e417b47a2a92e503bec896b0d4a9d9457 100644 (file)
@@ -12,6 +12,7 @@
 
 .align 2
 
+.section .text._outsl
 ENTRY(_outsl)
        P0 = R0;        /* P0 = port */
        P1 = R1;        /* P1 = address */
@@ -23,6 +24,7 @@ ENTRY(_outsl)
        RTS;
 ENDPROC(_outsl)
 
+.section .text._outsw
 ENTRY(_outsw)
        P0 = R0;        /* P0 = port */
        P1 = R1;        /* P1 = address */
@@ -34,6 +36,7 @@ ENTRY(_outsw)
        RTS;
 ENDPROC(_outsw)
 
+.section .text._outsb
 ENTRY(_outsb)
        P0 = R0;        /* P0 = port */
        P1 = R1;        /* P1 = address */
@@ -45,6 +48,7 @@ ENTRY(_outsb)
        RTS;
 ENDPROC(_outsb)
 
+.section .text._outsw_8
 ENTRY(_outsw_8)
        P0 = R0;        /* P0 = port */
        P1 = R1;        /* P1 = address */
index 9163d20c29b858a448d021d00e36476dac3b0a23..f15c97ed0cbbc4ba677be673a3467cf56b107210 100644 (file)
@@ -147,6 +147,7 @@ SECTIONS
                *(.dynbss)
                *(.bss .bss.*)
                *(COMMON)
+               . = ALIGN(4);
        } >ram_data
        __bss_vma = ADDR(.bss);
        __bss_len = SIZEOF(.bss);
index bb0a48f8643582a1afc12c774388d4a10a5151c5..ddde83c91de61111e3f039db1512d6ce4255694b 100644 (file)
@@ -26,7 +26,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(CPU).a
+LIB    = $(obj)lib$(CPU).o
 
 START  = start.o start16.o resetvec.o
 COBJS  = interrupts.o cpu.o
@@ -38,7 +38,7 @@ START := $(addprefix $(obj),$(START))
 all:   $(obj).depend $(START) $(LIB)
 
 $(LIB):        $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 87835b2c20ddea1efbb251f3069e4549e2c6bff2..fb47c209934a486f97ec13a47067e56787507ddf 100644 (file)
@@ -29,7 +29,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    := $(obj)lib$(SOC).a
+LIB    := $(obj)lib$(SOC).o
 
 COBJS-$(CONFIG_SYS_SC520) += sc520.o
 COBJS-$(CONFIG_SYS_SC520_SSI) += sc520_ssi.o
@@ -44,7 +44,7 @@ OBJS  := $(addprefix $(obj),$(SOBJS-y) $(COBJS-y))
 all: $(obj).depend $(LIB)
 
 $(LIB):        $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 9838506689c079beb4466b349d639b69dd60da86..71e94f76f37d9e60df3fbd525e3c40bc03d33117 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(ARCH).a
+LIB    = $(obj)lib$(ARCH).o
 
 SOBJS-y        += bios.o
 SOBJS-y        += bios_pci.o
@@ -47,7 +47,7 @@ SRCS  := $(SOBJS-y:.o=.S) $(COBJS-y:.o=.c)
 OBJS   := $(addprefix $(obj),$(SOBJS-y) $(COBJS-y))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index d0e9b4550f1f55d23b79e88988c4a0c3272a65d5..eb362648c21f50fd0c2ae3d6f347241a48c44cc6 100644 (file)
@@ -25,7 +25,7 @@ include $(TOPDIR)/config.mk
 
 # CFLAGS += -DET_DEBUG
 
-LIB    = lib$(CPU).a
+LIB    = lib$(CPU).o
 
 START  = start.o
 COBJS  = cpu.o speed.o cpu_init.o interrupts.o
@@ -37,7 +37,7 @@ START := $(addprefix $(obj),$(START))
 all:   $(obj).depend $(START) $(LIB)
 
 $(LIB):        $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index d0e9b4550f1f55d23b79e88988c4a0c3272a65d5..eb362648c21f50fd0c2ae3d6f347241a48c44cc6 100644 (file)
@@ -25,7 +25,7 @@ include $(TOPDIR)/config.mk
 
 # CFLAGS += -DET_DEBUG
 
-LIB    = lib$(CPU).a
+LIB    = lib$(CPU).o
 
 START  = start.o
 COBJS  = cpu.o speed.o cpu_init.o interrupts.o
@@ -37,7 +37,7 @@ START := $(addprefix $(obj),$(START))
 all:   $(obj).depend $(START) $(LIB)
 
 $(LIB):        $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 937cdd058412ab0c8462b3857e5b2b3abe4c45f2..135744ea5a5b27520f6bc7bf1d62857641927f2c 100644 (file)
@@ -25,7 +25,7 @@ include $(TOPDIR)/config.mk
 
 # CFLAGS += -DET_DEBUG
 
-LIB    = $(obj)lib$(CPU).a
+LIB    = $(obj)lib$(CPU).o
 
 START  = start.o
 COBJS  = interrupts.o cpu.o speed.o cpu_init.o
@@ -37,7 +37,7 @@ START := $(addprefix $(obj),$(START))
 all:   $(obj).depend $(START) $(LIB)
 
 $(LIB):        $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 6790d90f272483c51500ee6f8514b56867cdbcaf..257d46da0d34043e331cd17a746341d22791da80 100644 (file)
@@ -25,7 +25,7 @@ include $(TOPDIR)/config.mk
 
 # CFLAGS += -DET_DEBUG
 
-LIB    = lib$(CPU).a
+LIB    = lib$(CPU).o
 
 START  =
 COBJS  = cpu.o speed.o cpu_init.o interrupts.o
@@ -37,7 +37,7 @@ START := $(addprefix $(obj),$(START))
 all:   $(obj).depend $(START) $(LIB)
 
 $(LIB):        $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 26ec29895ee1cf771d942d21b030149b9d2fcaa3..047e35d39ccb6d8b0f028bb181fa5c469deb5ce7 100644 (file)
@@ -25,7 +25,7 @@ include $(TOPDIR)/config.mk
 
 # CFLAGS += -DET_DEBUG
 
-LIB    = lib$(CPU).a
+LIB    = lib$(CPU).o
 
 START  = start.o
 COBJS  = cpu.o speed.o cpu_init.o interrupts.o pci.o
@@ -37,7 +37,7 @@ START := $(addprefix $(obj),$(START))
 all:   $(obj).depend $(START) $(LIB)
 
 $(LIB):        $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index e12bef12c9e47c509fb958c6768c2fae75692d10..e41ce681c59be1a9ccf39a4f524dda7315171da3 100644 (file)
@@ -25,7 +25,7 @@ include $(TOPDIR)/config.mk
 
 # CFLAGS += -DET_DEBUG
 
-LIB    = lib$(CPU).a
+LIB    = lib$(CPU).o
 
 START  =
 COBJS  = cpu.o speed.o cpu_init.o pci.o interrupts.o slicetimer.o
@@ -37,7 +37,7 @@ START := $(addprefix $(obj),$(START))
 all:   $(obj).depend $(START) $(LIB)
 
 $(LIB):        $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 6db35ed2c10e476bd5e781dc483ee2bfee140701..a8d6cd54d808bbad49561d796217bb22dad24faa 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(ARCH).a
+LIB    = $(obj)lib$(ARCH).o
 
 SOBJS-y        +=
 
@@ -38,7 +38,7 @@ SRCS  := $(SOBJS-y:.o=.S) $(COBJS-y:.o=.c)
 OBJS   := $(addprefix $(obj),$(SOBJS-y) $(COBJS-y))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 9d542013ccc3660551451b37c1b1b875d439be9c..1c169dd4bf2d846ad7e5d81d10a0dd2a3dfabfec 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(CPU).a
+LIB    = $(obj)lib$(CPU).o
 
 START  = start.o
 SOBJS  = irq.o
@@ -36,7 +36,7 @@ START := $(addprefix $(obj),$(START))
 all:   $(obj).depend $(START) $(LIB)
 
 $(LIB):        $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 817643795e49af55e117dd2a33b9a5dbb0784715..de0a7d36c9b76404b49038db04176e8b8b756853 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(ARCH).a
+LIB    = $(obj)lib$(ARCH).o
 
 SOBJS-y        +=
 
@@ -35,7 +35,7 @@ SRCS  := $(SOBJS-y:.o=.S) $(COBJS-y:.o=.c)
 OBJS   := $(addprefix $(obj),$(SOBJS-y) $(COBJS-y))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 28a1cbb10422fd350cdb787d44eac5b89b0b4dc2..06df8d17a8cac07fcf43af606633a03808311b77 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(CPU).a
+LIB    = $(obj)lib$(CPU).o
 
 START  = start.o
 SOBJS-y        = cache.o
@@ -41,7 +41,7 @@ START := $(addprefix $(obj),$(START))
 all:   $(obj).depend $(START) $(LIB)
 
 $(LIB):        $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 7967e5803a3be283c3093dd662a69a6e7e076d43..4e90704425aadb30b463dcce6420662007bd865e 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(ARCH).a
+LIB    = $(obj)lib$(ARCH).o
 
 SOBJS-y        +=
 
@@ -39,7 +39,7 @@ SRCS  := $(SOBJS-y:.o=.S) $(COBJS-y:.o=.c)
 OBJS   := $(addprefix $(obj),$(SOBJS-y) $(COBJS-y))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 3dfaa833c0a30d1be0c37018eebb594843c294dc..aa41160af35c60438a72db60a5b920c669e1caa9 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(CPU).a
+LIB    = $(obj)lib$(CPU).o
 
 START  = start.o
 SOBJS  = exceptions.o
@@ -36,7 +36,7 @@ START := $(addprefix $(obj),$(START))
 all:   $(obj).depend $(START) $(LIB)
 
 $(LIB):        $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 92320c5e4662211f1c20abf55819bbcc99cafdfc..443f99ee158174c10e9672037aa549b9a424c9c4 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(ARCH).a
+LIB    = $(obj)lib$(ARCH).o
 
 SOBJS-y        += cache.o
 
@@ -36,7 +36,7 @@ SRCS  := $(SOBJS-y:.o=.S) $(COBJS-y:.o=.c)
 OBJS   := $(addprefix $(obj),$(SOBJS-y) $(COBJS-y))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 06a3b107d59d52bc44a34c52b981109adf990202..2912604afcb1a388554736be5a3d4134153b496e 100644 (file)
@@ -1,5 +1,5 @@
 #
-# (C) Copyright 2000-2002
+# (C) Copyright 2000-2010
 # Wolfgang Denk, DENX Software Engineering, wd@denx.de.
 #
 # See file CREDITS for list of people who contributed to this
@@ -25,9 +25,20 @@ CROSS_COMPILE ?= ppc_8xx-
 
 STANDALONE_LOAD_ADDR = 0x40000
 
-PLATFORM_RELFLAGS += -mrelocatable
+PLATFORM_RELFLAGS += -mrelocatable -ffunction-sections -fdata-sections
 PLATFORM_CPPFLAGS += -DCONFIG_PPC -D__powerpc__
-PLATFORM_LDFLAGS  += -n
+PLATFORM_LDFLAGS  += -n --gc-sections
+
+ifdef CONFIG_SYS_LDSCRIPT
+# need to strip off double quotes
+LDSCRIPT := $(subst ",,$(CONFIG_SYS_LDSCRIPT))
+else ifdef CONFIG_NAND_SPL
+LDSCRIPT := $(SRCTREE)/$(CONFIG_BOARDDIR)/u-boot-nand.lds
+else
+ifneq ($(wildcard $(SRCTREE)/arch/powerpc/cpu/$(CPU)/u-boot.lds),)
+LDSCRIPT := $(SRCTREE)/arch/powerpc/cpu/$(CPU)/u-boot.lds
+endif
+endif
 
 #
 # When cross-compiling on NetBSD, we have to define __PPC__ or else we
index fe905f31fe2b9ca633712c0db3c937756f21ec8a..8c2800b26b882ec9aa32d67eee94454df767aec8 100644 (file)
@@ -26,7 +26,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(CPU).a
+LIB    = $(obj)lib$(CPU).o
 
 START  = start.o
 SOBJS  = cache.o kgdb.o io.o
@@ -39,7 +39,7 @@ START := $(addprefix $(obj),$(START))
 all:   $(obj).depend $(START) $(LIB)
 
 $(LIB):        $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 280781e165d8f669fe1f7bfb8507a99697263493..985e1ce70f0896176c58196e490b594aa77cb884 100644 (file)
@@ -712,7 +712,7 @@ in_ram:
        lwzux   r0,r4,r11
        cmpwi   r0,0
        add     r0,r0,r11
-       stw     r10,0(r3)
+       stw     r4,0(r3)
        beq-    5f
        stw     r0,0(r4)
 5:     bdnz    3b
similarity index 53%
rename from board/freescale/mpc7448hpc2/u-boot.lds
rename to arch/powerpc/cpu/74xx_7xx/u-boot.lds
index 3b3fb3a5c38f76576662896511e8a259a1f08722..771a8456fa527e81d645cf11905349af0144d305 100644 (file)
@@ -1,6 +1,5 @@
 /*
- * (C) Copyright 2001
- * Josh Huber <huber@mclx.com>, Mission Critical Linux, Inc.
+ * (C) Copyright 2010 Wolfgang Denk <wd@denx.de>
  *
  * See file CREDITS for list of people who contributed to this
  * project.
  * MA 02111-1307 USA
  */
 
-/*
- * u-boot.lds - linker script for U-Boot on mpc7448hpc2 Board.
- */
-
 OUTPUT_ARCH(powerpc)
-/* Do we need any of these for elf?
-   __DYNAMIC = 0;    */
+
 SECTIONS
 {
-  /* Read-only sections, merged into text segment: */
-  . = + SIZEOF_HEADERS;
-  .interp : { *(.interp) }
-  .hash          : { *(.hash)          }
-  .dynsym        : { *(.dynsym)                }
-  .dynstr        : { *(.dynstr)                }
-  .rel.text      : { *(.rel.text)              }
-  .rela.text     : { *(.rela.text)     }
-  .rel.data      : { *(.rel.data)              }
-  .rela.data     : { *(.rela.data)     }
-  .rel.rodata    : { *(.rel.rodata)    }
-  .rela.rodata   : { *(.rela.rodata)   }
-  .rel.got       : { *(.rel.got)               }
-  .rela.got      : { *(.rela.got)              }
-  .rel.ctors     : { *(.rel.ctors)     }
-  .rela.ctors    : { *(.rela.ctors)    }
-  .rel.dtors     : { *(.rel.dtors)     }
-  .rela.dtors    : { *(.rela.dtors)    }
-  .rel.bss       : { *(.rel.bss)               }
-  .rela.bss      : { *(.rela.bss)              }
-  .rel.plt       : { *(.rel.plt)               }
-  .rela.plt      : { *(.rela.plt)              }
-  .init          : { *(.init)  }
-  .plt : { *(.plt) }
   .text      :
   {
-    arch/powerpc/cpu/74xx_7xx/start.o  (.text)
-
-/* store the environment in a seperate sector in the boot flash */
-/*    . = env_offset; */
-/*    common/env_embedded.o(.text) */
+    arch/powerpc/cpu/74xx_7xx/start.o  (.text*)
 
-    *(.text)
-    *(.got1)
+    *(.text*)
   }
   _etext = .;
   PROVIDE (etext = .);
@@ -71,9 +36,6 @@ SECTIONS
   {
     *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
   }
-  .fini      : { *(.fini)    } =0
-  .ctors     : { *(.ctors)   }
-  .dtors     : { *(.dtors)   }
 
   /* Read-write section, merged into data segment: */
   . = (. + 0x00FF) & 0xFFFFFF00;
@@ -81,23 +43,19 @@ SECTIONS
   PROVIDE (erotext = .);
   .reloc   :
   {
-    *(.got)
+    KEEP(*(.got))
     _GOT2_TABLE_ = .;
-    *(.got2)
+    KEEP(*(.got2))
     _FIXUP_TABLE_ = .;
-    *(.fixup)
+    KEEP(*(.fixup))
   }
   __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >>2;
   __fixup_entries = (. - _FIXUP_TABLE_)>>2;
 
   .data    :
   {
-    *(.data)
-    *(.data1)
-    *(.sdata)
-    *(.sdata2)
-    *(.dynamic)
-    CONSTRUCTORS
+    *(.data*)
+    *(.sdata*)
   }
   _edata  =  .;
   PROVIDE (edata = .);
@@ -107,6 +65,7 @@ SECTIONS
   .u_boot_cmd : { *(.u_boot_cmd) }
   __u_boot_cmd_end = .;
 
+
   . = .;
   __start___ex_table = .;
   __ex_table : { *(__ex_table) }
@@ -122,9 +81,8 @@ SECTIONS
   __bss_start = .;
   .bss (NOLOAD)       :
   {
-   *(.sbss) *(.scommon)
-   *(.dynbss)
-   *(.bss)
+   *(.bss*)
+   *(.sbss*)
    *(COMMON)
    . = ALIGN(4);
   }
index 37b06f346edafaec6ee8ddaf27e595d2ba061d03..4a4bc0d471aaa87f5ee729c61d19463271ca21ad 100644 (file)
@@ -24,7 +24,7 @@ include $(TOPDIR)/config.mk
 
 $(shell mkdir -p $(OBJTREE)/board/freescale/common)
 
-LIB    = $(obj)lib$(CPU).a
+LIB    = $(obj)lib$(CPU).o
 
 START  = start.o
 COBJS-y        := cpu.o
@@ -37,7 +37,6 @@ COBJS-y += iopin.o
 COBJS-y += serial.o
 COBJS-y += speed.o
 COBJS-$(CONFIG_FSL_DIU_FB) += diu.o
-COBJS-$(CONFIG_FSL_DIU_FB) += ../../../../board/freescale/common/fsl_diu_fb.o
 COBJS-$(CONFIG_CMD_IDE) += ide.o
 COBJS-$(CONFIG_IIM) += iim.o
 COBJS-$(CONFIG_PCI) += pci.o
@@ -50,7 +49,7 @@ START := $(addprefix $(obj),$(START))
 all:   $(obj).depend $(START) $(LIB)
 
 $(LIB):        $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index b29edb1b387bf18bda222f20b06c84dceb2f12a6..baf55ccaaf1b182c89b38963d856f1a22d5cacff 100644 (file)
@@ -1,5 +1,5 @@
 #
-# (C) Copyright 2007-2009 DENX Software Engineering
+# (C) Copyright 2007-2010 DENX Software Engineering
 #
 # See file CREDITS for list of people who contributed to this
 # project.
 # Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 # MA 02111-1307 USA
 #
+
 PLATFORM_RELFLAGS += -fPIC -meabi
 
 PLATFORM_CPPFLAGS += -DCONFIG_MPC512X -DCONFIG_E300 \
                        -ffixed-r2 -msoft-float -mcpu=603e
-
-# Use default linker script.
-# A board port can override this setting in board/*/config.mk
-LDSCRIPT := $(SRCTREE)/arch/powerpc/cpu/mpc512x/u-boot.lds
index fe35190e796ac4b30f0ff0775e0b0305f00c2385..10557cf20f8cfeb85b83901601593918e9e653ae 100644 (file)
@@ -616,7 +616,7 @@ in_ram:
        lwzux   r0,r4,r11
        cmpwi   r0,0
        add     r0,r0,r11
-       stw     r10,0(r3)
+       stw     r4,0(r3)
        beq-    5f
        stw     r0,0(r4)
 5:     bdnz    3b
index c71679960c1260c30762c5624999ac499868f3cb..361e71489977929eb2bf64832c3e4cc2e4ff1cdb 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * (C) Copyright 2007 DENX Software Engineering.
+ * (C) Copyright 2007-2010 DENX Software Engineering.
  *
  * See file CREDITS for list of people who contributed to this
  * project.
 OUTPUT_ARCH(powerpc)
 SECTIONS
 {
-  /* Read-only sections, merged into text segment: */
-  . = + SIZEOF_HEADERS;
-  .interp : { *(.interp) }
-  .hash          : { *(.hash)          }
-  .dynsym        : { *(.dynsym)                }
-  .dynstr        : { *(.dynstr)                }
-  .rel.text      : { *(.rel.text)              }
-  .rela.text     : { *(.rela.text)     }
-  .rel.data      : { *(.rel.data)              }
-  .rela.data     : { *(.rela.data)     }
-  .rel.rodata    : { *(.rel.rodata)    }
-  .rela.rodata   : { *(.rela.rodata)   }
-  .rel.got       : { *(.rel.got)               }
-  .rela.got      : { *(.rela.got)              }
-  .rel.ctors     : { *(.rel.ctors)     }
-  .rela.ctors    : { *(.rela.ctors)    }
-  .rel.dtors     : { *(.rel.dtors)     }
-  .rela.dtors    : { *(.rela.dtors)    }
-  .rel.bss       : { *(.rel.bss)               }
-  .rela.bss      : { *(.rela.bss)              }
-  .rel.plt       : { *(.rel.plt)               }
-  .rela.plt      : { *(.rela.plt)              }
-  .init          : { *(.init)  }
-  .plt : { *(.plt) }
   .text      :
   {
-    arch/powerpc/cpu/mpc512x/start.o   (.text)
-    *(.text)
-    *(.got1)
+    arch/powerpc/cpu/mpc512x/start.o   (.text*)
+    *(.text*)
     . = ALIGN(16);
-    *(.eh_frame)
     *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
   }
-  .fini      : { *(.fini)    } =0
-  .ctors     : { *(.ctors)   }
-  .dtors     : { *(.dtors)   }
 
   /* Read-write section, merged into data segment: */
   . = (. + 0x0FFF) & 0xFFFFF000;
@@ -66,10 +37,11 @@ SECTIONS
   PROVIDE (erotext = .);
   .reloc   :
   {
-    *(.got)
+    KEEP(*(.got))
     _GOT2_TABLE_ = .;
-    *(.got2)
+    KEEP(*(.got2))
     _FIXUP_TABLE_ = .;
+    KEEP(*(.fixup))
     *(.fixup)
   }
   __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >> 2;
@@ -77,12 +49,8 @@ SECTIONS
 
   .data    :
   {
-    *(.data)
-    *(.data1)
-    *(.sdata)
-    *(.sdata2)
-    *(.dynamic)
-    CONSTRUCTORS
+    *(.data*)
+    *(.sdata*)
   }
   _edata  =  .;
   PROVIDE (edata = .);
@@ -108,9 +76,8 @@ SECTIONS
   __bss_start = .;
   .bss (NOLOAD)       :
   {
-   *(.sbss) *(.scommon)
-   *(.dynbss)
-   *(.bss)
+   *(.bss*)
+   *(.sbss*)
    *(COMMON)
    . = ALIGN(4);
   }
index 80c53203e9615a44f8ea71b6ba45e40bb8b9db05..078b52477a41d6656fa05d1e4aa08707fda5136c 100644 (file)
@@ -35,7 +35,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(CPU).a
+LIB    = $(obj)lib$(CPU).o
 
 START  = start.o
 COBJS  = serial.o cpu.o cpu_init.o interrupts.o traps.o speed.o spi.o
@@ -47,7 +47,7 @@ START := $(addprefix $(obj),$(START))
 all:   $(obj).depend $(START) $(LIB)
 
 $(LIB):        $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 5f9285df492c2b3a6a37dec3dbb7abee0ab9e0a7..1c7df0005c0db22a81a69fffd5cd107b46ed8484 100644 (file)
 # MA 02111-1307 USA
 #
 
-#
-# File:                        config.mk
-#
-# Discription:         compiler flags and make definitions
-#
-
-
 PLATFORM_RELFLAGS +=   -fPIC -meabi
 
 PLATFORM_CPPFLAGS +=   -DCONFIG_5xx -ffixed-r2 -mpowerpc -msoft-float
-
-# Use default linker script.  Board port can override in board/*/config.mk
-LDSCRIPT := $(SRCTREE)/arch/powerpc/cpu/mpc5xx/u-boot.lds
index 63449c3d4deb5a2f9138cfcee1011eb42e238235..3dbd23d0b827b9eead52f754d04e9251d563e2fd 100644 (file)
@@ -456,7 +456,7 @@ in_ram:
        lwzux   r0,r4,r11
        cmpwi   r0,0
        add     r0,r0,r11
-       stw     r10,0(r3)
+       stw     r4,0(r3)
        beq-    5f
        stw     r0,0(r4)
 5:     bdnz    3b
index d5e5dc1787ab5c1756cfb854c002c6517a420ae2..b7fd4bc3a732756d1f903e201b88f53a4d4ec5e7 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * (C) Copyright 2001  Wolfgang Denk, DENX Software Engineering, wd@denx.de
+ * (C) Copyright 2001-2010 Wolfgang Denk, DENX Software Engineering, wd@denx.de
  * (C) Copyright 2003  Martin Winistoerfer, martinwinistoerfer@gmx.ch
  *
  * See file CREDITS for list of people who contributed to this
  */
 
 OUTPUT_ARCH(powerpc)
-/* Do we need any of these for elf?
-   __DYNAMIC = 0;    */
+
 SECTIONS
 {
   /* Read-only sections, merged into text segment: */
   . = + SIZEOF_HEADERS;
-  .interp : { *(.interp) }
-  .hash          : { *(.hash)          }
-  .dynsym        : { *(.dynsym)                }
-  .dynstr        : { *(.dynstr)                }
-  .rel.text      : { *(.rel.text)              }
-  .rela.text     : { *(.rela.text)     }
-  .rel.data      : { *(.rel.data)              }
-  .rela.data     : { *(.rela.data)     }
-  .rel.rodata    : { *(.rel.rodata)    }
-  .rela.rodata   : { *(.rela.rodata)   }
-  .rel.got       : { *(.rel.got)               }
-  .rela.got      : { *(.rela.got)              }
-  .rel.ctors     : { *(.rel.ctors)     }
-  .rela.ctors    : { *(.rela.ctors)    }
-  .rel.dtors     : { *(.rel.dtors)     }
-  .rela.dtors    : { *(.rela.dtors)    }
-  .rel.bss       : { *(.rel.bss)               }
-  .rela.bss      : { *(.rela.bss)              }
-  .rel.plt       : { *(.rel.plt)               }
-  .rela.plt      : { *(.rela.plt)              }
-  .init          : { *(.init)  }
-  .plt : { *(.plt) }
   .text      :
   {
-    /* WARNING - the following is hand-optimized to fit within */
-    /* the sector layout of our flash chips!   XXX FIXME XXX   */
-
-    arch/powerpc/cpu/mpc5xx/start.o    (.text)
+    arch/powerpc/cpu/mpc5xx/start.o    (.text*)
 
-    *(.text)
-    *(.got1)
+    *(.text*)
   }
   _etext = .;
   PROVIDE (etext = .);
   .rodata    :
   {
-    *(.eh_frame)
     *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
   }
-  .fini      : { *(.fini)    } =0
-  .ctors     : { *(.ctors)   }
-  .dtors     : { *(.dtors)   }
 
   /* Read-write section, merged into data segment: */
   . = (. + 0x00FF) & 0xFFFFFF00;
@@ -77,23 +46,19 @@ SECTIONS
   PROVIDE (erotext = .);
   .reloc   :
   {
-    *(.got)
+    KEEP(*(.got))
     _GOT2_TABLE_ = .;
-    *(.got2)
+    KEEP(*(.got2))
     _FIXUP_TABLE_ = .;
-    *(.fixup)
+    KEEP(*(.fixup))
   }
   __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >>2;
   __fixup_entries = (. - _FIXUP_TABLE_)>>2;
 
   .data    :
   {
-    *(.data)
-    *(.data1)
-    *(.sdata)
-    *(.sdata2)
-    *(.dynamic)
-    CONSTRUCTORS
+    *(.data*)
+    *(.sdata*)
   }
   _edata  =  .;
   PROVIDE (edata = .);
@@ -119,19 +84,17 @@ SECTIONS
   __bss_start = .;
   .bss (NOLOAD)       :
   {
-   *(.sbss) *(.scommon)
-   *(.dynbss)
-   *(.bss)
+   *(.bss*)
+   *(.sbss*)
    *(COMMON)
    . = ALIGN(4);
   }
 
   _end = . ;
   PROVIDE (end = .);
-/*   . = env_start;
-       .ppcenv :
-       {
-               common/env_embedded.o (.ppcenv)
-       }
-*/
+  . = env_start;
+  .ppcenv :
+  {
+    common/env_embedded.o (.ppcenv)
+  }
 }
index 0ee0611550b0c0db43c708ede83e308238a7adfc..1a088b77bc54c9d836f9b1cb8a504753dae1d255 100644 (file)
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(CPU).a
-
-START  = start.o
-SOBJS  = io.o firmware_sc_task_bestcomm.impl.o
-COBJS  = i2c.o traps.o cpu.o cpu_init.o ide.o interrupts.o \
-         loadtask.o pci_mpc5200.o serial.o speed.o usb_ohci.o usb.o
-
-SRCS   := $(START:.o=.S) $(SOBJS:.o=.S) $(COBJS:.o=.c)
-OBJS   := $(addprefix $(obj),$(SOBJS) $(COBJS))
-START  := $(addprefix $(obj),$(START))
+LIB    = $(obj)lib$(CPU).o
+
+SSTART = start.o
+CSTART  = traps.o
+SOBJS  += io.o
+SOBJS  += firmware_sc_task_bestcomm.impl.o
+COBJS-y += i2c.o
+COBJS-y += cpu.o
+COBJS-y += cpu_init.o
+COBJS-y += ide.o
+COBJS-y += interrupts.o
+COBJS-y += loadtask.o
+COBJS-y += pci_mpc5200.o
+COBJS-y += serial.o
+COBJS-y += speed.o
+COBJS-$(CONFIG_CMD_USB) += usb_ohci.o
+COBJS-$(CONFIG_CMD_USB) += usb.o
+
+SRCS   := $(START:.o=.S) $(SOBJS:.o=.S) $(COBJS-y:.o=.c)
+OBJS   := $(addprefix $(obj),$(SOBJS) $(COBJS-y))
+START  := $(addprefix $(obj),$(SSTART) $(CSTART))
 
 all:   $(obj).depend $(START) $(LIB)
 
 $(LIB):        $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 7ef8a4708a90df8846bfff1d82d5c36d83ac786e..832909fbb3bd54118f33762965fe8e1d618e7aa1 100644 (file)
@@ -1,5 +1,5 @@
 #
-# (C) Copyright 2003
+# (C) Copyright 2003-2010
 # Wolfgang Denk, DENX Software Engineering, wd@denx.de.
 #
 # See file CREDITS for list of people who contributed to this
@@ -25,6 +25,3 @@ PLATFORM_RELFLAGS += -fPIC -meabi
 
 PLATFORM_CPPFLAGS += -DCONFIG_MPC5xxx -ffixed-r2 \
                     -mstring -mcpu=603e -mmultiple
-
-# Use default linker script.  Board port can override in board/*/config.mk
-LDSCRIPT := $(SRCTREE)/arch/powerpc/cpu/mpc5xxx/u-boot.lds
index 4f7f71632873318d9989a6babe47e8d6e5af05b4..9fb330f82fcc39397c2c8e35da1d1488d8379b13 100644 (file)
@@ -30,6 +30,7 @@ DECLARE_GLOBAL_DATA_PTR;
 #include <mpc5xxx.h>
 #include <i2c.h>
 
+#if !defined(CONFIG_I2C_MULTI_BUS)
 #if (CONFIG_SYS_I2C_MODULE == 2)
 #define I2C_BASE       MPC5XXX_I2C2
 #elif (CONFIG_SYS_I2C_MODULE == 1)
@@ -37,6 +38,19 @@ DECLARE_GLOBAL_DATA_PTR;
 #else
 #error CONFIG_SYS_I2C_MODULE is not properly configured
 #endif
+#else
+static unsigned int i2c_bus_num __attribute__ ((section (".data"))) =
+                                               CONFIG_SYS_SPD_BUS_NUM;
+static unsigned int i2c_bus_speed[2] = {CONFIG_SYS_I2C_SPEED,
+                                       CONFIG_SYS_I2C_SPEED};
+
+static const  unsigned long i2c_dev[2] = {
+       MPC5XXX_I2C1,
+       MPC5XXX_I2C2,
+};
+
+#define I2C_BASE       ((struct mpc5xxx_i2c *)i2c_dev[i2c_bus_num])
+#endif
 
 #define I2C_TIMEOUT    6667
 #define I2C_RETRIES    3
@@ -439,4 +453,33 @@ Done:
        return ret;
 }
 
+#if defined(CONFIG_I2C_MULTI_BUS)
+int i2c_set_bus_num(unsigned int bus)
+{
+       if (bus > 1)
+               return -1;
+
+       i2c_bus_num = bus;
+       i2c_init(i2c_bus_speed[bus], CONFIG_SYS_I2C_SLAVE);
+       return 0;
+}
+
+int i2c_set_bus_speed(unsigned int speed)
+{
+       i2c_init(speed, CONFIG_SYS_I2C_SLAVE);
+       return 0;
+}
+
+unsigned int i2c_get_bus_num(void)
+{
+       return i2c_bus_num;
+}
+
+unsigned int i2c_get_bus_speed(void)
+{
+       return i2c_bus_speed[i2c_bus_num];
+}
+#endif
+
+
 #endif /* CONFIG_HARD_I2C */
index ad546771fa3192f838689b2cde48a8c3ff26207d..38c0bd7c17794e3d8c72be6c856454e0d8f75bda 100644 (file)
@@ -671,7 +671,7 @@ in_ram:
        lwzux   r0,r4,r11
        cmpwi   r0,0
        add     r0,r0,r11
-       stw     r10,0(r3)
+       stw     r4,0(r3)
        beq-    5f
        stw     r0,0(r4)
 5:     bdnz    3b
index ecffc1b32f9338aaf1e93b33e82084c6414497e9..bbf0f1625de2169130d079f231b7ace2354a5a07 100644 (file)
  */
 
 OUTPUT_ARCH(powerpc)
-/* Do we need any of these for elf?
-   __DYNAMIC = 0;    */
+
 SECTIONS
 {
   /* Read-only sections, merged into text segment: */
-  . = + SIZEOF_HEADERS;
-  .interp : { *(.interp) }
-  .hash          : { *(.hash)          }
-  .dynsym        : { *(.dynsym)                }
-  .dynstr        : { *(.dynstr)                }
-  .rel.text      : { *(.rel.text)              }
-  .rela.text     : { *(.rela.text)     }
-  .rel.data      : { *(.rel.data)              }
-  .rela.data     : { *(.rela.data)     }
-  .rel.rodata    : { *(.rel.rodata)    }
-  .rela.rodata   : { *(.rela.rodata)   }
-  .rel.got       : { *(.rel.got)               }
-  .rela.got      : { *(.rela.got)              }
-  .rel.ctors     : { *(.rel.ctors)     }
-  .rela.ctors    : { *(.rela.ctors)    }
-  .rel.dtors     : { *(.rel.dtors)     }
-  .rela.dtors    : { *(.rela.dtors)    }
-  .rel.bss       : { *(.rel.bss)               }
-  .rela.bss      : { *(.rela.bss)              }
-  .rel.plt       : { *(.rel.plt)               }
-  .rela.plt      : { *(.rela.plt)              }
-  .init          : { *(.init)  }
-  .plt : { *(.plt) }
   .text      :
   {
     /* WARNING - the following is hand-optimized to fit within  */
     /* the sector layout of our flash chips!    XXX FIXME XXX   */
 
-    arch/powerpc/cpu/mpc5xxx/start.o          (.text)
-    arch/powerpc/cpu/mpc5xxx/traps.o          (.text)
-    lib/crc32.o         (.text)
-    arch/powerpc/lib/cache.o             (.text)
-    arch/powerpc/lib/time.o              (.text)
+    arch/powerpc/cpu/mpc5xxx/start.o   (.text*)
+    arch/powerpc/cpu/mpc5xxx/traps.o   (.text*)
 
     . = DEFINED(env_offset) ? env_offset : .;
-    common/env_embedded.o        (.ppcenv)
+    common/env_embedded.o              (.ppcenv*)
 
-    *(.text)
-    *(.got1)
+    *(.text*)
     . = ALIGN(16);
-    *(.eh_frame)
     *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
   }
-  .fini      : { *(.fini)    } =0
-  .ctors     : { *(.ctors)   }
-  .dtors     : { *(.dtors)   }
 
   /* Read-write section, merged into data segment: */
   . = (. + 0x0FFF) & 0xFFFFF000;
@@ -80,23 +48,19 @@ SECTIONS
   PROVIDE (erotext = .);
   .reloc   :
   {
-    *(.got)
+    KEEP(*(.got))
     _GOT2_TABLE_ = .;
-    *(.got2)
+    KEEP(*(.got2))
     _FIXUP_TABLE_ = .;
-    *(.fixup)
+    KEEP(*(.fixup))
   }
   __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >> 2;
   __fixup_entries = (. - _FIXUP_TABLE_) >> 2;
 
   .data    :
   {
-    *(.data)
-    *(.data1)
-    *(.sdata)
-    *(.sdata2)
-    *(.dynamic)
-    CONSTRUCTORS
+    *(.data*)
+    *(.sdata*)
   }
   _edata  =  .;
   PROVIDE (edata = .);
@@ -122,9 +86,8 @@ SECTIONS
   __bss_start = .;
   .bss (NOLOAD)       :
   {
-   *(.sbss) *(.scommon)
-   *(.dynbss)
-   *(.bss)
+   *(.bss*)
+   *(.sbss*)
    *(COMMON)
    . = ALIGN(4);
   }
index ea4060d482216fe755605cc4490f1d9cb93523f5..eeeff6c8504f4a3ad82a55887fb8ea8828204455 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * (C) Copyright 2003-2007
+ * (C) Copyright 2003-2010
  * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
  *
  * See file CREDITS for list of people who contributed to this
  */
 
 OUTPUT_ARCH(powerpc)
-/* Do we need any of these for elf?
-   __DYNAMIC = 0;    */
+
 SECTIONS
 {
   /* Read-only sections, merged into text segment: */
-  . = + SIZEOF_HEADERS;
-  .interp : { *(.interp) }
-  .hash          : { *(.hash)          }
-  .dynsym        : { *(.dynsym)                }
-  .dynstr        : { *(.dynstr)                }
-  .rel.text      : { *(.rel.text)              }
-  .rela.text     : { *(.rela.text)     }
-  .rel.data      : { *(.rel.data)              }
-  .rela.data     : { *(.rela.data)     }
-  .rel.rodata    : { *(.rel.rodata)    }
-  .rela.rodata   : { *(.rela.rodata)   }
-  .rel.got       : { *(.rel.got)               }
-  .rela.got      : { *(.rela.got)              }
-  .rel.ctors     : { *(.rel.ctors)     }
-  .rela.ctors    : { *(.rela.ctors)    }
-  .rel.dtors     : { *(.rel.dtors)     }
-  .rela.dtors    : { *(.rela.dtors)    }
-  .rel.bss       : { *(.rel.bss)               }
-  .rela.bss      : { *(.rela.bss)              }
-  .rel.plt       : { *(.rel.plt)               }
-  .rela.plt      : { *(.rela.plt)              }
-  .init          : { *(.init)  }
-  .plt : { *(.plt) }
   .text      :
   {
-    arch/powerpc/cpu/mpc5xxx/start.o   (.text)
-    *(.text)
-    *(.got1)
+    arch/powerpc/cpu/mpc5xxx/start.o   (.text*)
+    arch/powerpc/cpu/mpc5xxx/traps.o   (.text*)
+    *(.text*)
     . = ALIGN(16);
-    *(.eh_frame)
     *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
   }
-  .fini      : { *(.fini)    } =0
-  .ctors     : { *(.ctors)   }
-  .dtors     : { *(.dtors)   }
 
   /* Read-write section, merged into data segment: */
   . = (. + 0x0FFF) & 0xFFFFF000;
@@ -69,23 +41,19 @@ SECTIONS
   PROVIDE (erotext = .);
   .reloc   :
   {
-    *(.got)
+    KEEP(*(.got))
     _GOT2_TABLE_ = .;
-    *(.got2)
+    KEEP(*(.got2))
     _FIXUP_TABLE_ = .;
-    *(.fixup)
+    KEEP(*(.fixup))
   }
   __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >> 2;
   __fixup_entries = (. - _FIXUP_TABLE_) >> 2;
 
   .data    :
   {
-    *(.data)
-    *(.data1)
-    *(.sdata)
-    *(.sdata2)
-    *(.dynamic)
-    CONSTRUCTORS
+    *(.data*)
+    *(.sdata*)
   }
   _edata  =  .;
   PROVIDE (edata = .);
@@ -111,10 +79,9 @@ SECTIONS
   __bss_start = .;
   .bss (NOLOAD)       :
   {
-   *(.sbss) *(.scommon)
-   *(.dynbss)
-   *(.bss)
    *(COMMON)
+   *(.bss*)
+   *(.sbss*)
    . = ALIGN(4);
   }
   _end = . ;
index b4fad286dcbc8cda1998e4962f8b3ed74be0421e..b8529efe9123e9f789e4a7885c5789bba0def579 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(CPU).a
+LIB    = $(obj)lib$(CPU).o
 
 START  = start.o
 SOBJS  = io.o fec_dma_tasks.o
@@ -38,7 +38,7 @@ START := $(addprefix $(obj),$(START))
 all:   $(obj).depend $(START) $(LIB)
 
 $(LIB):        $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index e706883938d2e00a5a27ad742d1f05d9aa23e6bd..9142b91a5da8b90e75567beedc7717a4e676c36c 100644 (file)
@@ -1,5 +1,5 @@
 #
-# (C) Copyright 2003
+# (C) Copyright 2003-2010
 # Wolfgang Denk, DENX Software Engineering, wd@denx.de.
 #
 # See file CREDITS for list of people who contributed to this
@@ -25,6 +25,3 @@ PLATFORM_RELFLAGS += -fPIC -meabi
 
 PLATFORM_CPPFLAGS += -DCONFIG_MPC8220 -ffixed-r2 \
                     -mstring -mcpu=603e -mmultiple
-
-# Use default linker script.  Board port can override in board/*/config.mk
-LDSCRIPT := $(SRCTREE)/arch/powerpc/cpu/mpc8220/u-boot.lds
index b029e84178860cef0a588583e9dd2f9c678e0b4f..ca4267870d47cd95e4fc14d5a01e5ff7a704929d 100644 (file)
@@ -644,7 +644,7 @@ in_ram:
        lwzux   r0,r4,r11
        cmpwi   r0,0
        add     r0,r0,r11
-       stw     r10,0(r3)
+       stw     r4,0(r3)
        beq-    5f
        stw     r0,0(r4)
 5:     bdnz    3b
index 31a7a0e4ef035a813db29b72fd71e1afa8a2e19c..63cbbd7f41890656c8a2e56e59143fcb549c93c2 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * (C) Copyright 2003-2004
+ * (C) Copyright 2003-2010
  * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
  *
  * See file CREDITS for list of people who contributed to this
  */
 
 OUTPUT_ARCH(powerpc)
-/* Do we need any of these for elf?
-   __DYNAMIC = 0;    */
+
 SECTIONS
 {
   /* Read-only sections, merged into text segment: */
-  . = + SIZEOF_HEADERS;
-  .interp : { *(.interp) }
-  .hash          : { *(.hash)          }
-  .dynsym        : { *(.dynsym)                }
-  .dynstr        : { *(.dynstr)                }
-  .rel.text      : { *(.rel.text)              }
-  .rela.text     : { *(.rela.text)     }
-  .rel.data      : { *(.rel.data)              }
-  .rela.data     : { *(.rela.data)     }
-  .rel.rodata    : { *(.rel.rodata)    }
-  .rela.rodata   : { *(.rela.rodata)   }
-  .rel.got       : { *(.rel.got)               }
-  .rela.got      : { *(.rela.got)              }
-  .rel.ctors     : { *(.rel.ctors)     }
-  .rela.ctors    : { *(.rela.ctors)    }
-  .rel.dtors     : { *(.rel.dtors)     }
-  .rela.dtors    : { *(.rela.dtors)    }
-  .rel.bss       : { *(.rel.bss)               }
-  .rela.bss      : { *(.rela.bss)              }
-  .rel.plt       : { *(.rel.plt)               }
-  .rela.plt      : { *(.rela.plt)              }
-  .init          : { *(.init)  }
-  .plt : { *(.plt) }
   .text      :
   {
-    arch/powerpc/cpu/mpc8220/start.o   (.text)
-    *(.text)
-    *(.got1)
+    arch/powerpc/cpu/mpc8220/start.o   (.text*)
+    *(.text*)
     . = ALIGN(16);
-    *(.eh_frame)
     *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
   }
-  .fini      : { *(.fini)    } =0
-  .ctors     : { *(.ctors)   }
-  .dtors     : { *(.dtors)   }
 
   /* Read-write section, merged into data segment: */
   . = (. + 0x0FFF) & 0xFFFFF000;
@@ -69,23 +40,19 @@ SECTIONS
   PROVIDE (erotext = .);
   .reloc   :
   {
-    *(.got)
+    KEEP(*(.got))
     _GOT2_TABLE_ = .;
-    *(.got2)
+    KEEP(*(.got2))
     _FIXUP_TABLE_ = .;
-    *(.fixup)
+    KEEP(*(.fixup))
   }
   __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >> 2;
   __fixup_entries = (. - _FIXUP_TABLE_) >> 2;
 
   .data    :
   {
-    *(.data)
-    *(.data1)
-    *(.sdata)
-    *(.sdata2)
-    *(.dynamic)
-    CONSTRUCTORS
+    *(.data*)
+    *(.sdata*)
   }
   _edata  =  .;
   PROVIDE (edata = .);
@@ -111,9 +78,8 @@ SECTIONS
   __bss_start = .;
   .bss (NOLOAD)       :
   {
-   *(.sbss) *(.scommon)
-   *(.dynbss)
-   *(.bss)
+   *(.bss*)
+   *(.sbss*)
    *(COMMON)
    . = ALIGN(4);
   }
index a57ad12c41e93fc4199bbcddea221a909c0bed29..2bfcd8548c23f28eb2f0cc98a511b20d96838963 100644 (file)
@@ -27,7 +27,7 @@ $(shell mkdir -p $(obj)drivers/epic)
 $(shell mkdir -p $(obj)drivers/i2c)
 endif
 
-LIB    = $(obj)lib$(CPU).a
+LIB    = $(obj)lib$(CPU).o
 
 START  = start.o
 COBJS  = traps.o cpu.o cpu_init.o interrupts.o speed.o \
@@ -41,7 +41,7 @@ START := $(addprefix $(obj),$(START))
 all:   $(obj).depend $(START) $(LIB)
 
 $(LIB):        $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 $(obj)bedbug_603e.c:
        ln -sf $(src)../mpc8260/bedbug_603e.c $(obj)bedbug_603e.c
index 27c287351bea431707df9a3bb2b829367abe29d8..65a177133a995e2b7c3385acd29325e3ef62e045 100644 (file)
@@ -1,5 +1,5 @@
 #
-# (C) Copyright 2000
+# (C) Copyright 2000-2010
 # Wolfgang Denk, DENX Software Engineering, wd@denx.de.
 #
 # See file CREDITS for list of people who contributed to this
@@ -24,6 +24,3 @@
 PLATFORM_RELFLAGS += -fPIC -meabi
 
 PLATFORM_CPPFLAGS += -DCONFIG_MPC824X -ffixed-r2 -mstring -mcpu=603e -msoft-float
-
-# Use default linker script.  Board port can override in board/*/config.mk
-LDSCRIPT := $(SRCTREE)/arch/powerpc/cpu/mpc824x/u-boot.lds
index 616de58fb718ecccee73c7d42865c66570493370..0dd130038684b3b98bbdc9870f26d57a6f6e2d2b 100644 (file)
@@ -586,7 +586,7 @@ in_ram:
        lwzux   r0,r4,r11
        cmpwi   r0,0
        add     r0,r0,r11
-       stw     r10,0(r3)
+       stw     r4,0(r3)
        beq-    5f
        stw     r0,0(r4)
 5:     bdnz    3b
index d1fcd7c47dad409d15fa09e2f1b81dbb86c00ca0..e7f283787bafc062fa91b0640e690c3c07dbd2c5 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * (C) Copyright 2001-2007
+ * (C) Copyright 2001-2010
  * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
  *
  * See file CREDITS for list of people who contributed to this
@@ -27,41 +27,13 @@ OUTPUT_ARCH(powerpc)
 SECTIONS
 {
   /* Read-only sections, merged into text segment: */
-  . = + SIZEOF_HEADERS;
-  .interp : { *(.interp) }
-  .hash          : { *(.hash)          }
-  .dynsym        : { *(.dynsym)                }
-  .dynstr        : { *(.dynstr)                }
-  .rel.text      : { *(.rel.text)              }
-  .rela.text     : { *(.rela.text)     }
-  .rel.data      : { *(.rel.data)              }
-  .rela.data     : { *(.rela.data)     }
-  .rel.rodata    : { *(.rel.rodata)    }
-  .rela.rodata   : { *(.rela.rodata)   }
-  .rel.got       : { *(.rel.got)               }
-  .rela.got      : { *(.rela.got)              }
-  .rel.ctors     : { *(.rel.ctors)     }
-  .rela.ctors    : { *(.rela.ctors)    }
-  .rel.dtors     : { *(.rel.dtors)     }
-  .rela.dtors    : { *(.rela.dtors)    }
-  .rel.bss       : { *(.rel.bss)               }
-  .rela.bss      : { *(.rela.bss)              }
-  .rel.plt       : { *(.rel.plt)               }
-  .rela.plt      : { *(.rela.plt)              }
-  .init          : { *(.init)  }
-  .plt : { *(.plt) }
   .text      :
   {
-    arch/powerpc/cpu/mpc824x/start.o           (.text)
-    *(.text)
-    *(.got1)
+    arch/powerpc/cpu/mpc824x/start.o   (.text*)
+    *(.text*)
     . = ALIGN(16);
-    *(.eh_frame)
     *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
   }
-  .fini      : { *(.fini)    } =0
-  .ctors     : { *(.ctors)   }
-  .dtors     : { *(.dtors)   }
 
   /* Read-write section, merged into data segment: */
   . = (. + 0x0FFF) & 0xFFFFF000;
@@ -69,23 +41,19 @@ SECTIONS
   PROVIDE (erotext = .);
   .reloc   :
   {
-    *(.got)
+    KEEP(*(.got))
     _GOT2_TABLE_ = .;
-    *(.got2)
+    KEEP(*(.got2))
     _FIXUP_TABLE_ = .;
-    *(.fixup)
+    KEEP(*(.fixup))
   }
   __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >> 2;
   __fixup_entries = (. - _FIXUP_TABLE_) >> 2;
 
   .data    :
   {
-    *(.data)
-    *(.data1)
-    *(.sdata)
-    *(.sdata2)
-    *(.dynamic)
-    CONSTRUCTORS
+    *(.data*)
+    *(.sdata*)
   }
   _edata  =  .;
   PROVIDE (edata = .);
@@ -111,9 +79,8 @@ SECTIONS
   __bss_start = .;
   .bss (NOLOAD)       :
   {
-   *(.sbss) *(.scommon)
-   *(.dynbss)
-   *(.bss)
+   *(.bss*)
+   *(.sbss*)
    *(COMMON)
    . = ALIGN(4);
   }
index 9f0c2dd50cc706ce32cc0c0234091036b30f3a09..aa8b88105a84f35cd0237b7d63f7100b84544e87 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(CPU).a
+LIB    = $(obj)lib$(CPU).o
 
 START  = start.o kgdb.o
 COBJS  = traps.o serial_smc.o serial_scc.o cpu.o cpu_init.o speed.o \
@@ -41,7 +41,7 @@ START := $(addprefix $(obj),$(START))
 all:   $(obj).depend $(START) $(LIB)
 
 $(LIB):        $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(obj)kgdb.o
+       $(call cmd_link_o_target, $(OBJS) $(obj)kgdb.o)
 
 #########################################################################
 
index a9bb6887a078c79015611762bdd8dda1be2be3f0..5e4645a0257ea1a637b2acc8ecae8282d10a7ea1 100644 (file)
@@ -1,5 +1,5 @@
 #
-# (C) Copyright 2000
+# (C) Copyright 2000-2010
 # Wolfgang Denk, DENX Software Engineering, wd@denx.de.
 #
 # See file CREDITS for list of people who contributed to this
@@ -25,6 +25,3 @@ PLATFORM_RELFLAGS += -fPIC -meabi
 
 PLATFORM_CPPFLAGS += -DCONFIG_8260 -DCONFIG_CPM2 -ffixed-r2 \
                     -mstring -mcpu=603e -mmultiple
-
-# Use default linker script.  Board port can override in board/*/config.mk
-LDSCRIPT := $(SRCTREE)/arch/powerpc/cpu/mpc8260/u-boot.lds
index 521a6399b2be1d146d59c6087af267a9306a1fa5..255a15eae42fcb088787cfb42ef1e4968cf0f867 100644 (file)
@@ -907,7 +907,7 @@ in_ram:
        lwzux   r0,r4,r11
        cmpwi   r0,0
        add     r0,r0,r11
-       stw     r10,0(r3)
+       stw     r4,0(r3)
        beq-    5f
        stw     r0,0(r4)
 5:     bdnz    3b
index b8681e706d4caaa9d42b8c1036485dfdd2380307..ad2ce37f1bcae0243e94e30234c8e8366f34cc64 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * (C) Copyright 2001-2007
+ * (C) Copyright 2001-2010
  * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
  *
  * See file CREDITS for list of people who contributed to this
  */
 
 OUTPUT_ARCH(powerpc)
-/* Do we need any of these for elf?
-   __DYNAMIC = 0;    */
+
 SECTIONS
 {
   /* Read-only sections, merged into text segment: */
-  . = + SIZEOF_HEADERS;
-  .interp : { *(.interp) }
-  .hash          : { *(.hash)          }
-  .dynsym        : { *(.dynsym)                }
-  .dynstr        : { *(.dynstr)                }
-  .rel.text      : { *(.rel.text)              }
-  .rela.text     : { *(.rela.text)     }
-  .rel.data      : { *(.rel.data)              }
-  .rela.data     : { *(.rela.data)     }
-  .rel.rodata    : { *(.rel.rodata)    }
-  .rela.rodata   : { *(.rela.rodata)   }
-  .rel.got       : { *(.rel.got)               }
-  .rela.got      : { *(.rela.got)              }
-  .rel.ctors     : { *(.rel.ctors)     }
-  .rela.ctors    : { *(.rela.ctors)    }
-  .rel.dtors     : { *(.rel.dtors)     }
-  .rela.dtors    : { *(.rela.dtors)    }
-  .rel.bss       : { *(.rel.bss)               }
-  .rela.bss      : { *(.rela.bss)              }
-  .rel.plt       : { *(.rel.plt)               }
-  .rela.plt      : { *(.rela.plt)              }
-  .init          : { *(.init)  }
-  .plt : { *(.plt) }
   .text      :
   {
-    arch/powerpc/cpu/mpc8260/start.o           (.text)
-    *(.text)
-    *(.got1)
+    arch/powerpc/cpu/mpc8260/start.o   (.text*)
+    *(.text*)
     . = ALIGN(16);
-    *(.eh_frame)
     *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
   }
-  .fini      : { *(.fini)    } =0
-  .ctors     : { *(.ctors)   }
-  .dtors     : { *(.dtors)   }
 
   /* Read-write section, merged into data segment: */
   . = (. + 0x0FFF) & 0xFFFFF000;
@@ -69,23 +40,19 @@ SECTIONS
   PROVIDE (erotext = .);
   .reloc   :
   {
-    *(.got)
+    KEEP(*(.got))
     _GOT2_TABLE_ = .;
-    *(.got2)
+    KEEP(*(.got2))
     _FIXUP_TABLE_ = .;
-    *(.fixup)
+    KEEP(*(.fixup))
   }
   __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >> 2;
   __fixup_entries = (. - _FIXUP_TABLE_) >> 2;
 
   .data    :
   {
-    *(.data)
-    *(.data1)
-    *(.sdata)
-    *(.sdata2)
-    *(.dynamic)
-    CONSTRUCTORS
+    *(.data*)
+    *(.sdata*)
   }
   _edata  =  .;
   PROVIDE (edata = .);
@@ -111,9 +78,8 @@ SECTIONS
   __bss_start = .;
   .bss (NOLOAD)       :
   {
-   *(.sbss) *(.scommon)
-   *(.dynbss)
-   *(.bss)
+   *(.bss*)
+   *(.sbss*)
    *(COMMON)
    . = ALIGN(4);
   }
index 15e2c18b13760c25f266a51934659c4fdc845730..3979b6fbab69b990cc95930ccb6c1279b6252e75 100644 (file)
@@ -25,7 +25,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(CPU).a
+LIB    = $(obj)lib$(CPU).o
 
 START  = start.o
 
@@ -50,7 +50,7 @@ START := $(addprefix $(obj),$(START))
 all:   $(obj).depend $(START) $(LIB)
 
 $(LIB):        $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 8a3a8c1b98e9ec0e686f4cfb63a98a68e12d7a12..0dced88add78995b7fdeb014a7c4ce2414a9d522 100644 (file)
@@ -24,6 +24,3 @@ PLATFORM_RELFLAGS += -fPIC -meabi
 
 PLATFORM_CPPFLAGS += -DCONFIG_MPC83xx -DCONFIG_E300 \
                        -ffixed-r2 -msoft-float
-
-# Use default linker script.  Board port can override in board/*/config.mk
-LDSCRIPT := $(SRCTREE)/arch/powerpc/cpu/mpc83xx/u-boot.lds
index a35697da0a73de8c4d1c673f59c1f2790457d792..515be4c871bc6c189ad91ec5a21a8cb2ce237f74 100644 (file)
@@ -955,7 +955,7 @@ in_ram:
        lwzux   r0,r4,r11
        cmpwi   r0,0
        add     r0,r0,r11
-       stw     r10,0(r3)
+       stw     r4,0(r3)
        beq-    5f
        stw     r0,0(r4)
 5:     bdnz    3b
index 0b74a13fb1dc8c5110765f1bae893a41133c1871..81a7ace64c2392ee572165f973522bd17fbaf407 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * (C) Copyright 2006
+ * (C) Copyright 2006-2010
  * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
  *
  * See file CREDITS for list of people who contributed to this
@@ -25,41 +25,13 @@ OUTPUT_ARCH(powerpc)
 SECTIONS
 {
   /* Read-only sections, merged into text segment: */
-  . = + SIZEOF_HEADERS;
-  .interp : { *(.interp) }
-  .hash          : { *(.hash)          }
-  .dynsym        : { *(.dynsym)                }
-  .dynstr        : { *(.dynstr)                }
-  .rel.text      : { *(.rel.text)              }
-  .rela.text     : { *(.rela.text)     }
-  .rel.data      : { *(.rel.data)              }
-  .rela.data     : { *(.rela.data)     }
-  .rel.rodata    : { *(.rel.rodata)    }
-  .rela.rodata   : { *(.rela.rodata)   }
-  .rel.got       : { *(.rel.got)               }
-  .rela.got      : { *(.rela.got)              }
-  .rel.ctors     : { *(.rel.ctors)     }
-  .rela.ctors    : { *(.rela.ctors)    }
-  .rel.dtors     : { *(.rel.dtors)     }
-  .rela.dtors    : { *(.rela.dtors)    }
-  .rel.bss       : { *(.rel.bss)               }
-  .rela.bss      : { *(.rela.bss)              }
-  .rel.plt       : { *(.rel.plt)               }
-  .rela.plt      : { *(.rela.plt)              }
-  .init          : { *(.init)  }
-  .plt : { *(.plt) }
   .text      :
   {
-    arch/powerpc/cpu/mpc83xx/start.o   (.text)
-    *(.text)
-    *(.got1)
+    arch/powerpc/cpu/mpc83xx/start.o   (.text*)
+    *(.text*)
     . = ALIGN(16);
-    *(.eh_frame)
     *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
   }
-  .fini      : { *(.fini)    } =0
-  .ctors     : { *(.ctors)   }
-  .dtors     : { *(.dtors)   }
 
   /* Read-write section, merged into data segment: */
   . = (. + 0x0FFF) & 0xFFFFF000;
@@ -67,23 +39,19 @@ SECTIONS
   PROVIDE (erotext = .);
   .reloc   :
   {
-    *(.got)
+    KEEP(*(.got))
     _GOT2_TABLE_ = .;
-    *(.got2)
+    KEEP(*(.got2))
     _FIXUP_TABLE_ = .;
-    *(.fixup)
+    KEEP(*(.fixup))
   }
   __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >> 2;
   __fixup_entries = (. - _FIXUP_TABLE_) >> 2;
 
   .data    :
   {
-    *(.data)
-    *(.data1)
-    *(.sdata)
-    *(.sdata2)
-    *(.dynamic)
-    CONSTRUCTORS
+    *(.data*)
+    *(.sdata*)
   }
   _edata  =  .;
   PROVIDE (edata = .);
@@ -109,9 +77,8 @@ SECTIONS
   __bss_start = .;
   .bss (NOLOAD)       :
   {
-   *(.sbss) *(.scommon)
-   *(.dynbss)
-   *(.bss)
+   *(.bss*)
+   *(.sbss*)
    *(COMMON)
    . = ALIGN(4);
   }
index b7c027210527255e16361b2222a62ead50e02307..63d79233d5a5dae30b5403cf2e085494927f14be 100644 (file)
@@ -26,7 +26,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(CPU).a
+LIB    = $(obj)lib$(CPU).o
 
 START  = start.o resetvec.o
 SOBJS-$(CONFIG_MP)     += release.o
@@ -95,7 +95,7 @@ START := $(addprefix $(obj),$(START))
 all:   $(obj).depend $(START) $(LIB)
 
 $(LIB):        $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index ce4376b1004049d7850a10e0994f9215546f23a5..66d1741cc17aad1b38aa6b9ec06c4356eec695e1 100644 (file)
@@ -25,15 +25,8 @@ PLATFORM_RELFLAGS += -fPIC -meabi
 
 PLATFORM_CPPFLAGS += -ffixed-r2 -Wa,-me500 -msoft-float -mno-string
 
-# Enable gc-sections to enable generation of smaller images.
-PLATFORM_LDFLAGS += --gc-sections
-PLATFORM_RELFLAGS += -ffunction-sections -fdata-sections
-
 # -mspe=yes is needed to have -mno-spe accepted by a buggy GCC;
 # see "[PATCH,rs6000] make -mno-spe work as expected" on
 # http://gcc.gnu.org/ml/gcc-patches/2008-04/msg00311.html
 PLATFORM_CPPFLAGS +=$(call cc-option,-mspe=yes)
 PLATFORM_CPPFLAGS +=$(call cc-option,-mno-spe)
-
-# Use default linker script.  Board port can override in board/*/config.mk
-LDSCRIPT := $(SRCTREE)/arch/powerpc/cpu/mpc85xx/u-boot.lds
index 291557d40d4ac9260c98cdbf6811dd392132aed9..945c1b8477940c5c7760af298a8f25964c54ac83 100644 (file)
@@ -146,7 +146,7 @@ _start_e500:
        beq     2b
 
        /* Setup interrupt vectors */
-       lis     r1,CONFIG_SYS_TEXT_BASE@h
+       lis     r1,CONFIG_SYS_MONITOR_BASE@h
        mtspr   IVPR,r1
 
        li      r1,0x0100
@@ -292,25 +292,25 @@ _start_e500:
        lis     r7,FSL_BOOKE_MAS1(1, 1, 0, 1, BOOKE_PAGESZ_4M)@h
        ori     r7,r7,FSL_BOOKE_MAS1(1, 1, 0, 1, BOOKE_PAGESZ_4M)@l
 
-       lis     r8,FSL_BOOKE_MAS2(CONFIG_SYS_TEXT_BASE & 0xffc00000, (MAS2_I|MAS2_G))@h
-       ori     r8,r8,FSL_BOOKE_MAS2(CONFIG_SYS_TEXT_BASE & 0xffc00000, (MAS2_I|MAS2_G))@l
+       lis     r8,FSL_BOOKE_MAS2(CONFIG_SYS_MONITOR_BASE & 0xffc00000, (MAS2_I|MAS2_G))@h
+       ori     r8,r8,FSL_BOOKE_MAS2(CONFIG_SYS_MONITOR_BASE & 0xffc00000, (MAS2_I|MAS2_G))@l
 
        /* The 85xx has the default boot window 0xff800000 - 0xffffffff */
        lis     r9,FSL_BOOKE_MAS3(0xffc00000, 0, (MAS3_SX|MAS3_SW|MAS3_SR))@h
        ori     r9,r9,FSL_BOOKE_MAS3(0xffc00000, 0, (MAS3_SX|MAS3_SW|MAS3_SR))@l
 #else
        /*
-        * create a temp mapping in AS=1 to the 1M CONFIG_SYS_TEXT_BASE space, the main
-        * image has been relocated to CONFIG_SYS_TEXT_BASE on the second stage.
+        * create a temp mapping in AS=1 to the 1M CONFIG_SYS_MONITOR_BASE space, the main
+        * image has been relocated to CONFIG_SYS_MONITOR_BASE on the second stage.
         */
        lis     r7,FSL_BOOKE_MAS1(1, 1, 0, 1, BOOKE_PAGESZ_1M)@h
        ori     r7,r7,FSL_BOOKE_MAS1(1, 1, 0, 1, BOOKE_PAGESZ_1M)@l
 
-       lis     r8,FSL_BOOKE_MAS2(CONFIG_SYS_TEXT_BASE, (MAS2_I|MAS2_G))@h
-       ori     r8,r8,FSL_BOOKE_MAS2(CONFIG_SYS_TEXT_BASE, (MAS2_I|MAS2_G))@l
+       lis     r8,FSL_BOOKE_MAS2(CONFIG_SYS_MONITOR_BASE, (MAS2_I|MAS2_G))@h
+       ori     r8,r8,FSL_BOOKE_MAS2(CONFIG_SYS_MONITOR_BASE, (MAS2_I|MAS2_G))@l
 
-       lis     r9,FSL_BOOKE_MAS3(CONFIG_SYS_TEXT_BASE, 0, (MAS3_SX|MAS3_SW|MAS3_SR))@h
-       ori     r9,r9,FSL_BOOKE_MAS3(CONFIG_SYS_TEXT_BASE, 0, (MAS3_SX|MAS3_SW|MAS3_SR))@l
+       lis     r9,FSL_BOOKE_MAS3(CONFIG_SYS_MONITOR_BASE, 0, (MAS3_SX|MAS3_SW|MAS3_SR))@h
+       ori     r9,r9,FSL_BOOKE_MAS3(CONFIG_SYS_MONITOR_BASE, 0, (MAS3_SX|MAS3_SW|MAS3_SR))@l
 #endif
 
        mtspr   MAS0,r6
@@ -1040,7 +1040,7 @@ in_ram:
        lwzux   r0,r4,r11
        cmpwi   r0,0
        add     r0,r0,r11
-       stw     r10,0(r3)
+       stw     r4,0(r3)
        beq-    5f
        stw     r0,0(r4)
 5:     bdnz    3b
index 5fd3e6c8ee013c5b62ba63c20d94462afa94c8d0..fa2088bb37513c8b0e3197f2c4614b6ad88d5316 100644 (file)
@@ -34,42 +34,16 @@ SECTIONS
   /* Read-only sections, merged into text segment: */
   . = + SIZEOF_HEADERS;
   .interp : { *(.interp) }
-  .hash          : { *(.hash)          }
-  .dynsym        : { *(.dynsym)                }
-  .dynstr        : { *(.dynstr)                }
-  .rel.text      : { *(.rel.text)              }
-  .rela.text     : { *(.rela.text)     }
-  .rel.data      : { *(.rel.data)              }
-  .rela.data     : { *(.rela.data)     }
-  .rel.rodata    : { *(.rel.rodata)    }
-  .rela.rodata   : { *(.rela.rodata)   }
-  .rel.got       : { *(.rel.got)               }
-  .rela.got      : { *(.rela.got)              }
-  .rel.ctors     : { *(.rel.ctors)     }
-  .rela.ctors    : { *(.rela.ctors)    }
-  .rel.dtors     : { *(.rel.dtors)     }
-  .rela.dtors    : { *(.rela.dtors)    }
-  .rel.bss       : { *(.rel.bss)               }
-  .rela.bss      : { *(.rela.bss)              }
-  .rel.plt       : { *(.rel.plt)               }
-  .rela.plt      : { *(.rela.plt)              }
-  .init          : { *(.init)  }
-  .plt : { *(.plt) }
   .text      :
   {
-    *(.text)
-    *(.got1)
+    *(.text*)
    } :text
     _etext = .;
     PROVIDE (etext = .);
     .rodata    :
    {
-    *(.eh_frame)
     *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
   } :text
-  .fini      : { *(.fini)    } =0
-  .ctors     : { *(.ctors)   }
-  .dtors     : { *(.dtors)   }
 
   /* Read-write section, merged into data segment: */
   . = (. + 0x00FF) & 0xFFFFFF00;
@@ -77,23 +51,19 @@ SECTIONS
   PROVIDE (erotext = .);
   .reloc   :
   {
-    *(.got)
+    KEEP(*(.got))
     _GOT2_TABLE_ = .;
-    *(.got2)
+    KEEP(*(.got2))
     _FIXUP_TABLE_ = .;
-    *(.fixup)
+    KEEP(*(.fixup))
   }
   __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >> 2;
   __fixup_entries = (. - _FIXUP_TABLE_) >> 2;
 
   .data    :
   {
-    *(.data)
-    *(.data1)
-    *(.sdata)
-    *(.sdata2)
-    *(.dynamic)
-    CONSTRUCTORS
+    *(.data*)
+    *(.sdata*)
   }
   _edata  =  .;
   PROVIDE (edata = .);
@@ -117,7 +87,7 @@ SECTIONS
 
   .bootpg ADDR(.text) - 0x1000 :
   {
-    arch/powerpc/cpu/mpc85xx/start.o   (.bootpg)
+    arch/powerpc/cpu/mpc85xx/start.o   KEEP(*(.bootpg))
   } :text = 0xffff
 
   . = ADDR(.text) + 0x80000;
@@ -125,9 +95,8 @@ SECTIONS
   __bss_start = .;
   .bss (NOLOAD)       :
   {
-   *(.sbss) *(.scommon)
-   *(.dynbss)
-   *(.bss)
+   *(.sbss*)
+   *(.bss*)
    *(COMMON)
   } :bss
 
index 7d9cee98e51f75f10b352494d631b173bdb23d27..b10e0f9eee38deb10e64c82e7b88aeaa295ca35c 100644 (file)
@@ -28,15 +28,15 @@ SECTIONS
 {
        . = 0xfff00000;
        .text : {
-               *(.text)
+               *(.text*)
        }
        _etext = .;
 
        .reloc : {
                _GOT2_TABLE_ = .;
-               *(.got2)
+               KEEP(*(.got2))
                _FIXUP_TABLE_ = .;
-               *(.fixup)
+               KEEP(*(.fixup))
        }
        __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >> 2;
        __fixup_entries = (. - _FIXUP_TABLE_) >> 2;
@@ -54,13 +54,13 @@ SECTIONS
        __init_end = .;
 
        .resetvec ADDR(.text) + 0xffc : {
-               *(.resetvec)
+               KEEP(*(.resetvec))
        } = 0xffff
 
        __bss_start = .;
        .bss : {
-               *(.sbss)
-               *(.bss)
+               *(.sbss*)
+               *(.bss*)
        }
        _end = .;
 }
index daca79ad4f2217ec4a2775808dd83a3f1f50a0ff..5b7d80a5bd6cfb0a3dbbd622a99f99a12c6ee86d 100644 (file)
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(CPU).a
+LIB    = $(obj)lib$(CPU).o
 
-START  = start.o
+SSTART = start.o
+CSTART = traps.o
 
 SOBJS-y += cache.o
 SOBJS-$(CONFIG_MP) += release.o
@@ -42,16 +43,15 @@ COBJS-$(CONFIG_OF_LIBFDT) += fdt.o
 COBJS-y        += interrupts.o
 COBJS-$(CONFIG_MP) += mp.o
 COBJS-y        += speed.o
-COBJS-y        += traps.o
 
 SRCS   := $(START:.o=.S) $(SOBJS-y:.o=.S) $(COBJS-y:.o=.c)
 OBJS   := $(addprefix $(obj),$(SOBJS-y) $(COBJS-y))
-START  := $(addprefix $(obj),$(START))
+START  := $(addprefix $(obj),$(SSTART) $(CSTART))
 
 all:   $(obj).depend $(START) $(LIB)
 
 $(LIB):        $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(ASOBJS) $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index bce0fb374b999b854ec4119bc46a1f709e9d6073..ca2f8376edd9dd167ae986e6726055cdf6d0e2ac 100644 (file)
@@ -25,10 +25,3 @@ PLATFORM_RELFLAGS += -fPIC -meabi
 
 PLATFORM_CPPFLAGS += -ffixed-r2 -mstring
 PLATFORM_CPPFLAGS += -maltivec -mabi=altivec -msoft-float
-
-# Enable gc-sections to enable generation of smaller images.
-PLATFORM_LDFLAGS += --gc-sections
-PLATFORM_RELFLAGS += -ffunction-sections -fdata-sections
-
-# Use default linker script.  Board port can override in board/*/config.mk
-LDSCRIPT := $(SRCTREE)/arch/powerpc/cpu/mpc86xx/u-boot.lds
index 6127115696a437c91fa5ce31b595444a2dbfa753..4c29de61a24198dcc64bc8332fdfede210025e00 100644 (file)
@@ -730,7 +730,7 @@ in_ram:
        lwzux   r0,r4,r11
        cmpwi   r0,0
        add     r0,r0,r11
-       stw     r10,0(r3)
+       stw     r4,0(r3)
        beq-    5f
        stw     r0,0(r4)
 5:     bdnz    3b
index 4bfcb9064199c265cbf7b9feeec9ed6b3d38d502..49a4c782d5bfc4cd44cb623af885e265cb22ac06 100644 (file)
@@ -26,40 +26,10 @@ SECTIONS
 {
 
   /* Read-only sections, merged into text segment: */
-  .interp : { *(.interp) }
-  .hash          : { *(.hash)          }
-  .dynsym        : { *(.dynsym)                }
-  .dynstr        : { *(.dynstr)                }
-  .rel.text      : { *(.rel.text)              }
-  .rela.text     : { *(.rela.text)     }
-  .rel.data      : { *(.rel.data)              }
-  .rela.data     : { *(.rela.data)     }
-  .rel.rodata    : { *(.rel.rodata)    }
-  .rela.rodata   : { *(.rela.rodata)   }
-  .rel.got       : { *(.rel.got)               }
-  .rela.got      : { *(.rela.got)              }
-  .rel.ctors     : { *(.rel.ctors)     }
-  .rela.ctors    : { *(.rela.ctors)    }
-  .rel.dtors     : { *(.rel.dtors)     }
-  .rela.dtors    : { *(.rela.dtors)    }
-  .rel.bss       : { *(.rel.bss)               }
-  .rela.bss      : { *(.rela.bss)              }
-  .rel.plt       : { *(.rel.plt)               }
-  .rela.plt      : { *(.rela.plt)              }
-  .init          : { *(.init)  }
-  .plt : { *(.plt) }
   .text      :
   {
-    arch/powerpc/cpu/mpc86xx/start.o   (.text)
-    arch/powerpc/cpu/mpc86xx/traps.o (.text)
-    arch/powerpc/cpu/mpc86xx/interrupts.o (.text)
-    arch/powerpc/cpu/mpc86xx/cpu_init.o (.text)
-    arch/powerpc/cpu/mpc86xx/cpu.o (.text)
-    arch/powerpc/cpu/mpc86xx/speed.o (.text)
-    common/dlmalloc.o (.text)
-    lib/crc32.o (.text)
-    arch/powerpc/lib/extable.o (.text)
-    lib/zlib.o (.text)
+    arch/powerpc/cpu/mpc86xx/start.o   (.text*)
+    arch/powerpc/cpu/mpc86xx/traps.o   (.text*)
     *(.text*)
    }
     _etext = .;
@@ -112,8 +82,8 @@ SECTIONS
   __bss_start = .;
   .bss (NOLOAD)       :
   {
-   *(.sbss*)
    *(.bss*)
+   *(.sbss*)
    *(COMMON)
    . = ALIGN(4);
   }
index 5f70459690a22441c94882aef9fe7914174aec95..0d1a12c45827a26b8e77ab2f1cf1f79f75a7bd96 100644 (file)
@@ -25,10 +25,10 @@ include $(TOPDIR)/config.mk
 
 # CFLAGS += -DET_DEBUG
 
-LIB    = $(obj)lib$(CPU).a
+LIB    = $(obj)lib$(CPU).o
 
-START-y        += start.o
-START-y        += kgdb.o
+SSTART-y += start.o
+CSTART-y += traps.o
 COBJS-y        += bedbug_860.o
 COBJS-y        += commproc.o
 COBJS-y        += cpu.o
@@ -42,19 +42,19 @@ COBJS-y     += scc.o
 COBJS-y        += serial.o
 COBJS-y        += speed.o
 COBJS-y        += spi.o
-COBJS-y        += traps.o
 COBJS-y        += upatch.o
 COBJS-y        += video.o
+SOBJS-y        += kgdb.o
 SOBJS-y        += plprcr_write.o
 
-SRCS   := $(START-y:.o=.S) $(SOBJS-y:.o=.S) $(COBJS-y:.o=.c)
+SRCS   := $(SSTART-y:.o=.S) $(CSTART-y:.o=.c) $(SOBJS-y:.o=.S) $(COBJS-y:.o=.c)
 OBJS   := $(addprefix $(obj),$(SOBJS-y) $(COBJS-y))
-START  := $(addprefix $(obj),$(START-y))
+START  := $(addprefix $(obj),$(SSTART-y) $(CSTART-y))
 
 all:   $(obj).depend $(START) $(LIB)
 
 $(LIB):        $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(obj)kgdb.o
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 5540d653502b383f1173f3107e82b1e6a79de548..f5e08a5138a298e11edf471a34e5352dccc7063c 100644 (file)
@@ -1,5 +1,5 @@
 #
-# (C) Copyright 2000
+# (C) Copyright 2000-2010
 # Wolfgang Denk, DENX Software Engineering, wd@denx.de.
 #
 # See file CREDITS for list of people who contributed to this
index 9d022bf5413f91c4899c8e9efad2012685ae155a..6a16c26d66321ca16e3f3e038b2dc2e77c64e4f1 100644 (file)
@@ -587,7 +587,7 @@ in_ram:
        lwzux   r0,r4,r11
        cmpwi   r0,0
        add     r0,r0,r11
-       stw     r10,0(r3)
+       stw     r4,0(r3)
        beq-    5f
        stw     r0,0(r4)
 5:     bdnz    3b
index ea5122289e2d538499089a63ee1653e5ec955df0..ab80dd77230b56e685229888f0905f24ae31cd1e 100644 (file)
@@ -8,7 +8,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib8xxx.a
+LIB    = $(obj)lib8xxx.o
 
 ifneq ($(CPU),mpc83xx)
 COBJS-y        += cpu.o
@@ -24,7 +24,7 @@ OBJS  := $(addprefix $(obj),$(SOBJS-y) $(COBJS-y))
 all:   $(obj).depend $(LIB)
 
 $(LIB):        $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 include $(SRCTREE)/rules.mk
 
index cb7f856554c6901968cefb8d81da374c0cffe4fb..4a5a78558be976369e2d2968d250bf0afc1c5f1d 100644 (file)
@@ -8,7 +8,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)libddr.a
+LIB    = $(obj)libddr.o
 
 COBJS-$(CONFIG_FSL_DDR1)       += main.o util.o ctrl_regs.o options.o \
                                   lc_common_dimm_params.o
@@ -28,7 +28,7 @@ OBJS  := $(addprefix $(obj),$(SOBJS-y) $(COBJS-y))
 all:   $(obj).depend $(LIB)
 
 $(LIB):        $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 include $(SRCTREE)/rules.mk
 
index cf9d66d5349d503affe845f5b7ce61760c4dab27..9634deba4855b10ea044d54b253aada2b7965613 100644 (file)
@@ -50,8 +50,6 @@
 
 #include "ecc.h"
 
-#if defined(CONFIG_SDRAM_PPC4xx_IBM_DDR2)
-
 #define PPC4xx_IBM_DDR2_DUMP_REGISTER(mnemonic)                                \
        do {                                                            \
                u32 data;                                               \
@@ -3194,5 +3192,3 @@ inline void ppc4xx_ibm_ddr2_register_dump(void)
        PPC4xx_IBM_DDR2_DUMP_REGISTER(RTSR);
 #endif /* defined(DEBUG) */
 }
-
-#endif /* CONFIG_SDRAM_PPC4xx_IBM_DDR2 */
index e90c93e495e2de84926323575117a1703bb06523..b909fcab0d8161a222209a01c64e60cb7a7a7e52 100644 (file)
@@ -44,8 +44,6 @@
 
 #include "ecc.h"
 
-#if defined(CONFIG_PPC4xx_DDR_AUTOCALIBRATION)
-
 /*
  * Only compile the DDR auto-calibration code for NOR boot and
  * not for NAND boot (NAND SPL and NAND U-Boot - NUB)
@@ -1253,4 +1251,3 @@ u32 DQS_autocalibration(void)
        return 0;
 }
 #endif /* !defined(CONFIG_NAND_U_BOOT) && !defined(CONFIG_NAND_SPL) */
-#endif /* defined(CONFIG_PPC4xx_DDR_AUTOCALIBRATION) */
index fa8d10c627cf24e28d5b6745ab1de92465445456..d97ca207c020ba16562d055c170d6e156cd22a3b 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(CPU).a
+LIB    = $(obj)lib$(CPU).o
 
 START  := resetvec.o
 START  += start.o
@@ -34,31 +34,27 @@ SOBJS       += kgdb.o
 
 COBJS  := 40x_spd_sdram.o
 
+ifndef CONFIG_NAND_SPL
+ifndef CONFIG_NAND_U_BOOT
 COBJS  += 44x_spd_ddr.o
-COBJS  += 44x_spd_ddr2.o
-ifdef CONFIG_PPC4xx_DDR_AUTOCALIBRATION
-COBJS  += 4xx_ibm_ddr2_autocalib.o
 endif
+endif
+COBJS-$(CONFIG_SDRAM_PPC4xx_IBM_DDR2) += 44x_spd_ddr2.o
+COBJS-$(CONFIG_PPC4xx_DDR_AUTOCALIBRATION) += 4xx_ibm_ddr2_autocalib.o
 COBJS  += 4xx_pci.o
 COBJS  += 4xx_pcie.o
 COBJS  += bedbug_405.o
-ifdef CONFIG_CMD_CHIP_CONFIG
-COBJS  += cmd_chip_config.o
-endif
+COBJS-$(CONFIG_CMD_CHIP_CONFIG)        += cmd_chip_config.o
 COBJS  += cpu.o
 COBJS  += cpu_init.o
 COBJS  += denali_data_eye.o
 COBJS  += denali_spd_ddr2.o
 COBJS  += ecc.o
-ifdef CONFIG_CMD_ECCTEST
-COBJS  += cmd_ecctest.o
-endif
+COBJS-$(CONFIG_CMD_ECCTEST) += cmd_ecctest.o
 COBJS  += fdt.o
 COBJS  += interrupts.o
 COBJS  += iop480_uart.o
-ifdef CONFIG_CMD_REGINFO
-COBJS  += reginfo.o
-endif
+COBJS-$(CONFIG_CMD_REGINFO) += reginfo.o
 COBJS  += sdram.o
 COBJS  += speed.o
 COBJS  += tlb.o
@@ -66,23 +62,22 @@ COBJS       += traps.o
 COBJS  += usb.o
 COBJS  += usb_ohci.o
 COBJS  += usbdev.o
+COBJS-$(CONFIG_XILINX_440) += xilinx_irq.o
 ifndef CONFIG_XILINX_440
 COBJS  += 4xx_uart.o
 COBJS  += gpio.o
 COBJS  += miiphy.o
 COBJS  += uic.o
-else
-COBJS  += xilinx_irq.o
 endif
 
 SRCS   := $(START:.o=.S) $(SOBJS:.o=.S) $(COBJS:.o=.c)
-OBJS   := $(addprefix $(obj),$(SOBJS) $(COBJS))
+OBJS   := $(addprefix $(obj),$(SOBJS) $(COBJS) $(COBJS-y))
 START  := $(addprefix $(obj),$(START))
 
 all:   $(obj).depend $(START) $(LIB)
 
 $(LIB):        $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index fd81b70e7aa4589d2a1f5bb38fd0062d9a0b338c..542ab69a13c9654a56b4b2995569ea7793ebf32c 100644 (file)
@@ -190,15 +190,13 @@ static int do_ecctest(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
        int error;
 
        if (argc < 3) {
-               cmd_usage(cmdtp);
-               return 1;
+               return cmd_usage(cmdtp);
        }
 
        ptr = (u32 *)simple_strtoul(argv[1], NULL, 16);
        error = simple_strtoul(argv[2], NULL, 16);
        if ((error < 1) || (error > 2)) {
-               cmd_usage(cmdtp);
-               return 1;
+               return cmd_usage(cmdtp);
        }
 
        printf("Using address %p for %d bit ECC error injection\n",
index 5bda710e26dcdda8bb4aa8fd8bdafa55478ee181..d862bb4fb83ad3dc0de0851038b8ba19649cb8c4 100644 (file)
@@ -1,5 +1,5 @@
 #
-# (C) Copyright 2000
+# (C) Copyright 2000-2010
 # Wolfgang Denk, DENX Software Engineering, wd@denx.de.
 #
 # See file CREDITS for list of people who contributed to this
@@ -32,6 +32,3 @@ PLATFORM_CPPFLAGS += -Wa,-m440 -mcpu=440
 else
 PLATFORM_CPPFLAGS += -Wa,-m405 -mcpu=405
 endif
-
-# Use default linker script.  Board port can override in board/*/config.mk
-LDSCRIPT := $(SRCTREE)/arch/powerpc/cpu/ppc4xx/u-boot.lds
index 363becc8071b05984f9db7035d548153ef3bca9f..0e75794d225887b3068b3313745d08f3245643e4 100644 (file)
@@ -1389,8 +1389,8 @@ in32r:
 relocate_code:
 #if defined(CONFIG_4xx_DCACHE) || defined(CONFIG_SYS_INIT_DCACHE_CS)
        /*
-        * We need to flush the initial global data (gd_t) before the dcache
-        * will be invalidated.
+        * We need to flush the initial global data (gd_t) and bd_info
+        * before the dcache will be invalidated.
         */
 
        /* Save registers */
@@ -1398,10 +1398,11 @@ relocate_code:
        mr      r10, r4
        mr      r11, r5
 
-       /* Flush initial global data range */
-       mr      r3, r4
-       addi    r4, r4, GENERATED_GBL_DATA_SIZE@l
-       bl      flush_dcache_range
+       /*
+        * Flush complete dcache, this is faster than flushing the
+        * ranges for global_data and bd_info instead.
+        */
+       bl      flush_dcache
 
 #if defined(CONFIG_SYS_INIT_DCACHE_CS)
        /*
@@ -1611,7 +1612,7 @@ in_ram:
        lwzux   r0,r4,r11
        cmpwi   r0,0
        add     r0,r0,r11
-       stw     r10,0(r3)
+       stw     r4,0(r3)
        beq-    5f
        stw     r0,0(r4)
 5:     bdnz    3b
index eca1f9dd82720406b9f20a8111132d0e66593663..dac0e5b61c8a6638063192a506b76f35c31dee43 100644 (file)
@@ -27,8 +27,7 @@
 #endif
 
 OUTPUT_ARCH(powerpc)
-/* Do we need any of these for elf?
-   __DYNAMIC = 0;    */
+
 PHDRS
 {
   text PT_LOAD;
@@ -39,43 +38,16 @@ SECTIONS
 {
   /* Read-only sections, merged into text segment: */
   . = + SIZEOF_HEADERS;
-  .interp : { *(.interp) }
-  .hash          : { *(.hash)          }
-  .dynsym        : { *(.dynsym)                }
-  .dynstr        : { *(.dynstr)                }
-  .rel.text      : { *(.rel.text)              }
-  .rela.text     : { *(.rela.text)     }
-  .rel.data      : { *(.rel.data)              }
-  .rela.data     : { *(.rela.data)     }
-  .rel.rodata    : { *(.rel.rodata)    }
-  .rela.rodata   : { *(.rela.rodata)   }
-  .rel.got       : { *(.rel.got)               }
-  .rela.got      : { *(.rela.got)              }
-  .rel.ctors     : { *(.rel.ctors)     }
-  .rela.ctors    : { *(.rela.ctors)    }
-  .rel.dtors     : { *(.rel.dtors)     }
-  .rela.dtors    : { *(.rela.dtors)    }
-  .rel.bss       : { *(.rel.bss)               }
-  .rela.bss      : { *(.rela.bss)              }
-  .rel.plt       : { *(.rel.plt)               }
-  .rela.plt      : { *(.rela.plt)              }
-  .init          : { *(.init)  }
-  .plt : { *(.plt) }
   .text      :
   {
-    *(.text)
-    *(.got1)
+    *(.text*)
    } :text
     _etext = .;
     PROVIDE (etext = .);
     .rodata    :
    {
-    *(.eh_frame)
     *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
   } :text
-  .fini      : { *(.fini)    } =0
-  .ctors     : { *(.ctors)   }
-  .dtors     : { *(.dtors)   }
 
   /* Read-write section, merged into data segment: */
   . = (. + 0x00FF) & 0xFFFFFF00;
@@ -83,23 +55,19 @@ SECTIONS
   PROVIDE (erotext = .);
   .reloc   :
   {
-    *(.got)
+    KEEP(*(.got))
     _GOT2_TABLE_ = .;
-    *(.got2)
+    KEEP(*(.got2))
     _FIXUP_TABLE_ = .;
-    *(.fixup)
+    KEEP(*(.fixup))
   }
   __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >> 2;
   __fixup_entries = (. - _FIXUP_TABLE_) >> 2;
 
   .data    :
   {
-    *(.data)
-    *(.data1)
-    *(.sdata)
-    *(.sdata2)
-    *(.dynamic)
-    CONSTRUCTORS
+    *(.data*)
+    *(.sdata*)
   }
   _edata  =  .;
   PROVIDE (edata = .);
@@ -138,7 +106,7 @@ SECTIONS
 
   .resetvec RESET_VECTOR_ADDRESS :
   {
-    *(.resetvec)
+    KEEP(*(.resetvec))
   } :text = 0xffff
 
   . = RESET_VECTOR_ADDRESS + 0x4;
@@ -157,9 +125,8 @@ SECTIONS
   __bss_start = .;
   .bss (NOLOAD)       :
   {
-   *(.sbss) *(.scommon)
-   *(.dynbss)
-   *(.bss)
+   *(.bss*)
+   *(.sbss*)
    *(COMMON)
   } :bss
 
index cec7666b446c970119252b426b61623191c99ed6..724d8ee7f74d05b098c882e7312c708d12b5c1a6 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(ARCH).a
+LIB    = $(obj)lib$(ARCH).o
 
 SOBJS-y        += ppccache.o
 SOBJS-y        += ppcstring.o
@@ -63,7 +63,7 @@ $(LIB):       $(obj).depend $(OBJS)
                echo "       Upgrade to a recent toolchain."; \
                exit 1; \
        fi;
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 2e0749da0a545a3d15300903c9e5def269a8bdac..b21c1d6ff0bbb98498ccf8c3f5924a03edaf6a18 100644 (file)
@@ -694,7 +694,7 @@ void board_init_r (gd_t *id, ulong dest_addr)
         */
        pci_init ();
 #endif
-#if defined(CONFIG_BAB7xx)
+#if defined(CONFIG_WINBOND_83C553)
        /*
         * Initialise the ISA bridge
         */
index 346d3285dbc3d6e830f2385fe7e33a9c8c708867..a36f0c3c3c1b7547711bc8e301e93a0257f2a2bd 100644 (file)
@@ -26,7 +26,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(CPU).a
+LIB    = $(obj)lib$(CPU).o
 
 SOBJS  = start.o
 COBJS  = cpu.o interrupts.o watchdog.o
@@ -36,7 +36,7 @@ OBJS    := $(addprefix $(obj),$(COBJS))
 SOBJS   := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 35e8f51ab1540159727d1edef6ba0358f877237d..d51b07c65528599382ec3b40a6748fbad4db41ec 100644 (file)
@@ -29,7 +29,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(CPU).a
+LIB    = $(obj)lib$(CPU).o
 
 SOBJS  = start.o
 COBJS  = cpu.o interrupts.o watchdog.o cache.o
@@ -39,7 +39,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 3c96a49311f0471131d20a4b4a44186f4e34b5d7..ba84de39fb84e4f8b33daf383032ce70e5bee934 100644 (file)
@@ -26,7 +26,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(CPU).a
+LIB    = $(obj)lib$(CPU).o
 
 SOBJS  = start.o
 COBJS  = cpu.o interrupts.o watchdog.o cache.o
@@ -36,7 +36,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index f7c6479426d74458108d442baa55a01e313c3adf..7f6039699dafadbb675e04a0e402d5ba473305aa 100644 (file)
@@ -20,7 +20,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(ARCH).a
+LIB    = $(obj)lib$(ARCH).o
 
 SOBJS-y        +=
 
@@ -36,7 +36,7 @@ SRCS  := $(SOBJS-y:.o=.S) $(COBJS-y:.o=.c)
 OBJS   := $(addprefix $(obj),$(SOBJS-y) $(COBJS-y))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 91dc96794d2a7ef287d8127b19548d351cde20fb..a9a18eb1ff2d0cb6a3437f88de886f97dbff0c72 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(CPU).a
+LIB    = $(obj)lib$(CPU).o
 
 START  = start.o
 SOBJS  =
@@ -36,7 +36,7 @@ START := $(addprefix $(obj),$(START))
 all:   $(obj).depend $(START) $(LIB)
 
 $(LIB):        $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 64c67f8dbc24e7a2d5e834c9dd8bb820d31c907a..16d3377c7304e0119b78547c9a4463ccf8d402f8 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(CPU).a
+LIB    = $(obj)lib$(CPU).o
 
 START  = start.o
 SOBJS  =
@@ -36,7 +36,7 @@ START := $(addprefix $(obj),$(START))
 all:   $(obj).depend $(START) $(LIB)
 
 $(LIB):        $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 040ca10d3b3bfbbdb6f7b552b241044949f21d31..7133ef1015d39a1b131335a372b7ab23fa472466 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(ARCH).a
+LIB    = $(obj)lib$(ARCH).o
 
 SOBJS  =
 
@@ -33,7 +33,7 @@ SRCS  := $(SOBJS:.o=.S) $(COBJS:.o=.c)
 OBJS   := $(addprefix $(obj),$(SOBJS) $(COBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 44961b97d1516734aa6c7642da0969265bdae2eb..0f14699c5e527186e5c354660132fd240b6dad63 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o cfm_flash.o flash.o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 8171a7d0b51c8c17003425e072014288db6103b2..f45836f3f8add695fad668efa3b895f03c6e7f74 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := cpux9k2.o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 29286919c0fb3860b3fea7b52bacfe90b0d35c1d..96727cb71e9947e92702da263f5f12a577b2a2db 100644 (file)
@@ -34,7 +34,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o flash.o
 
@@ -43,7 +43,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 1efdf7dc32b62a3290fcee55484ea45d5274a96b..9077e69717f0f8d6802be4650ac61524e88b6a3e 100644 (file)
 */
 
 OUTPUT_ARCH(powerpc)
-/* Do we need any of these for elf?
-   __DYNAMIC = 0;    */
+
 SECTIONS
 {
   /* Read-only sections, merged into text segment: */
   . = + SIZEOF_HEADERS;
-  .interp : { *(.interp) }
-  .hash          : { *(.hash)          }
-  .dynsym        : { *(.dynsym)                }
-  .dynstr        : { *(.dynstr)                }
-  .rel.text      : { *(.rel.text)              }
-  .rela.text     : { *(.rela.text)     }
-  .rel.data      : { *(.rel.data)              }
-  .rela.data     : { *(.rela.data)     }
-  .rel.rodata    : { *(.rel.rodata)    }
-  .rela.rodata   : { *(.rela.rodata)   }
-  .rel.got       : { *(.rel.got)               }
-  .rela.got      : { *(.rela.got)              }
-  .rel.ctors     : { *(.rel.ctors)     }
-  .rela.ctors    : { *(.rela.ctors)    }
-  .rel.dtors     : { *(.rel.dtors)     }
-  .rela.dtors    : { *(.rela.dtors)    }
-  .rel.bss       : { *(.rel.bss)               }
-  .rela.bss      : { *(.rela.bss)              }
-  .rel.plt       : { *(.rel.plt)               }
-  .rela.plt      : { *(.rela.plt)              }
-  .init          : { *(.init)  }
-  .plt : { *(.plt) }
   .text      :
   {
     /* WARNING - the following is hand-optimized to fit within */
     /* the sector layout of our flash chips!   XXX FIXME XXX   */
 
-    arch/powerpc/cpu/mpc8xx/start.o                    (.text)
-    common/dlmalloc.o                  (.text)
-    arch/powerpc/lib/ppcstring.o                       (.text)
-    lib/vsprintf.o             (.text)
-    lib/crc32.o                        (.text)
-    lib/zlib.o                 (.text)
-    lib/string.o               (.text)
-    arch/powerpc/lib/cache.o                   (.text)
-    arch/powerpc/lib/extable.o                 (.text)
-    arch/powerpc/lib/time.o                    (.text)
-    arch/powerpc/lib/ticks.o                   (.text)
+    arch/powerpc/cpu/mpc8xx/start.o    (.text*)
+    arch/powerpc/cpu/mpc8xx/traps.o    (.text*)
+    common/libcommon.o                 (.text*)
+    arch/powerpc/cpu/mpc8xx/libmpc8xx.o        (.text*)
+    board/LEOX/elpt860/libelpt860.o    (.text*)
+    arch/powerpc/lib/libpowerpc.o      (.text*)
+/*    drivers/rtc/librtc.o             (.text*)        */
 
     . = env_offset;
-    common/env_embedded.o              (.text)
+    common/env_embedded.o              (.text*)
 
-    *(.text)
-    *(.got1)
+    *(.text*)
   }
   _etext = .;
   PROVIDE (etext = .);
   .rodata    :
   {
-    *(.eh_frame)
     *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
   }
-  .fini      : { *(.fini)    } =0
-  .ctors     : { *(.ctors)   }
-  .dtors     : { *(.dtors)   }
 
   /* Read-write section, merged into data segment: */
   . = (. + 0x00FF) & 0xFFFFFF00;
@@ -99,23 +67,19 @@ SECTIONS
   PROVIDE (erotext = .);
   .reloc   :
   {
-    *(.got)
+    KEEP(*(.got))
     _GOT2_TABLE_ = .;
-    *(.got2)
+    KEEP(*(.got2))
     _FIXUP_TABLE_ = .;
-    *(.fixup)
+    KEEP(*(.fixup))
   }
   __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >>2;
   __fixup_entries = (. - _FIXUP_TABLE_)>>2;
 
   .data    :
   {
-    *(.data)
-    *(.data1)
-    *(.sdata)
-    *(.sdata2)
-    *(.dynamic)
-    CONSTRUCTORS
+    *(.data*)
+    *(.sdata*)
   }
   _edata  =  .;
   PROVIDE (edata = .);
@@ -140,9 +104,8 @@ SECTIONS
   __bss_start = .;
   .bss (NOLOAD)       :
   {
-   *(.sbss) *(.scommon)
-   *(.dynbss)
-   *(.bss)
+   *(.bss*)
+   *(.sbss*)
    *(COMMON)
    . = ALIGN(4);
   }
index df542dc043df5be1f0c679859e64084b214b0e53..f73338906436d4c1a30e30fb3634d881041cf18f 100644 (file)
@@ -27,7 +27,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := edminiv2.o
 
@@ -35,7 +35,7 @@ SRCS  := $(COBJS:.o=.c)
 OBJS   := $(addprefix $(obj),$(COBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(OBJS)
index 641a0ab8603486dde51c82ae20d48a589f1ffce7..036d255fe174e8d699b82dae1394adbeaa849b19 100644 (file)
@@ -29,7 +29,7 @@ ifneq ($(OBJTREE),$(SRCTREE))
 $(shell mkdir -p $(obj)../common)
 endif
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 SOBJS  = ../common/misc.o
 
@@ -42,7 +42,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 #########################################################################
 
diff --git a/board/Marvell/db64360/u-boot.lds b/board/Marvell/db64360/u-boot.lds
deleted file mode 100644 (file)
index 29dcc09..0000000
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
- * (C) Copyright 2001
- * Josh Huber <huber@mclx.com>, Mission Critical Linux, Inc.
- *
- * See file CREDITS for list of people who contributed to this
- * project.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
- */
-
-/*
- * u-boot.lds - linker script for U-Boot on the Galileo Eval Board.
- */
-
-OUTPUT_ARCH(powerpc)
-/* Do we need any of these for elf?
-   __DYNAMIC = 0;    */
-SECTIONS
-{
-  /* Read-only sections, merged into text segment: */
-  . = + SIZEOF_HEADERS;
-  .interp : { *(.interp) }
-  .hash          : { *(.hash)          }
-  .dynsym        : { *(.dynsym)                }
-  .dynstr        : { *(.dynstr)                }
-  .rel.text      : { *(.rel.text)              }
-  .rela.text     : { *(.rela.text)     }
-  .rel.data      : { *(.rel.data)              }
-  .rela.data     : { *(.rela.data)     }
-  .rel.rodata    : { *(.rel.rodata)    }
-  .rela.rodata   : { *(.rela.rodata)   }
-  .rel.got       : { *(.rel.got)               }
-  .rela.got      : { *(.rela.got)              }
-  .rel.ctors     : { *(.rel.ctors)     }
-  .rela.ctors    : { *(.rela.ctors)    }
-  .rel.dtors     : { *(.rel.dtors)     }
-  .rela.dtors    : { *(.rela.dtors)    }
-  .rel.bss       : { *(.rel.bss)               }
-  .rela.bss      : { *(.rela.bss)              }
-  .rel.plt       : { *(.rel.plt)               }
-  .rela.plt      : { *(.rela.plt)              }
-  .init          : { *(.init)  }
-  .plt : { *(.plt) }
-  .text      :
-  {
-    arch/powerpc/cpu/74xx_7xx/start.o  (.text)
-
-/* store the environment in a seperate sector in the boot flash */
-/*    . = env_offset; */
-/*    common/env_embedded.o(.text) */
-
-    *(.text)
-    *(.got1)
-  }
-  _etext = .;
-  PROVIDE (etext = .);
-  .rodata    :
-  {
-    *(.eh_frame)
-    *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
-  }
-  .fini      : { *(.fini)    } =0
-  .ctors     : { *(.ctors)   }
-  .dtors     : { *(.dtors)   }
-
-  /* Read-write section, merged into data segment: */
-  . = (. + 0x00FF) & 0xFFFFFF00;
-  _erotext = .;
-  PROVIDE (erotext = .);
-  .reloc   :
-  {
-    *(.got)
-    _GOT2_TABLE_ = .;
-    *(.got2)
-    _FIXUP_TABLE_ = .;
-    *(.fixup)
-  }
-  __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >>2;
-  __fixup_entries = (. - _FIXUP_TABLE_)>>2;
-
-  .data    :
-  {
-    *(.data)
-    *(.data1)
-    *(.sdata)
-    *(.sdata2)
-    *(.dynamic)
-    CONSTRUCTORS
-  }
-  _edata  =  .;
-  PROVIDE (edata = .);
-
-  . = .;
-  __u_boot_cmd_start = .;
-  .u_boot_cmd : { *(.u_boot_cmd) }
-  __u_boot_cmd_end = .;
-
-
-  . = .;
-  __start___ex_table = .;
-  __ex_table : { *(__ex_table) }
-  __stop___ex_table = .;
-
-  . = ALIGN(256);
-  __init_begin = .;
-  .text.init : { *(.text.init) }
-  .data.init : { *(.data.init) }
-  . = ALIGN(256);
-  __init_end = .;
-
-  __bss_start = .;
-  .bss (NOLOAD)       :
-  {
-   *(.sbss) *(.scommon)
-   *(.dynbss)
-   *(.bss)
-   *(COMMON)
-   . = ALIGN(4);
-  }
-  _end = . ;
-  PROVIDE (end = .);
-}
index 641a0ab8603486dde51c82ae20d48a589f1ffce7..036d255fe174e8d699b82dae1394adbeaa849b19 100644 (file)
@@ -29,7 +29,7 @@ ifneq ($(OBJTREE),$(SRCTREE))
 $(shell mkdir -p $(obj)../common)
 endif
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 SOBJS  = ../common/misc.o
 
@@ -42,7 +42,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 #########################################################################
 
index 99748a7ea598585e32a68369b842456d06210b1f..ff7e9d7075c92adf9adcc305ac623c48bad3767b 100644 (file)
@@ -24,7 +24,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := guruplug.o
 
@@ -33,7 +33,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 92d0b4760db124dccb63b59195802b8af80edcb5..24431010dbb2bed90a156d2c1f2fdfb44e2d5725 100644 (file)
@@ -24,7 +24,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := mv88f6281gtw_ge.o
 
@@ -33,7 +33,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 3ef0b9befacf977b5bb9758dca0bcf2638bdd6fe..d6d0ed33791fde296abfe678ceab478f46c030a0 100644 (file)
@@ -29,7 +29,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := openrd_base.o
 
@@ -38,7 +38,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 907dd7d017f83f89e914b79051a55cc8ab5dca29..e730e372ead7f069fa39e76306be68de55f6dd4f 100644 (file)
@@ -24,7 +24,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := rd6281a.o
 
@@ -33,7 +33,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index e378b5b1fa97035b1872a9bde7c5a1763d13acd9..d2286facb93bc13c9179d6895784b0cd458cf093 100644 (file)
@@ -24,7 +24,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := sheevaplug.o
 
@@ -33,7 +33,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 19ea3ed3e3edfed1b8354c5b0161609175fb8167..554a865d5fd94f2f8aa5d377317e9bcdd15e00a0 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o flash.o eccx.o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 3f92a9dc438ea241e4920f2a31f0e15ddd044583..fbd901a3c309020d3432a1c19e8fda6d3cb96b67 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * (C) Copyright 2000
+ * (C) Copyright 2000-2010
  * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
  *
  * See file CREDITS for list of people who contributed to this
  */
 
 OUTPUT_ARCH(powerpc)
-/* Do we need any of these for elf?
-   __DYNAMIC = 0;    */
+
 SECTIONS
 {
   /* Read-only sections, merged into text segment: */
   . = + SIZEOF_HEADERS;
-  .interp : { *(.interp) }
-  .hash          : { *(.hash)          }
-  .dynsym        : { *(.dynsym)                }
-  .dynstr        : { *(.dynstr)                }
-  .rel.text      : { *(.rel.text)              }
-  .rela.text     : { *(.rela.text)     }
-  .rel.data      : { *(.rel.data)              }
-  .rela.data     : { *(.rela.data)     }
-  .rel.rodata    : { *(.rel.rodata)    }
-  .rela.rodata   : { *(.rela.rodata)   }
-  .rel.got       : { *(.rel.got)               }
-  .rela.got      : { *(.rela.got)              }
-  .rel.ctors     : { *(.rel.ctors)     }
-  .rela.ctors    : { *(.rela.ctors)    }
-  .rel.dtors     : { *(.rel.dtors)     }
-  .rela.dtors    : { *(.rela.dtors)    }
-  .rel.bss       : { *(.rel.bss)               }
-  .rela.bss      : { *(.rela.bss)              }
-  .rel.plt       : { *(.rel.plt)               }
-  .rela.plt      : { *(.rela.plt)              }
-  .init          : { *(.init)  }
-  .plt : { *(.plt) }
   .text      :
   {
-    /* WARNING - the following is hand-optimized to fit within */
-    /* the sector layout of our flash chips!   XXX FIXME XXX   */
-
-    arch/powerpc/cpu/mpc8xx/start.o    (.text)
-    common/dlmalloc.o  (.text)
-    arch/powerpc/lib/ppcstring.o       (.text)
-    lib/vsprintf.o     (.text)
-    lib/crc32.o                (.text)
-    lib/zlib.o         (.text)
-/* XXX ?
-    . = env_offset;
-*/
-    common/env_embedded.o(.text)
+    arch/powerpc/cpu/mpc8xx/start.o    (.text*)
+    arch/powerpc/cpu/mpc8xx/traps.o    (.text*)
 
-    *(.text)
-    *(.got1)
+    *(.text*)
   }
   _etext = .;
   PROVIDE (etext = .);
   .rodata    :
   {
-    *(.eh_frame)
     *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
   }
-  .fini      : { *(.fini)    } =0
-  .ctors     : { *(.ctors)   }
-  .dtors     : { *(.dtors)   }
 
   /* Read-write section, merged into data segment: */
   . = (. + 0x00FF) & 0xFFFFFF00;
@@ -86,23 +47,19 @@ SECTIONS
   PROVIDE (erotext = .);
   .reloc   :
   {
-    *(.got)
+    KEEP(*(.got))
     _GOT2_TABLE_ = .;
-    *(.got2)
+    KEEP(*(.got2))
     _FIXUP_TABLE_ = .;
-    *(.fixup)
+    KEEP(*(.fixup))
   }
   __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >>2;
   __fixup_entries = (. - _FIXUP_TABLE_)>>2;
 
   .data    :
   {
-    *(.data)
-    *(.data1)
-    *(.sdata)
-    *(.sdata2)
-    *(.dynamic)
-    CONSTRUCTORS
+    *(.data*)
+    *(.sdata*)
   }
   _edata  =  .;
   PROVIDE (edata = .);
@@ -128,9 +85,8 @@ SECTIONS
   __bss_start = .;
   .bss (NOLOAD)       :
   {
-   *(.sbss) *(.scommon)
-   *(.dynbss)
-   *(.bss)
+   *(.bss*)
+   *(.sbss*)
    *(COMMON)
    . = ALIGN(4);
   }
index cf07cf40fdb9485240118667e0b22074acd7516d..6dc495c3619cabc3ecc9eabf3c7c696a9580379f 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o flash.o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 3f92a9dc438ea241e4920f2a31f0e15ddd044583..fbd901a3c309020d3432a1c19e8fda6d3cb96b67 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * (C) Copyright 2000
+ * (C) Copyright 2000-2010
  * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
  *
  * See file CREDITS for list of people who contributed to this
  */
 
 OUTPUT_ARCH(powerpc)
-/* Do we need any of these for elf?
-   __DYNAMIC = 0;    */
+
 SECTIONS
 {
   /* Read-only sections, merged into text segment: */
   . = + SIZEOF_HEADERS;
-  .interp : { *(.interp) }
-  .hash          : { *(.hash)          }
-  .dynsym        : { *(.dynsym)                }
-  .dynstr        : { *(.dynstr)                }
-  .rel.text      : { *(.rel.text)              }
-  .rela.text     : { *(.rela.text)     }
-  .rel.data      : { *(.rel.data)              }
-  .rela.data     : { *(.rela.data)     }
-  .rel.rodata    : { *(.rel.rodata)    }
-  .rela.rodata   : { *(.rela.rodata)   }
-  .rel.got       : { *(.rel.got)               }
-  .rela.got      : { *(.rela.got)              }
-  .rel.ctors     : { *(.rel.ctors)     }
-  .rela.ctors    : { *(.rela.ctors)    }
-  .rel.dtors     : { *(.rel.dtors)     }
-  .rela.dtors    : { *(.rela.dtors)    }
-  .rel.bss       : { *(.rel.bss)               }
-  .rela.bss      : { *(.rela.bss)              }
-  .rel.plt       : { *(.rel.plt)               }
-  .rela.plt      : { *(.rela.plt)              }
-  .init          : { *(.init)  }
-  .plt : { *(.plt) }
   .text      :
   {
-    /* WARNING - the following is hand-optimized to fit within */
-    /* the sector layout of our flash chips!   XXX FIXME XXX   */
-
-    arch/powerpc/cpu/mpc8xx/start.o    (.text)
-    common/dlmalloc.o  (.text)
-    arch/powerpc/lib/ppcstring.o       (.text)
-    lib/vsprintf.o     (.text)
-    lib/crc32.o                (.text)
-    lib/zlib.o         (.text)
-/* XXX ?
-    . = env_offset;
-*/
-    common/env_embedded.o(.text)
+    arch/powerpc/cpu/mpc8xx/start.o    (.text*)
+    arch/powerpc/cpu/mpc8xx/traps.o    (.text*)
 
-    *(.text)
-    *(.got1)
+    *(.text*)
   }
   _etext = .;
   PROVIDE (etext = .);
   .rodata    :
   {
-    *(.eh_frame)
     *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
   }
-  .fini      : { *(.fini)    } =0
-  .ctors     : { *(.ctors)   }
-  .dtors     : { *(.dtors)   }
 
   /* Read-write section, merged into data segment: */
   . = (. + 0x00FF) & 0xFFFFFF00;
@@ -86,23 +47,19 @@ SECTIONS
   PROVIDE (erotext = .);
   .reloc   :
   {
-    *(.got)
+    KEEP(*(.got))
     _GOT2_TABLE_ = .;
-    *(.got2)
+    KEEP(*(.got2))
     _FIXUP_TABLE_ = .;
-    *(.fixup)
+    KEEP(*(.fixup))
   }
   __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >>2;
   __fixup_entries = (. - _FIXUP_TABLE_)>>2;
 
   .data    :
   {
-    *(.data)
-    *(.data1)
-    *(.sdata)
-    *(.sdata2)
-    *(.dynamic)
-    CONSTRUCTORS
+    *(.data*)
+    *(.sdata*)
   }
   _edata  =  .;
   PROVIDE (edata = .);
@@ -128,9 +85,8 @@ SECTIONS
   __bss_start = .;
   .bss (NOLOAD)       :
   {
-   *(.sbss) *(.scommon)
-   *(.dynbss)
-   *(.bss)
+   *(.bss*)
+   *(.sbss*)
    *(COMMON)
    . = ALIGN(4);
   }
index cf07cf40fdb9485240118667e0b22074acd7516d..6dc495c3619cabc3ecc9eabf3c7c696a9580379f 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o flash.o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 6bff2a800b838233e11d8291b7a0574390de4e72..fbd901a3c309020d3432a1c19e8fda6d3cb96b67 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * (C) Copyright 2000-2004
+ * (C) Copyright 2000-2010
  * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
  *
  * See file CREDITS for list of people who contributed to this
  */
 
 OUTPUT_ARCH(powerpc)
-/* Do we need any of these for elf?
-   __DYNAMIC = 0;    */
+
 SECTIONS
 {
   /* Read-only sections, merged into text segment: */
   . = + SIZEOF_HEADERS;
-  .interp : { *(.interp) }
-  .hash          : { *(.hash)          }
-  .dynsym        : { *(.dynsym)                }
-  .dynstr        : { *(.dynstr)                }
-  .rel.text      : { *(.rel.text)              }
-  .rela.text     : { *(.rela.text)     }
-  .rel.data      : { *(.rel.data)              }
-  .rela.data     : { *(.rela.data)     }
-  .rel.rodata    : { *(.rel.rodata)    }
-  .rela.rodata   : { *(.rela.rodata)   }
-  .rel.got       : { *(.rel.got)               }
-  .rela.got      : { *(.rela.got)              }
-  .rel.ctors     : { *(.rel.ctors)     }
-  .rela.ctors    : { *(.rela.ctors)    }
-  .rel.dtors     : { *(.rel.dtors)     }
-  .rela.dtors    : { *(.rela.dtors)    }
-  .rel.bss       : { *(.rel.bss)               }
-  .rela.bss      : { *(.rela.bss)              }
-  .rel.plt       : { *(.rel.plt)               }
-  .rela.plt      : { *(.rela.plt)              }
-  .init          : { *(.init)  }
-  .plt : { *(.plt) }
   .text      :
   {
-    /* WARNING - the following is hand-optimized to fit within */
-    /* the sector layout of our flash chips!   XXX FIXME XXX   */
-
-    arch/powerpc/cpu/mpc8xx/start.o    (.text)
-    common/dlmalloc.o  (.text)
-    arch/powerpc/lib/ppcstring.o       (.text)
-    lib/vsprintf.o     (.text)
-    lib/crc32.o                (.text)
-    lib/zlib.o         (.text)
-/* XXX ?
-    . = env_offset;
-*/
-    common/env_embedded.o(.text)
+    arch/powerpc/cpu/mpc8xx/start.o    (.text*)
+    arch/powerpc/cpu/mpc8xx/traps.o    (.text*)
 
-    *(.text)
-    *(.got1)
+    *(.text*)
   }
   _etext = .;
   PROVIDE (etext = .);
   .rodata    :
   {
-    *(.eh_frame)
     *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
   }
-  .fini      : { *(.fini)    } =0
-  .ctors     : { *(.ctors)   }
-  .dtors     : { *(.dtors)   }
 
   /* Read-write section, merged into data segment: */
   . = (. + 0x00FF) & 0xFFFFFF00;
@@ -86,23 +47,19 @@ SECTIONS
   PROVIDE (erotext = .);
   .reloc   :
   {
-    *(.got)
+    KEEP(*(.got))
     _GOT2_TABLE_ = .;
-    *(.got2)
+    KEEP(*(.got2))
     _FIXUP_TABLE_ = .;
-    *(.fixup)
+    KEEP(*(.fixup))
   }
   __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >>2;
   __fixup_entries = (. - _FIXUP_TABLE_)>>2;
 
   .data    :
   {
-    *(.data)
-    *(.data1)
-    *(.sdata)
-    *(.sdata2)
-    *(.dynamic)
-    CONSTRUCTORS
+    *(.data*)
+    *(.sdata*)
   }
   _edata  =  .;
   PROVIDE (edata = .);
@@ -128,9 +85,8 @@ SECTIONS
   __bss_start = .;
   .bss (NOLOAD)       :
   {
-   *(.sbss) *(.scommon)
-   *(.dynbss)
-   *(.bss)
+   *(.bss*)
+   *(.sbss*)
    *(COMMON)
    . = ALIGN(4);
   }
index cf07cf40fdb9485240118667e0b22074acd7516d..6dc495c3619cabc3ecc9eabf3c7c696a9580379f 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o flash.o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index e426247c9083946807d87fe421a13350c733d9ba..5232e20680cbead0685134d1c762ed8032400b25 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * (C) Copyright 2000-2002
+ * (C) Copyright 2000-2010
  * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
  *
  * See file CREDITS for list of people who contributed to this
  */
 
 OUTPUT_ARCH(powerpc)
-/* Do we need any of these for elf?
-   __DYNAMIC = 0;    */
+
 SECTIONS
 {
   /* Read-only sections, merged into text segment: */
   . = + SIZEOF_HEADERS;
-  .interp : { *(.interp) }
-  .hash          : { *(.hash)          }
-  .dynsym        : { *(.dynsym)                }
-  .dynstr        : { *(.dynstr)                }
-  .rel.text      : { *(.rel.text)      }
-  .rela.text     : { *(.rela.text)     }
-  .rel.data      : { *(.rel.data)      }
-  .rela.data     : { *(.rela.data)     }
-  .rel.rodata    : { *(.rel.rodata)    }
-  .rela.rodata   : { *(.rela.rodata)   }
-  .rel.got       : { *(.rel.got)       }
-  .rela.got      : { *(.rela.got)      }
-  .rel.ctors     : { *(.rel.ctors)     }
-  .rela.ctors    : { *(.rela.ctors)    }
-  .rel.dtors     : { *(.rel.dtors)     }
-  .rela.dtors    : { *(.rela.dtors)    }
-  .rel.bss       : { *(.rel.bss)       }
-  .rela.bss      : { *(.rela.bss)      }
-  .rel.plt       : { *(.rel.plt)       }
-  .rela.plt      : { *(.rela.plt)      }
-  .init          : { *(.init)          }
-  .plt : { *(.plt) }
   .text      :
   {
     /* WARNING - the following is hand-optimized to fit within */
     /* the sector layout of our flash chips!   XXX FIXME XXX   */
-
-    arch/powerpc/cpu/mpc8xx/start.o            (.text)
-    arch/powerpc/cpu/mpc8xx/traps.o            (.text)
-    common/dlmalloc.o          (.text)
-    arch/powerpc/lib/ppcstring.o               (.text)
-    lib/vsprintf.o     (.text)
-    lib/crc32.o                (.text)
-    lib/zlib.o         (.text)
-    arch/powerpc/lib/cache.o           (.text)
-    arch/powerpc/lib/time.o            (.text)
+    arch/powerpc/cpu/mpc8xx/start.o    (.text*)
+    arch/powerpc/cpu/mpc8xx/traps.o    (.text*)
 
     . = env_offset;
     common/env_embedded.o      (.ppcenv)
 
-    *(.text)
-    *(.got1)
+    *(.text*)
   }
   _etext = .;
   PROVIDE (etext = .);
   .rodata    :
   {
-    *(.eh_frame)
     *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
   }
-  .fini      : { *(.fini)    } =0
-  .ctors     : { *(.ctors)   }
-  .dtors     : { *(.dtors)   }
 
   /* Read-write section, merged into data segment: */
   . = (. + 0x00FF) & 0xFFFFFF00;
@@ -88,23 +52,19 @@ SECTIONS
   PROVIDE (erotext = .);
   .reloc   :
   {
-    *(.got)
+    KEEP(*(.got))
     _GOT2_TABLE_ = .;
-    *(.got2)
+    KEEP(*(.got2))
     _FIXUP_TABLE_ = .;
-    *(.fixup)
+    KEEP(*(.fixup))
   }
   __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >>2;
   __fixup_entries = (. - _FIXUP_TABLE_)>>2;
 
   .data    :
   {
-    *(.data)
-    *(.data1)
-    *(.sdata)
-    *(.sdata2)
-    *(.dynamic)
-    CONSTRUCTORS
+    *(.data*)
+    *(.sdata*)
   }
   _edata  =  .;
   PROVIDE (edata = .);
@@ -130,9 +90,8 @@ SECTIONS
   __bss_start = .;
   .bss (NOLOAD)       :
   {
-   *(.sbss) *(.scommon)
-   *(.dynbss)
-   *(.bss)
+   *(.bss*)
+   *(.sbss*)
    *(COMMON)
    . = ALIGN(4);
   }
similarity index 67%
rename from board/eric/Makefile
rename to board/Seagate/dockstar/Makefile
index c2a68728093b67b8cbde49f6a9e369d1663f0e94..bfcc6d939412dc9ad1fdf5ab3e31fcfa8d3ef8eb 100644 (file)
@@ -1,6 +1,10 @@
 #
-# (C) Copyright 2001-2006
-# Wolfgang Denk, DENX Software Engineering, wd@denx.de.
+# Copyright (C) 2010  Eric C. Cooper <ecc@cmu.edu>
+#
+# Based on sheevaplug/Makefile originally written by
+# Prafulla Wadaskar <prafulla@marvell.com>
+# (C) Copyright 2009
+# Marvell Semiconductor <www.marvell.com>
 #
 # See file CREDITS for list of people who contributed to this
 # project.
 #
 # This program is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 # GNU General Public License for more details.
 #
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
-# MA 02111-1307 USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+# MA 02110-1301 USA
 #
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
-COBJS  = $(BOARD).o flash.o
-SOBJS  = init.o
+COBJS  := dockstar.o
 
 SRCS   := $(SOBJS:.o=.S) $(COBJS:.o=.c)
 OBJS   := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
-$(LIB):        $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+$(LIB):        $(obj).depend $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
 
 distclean:     clean
-       rm -f $(LIB) core *.bak $(obj).depend
+       rm -f $(LIB) core *.bak .depend
 
 #########################################################################
 
diff --git a/board/Seagate/dockstar/dockstar.c b/board/Seagate/dockstar/dockstar.c
new file mode 100644 (file)
index 0000000..cab3a83
--- /dev/null
@@ -0,0 +1,181 @@
+/*
+ * Copyright (C) 2010  Eric C. Cooper <ecc@cmu.edu>
+ *
+ * Based on sheevaplug.c originally written by
+ * Prafulla Wadaskar <prafulla@marvell.com>
+ * (C) Copyright 2009
+ * Marvell Semiconductor <www.marvell.com>
+ *
+ * See file CREDITS for list of people who contributed to this
+ * project.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301 USA
+ */
+
+#include <common.h>
+#include <miiphy.h>
+#include <asm/arch/kirkwood.h>
+#include <asm/arch/mpp.h>
+#include "dockstar.h"
+
+DECLARE_GLOBAL_DATA_PTR;
+
+int board_early_init_f(void)
+{
+       /*
+        * default gpio configuration
+        * There are maximum 64 gpios controlled through 2 sets of registers
+        * the  below configuration configures mainly initial LED status
+        */
+       kw_config_gpio(DOCKSTAR_OE_VAL_LOW,
+                       DOCKSTAR_OE_VAL_HIGH,
+                       DOCKSTAR_OE_LOW, DOCKSTAR_OE_HIGH);
+
+       /* Multi-Purpose Pins Functionality configuration */
+       u32 kwmpp_config[] = {
+               MPP0_NF_IO2,
+               MPP1_NF_IO3,
+               MPP2_NF_IO4,
+               MPP3_NF_IO5,
+               MPP4_NF_IO6,
+               MPP5_NF_IO7,
+               MPP6_SYSRST_OUTn,
+               MPP7_GPO,
+               MPP8_UART0_RTS,
+               MPP9_UART0_CTS,
+               MPP10_UART0_TXD,
+               MPP11_UART0_RXD,
+               MPP12_SD_CLK,
+               MPP13_SD_CMD,
+               MPP14_SD_D0,
+               MPP15_SD_D1,
+               MPP16_SD_D2,
+               MPP17_SD_D3,
+               MPP18_NF_IO0,
+               MPP19_NF_IO1,
+               MPP20_GPIO,
+               MPP21_GPIO,
+               MPP22_GPIO,
+               MPP23_GPIO,
+               MPP24_GPIO,
+               MPP25_GPIO,
+               MPP26_GPIO,
+               MPP27_GPIO,
+               MPP28_GPIO,
+               MPP29_TSMP9,
+               MPP30_GPIO,
+               MPP31_GPIO,
+               MPP32_GPIO,
+               MPP33_GPIO,
+               MPP34_GPIO,
+               MPP35_GPIO,
+               MPP36_GPIO,
+               MPP37_GPIO,
+               MPP38_GPIO,
+               MPP39_GPIO,
+               MPP40_GPIO,
+               MPP41_GPIO,
+               MPP42_GPIO,
+               MPP43_GPIO,
+               MPP44_GPIO,
+               MPP45_GPIO,
+               MPP46_GPIO,
+               MPP47_GPIO,
+               MPP48_GPIO,
+               MPP49_GPIO,
+               0
+       };
+       kirkwood_mpp_conf(kwmpp_config);
+       return 0;
+}
+
+int board_init(void)
+{
+       /*
+        * arch number of board
+        */
+       gd->bd->bi_arch_number = MACH_TYPE_DOCKSTAR;
+
+       /* address of boot parameters */
+       gd->bd->bi_boot_params = kw_sdram_bar(0) + 0x100;
+
+       return 0;
+}
+
+#ifdef CONFIG_RESET_PHY_R
+/* Configure and enable MV88E1116 PHY */
+void reset_phy(void)
+{
+       u16 reg;
+       u16 devadr;
+       char *name = "egiga0";
+
+       if (miiphy_set_current_dev(name))
+               return;
+
+       /* command to read PHY dev address */
+       if (miiphy_read(name, 0xEE, 0xEE, (u16 *) &devadr)) {
+               printf("Err..%s could not read PHY dev address\n",
+                       __FUNCTION__);
+               return;
+       }
+
+       /*
+        * Enable RGMII delay on Tx and Rx for CPU port
+        * Ref: sec 4.7.2 of chip datasheet
+        */
+       miiphy_write(name, devadr, MV88E1116_PGADR_REG, 2);
+       miiphy_read(name, devadr, MV88E1116_MAC_CTRL_REG, &reg);
+       reg |= (MV88E1116_RGMII_RXTM_CTRL | MV88E1116_RGMII_TXTM_CTRL);
+       miiphy_write(name, devadr, MV88E1116_MAC_CTRL_REG, reg);
+       miiphy_write(name, devadr, MV88E1116_PGADR_REG, 0);
+
+       /* reset the phy */
+       miiphy_reset(name, devadr);
+
+       printf("88E1116 Initialized on %s\n", name);
+}
+#endif /* CONFIG_RESET_PHY_R */
+
+#define GREEN_LED      (1 << 14)
+#define ORANGE_LED     (1 << 15)
+#define BOTH_LEDS      (GREEN_LED | ORANGE_LED)
+#define NEITHER_LED    0
+
+static void set_leds(u32 leds, u32 blinking)
+{
+       struct kwgpio_registers *r = (struct kwgpio_registers *)KW_GPIO1_BASE;
+       u32 oe = readl(&r->oe) | BOTH_LEDS;
+       writel(oe & ~leds, &r->oe);     /* active low */
+       u32 bl = readl(&r->blink_en) & ~BOTH_LEDS;
+       writel(bl | blinking, &r->blink_en);
+}
+
+void show_boot_progress(int val)
+{
+       switch (val) {
+       case 15:                /* booting Linux */
+               set_leds(BOTH_LEDS, NEITHER_LED);
+               break;
+       case 64:                /* Ethernet initialization */
+               set_leds(GREEN_LED, GREEN_LED);
+               break;
+       default:
+               if (val < 0)    /* error */
+                       set_leds(ORANGE_LED, ORANGE_LED);
+               break;
+       }
+}
diff --git a/board/Seagate/dockstar/dockstar.h b/board/Seagate/dockstar/dockstar.h
new file mode 100644 (file)
index 0000000..a2efe87
--- /dev/null
@@ -0,0 +1,44 @@
+/*
+ * Copyright (C) 2010  Eric C. Cooper <ecc@cmu.edu>
+ *
+ * Based on sheevaplug.h originally written by
+ * Prafulla Wadaskar <prafulla@marvell.com>
+ * (C) Copyright 2009
+ * Marvell Semiconductor <www.marvell.com>
+ *
+ * See file CREDITS for list of people who contributed to this
+ * project.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301 USA
+ */
+
+#ifndef __DOCKSTAR_H
+#define __DOCKSTAR_H
+
+#define DOCKSTAR_OE_LOW                (~(0))
+#define DOCKSTAR_OE_HIGH               (~(0))
+#define DOCKSTAR_OE_VAL_LOW            (1 << 29)       /* USB_PWEN low */
+#define DOCKSTAR_OE_VAL_HIGH           (1 << 17)       /* LED pin high */
+
+/* PHY related */
+#define MV88E1116_LED_FCTRL_REG                10
+#define MV88E1116_CPRSP_CR3_REG                21
+#define MV88E1116_MAC_CTRL_REG         21
+#define MV88E1116_PGADR_REG            22
+#define MV88E1116_RGMII_TXTM_CTRL      (1 << 4)
+#define MV88E1116_RGMII_RXTM_CTRL      (1 << 5)
+
+#endif /* __DOCKSTAR_H */
diff --git a/board/Seagate/dockstar/kwbimage.cfg b/board/Seagate/dockstar/kwbimage.cfg
new file mode 100644 (file)
index 0000000..98b514d
--- /dev/null
@@ -0,0 +1,165 @@
+#
+# Copyright (C) 2010  Eric C. Cooper <ecc@cmu.edu>
+#
+# Based on sheevaplug/kwbimage.cfg originally written by
+# Prafulla Wadaskar <prafulla@marvell.com>
+# (C) Copyright 2009
+# Marvell Semiconductor <www.marvell.com>
+#
+# See file CREDITS for list of people who contributed to this
+# project.
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of
+# the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+# MA 02110-1301 USA
+#
+# Refer docs/README.kwimage for more details about how-to configure
+# and create kirkwood boot image
+#
+
+# Boot Media configurations
+BOOT_FROM      nand
+NAND_ECC_MODE  default
+NAND_PAGE_SIZE 0x0800
+
+# SOC registers configuration using bootrom header extension
+# Maximum KWBIMAGE_MAX_CONFIG configurations allowed
+
+# Configure RGMII-0 interface pad voltage to 1.8V
+DATA 0xFFD100e0 0x1b1b1b9b
+
+#Dram initalization for SINGLE x16 CL=5 @ 400MHz
+DATA 0xFFD01400 0x43000c30     # DDR Configuration register
+# bit13-0:  0xc30 (3120 DDR2 clks refresh rate)
+# bit23-14: zero
+# bit24: 1= enable exit self refresh mode on DDR access
+# bit25: 1 required
+# bit29-26: zero
+# bit31-30: 01
+
+DATA 0xFFD01404 0x37543000     # DDR Controller Control Low
+# bit 4:    0=addr/cmd in smame cycle
+# bit 5:    0=clk is driven during self refresh, we don't care for APX
+# bit 6:    0=use recommended falling edge of clk for addr/cmd
+# bit14:    0=input buffer always powered up
+# bit18:    1=cpu lock transaction enabled
+# bit23-20: 5=recommended value for CL=5 and STARTBURST_DEL disabled bit31=0
+# bit27-24: 7= CL+2, STARTBURST sample stages, for freqs 400MHz, unbuffered DIMM
+# bit30-28: 3 required
+# bit31:    0=no additional STARTBURST delay
+
+DATA 0xFFD01408 0x22125451     # DDR Timing (Low) (active cycles value +1)
+# bit3-0:   TRAS lsbs
+# bit7-4:   TRCD
+# bit11- 8: TRP
+# bit15-12: TWR
+# bit19-16: TWTR
+# bit20:    TRAS msb
+# bit23-21: 0x0
+# bit27-24: TRRD
+# bit31-28: TRTP
+
+DATA 0xFFD0140C 0x00000a33     #  DDR Timing (High)
+# bit6-0:   TRFC
+# bit8-7:   TR2R
+# bit10-9:  TR2W
+# bit12-11: TW2W
+# bit31-13: zero required
+
+DATA 0xFFD01410 0x0000000d     #  DDR Address Control
+# bit1-0:   00, Cs0width=x8
+# bit3-2:   11, Cs0size=1Gb
+# bit5-4:   00, Cs1width=nonexistent
+# bit7-6:   00, Cs1size =nonexistent
+# bit9-8:   00, Cs2width=nonexistent
+# bit11-10: 00, Cs2size =nonexistent
+# bit13-12: 00, Cs3width=nonexistent
+# bit15-14: 00, Cs3size =nonexistent
+# bit16:    0,  Cs0AddrSel
+# bit17:    0,  Cs1AddrSel
+# bit18:    0,  Cs2AddrSel
+# bit19:    0,  Cs3AddrSel
+# bit31-20: 0 required
+
+DATA 0xFFD01414 0x00000000     #  DDR Open Pages Control
+# bit0:    0,  OpenPage enabled
+# bit31-1: 0 required
+
+DATA 0xFFD01418 0x00000000     #  DDR Operation
+# bit3-0:   0x0, DDR cmd
+# bit31-4:  0 required
+
+DATA 0xFFD0141C 0x00000C52     #  DDR Mode
+# bit2-0:   2, BurstLen=2 required
+# bit3:     0, BurstType=0 required
+# bit6-4:   4, CL=5
+# bit7:     0, TestMode=0 normal
+# bit8:     0, DLL reset=0 normal
+# bit11-9:  6, auto-precharge write recovery ????????????
+# bit12:    0, PD must be zero
+# bit31-13: 0 required
+
+DATA 0xFFD01420 0x00000040     #  DDR Extended Mode
+# bit0:    0,  DDR DLL enabled
+# bit1:    0,  DDR drive strenght normal
+# bit2:    0,  DDR ODT control lsd (disabled)
+# bit5-3:  000, required
+# bit6:    1,  DDR ODT control msb, (disabled)
+# bit9-7:  000, required
+# bit10:   0,  differential DQS enabled
+# bit11:   0, required
+# bit12:   0, DDR output buffer enabled
+# bit31-13: 0 required
+
+DATA 0xFFD01424 0x0000F17F     #  DDR Controller Control High
+# bit2-0:  111, required
+# bit3  :  1  , MBUS Burst Chop disabled
+# bit6-4:  111, required
+# bit7  :  0
+# bit8  :  1  , add writepath sample stage, must be 1 for DDR freq >= 300MHz
+# bit9  :  0  , no half clock cycle addition to dataout
+# bit10 :  0  , 1/4 clock cycle skew enabled for addr/ctl signals
+# bit11 :  0  , 1/4 clock cycle skew disabled for write mesh
+# bit15-12: 1111 required
+# bit31-16: 0    required
+
+DATA 0xFFD01428 0x00085520     # DDR2 ODT Read Timing (default values)
+DATA 0xFFD0147C 0x00008552     # DDR2 ODT Write Timing (default values)
+
+DATA 0xFFD01500 0x00000000     # CS[0]n Base address to 0x0
+DATA 0xFFD01504 0x07FFFFF1     # CS[0]n Size
+# bit0:    1,  Window enabled
+# bit1:    0,  Write Protect disabled
+# bit3-2:  00, CS0 hit selected
+# bit23-4: ones, required
+# bit31-24: 0x07, Size (i.e. 128MB)
+
+DATA 0xFFD01508 0x10000000     # CS[1]n Base address to 256Mb
+DATA 0xFFD0150C 0x00000000     # CS[1]n Size, window disabled
+
+DATA 0xFFD01514 0x00000000     # CS[2]n Size, window disabled
+DATA 0xFFD0151C 0x00000000     # CS[3]n Size, window disabled
+
+DATA 0xFFD01494 0x00030000     #  DDR ODT Control (Low)
+DATA 0xFFD01498 0x00000000     #  DDR ODT Control (High)
+# bit1-0:  00, ODT0 controlled by ODT Control (low) register above
+# bit3-2:  01, ODT1 active NEVER!
+# bit31-4: zero, required
+
+DATA 0xFFD0149C 0x0000E803     # CPU ODT Control
+DATA 0xFFD01480 0x00000001     # DDR Initialization Control
+#bit0=1, enable DDR init upon this register write
+
+# End of Header extension
+DATA 0x0 0x0
index dcb1907032b5df8d2f89bdcb23506a49bb1446c7..12e4aa6880eed591aade2b9cfdf2d64611b3a39f 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o flash.o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 442e2d0df25c1719bc48681008793e7f697ff541..d3c31d66797543031783cfe517f46caef6c3af96 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := $(BOARD).o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index b7cc6e11d55294f9a705290af8c434427cc42e84..31e044b68f5ea93cfd92d559eca71f370f8ca050 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := actux1.o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index dd1d8d3ad0da759da6913993fdd583aecf8bd06c..88634f7fe2b278a763231008fa18e0edfe0827a7 100644 (file)
@@ -1,6 +1,6 @@
 CONFIG_SYS_TEXT_BASE = 0x00e00000
 
 # include NPE ethernet driver
-BOARDLIBS = arch/arm/cpu/ixp/npe/libnpe.a
+BOARDLIBS = arch/arm/cpu/ixp/npe/libnpe.o
 
 LDSCRIPT := $(SRCTREE)/board/$(BOARDDIR)/u-boot.lds
index 5ef3bdaeabf2fbac08a5cdfb13e5b2040be54b0b..b026d94fe91e2a41ff35edc132def9f77daf800b 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := actux2.o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index dd1d8d3ad0da759da6913993fdd583aecf8bd06c..88634f7fe2b278a763231008fa18e0edfe0827a7 100644 (file)
@@ -1,6 +1,6 @@
 CONFIG_SYS_TEXT_BASE = 0x00e00000
 
 # include NPE ethernet driver
-BOARDLIBS = arch/arm/cpu/ixp/npe/libnpe.a
+BOARDLIBS = arch/arm/cpu/ixp/npe/libnpe.o
 
 LDSCRIPT := $(SRCTREE)/board/$(BOARDDIR)/u-boot.lds
index 2cd6d84a1756527fe1421c10349dc4fcb5e015ba..97317fbe1e54227d308d13aefd48c56b4e374644 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := actux3.o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index dd1d8d3ad0da759da6913993fdd583aecf8bd06c..88634f7fe2b278a763231008fa18e0edfe0827a7 100644 (file)
@@ -1,6 +1,6 @@
 CONFIG_SYS_TEXT_BASE = 0x00e00000
 
 # include NPE ethernet driver
-BOARDLIBS = arch/arm/cpu/ixp/npe/libnpe.a
+BOARDLIBS = arch/arm/cpu/ixp/npe/libnpe.o
 
 LDSCRIPT := $(SRCTREE)/board/$(BOARDDIR)/u-boot.lds
index b82fc62e9eb4d7dae8223c69b50681600043010b..c631a5b213af5a8df043128defb85b7a3e85f492 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := actux4.o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 09ae5890010b5cddb22e37d678f5256b664161ce..9cb838b7380ce75e86c3934bef50cd965ddc8be2 100644 (file)
@@ -1,4 +1,4 @@
 CONFIG_SYS_TEXT_BASE = 0x00e00000
 
 # include NPE ethernet driver
-BOARDLIBS = arch/arm/cpu/ixp/npe/libnpe.a
+BOARDLIBS = arch/arm/cpu/ixp/npe/libnpe.o
index 6b3706daaeea622debda670da175b2865375e0be..70205f1fb025b81c5bafc134a5691e90bebc8ca5 100644 (file)
@@ -26,7 +26,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := $(BOARD).o
 
@@ -35,7 +35,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index dc6dd7ae66fa68fb323b859f00f83e0a1c50e40f..26c9a223587bb4a2c73154d1a0ea726f2ca8aa2a 100644 (file)
@@ -28,40 +28,14 @@ SECTIONS
 {
   /* Read-only sections, merged into text segment: */
   . = + SIZEOF_HEADERS;
-  .interp        : { *(.interp)                }
-  .hash          : { *(.hash)          }
-  .dynsym        : { *(.dynsym)                }
-  .dynstr        : { *(.dynstr)                }
-  .rel.text      : { *(.rel.text)      }
-  .rela.text     : { *(.rela.text)     }
-  .rel.data      : { *(.rel.data)      }
-  .rela.data     : { *(.rela.data)     }
-  .rel.rodata    : { *(.rel.rodata)    }
-  .rela.rodata   : { *(.rela.rodata)   }
-  .rel.got       : { *(.rel.got)       }
-  .rela.got      : { *(.rela.got)      }
-  .rel.ctors     : { *(.rel.ctors)     }
-  .rela.ctors    : { *(.rela.ctors)    }
-  .rel.dtors     : { *(.rel.dtors)     }
-  .rela.dtors    : { *(.rela.dtors)    }
-  .rel.bss       : { *(.rel.bss)       }
-  .rela.bss      : { *(.rela.bss)      }
-  .rel.plt       : { *(.rel.plt)       }
-  .rela.plt      : { *(.rela.plt)      }
-  .init          : { *(.init)          }
-  .plt           : { *(.plt)           }
   .text          :
   {
-    arch/powerpc/cpu/mpc8xx/start.o    (.text)
-    *(.text)
-    *(.got1)
+    arch/powerpc/cpu/mpc8xx/start.o    (.text*)
+    arch/powerpc/cpu/mpc8xx/traps.o    (.text*)
+    *(.text*)
     . = ALIGN(16);
-    *(.eh_frame)
     *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
   }
-  .fini      : { *(.fini)    } =0
-  .ctors     : { *(.ctors)   }
-  .dtors     : { *(.dtors)   }
 
   /* Read-write section, merged into data segment: */
   . = (. + 0x0FFF) & 0xFFFFF000;
@@ -69,23 +43,19 @@ SECTIONS
   PROVIDE (erotext = .);
   .reloc   :
   {
-    *(.got)
+    KEEP(*(.got))
     _GOT2_TABLE_ = .;
-    *(.got2)
+    KEEP(*(.got2))
     _FIXUP_TABLE_ = .;
-    *(.fixup)
+    KEEP(*(.fixup))
   }
   __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >> 2;
   __fixup_entries = (. - _FIXUP_TABLE_) >> 2;
 
   .data    :
   {
-    *(.data)
-    *(.data1)
-    *(.sdata)
-    *(.sdata2)
-    *(.dynamic)
-    CONSTRUCTORS
+    *(.data*)
+    *(.sdata*)
   }
   _edata  =  .;
   PROVIDE (edata = .);
@@ -111,9 +81,8 @@ SECTIONS
   __bss_start = .;
   .bss (NOLOAD)       :
   {
-   *(.sbss) *(.scommon)
-   *(.dynbss)
-   *(.bss)
+   *(.bss*)
+   *(.sbss*)
    *(COMMON)
    . = ALIGN(4);
   }
index 73187fb70d8f7313c6df0f94b8abe55b134e9f33..895412d72dcb301168bbb0d3f67a171adec3d83d 100644 (file)
@@ -27,7 +27,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y        += afeb9260.o
 COBJS-y        += partition.o
@@ -37,7 +37,7 @@ OBJS  := $(addprefix $(obj),$(COBJS-y))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 5297e81435708ede2b4ebef823d370b62e5291d0..d8aace2e0962b71be4357c1ad6ea94438c50b09d 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := $(BOARD).o flash.o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index d1fca70a0e321ca2d8351d280de75dfa523beff9..63863520b1aff051fc440b0ff965ee15cb495ceb 100644 (file)
@@ -27,7 +27,7 @@ ifneq ($(OBJTREE),$(SRCTREE))
 $(shell mkdir -p $(obj)../common)
 endif
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y        := $(BOARD).o
 COBJS-$(CONFIG_CMD_IDE) += ../common/cfide.o
@@ -42,7 +42,7 @@ OBJS  := $(addprefix $(obj),$(COBJS-y))
 SOBJS  := $(addprefix $(obj),$(SOBJS-y))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 9abb29d85f262c461eec8f49c25250854a569a69..b2772870a944d87c9de14f0c6276df49822e3d29 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o cmd_acadia.o memory.o pll.o
 SOBJS  =
@@ -33,7 +33,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 0649799889c5b4cf069ac07b780ab0456c54f2a7..2e7dc39178c1be7ed120ec422b9ffb3d81f0144a 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o flash.o
 SOBJS  = init.o
@@ -32,8 +32,10 @@ SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c)
 OBJS   := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
-$(LIB):        $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+all:   $(LIB) $(SOBJS)
+
+$(LIB):        $(OBJS)
+       $(call cmd_link_o_target, $^)
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index e256b198d6918e5033ecd908d147876855231aac..c34bb62cc48b3da45b2a9a65308340003c90fd70 100644 (file)
@@ -26,34 +26,13 @@ SECTIONS
 {
   /* Read-only sections, merged into text segment: */
   . = + SIZEOF_HEADERS;
-  .interp : { *(.interp) }
-  .hash          : { *(.hash)          }
-  .dynsym        : { *(.dynsym)                }
-  .dynstr        : { *(.dynstr)                }
-  .rel.text      : { *(.rel.text)              }
-  .rela.text     : { *(.rela.text)     }
-  .rel.data      : { *(.rel.data)              }
-  .rela.data     : { *(.rela.data)     }
-  .rel.rodata    : { *(.rel.rodata)    }
-  .rela.rodata   : { *(.rela.rodata)   }
-  .rel.got       : { *(.rel.got)               }
-  .rela.got      : { *(.rela.got)              }
-  .rel.ctors     : { *(.rel.ctors)     }
-  .rela.ctors    : { *(.rela.ctors)    }
-  .rel.dtors     : { *(.rel.dtors)     }
-  .rela.dtors    : { *(.rela.dtors)    }
-  .rel.bss       : { *(.rel.bss)               }
-  .rela.bss      : { *(.rela.bss)              }
-  .rel.plt       : { *(.rel.plt)               }
-  .rela.plt      : { *(.rela.plt)              }
-  .init          : { *(.init)  }
-  .plt : { *(.plt) }
   .text      :
   {
     /* WARNING - the following is hand-optimized to fit within */
     /* the sector layout of our flash chips!   XXX FIXME XXX   */
 
-    arch/powerpc/cpu/ppc4xx/start.o    (.text)
+    arch/powerpc/cpu/ppc4xx/start.o    (.text*)
+    board/amcc/bamboo/init.o           (.text*)
 
     /* Align to next NAND block */
     . = ALIGN(0x4000);
@@ -61,8 +40,7 @@ SECTIONS
     /* Keep some space here for redundant env and potential bad env blocks */
     . = ALIGN(0x10000);
 
-    *(.text)
-    *(.got1)
+    *(.text*)
   }
   _etext = .;
   PROVIDE (etext = .);
@@ -70,9 +48,6 @@ SECTIONS
   {
     *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
   }
-  .fini      : { *(.fini)    } =0
-  .ctors     : { *(.ctors)   }
-  .dtors     : { *(.dtors)   }
 
   /* Read-write section, merged into data segment: */
   . = (. + 0x00FF) & 0xFFFFFF00;
@@ -80,23 +55,19 @@ SECTIONS
   PROVIDE (erotext = .);
   .reloc   :
   {
-    *(.got)
+    KEEP(*(.got))
     _GOT2_TABLE_ = .;
-    *(.got2)
+    KEEP(*(.got2))
     _FIXUP_TABLE_ = .;
-    *(.fixup)
+    KEEP(*(.fixup))
   }
   __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >>2;
   __fixup_entries = (. - _FIXUP_TABLE_)>>2;
 
   .data    :
   {
-    *(.data)
-    *(.data1)
-    *(.sdata)
-    *(.sdata2)
-    *(.dynamic)
-    CONSTRUCTORS
+    *(.data*)
+    *(.sdata*)
   }
   _edata  =  .;
   PROVIDE (edata = .);
@@ -122,9 +93,8 @@ SECTIONS
   __bss_start = .;
   .bss (NOLOAD)       :
   {
-   *(.sbss) *(.scommon)
-   *(.dynbss)
-   *(.bss)
+   *(.bss*)
+   *(.sbss*)
    *(COMMON)
    . = ALIGN(4);
   }
index 41751c870b397ebe1d66deaee52aa06ef2d8658e..642eda01a728e9cb8e6d86d70075efd8db65086f 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y        := $(BOARD).o
 SOBJS  := init.o
@@ -33,8 +33,10 @@ SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c)
 OBJS   := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
-$(LIB):        $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+all:   $(LIB) $(SOBJS)
+
+$(LIB):        $(OBJS)
+       $(call cmd_link_o_target, $^)
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 1939d51688b5b9c3ceb07c47525578af88e53e91..9f63df15010591d4c0841e75a91dac413821e54e 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o flash.o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 12f8a642e70490726d2d175f476e15134ab8a812..4d87ea9a786e1ae05552573042ab27f47d347c65 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y        := $(BOARD).o
 COBJS-$(CONFIG_CMD_CHIP_CONFIG) += chip_config.o
@@ -34,8 +34,10 @@ SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c)
 OBJS   := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
-$(LIB):        $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+all:   $(LIB) $(SOBJS)
+
+$(LIB):        $(OBJS)
+       $(call cmd_link_o_target, $^)
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index faa3720df3f5f67d0f7365b2a522390320a8fe60..80e2739fe011218e7c09fda94e617c3cdf7971b0 100644 (file)
@@ -363,18 +363,6 @@ int checkboard(void)
 }
 #endif /* !defined(CONFIG_ARCHES) */
 
-#if defined(CONFIG_NAND_U_BOOT)
-/*
- * NAND booting U-Boot version uses a fixed initialization, since the whole
- * I2C SPD DIMM autodetection/calibration doesn't fit into the 4k of boot
- * code.
- */
-phys_size_t initdram(int board_type)
-{
-       return CONFIG_SYS_MBYTES_SDRAM << 20;
-}
-#endif
-
 #if defined(CONFIG_PCI)
 int board_pcie_first(void)
 {
index c71f0b7c0afa1bc4db3dbec2a69325bb14457eff..534d6ddf4c1f5237668c08158b0705009afe3bc7 100644 (file)
@@ -26,34 +26,13 @@ SECTIONS
 {
   /* Read-only sections, merged into text segment: */
   . = + SIZEOF_HEADERS;
-  .interp : { *(.interp) }
-  .hash          : { *(.hash)          }
-  .dynsym        : { *(.dynsym)                }
-  .dynstr        : { *(.dynstr)                }
-  .rel.text      : { *(.rel.text)              }
-  .rela.text     : { *(.rela.text)     }
-  .rel.data      : { *(.rel.data)              }
-  .rela.data     : { *(.rela.data)     }
-  .rel.rodata    : { *(.rel.rodata)    }
-  .rela.rodata   : { *(.rela.rodata)   }
-  .rel.got       : { *(.rel.got)               }
-  .rela.got      : { *(.rela.got)              }
-  .rel.ctors     : { *(.rel.ctors)     }
-  .rela.ctors    : { *(.rela.ctors)    }
-  .rel.dtors     : { *(.rel.dtors)     }
-  .rela.dtors    : { *(.rela.dtors)    }
-  .rel.bss       : { *(.rel.bss)               }
-  .rela.bss      : { *(.rela.bss)              }
-  .rel.plt       : { *(.rel.plt)               }
-  .rela.plt      : { *(.rela.plt)              }
-  .init          : { *(.init)  }
-  .plt : { *(.plt) }
   .text      :
   {
     /* WARNING - the following is hand-optimized to fit within */
     /* the sector layout of our flash chips!   XXX FIXME XXX   */
 
     arch/powerpc/cpu/ppc4xx/start.o    (.text)
+    board/amcc/canyonlands/init.o      (.text*)
 
     /* Align to next NAND block */
     . = ALIGN(0x20000);
@@ -61,8 +40,7 @@ SECTIONS
     /* Keep some space here for redundant env and potential bad env blocks */
     . = ALIGN(0x80000);
 
-    *(.text)
-    *(.got1)
+    *(.text*)
   }
   _etext = .;
   PROVIDE (etext = .);
@@ -70,9 +48,6 @@ SECTIONS
   {
     *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
   }
-  .fini      : { *(.fini)    } =0
-  .ctors     : { *(.ctors)   }
-  .dtors     : { *(.dtors)   }
 
   /* Read-write section, merged into data segment: */
   . = (. + 0x00FF) & 0xFFFFFF00;
@@ -80,23 +55,19 @@ SECTIONS
   PROVIDE (erotext = .);
   .reloc   :
   {
-    *(.got)
+    KEEP(*(.got))
     _GOT2_TABLE_ = .;
-    *(.got2)
+    KEEP(*(.got2))
     _FIXUP_TABLE_ = .;
-    *(.fixup)
+    KEEP(*(.fixup))
   }
   __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >>2;
   __fixup_entries = (. - _FIXUP_TABLE_)>>2;
 
   .data    :
   {
-    *(.data)
-    *(.data1)
-    *(.sdata)
-    *(.sdata2)
-    *(.dynamic)
-    CONSTRUCTORS
+    *(.data*)
+    *(.sdata*)
   }
   _edata  =  .;
   PROVIDE (edata = .);
@@ -122,9 +93,8 @@ SECTIONS
   __bss_start = .;
   .bss (NOLOAD)       :
   {
-   *(.sbss) *(.scommon)
-   *(.dynbss)
-   *(.bss)
+   *(.bss*)
+   *(.sbss*)
    *(COMMON)
    . = ALIGN(4);
   }
index 6ab1a26b15b5338d60a5cefc03b14b8b1567872a..b5d0fe56a7e534a48964841c25b81a821882567b 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o flash.o
 SOBJS  = init.o
@@ -33,7 +33,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 168bab5d2f1cb39d91ed10fba8bf8ef54746fc64..466b1902e8c5e3606ec79f0d5ebb239fc343fd31 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y        := $(BOARD).o
 COBJS-$(CONFIG_CMD_CHIP_CONFIG) += chip_config.o
@@ -35,7 +35,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 751e9f39fd4434547955446c321d59502f910a9b..726c3ce4f1b4ac85a3df4899f3af3aebdaf51a66 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y        := $(BOARD).o
 COBJS-$(CONFIG_CMD_CHIP_CONFIG) += chip_config.o
@@ -33,7 +33,7 @@ SRCS  := $(SOBJS:.o=.S) $(COBJS:.o=.c)
 OBJS   := $(addprefix $(obj),$(SOBJS) $(COBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(OBJS)
index 6ab1a26b15b5338d60a5cefc03b14b8b1567872a..b5d0fe56a7e534a48964841c25b81a821882567b 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o flash.o
 SOBJS  = init.o
@@ -33,7 +33,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index dc3edc11aa863caa67a01ed9daab07370f55cae2..e10fadba254f0503b08f35af18498070a7159e8e 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o cmd_pll.o
 SOBJS  = init.o
@@ -32,7 +32,7 @@ SRCS  := $(SOBJS:.o=.S) $(COBJS:.o=.c)
 OBJS   := $(addprefix $(obj),$(SOBJS) $(COBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(OBJS)
index 6ab1a26b15b5338d60a5cefc03b14b8b1567872a..b5d0fe56a7e534a48964841c25b81a821882567b 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o flash.o
 SOBJS  = init.o
@@ -33,7 +33,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 5793307d6d107d559b87139d8a08bf345f39a510..875900118501e16d731829aebc9ea95ca602b395 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o
 SOBJS  = init.o
@@ -33,7 +33,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 8da3bd5114930536784641761381d37fb9527286..efe2065e4a50f25fc71f14375cd21c730f32f59e 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y        = $(BOARD).o sdram.o
 COBJS-$(CONFIG_CMD_CHIP_CONFIG) += chip_config.o
@@ -34,8 +34,10 @@ SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c)
 OBJS   := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
-$(LIB):        $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+all:   $(LIB) $(SOBJS)
+
+$(LIB):        $(OBJS)
+       $(call cmd_link_o_target, $^)
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index cf4229a22e05077a79322e1d9d4522fae78b3a2f..f3855c4dd7dd2589e639bc94ee2922d5885ac8bc 100644 (file)
@@ -26,34 +26,13 @@ SECTIONS
 {
   /* Read-only sections, merged into text segment: */
   . = + SIZEOF_HEADERS;
-  .interp : { *(.interp) }
-  .hash          : { *(.hash)          }
-  .dynsym        : { *(.dynsym)                }
-  .dynstr        : { *(.dynstr)                }
-  .rel.text      : { *(.rel.text)              }
-  .rela.text     : { *(.rela.text)     }
-  .rel.data      : { *(.rel.data)              }
-  .rela.data     : { *(.rela.data)     }
-  .rel.rodata    : { *(.rel.rodata)    }
-  .rela.rodata   : { *(.rela.rodata)   }
-  .rel.got       : { *(.rel.got)               }
-  .rela.got      : { *(.rela.got)              }
-  .rel.ctors     : { *(.rel.ctors)     }
-  .rela.ctors    : { *(.rela.ctors)    }
-  .rel.dtors     : { *(.rel.dtors)     }
-  .rela.dtors    : { *(.rela.dtors)    }
-  .rel.bss       : { *(.rel.bss)               }
-  .rela.bss      : { *(.rela.bss)              }
-  .rel.plt       : { *(.rel.plt)               }
-  .rela.plt      : { *(.rela.plt)              }
-  .init          : { *(.init)  }
-  .plt : { *(.plt) }
   .text      :
   {
     /* WARNING - the following is hand-optimized to fit within */
     /* the sector layout of our flash chips!   XXX FIXME XXX   */
 
     arch/powerpc/cpu/ppc4xx/start.o    (.text)
+    board/amcc/sequoia/init.o  (.text*)
 
     /* Align to next NAND block */
     . = ALIGN(0x4000);
@@ -61,8 +40,7 @@ SECTIONS
     /* Keep some space here for redundant env and potential bad env blocks */
     . = ALIGN(0x10000);
 
-    *(.text)
-    *(.got1)
+    *(.text*)
   }
   _etext = .;
   PROVIDE (etext = .);
@@ -70,9 +48,6 @@ SECTIONS
   {
     *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
   }
-  .fini      : { *(.fini)    } =0
-  .ctors     : { *(.ctors)   }
-  .dtors     : { *(.dtors)   }
 
   /* Read-write section, merged into data segment: */
   . = (. + 0x00FF) & 0xFFFFFF00;
@@ -80,23 +55,19 @@ SECTIONS
   PROVIDE (erotext = .);
   .reloc   :
   {
-    *(.got)
+    KEEP(*(.got))
     _GOT2_TABLE_ = .;
-    *(.got2)
+    KEEP(*(.got2))
     _FIXUP_TABLE_ = .;
-    *(.fixup)
+    KEEP(*(.fixup))
   }
   __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >>2;
   __fixup_entries = (. - _FIXUP_TABLE_)>>2;
 
   .data    :
   {
-    *(.data)
-    *(.data1)
-    *(.sdata)
-    *(.sdata2)
-    *(.dynamic)
-    CONSTRUCTORS
+    *(.data*)
+    *(.sdata*)
   }
   _edata  =  .;
   PROVIDE (edata = .);
@@ -122,9 +93,8 @@ SECTIONS
   __bss_start = .;
   .bss (NOLOAD)       :
   {
-   *(.sbss) *(.scommon)
-   *(.dynbss)
-   *(.bss)
+   *(.bss*)
+   *(.sbss*)
    *(COMMON)
    . = ALIGN(4);
   }
index 63e87c98863b6c1042b0c980c03015f9a18ca251..ba76a779206334f33bc1e1e2286c36cca46dbf47 100644 (file)
@@ -26,34 +26,12 @@ SECTIONS
 {
   /* Read-only sections, merged into text segment: */
   . = + SIZEOF_HEADERS;
-  .interp : { *(.interp) }
-  .hash          : { *(.hash)          }
-  .dynsym        : { *(.dynsym)                }
-  .dynstr        : { *(.dynstr)                }
-  .rel.text      : { *(.rel.text)              }
-  .rela.text     : { *(.rela.text)     }
-  .rel.data      : { *(.rel.data)              }
-  .rela.data     : { *(.rela.data)     }
-  .rel.rodata    : { *(.rel.rodata)    }
-  .rela.rodata   : { *(.rela.rodata)   }
-  .rel.got       : { *(.rel.got)               }
-  .rela.got      : { *(.rela.got)              }
-  .rel.ctors     : { *(.rel.ctors)     }
-  .rela.ctors    : { *(.rela.ctors)    }
-  .rel.dtors     : { *(.rel.dtors)     }
-  .rela.dtors    : { *(.rela.dtors)    }
-  .rel.bss       : { *(.rel.bss)               }
-  .rela.bss      : { *(.rela.bss)              }
-  .rel.plt       : { *(.rel.plt)               }
-  .rela.plt      : { *(.rela.plt)              }
-  .init          : { *(.init)  }
-  .plt : { *(.plt) }
   .text      :
   {
-    arch/powerpc/cpu/ppc4xx/start.o    (.text)
+    arch/powerpc/cpu/ppc4xx/start.o    (.text*)
+    board/amcc/sequoia/init.o          (.text*)
 
-    *(.text)
-    *(.got1)
+    *(.text*)
   }
   _etext = .;
   PROVIDE (etext = .);
@@ -61,9 +39,6 @@ SECTIONS
   {
     *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
   }
-  .fini      : { *(.fini)    } =0
-  .ctors     : { *(.ctors)   }
-  .dtors     : { *(.dtors)   }
 
   /* Read-write section, merged into data segment: */
   . = (. + 0x00FF) & 0xFFFFFF00;
@@ -71,23 +46,19 @@ SECTIONS
   PROVIDE (erotext = .);
   .reloc   :
   {
-    *(.got)
+    KEEP(*(.got))
     _GOT2_TABLE_ = .;
-    *(.got2)
+    KEEP(*(.got2))
     _FIXUP_TABLE_ = .;
-    *(.fixup)
+    KEEP(*(.fixup))
   }
   __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >>2;
   __fixup_entries = (. - _FIXUP_TABLE_)>>2;
 
   .data    :
   {
-    *(.data)
-    *(.data1)
-    *(.sdata)
-    *(.sdata2)
-    *(.dynamic)
-    CONSTRUCTORS
+    *(.data*)
+    *(.sdata*)
   }
   _edata  =  .;
   PROVIDE (edata = .);
@@ -113,9 +84,8 @@ SECTIONS
   __bss_start = .;
   .bss (NOLOAD)       :
   {
-   *(.sbss) *(.scommon)
-   *(.dynbss)
-   *(.bss)
+   *(.bss*)
+   *(.sbss*)
    *(COMMON)
    . = ALIGN(4);
   }
index 0b9f970ead324ffef9128021765b37db691e10f0..9b2e7e4b032c816357c9cf07c1dd5bad2002cb2b 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o flash.o lcd.o update.o
 
@@ -31,7 +31,7 @@ SRCS  := $(SOBJS:.o=.S) $(COBJS:.o=.c)
 OBJS   := $(addprefix $(obj),$(COBJS))
 
 $(LIB):        $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(OBJS)
index 9d20e0f6bfbc5142b7c6a3e57eac3bab646bb7d3..099cf9d6bb494c7a9c91af4dcd75aef4a26cf8b5 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o lcd.o update.o showinfo.o
 SOBJS  = init.o
@@ -33,7 +33,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 1939d51688b5b9c3ceb07c47525578af88e53e91..9f63df15010591d4c0841e75a91dac413821e54e 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o flash.o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index b93f2c3890ef77b66ed5f5a3afa2365c1501963b..5b0ffc29209a37d33567d66b67750008bba7309d 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o
 SOBJS  = init.o
@@ -33,7 +33,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 0ff522c31cf496a1daaee1f6f05d6c2d390c81cd..d9fb7134d780e554da82784ddeaa4ae89c8990d1 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o flash.o cmd_yucca.o
 SOBJS  = init.o
@@ -33,7 +33,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index d0729348a977710cf235da41c66ad2b26ce83dd5..fe7a6a2144f800e3d86c8e49daac6744a9771a99 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o flash.o serial.o pci.o powerspan.o
 SOBJS  = init.o
@@ -32,8 +32,10 @@ SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c)
 OBJS   := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
-$(LIB):        $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $^
+all:   $(LIB) $(SOBJS)
+
+$(LIB):        $(OBJS)
+       $(call cmd_link_o_target, $^)
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index bebcded619431371af49b5f331651717ccaff6e1..356d019976005bba2b84a02877e5f729f20b7af7 100644 (file)
  */
 
 OUTPUT_ARCH(powerpc)
-/* Do we need any of these for elf?
-   __DYNAMIC = 0;    */
+
 SECTIONS
 {
   /* Read-only sections, merged into text segment: */
   . = + SIZEOF_HEADERS;
-  .interp : { *(.interp) }
-  .hash          : { *(.hash)          }
-  .dynsym        : { *(.dynsym)                }
-  .dynstr        : { *(.dynstr)                }
-  .rel.text      : { *(.rel.text)              }
-  .rela.text     : { *(.rela.text)     }
-  .rel.data      : { *(.rel.data)              }
-  .rela.data     : { *(.rela.data)     }
-  .rel.rodata    : { *(.rel.rodata)    }
-  .rela.rodata   : { *(.rela.rodata)   }
-  .rel.got       : { *(.rel.got)               }
-  .rela.got      : { *(.rela.got)              }
-  .rel.ctors     : { *(.rel.ctors)     }
-  .rela.ctors    : { *(.rela.ctors)    }
-  .rel.dtors     : { *(.rel.dtors)     }
-  .rela.dtors    : { *(.rela.dtors)    }
-  .rel.bss       : { *(.rel.bss)               }
-  .rela.bss      : { *(.rela.bss)              }
-  .rel.plt       : { *(.rel.plt)               }
-  .rela.plt      : { *(.rela.plt)              }
-  .init          : { *(.init)  }
-  .plt : { *(.plt) }
   .text      :
   {
     /* WARNING - the following is hand-optimized to fit within */
     /* the sector layout of our flash chips!   XXX FIXME XXX   */
 
     arch/powerpc/cpu/ppc4xx/start.o    (.text)
-    board/amirix/ap1000/init.o (.text)
-    arch/powerpc/cpu/ppc4xx/kgdb.o     (.text)
-    arch/powerpc/cpu/ppc4xx/traps.o    (.text)
-    arch/powerpc/cpu/ppc4xx/interrupts.o       (.text)
-    arch/powerpc/cpu/ppc4xx/4xx_uart.o (.text)
-    arch/powerpc/cpu/ppc4xx/cpu_init.o (.text)
-    arch/powerpc/cpu/ppc4xx/speed.o    (.text)
-    common/dlmalloc.o  (.text)
-    lib/crc32.o                (.text)
-    arch/powerpc/lib/extable.o (.text)
-    lib/zlib.o         (.text)
-
-/*    . = env_offset;*/
-/*    common/env_embedded.o(.text)*/
-
-    *(.text)
-    *(.got1)
+    board/amirix/ap1000/init.o         (.text)
+    *(.text*)
   }
   _etext = .;
   PROVIDE (etext = .);
   .rodata    :
   {
-    *(.eh_frame)
     *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
   }
-  .fini      : { *(.fini)    } =0
-  .ctors     : { *(.ctors)   }
-  .dtors     : { *(.dtors)   }
 
   /* Read-write section, merged into data segment: */
   . = (. + 0x00FF) & 0xFFFFFF00;
@@ -91,23 +49,19 @@ SECTIONS
   PROVIDE (erotext = .);
   .reloc   :
   {
-    *(.got)
+    KEEP(*(.got))
     _GOT2_TABLE_ = .;
-    *(.got2)
+    KEEP(*(.got2))
     _FIXUP_TABLE_ = .;
-    *(.fixup)
+    KEEP(*(.fixup))
   }
   __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >>2;
   __fixup_entries = (. - _FIXUP_TABLE_)>>2;
 
   .data    :
   {
-    *(.data)
-    *(.data1)
-    *(.sdata)
-    *(.sdata2)
-    *(.dynamic)
-    CONSTRUCTORS
+    *(.data*)
+    *(.sdata*)
   }
   _edata  =  .;
   PROVIDE (edata = .);
@@ -131,9 +85,8 @@ SECTIONS
   __bss_start = .;
   .bss (NOLOAD)       :
   {
-   *(.sbss) *(.scommon)
-   *(.dynbss)
-   *(.bss)
+   *(.bss*)
+   *(.sbss*)
    *(COMMON)
    . = ALIGN(4);
   }
index f20de3c938130c4e7528e365c94c0e3cdb136769..ce41efc98a662c26502db6f56958337c2b441aec 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y        := apollon.o mem.o sys_info.o
 SOBJS  := lowlevel_init.o
@@ -34,7 +34,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index b18e42bff30c707cdc938eea2af6ada9a205da90..3b524524f9c08d164977d0dcc8e696f1d9171c6c 100644 (file)
@@ -27,7 +27,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := armadillo.o flash.o
 SOBJS  := lowlevel_init.o
@@ -37,7 +37,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 14d64b7e88d7feaac1ba10061a89bf96f7064c81..c452631337f67f69eb13de048b7f05fcc48c7cc8 100644 (file)
@@ -27,7 +27,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 SOBJS-y        := lowlevel_init.o
 
@@ -40,7 +40,7 @@ COBJS := $(addprefix $(obj),$(COBJS-y))
 SOBJS  := $(addprefix $(obj),$(SOBJS-y))
 
 $(LIB):        $(obj).depend $(COBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(COBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(COBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(COBJS)
index 80a2c7e21ceba2101b0f689a4fdfa69f3d8d2c0e..347032847824a112166a09986c23ee3179958e04 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := versatile.o
 SOBJS  := lowlevel_init.o
@@ -33,7 +33,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index ee5c0d87ac0673c4ce1524e07854d7e50e07fbbd..49c4b81e6d70e2b4105cf5b22aa5314317db8b97 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := ca9x4_ct_vxp.o
 
@@ -31,7 +31,7 @@ SRCS  := $(COBJS:.o=.c)
 OBJS   := $(addprefix $(obj),$(COBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 03f0762a3bd41c77e91b7d0783917b7f999d692f..b3cf4aa01c1c2619db40d98f4e46be7137f4381b 100644 (file)
@@ -25,7 +25,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := assabet.o
 SOBJS  := setup.o
@@ -35,7 +35,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index c7a1d055187358b741a8deef6b2e1f56a8e5713c..d44a260e1e44992488dedc5359dd2f95d3dcf55c 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o fpga.o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 4b9cd7b8209973070647206681ef1d26c68f5381..bbfb28c83dc608367cb4d2bb42a5f2db7c7ba84f 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o flash.o ti113x.o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 473bb10af774a9fee7a949f036700bf8a66b22cf..ff871f64f972a2c59b892634848028f482392d49 100644 (file)
@@ -468,7 +468,7 @@ static int i365_set_io_map (socket_info_t * s, struct pccard_io_map *io)
 
 /*====================================================================*/
 
-int i82365_init (void)
+static int i82365_init (void)
 {
        u_int val;
        int i;
@@ -545,7 +545,7 @@ int i82365_init (void)
        return 0;
 }
 
-void i82365_exit (void)
+static void i82365_exit (void)
 {
        io.map = 0;
        io.flags = 0;
index 2496f9bd48a227babb6e88c4d82a168fab3512a4..2eec0ce23146f1360486978f3c371c4e589a67bd 100644 (file)
@@ -27,7 +27,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y        += at91cap9adk.o
 COBJS-y        += led.o
@@ -38,7 +38,7 @@ OBJS    := $(addprefix $(obj),$(COBJS-y))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 79d41d6a73ac6cd7f489cb6c01fdf00d803ee141..bc3dbc609d9575f21e49d1f219bf842f3243b0c6 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y += $(BOARD).o
 COBJS-y += flash.o
@@ -38,7 +38,7 @@ OBJS  := $(addprefix $(obj),$(COBJS-y))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 96a0f055ac0f476974e5ea57e6ab393f4a283add..f64e5957333d34bb7d8276a5cf592a894e707462 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y += $(BOARD).o
 COBJS-y += led.o
@@ -33,7 +33,7 @@ OBJS  := $(addprefix $(obj),$(COBJS-y))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index aaa324062a93a01d15b67bd49e925296866f341a..1fd85297985096c41cbf874a9a077243041c4d22 100644 (file)
@@ -27,7 +27,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y        += at91sam9260ek.o
 COBJS-y        += led.o
@@ -38,7 +38,7 @@ OBJS  := $(addprefix $(obj),$(COBJS-y))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index d9b3a79536fae9df0480852fb943ca7225456b42..9d20ba02ea0722118f66feb3fd14ba534811e196 100644 (file)
@@ -27,7 +27,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y += at91sam9261ek.o
 COBJS-y += led.o
@@ -38,7 +38,7 @@ OBJS  := $(addprefix $(obj),$(COBJS-y))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 79ec45fd9f95447653261a0a80f08992d09e237b..e43326e4ae8e8272205097615153940f9f39eda7 100644 (file)
@@ -27,7 +27,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y += at91sam9263ek.o
 COBJS-y += led.o
@@ -38,7 +38,7 @@ OBJS  := $(addprefix $(obj),$(COBJS-y))
 SOBJS  := $(addprefix $(obj),$(SOBJS-y))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 4caf1e416dc58a2099f50f64849ad5e23452fc97..7aa2521e439a7a3d22961a7146f24a7ec4dad93b 100644 (file)
@@ -27,7 +27,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y += at91sam9m10g45ek.o
 COBJS-y += led.o
@@ -37,7 +37,7 @@ OBJS  := $(addprefix $(obj),$(COBJS-y))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 92a5a2b9883f518b25a5a9705e3488289d614130..234aeb611bf2692c9ecb5e9d6b889b253c933d5c 100644 (file)
@@ -27,7 +27,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y += at91sam9rlek.o
 COBJS-y += led.o
@@ -38,7 +38,7 @@ OBJS  := $(addprefix $(obj),$(COBJS-y))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 9f3849feaf28acebbe2f32dade580bda249a74c2..7fbd20d002ea5b15b4c7467c7afec3ff736a5f94 100644 (file)
@@ -20,7 +20,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    := $(obj)lib$(BOARD).a
+LIB    := $(obj)lib$(BOARD).o
 
 COBJS  := $(BOARD).o
 
@@ -28,7 +28,7 @@ SRCS  := $(SOBJS:.o=.S) $(COBJS:.o=.c)
 OBJS   := $(addprefix $(obj),$(SOBJS) $(COBJS))
 
 $(LIB): $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index f9b26e5d3bcd1861bd7b66375e2ddd7e39c45f65..ae47396970774718a34001470479e0682b1d0b53 100644 (file)
@@ -24,7 +24,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB                    := $(obj)lib$(BOARD).a
+LIB                    := $(obj)lib$(BOARD).o
 
 COBJS-y                        += $(BOARD).o
 COBJS-y                        += flash.o
@@ -33,7 +33,7 @@ SRCS                  := $(SOBJS-y:.o=.S) $(COBJS-y:.o=.c)
 OBJS                   := $(addprefix $(obj),$(SOBJS-y) $(COBJS-y))
 
 $(LIB): $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index b99130819107b4de59f5801e7fe3400dbbd4115f..0bb9ec86ececd0c03cd154c352c03103f8f5a843 100644 (file)
@@ -27,7 +27,7 @@ ifneq ($(OBJTREE),$(SRCTREE))
 $(shell mkdir -p $(obj)../common)
 endif
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y        += $(BOARD).o
 COBJS-y        += law.o
@@ -39,7 +39,7 @@ OBJS  := $(addprefix $(obj),$(COBJS-y))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(OBJS) $(SOBJS)
index 671f9e985364ef2084bd465d1998fef569755987..9403e4b02fda4f9b673d49f5ca909e0873c62181 100644 (file)
@@ -193,13 +193,13 @@ void pci_init_board(void)
 
        if (io_sel & 1) {
                if (!(gur->pordevsr & MPC85xx_PORDEVSR_SGMII1_DIS))
-                       printf ("    eTSEC1 is in sgmii mode.\n");
+                       printf("eTSEC1 is in sgmii mode.\n");
                if (!(gur->pordevsr & MPC85xx_PORDEVSR_SGMII2_DIS))
-                       printf ("    eTSEC2 is in sgmii mode.\n");
+                       printf("eTSEC2 is in sgmii mode.\n");
                if (!(gur->pordevsr & MPC85xx_PORDEVSR_SGMII3_DIS))
-                       printf ("    eTSEC3 is in sgmii mode.\n");
+                       printf("eTSEC3 is in sgmii mode.\n");
                if (!(gur->pordevsr & MPC85xx_PORDEVSR_SGMII4_DIS))
-                       printf ("    eTSEC4 is in sgmii mode.\n");
+                       printf("eTSEC4 is in sgmii mode.\n");
        }
 
 #ifdef CONFIG_PCIE1
@@ -218,14 +218,14 @@ void pci_init_board(void)
 
                pcie1_hose.region_count = 1;
 #endif
-               printf ("    PCIE1 connected to Slot as %s (base addr %lx)\n",
+               printf ("PCIE1: connected to Slot as %s (base addr %lx)\n",
                                pcie_ep ? "Endpoint" : "Root Complex",
                                pci_info[num].regs);
 
                first_free_busno = fsl_pci_init_port(&pci_info[num++],
                                        &pcie1_hose, first_free_busno);
        } else {
-               printf ("    PCIE1: disabled\n");
+               printf("PCIE1: disabled\n");
        }
 
        puts("\n");
@@ -242,7 +242,7 @@ void pci_init_board(void)
        if (!(devdisr & MPC85xx_DEVDISR_PCI1)) {
                SET_STD_PCI_INFO(pci_info[num], 1);
                pci_agent = fsl_setup_hose(&pci1_hose, pci_info[num].regs);
-               printf ("\n    PCI1: %d bit, %s MHz, %s, %s, %s (base address %lx)\n",
+               printf("PCI1: %d bit, %s MHz, %s, %s, %s (base address %lx)\n",
                        (pci_32) ? 32 : 64,
                        (pci_speed == 33333000) ? "33" :
                        (pci_speed == 66666000) ? "66" : "unknown",
@@ -254,7 +254,7 @@ void pci_init_board(void)
                first_free_busno = fsl_pci_init_port(&pci_info[num++],
                                        &pci1_hose, first_free_busno);
        } else {
-               printf ("    PCI: disabled\n");
+               printf("PCI1: disabled\n");
        }
 
        puts("\n");
@@ -267,11 +267,11 @@ void pci_init_board(void)
                SET_STD_PCI_INFO(pci_info[num], 2);
                pci_agent = fsl_setup_hose(&pci2_hose, pci_info[num].regs);
 
-               puts ("    PCI2\n");
+               puts("PCI2\n");
                first_free_busno = fsl_pci_init_port(&pci_info[num++],
                                        &pci1_hose, first_free_busno);
        } else {
-               printf ("    PCI2: disabled\n");
+               printf("PCI2: disabled\n");
        }
        puts("\n");
 #else
index 7db615e943b2f23a3f758ed19d1bbc0a51aa32a9..29e79150f934cc9c15d42f2544c122e70137c3ef 100644 (file)
@@ -21,7 +21,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := balloon3.o
 
@@ -29,7 +29,7 @@ SRCS  := $(COBJS:.o=.c)
 OBJS   := $(addprefix $(obj),$(COBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(OBJS)
diff --git a/board/barco/Makefile b/board/barco/Makefile
deleted file mode 100644 (file)
index 5aa02d4..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-#
-# (C) Copyright 2000-2006
-# Wolfgang Denk, DENX Software Engineering, wd@denx.de.
-#
-# See file CREDITS for list of people who contributed to this
-# project.
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License as
-# published by the Free Software Foundation; either version 2 of
-# the License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
-# MA 02111-1307 USA
-#
-
-include $(TOPDIR)/config.mk
-
-LIB    = $(obj)lib$(BOARD).a
-
-COBJS =  $(BOARD).o flash.o
-
-SRCS   := $(SOBJS:.o=.S) $(COBJS:.o=.c)
-OBJS   := $(addprefix $(obj),$(COBJS))
-SOBJS  := $(addprefix $(obj),$(SOBJS))
-
-$(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
-
-#########################################################################
-
-# defines $(obj).depend target
-include $(SRCTREE)/rules.mk
-
-sinclude $(obj).depend
-
-#########################################################################
diff --git a/board/barco/README b/board/barco/README
deleted file mode 100644 (file)
index d255a3d..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-This port of U-Boot is tuned to run on a range of Barco Control Rooms
-Streaming Video Solutions, including:
-
-   - Streaming Video Card (SVC)
-   - Sample Compress Network (SCN)
-
-For more information, see http://www.barcocontrolrooms.com/
-
-Code and configuration are originally based on the Sandpoint board
-
-Marc Leeman <marc.leeman@barco.com>
diff --git a/board/barco/barco.c b/board/barco/barco.c
deleted file mode 100644 (file)
index 263a288..0000000
+++ /dev/null
@@ -1,344 +0,0 @@
-/********************************************************************
- *
- * Unless otherwise specified, Copyright (C) 2004-2005 Barco Control Rooms
- *
- * $Source: /home/services/cvs/firmware/ppc/u-boot-1.1.2/board/barco/barco.c,v $
- * $Revision: 1.4 $
- * $Author: mleeman $
- * $Date: 2005/03/02 16:40:20 $
- *
- * Last ChangeLog Entry
- * $Log: barco.c,v $
- * Revision 1.4  2005/03/02 16:40:20  mleeman
- * remove empty labels (3.4 complains)
- *
- * Revision 1.3  2005/02/21 12:48:58  mleeman
- * update of copyright years (feedback wd)
- *
- * Revision 1.2  2005/02/21 10:10:53  mleeman
- * - split up switch statement to a function call (Linux kernel coding guidelines)
- *   ( feedback wd)
- *
- * Revision 1.1  2005/02/14 09:31:07  mleeman
- * renaming of files
- *
- * Revision 1.1  2005/02/14 09:23:46  mleeman
- * - moved 'barcohydra' directory to a more generic barco; since we will be
- *   supporting and adding multiple boards
- *
- * Revision 1.3  2005/02/10 13:57:32  mleeman
- * fixed flash corruption: I should exit from the moment I find the correct value
- *
- * Revision 1.2  2005/02/09 12:56:23  mleeman
- * add generic header to track changes in sources
- *
- *
- *******************************************************************/
-
-/*
- * (C) Copyright 2004
- * Marc Leeman <marc.leeman@barco.com>
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
- */
-
-#include <common.h>
-#include <mpc824x.h>
-#include <pci.h>
-#include <malloc.h>
-#include <command.h>
-
-#include "config.h"
-#include "barco_svc.h"
-
-#define TRY_WORKING  (3)
-#define BOOT_DEFAULT (2)
-#define BOOT_WORKING (1)
-
-int checkboard (void)
-{
-       /*TODO: Check processor type */
-
-       puts (  "Board: Streaming Video Card for Hydra systems "
-#ifdef CONFIG_MPC8240
-               "8240"
-#endif
-#ifdef CONFIG_MPC8245
-               "8245"
-#endif
-               " Unity ##Test not implemented yet##\n");
-       return 0;
-}
-
-phys_size_t initdram (int board_type)
-{
-       long size;
-       long new_bank0_end;
-       long mear1;
-       long emear1;
-
-       size = get_ram_size (CONFIG_SYS_SDRAM_BASE, CONFIG_SYS_MAX_RAM_SIZE);
-
-       new_bank0_end = size - 1;
-       mear1 = mpc824x_mpc107_getreg (MEAR1);
-       emear1 = mpc824x_mpc107_getreg (EMEAR1);
-       mear1 = (mear1  & 0xFFFFFF00) |
-               ((new_bank0_end & MICR_ADDR_MASK) >> MICR_ADDR_SHIFT);
-       emear1 = (emear1 & 0xFFFFFF00) |
-               ((new_bank0_end & MICR_ADDR_MASK) >> MICR_EADDR_SHIFT);
-       mpc824x_mpc107_setreg (MEAR1, mear1);
-       mpc824x_mpc107_setreg (EMEAR1, emear1);
-
-       return (size);
-}
-
-/*
- * Initialize PCI Devices, report devices found.
- */
-#ifndef CONFIG_PCI_PNP
-static struct pci_config_table pci_barcohydra_config_table[] = {
-       { PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID, 0x0f, PCI_ANY_ID,
-         pci_cfgfunc_config_device, { PCI_ENET0_IOADDR,
-                                      PCI_ENET0_MEMADDR,
-                                      PCI_COMMAND_MEMORY | PCI_COMMAND_MASTER } },
-       { PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID, 0x10, PCI_ANY_ID,
-         pci_cfgfunc_config_device, { PCI_ENET1_IOADDR,
-                                      PCI_ENET1_MEMADDR,
-                                      PCI_COMMAND_MEMORY | PCI_COMMAND_MASTER } },
-       { }
-};
-#endif
-
-struct pci_controller hose = {
-#ifndef CONFIG_PCI_PNP
-       config_table: pci_barcohydra_config_table,
-#endif
-};
-
-void pci_init_board (void)
-{
-       pci_mpc824x_init (&hose);
-}
-
-int write_flash (char *addr, char value)
-{
-       char *adr = (char *)0xFF800000;
-       int cnt = 0;
-       char status,oldstatus;
-
-       *(adr+0x55) = 0xAA; udelay (1);
-       *(adr+0xAA) = 0x55; udelay (1);
-       *(adr+0x55) = 0xA0; udelay (1);
-       *addr = value;
-
-       status = *addr;
-       do {
-               oldstatus = status;
-               status = *addr;
-
-               if ((oldstatus & 0x40) == (status & 0x40)) {
-                       return 4;
-               }
-               cnt++;
-               if (cnt > 10000) {
-                       return 2;
-               }
-       } while ( (status & 0x20) == 0 );
-
-       oldstatus = *addr;
-       status = *addr;
-
-       if ((oldstatus & 0x40) == (status & 0x40)) {
-               return 0;
-       } else {
-               *(adr+0x55) = 0xF0;
-               return 1;
-       }
-}
-
-unsigned update_flash (unsigned char *buf)
-{
-       switch ((*buf) & 0x3) {
-       case TRY_WORKING:
-               printf ("found 3 and converted it to 2\n");
-               write_flash ((char *)buf, (*buf) & 0xFE);
-               *((unsigned char *)0xFF800000) = 0xF0;
-               udelay (100);
-               printf ("buf [%#010x] %#010x\n", (unsigned)buf, (*buf));
-               /* XXX - fall through??? */
-       case BOOT_WORKING :
-               return BOOT_WORKING;
-       }
-       return BOOT_DEFAULT;
-}
-
-unsigned scan_flash (void)
-{
-       char section[] =  "kernel";
-       int cfgFileLen  =  (CONFIG_SYS_FLASH_ERASE_SECTOR_LENGTH >> 1);
-       int sectionPtr  = 0;
-       int foundItem   = 0; /* 0: None, 1: section found, 2: "=" found */
-       int bufPtr;
-       unsigned char *buf;
-
-       buf = (unsigned char*)(CONFIG_SYS_FLASH_RANGE_BASE + CONFIG_SYS_FLASH_RANGE_SIZE \
-                       - CONFIG_SYS_FLASH_ERASE_SECTOR_LENGTH);
-       for (bufPtr = 0; bufPtr < cfgFileLen; ++bufPtr) {
-               if ((buf[bufPtr]==0xFF) && (*(int*)(buf+bufPtr)==0xFFFFFFFF)) {
-                       return BOOT_DEFAULT;
-               }
-               /* This is the scanning loop, we try to find a particular
-                * quoted value
-                */
-               switch (foundItem) {
-               case 0:
-                       if ((section[sectionPtr] == 0)) {
-                               ++foundItem;
-                       } else if (buf[bufPtr] == section[sectionPtr]) {
-                               ++sectionPtr;
-                       } else {
-                               sectionPtr = 0;
-                       }
-                       break;
-               case 1:
-                       ++foundItem;
-                       break;
-               case 2:
-                       ++foundItem;
-                       break;
-               case 3:
-               default:
-                       return update_flash (&buf[bufPtr - 1]);
-               }
-       }
-
-       printf ("Failed to read %s\n",section);
-       return BOOT_DEFAULT;
-}
-
-TSBootInfo* find_boot_info (void)
-{
-       unsigned bootimage = scan_flash ();
-       TSBootInfo* info = (TSBootInfo*)malloc (sizeof(TSBootInfo));
-
-       switch (bootimage) {
-       case TRY_WORKING:
-               info->address = CONFIG_SYS_WORKING_KERNEL_ADDRESS;
-               break;
-       case BOOT_WORKING :
-               info->address = CONFIG_SYS_WORKING_KERNEL_ADDRESS;
-               break;
-       case BOOT_DEFAULT:
-       default:
-               info->address= CONFIG_SYS_DEFAULT_KERNEL_ADDRESS;
-
-       }
-       info->size = *((unsigned int *)(info->address ));
-
-       return info;
-}
-
-void barcobcd_boot (void)
-{
-       TSBootInfo* start;
-       char *bootm_args[2];
-       char *buf;
-       int cnt;
-       extern int do_bootm (cmd_tbl_t *, int, int, char *[]);
-
-       buf = (char *)(0x00800000);
-       /* make certain there are enough chars to print the command line here!
-        */
-       bootm_args[0] = (char *)malloc (16*sizeof(char));
-       bootm_args[1] = (char *)malloc (16*sizeof(char));
-
-       start = find_boot_info ();
-
-       printf ("Booting kernel at address %#10x with size %#10x\n",
-                       start->address, start->size);
-
-       /* give length of the kernel image to bootm */
-       sprintf (bootm_args[0],"%x",start->size);
-       /* give address of the kernel image to bootm */
-       sprintf (bootm_args[1],"%x",(unsigned)buf);
-
-       printf ("flash address: %#10x\n",start->address+8);
-       printf ("buf address: %#10x\n",(unsigned)buf);
-
-       /* aha, we reserve 8 bytes here... */
-       for (cnt = 0; cnt < start->size ; cnt++) {
-               buf[cnt] = ((char *)start->address)[cnt+8];
-       }
-
-       /* initialise RAM memory */
-       *((unsigned int *)0xFEC00000) = 0x00141A98;
-       do_bootm (NULL,0,2,bootm_args);
-}
-
-int barcobcd_boot_image (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
-{
-       barcobcd_boot ();
-
-       return 0;
-}
-
-/* Currently, boot_working and boot_default are the same command. This is
- * left in here to see what we'll do in the future */
-
-U_BOOT_CMD (
-               try_working, 1, 1, barcobcd_boot_image,
-               "check flash value and boot the appropriate image",
-               ""
-         );
-
-U_BOOT_CMD (
-               boot_working, 1, 1, barcobcd_boot_image,
-               "check flash value and boot the appropriate image",
-               ""
-         );
-
-U_BOOT_CMD (
-               boot_default, 1, 1, barcobcd_boot_image,
-               "check flash value and boot the appropriate image",
-               ""
-         );
-/*
- * We are not using serial communication, so just provide empty functions
- */
-int serial_init (void)
-{
-       return 0;
-}
-void serial_setbrg (void)
-{
-       return;
-}
-void serial_putc (const char c)
-{
-       return;
-}
-void serial_puts (const char *c)
-{
-       return;
-}
-int serial_getc (void)
-{
-       return 0;
-}
-int serial_tstc (void)
-{
-       return 0;
-}
diff --git a/board/barco/barco_svc.h b/board/barco/barco_svc.h
deleted file mode 100644 (file)
index e103260..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-/********************************************************************
- *
- * Unless otherwise specified, Copyright (C) 2004-2005 Barco Control Rooms
- *
- * $Source: /home/services/cvs/firmware/ppc/u-boot-1.1.2/board/barco/barco_svc.h,v $
- * $Revision: 1.2 $
- * $Author: mleeman $
- * $Date: 2005/02/21 12:48:58 $
- *
- * Last ChangeLog Entry
- * $Log: barco_svc.h,v $
- * Revision 1.2  2005/02/21 12:48:58  mleeman
- * update of copyright years (feedback wd)
- *
- * Revision 1.1  2005/02/14 09:31:07  mleeman
- * renaming of files
- *
- * Revision 1.1  2005/02/14 09:23:46  mleeman
- * - moved 'barcohydra' directory to a more generic barco; since we will be
- *   supporting and adding multiple boards
- *
- * Revision 1.1  2005/02/08 15:40:19  mleeman
- * modified and added platform files
- *
- * Revision 1.2  2005/01/25 08:05:04  mleeman
- * more cleanup of the code
- *
- * Revision 1.1  2004/07/20 08:49:55  mleeman
- * Working version of the default and nfs kernel booting.
- *
- *
- *******************************************************************/
-
-#ifndef _LOCAL_BARCOHYDRA_H_
-#define _LOCAL_BARCOHYDRA_H_
-
-#include <flash.h>
-#include <asm/io.h>
-
-/* Defines for the barcohydra board */
-#ifndef CONFIG_SYS_FLASH_ERASE_SECTOR_LENGTH
-#define CONFIG_SYS_FLASH_ERASE_SECTOR_LENGTH (0x10000)
-#endif
-
-#ifndef CONFIG_SYS_DEFAULT_KERNEL_ADDRESS
-#define CONFIG_SYS_DEFAULT_KERNEL_ADDRESS (CONFIG_SYS_FLASH_BASE + 0x30000)
-#endif
-
-#ifndef CONFIG_SYS_WORKING_KERNEL_ADDRESS
-#define CONFIG_SYS_WORKING_KERNEL_ADDRESS (0xFFE00000)
-#endif
-
-
-typedef struct SBootInfo {
-       unsigned int address;
-       unsigned int size;
-       unsigned char state;
-}TSBootInfo;
-
-/* barcohydra.c */
-int checkboard(void);
-phys_size_t initdram(int board_type);
-void pci_init_board(void);
-void check_flash(void);
-int write_flash(char *addr, char value);
-TSBootInfo* find_boot_info(void);
-void final_boot(void);
-#endif
diff --git a/board/barco/early_init.S b/board/barco/early_init.S
deleted file mode 100644 (file)
index 61b4b55..0000000
+++ /dev/null
@@ -1,153 +0,0 @@
-/*
- * (C) Copyright 2001
- * Thomas Koeller, tkoeller@gmx.net
- *
- * See file CREDITS for list of people who contributed to this
- * project.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
- */
-
-#ifndef        __ASSEMBLY__
-#define __ASSEMBLY__   1
-#endif
-
-#include <asm-offsets.h>
-#include <config.h>
-#include <asm/processor.h>
-#include <mpc824x.h>
-#include <ppc_asm.tmpl>
-
-#if defined(USE_DINK32)
-  /* We are running from RAM, so do not clear the MCCR1_MEMGO bit! */
-  #define MCCR1VAL ((CONFIG_SYS_ROMNAL << MCCR1_ROMNAL_SHIFT) | (CONFIG_SYS_ROMFAL << MCCR1_ROMFAL_SHIFT) | MCCR1_MEMGO)
-#else
-  #define MCCR1VAL (CONFIG_SYS_ROMNAL << MCCR1_ROMNAL_SHIFT) | (CONFIG_SYS_ROMFAL << MCCR1_ROMFAL_SHIFT)
-#endif
-
-       .text
-
-       /* Values to program into memory controller registers */
-tbl:   .long   MCCR1, MCCR1VAL
-       .long   MCCR2, CONFIG_SYS_REFINT << MCCR2_REFINT_SHIFT
-       .long   MCCR3
-       .long   (((CONFIG_SYS_BSTOPRE & 0x000000f0) >> 4) << MCCR3_BSTOPRE2TO5_SHIFT) | \
-               (CONFIG_SYS_REFREC << MCCR3_REFREC_SHIFT) | \
-               (CONFIG_SYS_RDLAT  << MCCR3_RDLAT_SHIFT)
-       .long   MCCR4
-       .long   (CONFIG_SYS_PRETOACT << MCCR4_PRETOACT_SHIFT) | (CONFIG_SYS_ACTTOPRE << MCCR4_ACTTOPRE_SHIFT) | \
-               (CONFIG_SYS_REGISTERD_TYPE_BUFFER << 20) | \
-               (((CONFIG_SYS_BSTOPRE & 0x00000300) >> 8) << MCCR4_BSTOPRE0TO1_SHIFT ) | \
-               ((CONFIG_SYS_SDMODE_CAS_LAT << 4) | (CONFIG_SYS_SDMODE_WRAP << 3) | \
-               (CONFIG_SYS_SDMODE_BURSTLEN) << MCCR4_SDMODE_SHIFT) | \
-               (CONFIG_SYS_ACTTORW << MCCR4_ACTTORW_SHIFT) | \
-               ((CONFIG_SYS_BSTOPRE & 0x0000000f) << MCCR4_BSTOPRE6TO9_SHIFT )
-       .long   MSAR1
-       .long   (((CONFIG_SYS_BANK0_START & MICR_ADDR_MASK) >> MICR_ADDR_SHIFT) <<  0) | \
-               (((CONFIG_SYS_BANK1_START & MICR_ADDR_MASK) >> MICR_ADDR_SHIFT) <<  8) | \
-               (((CONFIG_SYS_BANK2_START & MICR_ADDR_MASK) >> MICR_ADDR_SHIFT) << 16) | \
-               (((CONFIG_SYS_BANK3_START & MICR_ADDR_MASK) >> MICR_ADDR_SHIFT) << 24)
-       .long   EMSAR1
-       .long   (((CONFIG_SYS_BANK0_START & MICR_EADDR_MASK) >> MICR_EADDR_SHIFT) <<  0) | \
-               (((CONFIG_SYS_BANK1_START & MICR_EADDR_MASK) >> MICR_EADDR_SHIFT) <<  8) | \
-               (((CONFIG_SYS_BANK2_START & MICR_EADDR_MASK) >> MICR_EADDR_SHIFT) << 16) | \
-               (((CONFIG_SYS_BANK3_START & MICR_EADDR_MASK) >> MICR_EADDR_SHIFT) << 24)
-       .long   MSAR2
-       .long   (((CONFIG_SYS_BANK4_START & MICR_ADDR_MASK) >> MICR_ADDR_SHIFT) <<  0) | \
-               (((CONFIG_SYS_BANK5_START & MICR_ADDR_MASK) >> MICR_ADDR_SHIFT) <<  8) | \
-               (((CONFIG_SYS_BANK6_START & MICR_ADDR_MASK) >> MICR_ADDR_SHIFT) << 16) | \
-               (((CONFIG_SYS_BANK7_START & MICR_ADDR_MASK) >> MICR_ADDR_SHIFT) << 24)
-       .long   EMSAR2
-       .long   (((CONFIG_SYS_BANK4_START & MICR_EADDR_MASK) >> MICR_EADDR_SHIFT) <<  0) | \
-               (((CONFIG_SYS_BANK5_START & MICR_EADDR_MASK) >> MICR_EADDR_SHIFT) <<  8) | \
-               (((CONFIG_SYS_BANK6_START & MICR_EADDR_MASK) >> MICR_EADDR_SHIFT) << 16) | \
-               (((CONFIG_SYS_BANK7_START & MICR_EADDR_MASK) >> MICR_EADDR_SHIFT) << 24)
-       .long   MEAR1
-       .long   (((CONFIG_SYS_BANK0_END & MICR_ADDR_MASK) >> MICR_ADDR_SHIFT) <<  0) | \
-               (((CONFIG_SYS_BANK1_END & MICR_ADDR_MASK) >> MICR_ADDR_SHIFT) <<  8) | \
-               (((CONFIG_SYS_BANK2_END & MICR_ADDR_MASK) >> MICR_ADDR_SHIFT) << 16) | \
-               (((CONFIG_SYS_BANK3_END & MICR_ADDR_MASK) >> MICR_ADDR_SHIFT) << 24)
-       .long   EMEAR1
-       .long   (((CONFIG_SYS_BANK0_END & MICR_EADDR_MASK) >> MICR_EADDR_SHIFT) <<  0) | \
-               (((CONFIG_SYS_BANK1_END & MICR_EADDR_MASK) >> MICR_EADDR_SHIFT) <<  8) | \
-               (((CONFIG_SYS_BANK2_END & MICR_EADDR_MASK) >> MICR_EADDR_SHIFT) << 16) | \
-               (((CONFIG_SYS_BANK3_END & MICR_EADDR_MASK) >> MICR_EADDR_SHIFT) << 24)
-       .long   MEAR2
-       .long   (((CONFIG_SYS_BANK4_END & MICR_ADDR_MASK) >> MICR_ADDR_SHIFT) <<  0) | \
-               (((CONFIG_SYS_BANK5_END & MICR_ADDR_MASK) >> MICR_ADDR_SHIFT) <<  8) | \
-               (((CONFIG_SYS_BANK6_END & MICR_ADDR_MASK) >> MICR_ADDR_SHIFT) << 16) | \
-               (((CONFIG_SYS_BANK7_END & MICR_ADDR_MASK) >> MICR_ADDR_SHIFT) << 24)
-       .long   EMEAR2
-       .long   (((CONFIG_SYS_BANK4_END & MICR_EADDR_MASK) >> MICR_EADDR_SHIFT) <<  0) | \
-               (((CONFIG_SYS_BANK5_END & MICR_EADDR_MASK) >> MICR_EADDR_SHIFT) <<  8) | \
-               (((CONFIG_SYS_BANK6_END & MICR_EADDR_MASK) >> MICR_EADDR_SHIFT) << 16) | \
-               (((CONFIG_SYS_BANK7_END & MICR_EADDR_MASK) >> MICR_EADDR_SHIFT) << 24)
-       .long   0
-
-
-       /*
-        * Early CPU initialization. Set up memory controller, so we can access any RAM at all. This
-        * must be done in assembly, since we have no stack at this point.
-        */
-       .global early_init_f
-early_init_f:
-       mflr    r10
-
-       /* basic memory controller configuration */
-       lis     r3, CONFIG_ADDR_HIGH
-       lis     r4, CONFIG_DATA_HIGH
-       bl      lab
-lab:   mflr    r5
-       lwzu    r0, tbl - lab(r5)
-loop:  lwz     r1, 4(r5)
-       stwbrx  r0, 0, r3
-       eieio
-       stwbrx  r1, 0, r4
-       eieio
-       lwzu    r0, 8(r5)
-       cmpli   cr0, 0, r0, 0
-       bne     cr0, loop
-
-       /* set bank enable bits */
-       lis     r0, MBER@h
-       ori     r0, 0, MBER@l
-       li      r1, CONFIG_SYS_BANK_ENABLE
-       stwbrx  r0, 0, r3
-       eieio
-       stb     r1, 0(r4)
-       eieio
-
-       /* delay loop */
-       lis     r0, 0x0003
-       mtctr   r0
-delay: bdnz    delay
-
-       /* enable memory controller */
-       lis     r0, MCCR1@h
-       ori     r0, 0, MCCR1@l
-       stwbrx  r0, 0, r3
-       eieio
-       lwbrx   r0, 0, r4
-       oris    r0, 0, MCCR1_MEMGO@h
-       stwbrx  r0, 0, r4
-       eieio
-
-       /* set up stack pointer */
-       lis     r1, CONFIG_SYS_INIT_SP_OFFSET@h
-       ori     r1, r1, CONFIG_SYS_INIT_SP_OFFSET@l
-
-       mtlr    r10
-       blr
diff --git a/board/barco/flash.c b/board/barco/flash.c
deleted file mode 100644 (file)
index c9efb15..0000000
+++ /dev/null
@@ -1,611 +0,0 @@
-/********************************************************************
- *
- * Unless otherwise specified, Copyright (C) 2004-2005 Barco Control Rooms
- *
- * $Source: /home/services/cvs/firmware/ppc/u-boot-1.1.2/board/barco/flash.c,v $
- * $Revision: 1.3 $
- * $Author: mleeman $
- * $Date: 2005/02/21 12:48:58 $
- *
- * Last ChangeLog Entry
- * $Log: flash.c,v $
- * Revision 1.3  2005/02/21 12:48:58  mleeman
- * update of copyright years (feedback wd)
- *
- * Revision 1.2  2005/02/21 11:04:04  mleeman
- * remove dead code and Coding style (feedback wd)
- *
- * Revision 1.1  2005/02/14 09:23:46  mleeman
- * - moved 'barcohydra' directory to a more generic barco; since we will be
- *   supporting and adding multiple boards
- *
- * Revision 1.2  2005/02/09 12:56:23  mleeman
- * add generic header to track changes in sources
- *
- *
- *******************************************************************/
-
-/*
- * (C) Copyright 2000
- * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
- *
- * See file CREDITS for list of people who contributed to this
- * project.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
- */
-
-#include <common.h>
-#include <mpc824x.h>
-#include <asm/processor.h>
-#include <flash.h>
-
-#define ROM_CS0_START  0xFF800000
-#define ROM_CS1_START  0xFF000000
-
-flash_info_t flash_info[CONFIG_SYS_MAX_FLASH_BANKS]; /* info for FLASH chips    */
-
-#if defined(CONFIG_ENV_IS_IN_FLASH)
-# ifndef  CONFIG_ENV_ADDR
-#  define CONFIG_ENV_ADDR  (CONFIG_SYS_FLASH_BASE + CONFIG_ENV_OFFSET)
-# endif
-# ifndef  CONFIG_ENV_SIZE
-#  define CONFIG_ENV_SIZE  CONFIG_ENV_SECT_SIZE
-# endif
-# ifndef  CONFIG_ENV_SECT_SIZE
-#  define CONFIG_ENV_SECT_SIZE  CONFIG_ENV_SIZE
-# endif
-#endif
-
-/*-----------------------------------------------------------------------
- * Functions
- */
-static int write_word (flash_info_t *info, ulong dest, ulong data);
-
-/*flash command address offsets*/
-
-#define ADDR0          (0xAAA)
-#define ADDR1          (0x555)
-#define ADDR3          (0x001)
-
-#define FLASH_WORD_SIZE unsigned char
-
-/*-----------------------------------------------------------------------
- */
-
-static unsigned long flash_id(unsigned char mfct, unsigned char chip) __attribute__ ((const));
-
-typedef struct{
-  FLASH_WORD_SIZE extval;
-  unsigned short intval;
-} map_entry;
-
-static unsigned long flash_id(unsigned char mfct, unsigned char chip)
-{
-       static const map_entry mfct_map[] = {
-               {(FLASH_WORD_SIZE) AMD_MANUFACT,        (unsigned short) ((unsigned long) FLASH_MAN_AMD >> 16)},
-               {(FLASH_WORD_SIZE) FUJ_MANUFACT,        (unsigned short) ((unsigned long) FLASH_MAN_FUJ >> 16)},
-               {(FLASH_WORD_SIZE) STM_MANUFACT,        (unsigned short) ((unsigned long) FLASH_MAN_STM >> 16)},
-               {(FLASH_WORD_SIZE) MT_MANUFACT, (unsigned short) ((unsigned long) FLASH_MAN_MT >> 16)},
-               {(FLASH_WORD_SIZE) INTEL_MANUFACT,(unsigned short) ((unsigned long) FLASH_MAN_INTEL >> 16)},
-               {(FLASH_WORD_SIZE) INTEL_ALT_MANU,(unsigned short) ((unsigned long) FLASH_MAN_INTEL >> 16)}
-       };
-
-       static const map_entry chip_map[] = {
-               {AMD_ID_F040B,  FLASH_AM040},
-               {AMD_ID_F033C,  FLASH_AM033},
-               {AMD_ID_F065D,  FLASH_AM065},
-               {ATM_ID_LV040,  FLASH_AT040},
-               {(FLASH_WORD_SIZE) STM_ID_x800AB,       FLASH_STM800AB}
-       };
-
-       const map_entry *p;
-       unsigned long result = FLASH_UNKNOWN;
-
-       /* find chip id */
-       for(p = &chip_map[0]; p < &chip_map[sizeof chip_map / sizeof chip_map[0]]; p++){
-               if(p->extval == chip){
-                       result = FLASH_VENDMASK | p->intval;
-                       break;
-               }
-       }
-
-       /* find vendor id */
-       for(p = &mfct_map[0]; p < &mfct_map[sizeof mfct_map / sizeof mfct_map[0]]; p++){
-               if(p->extval == mfct){
-                       result &= ~FLASH_VENDMASK;
-                       result |= (unsigned long) p->intval << 16;
-                       break;
-               }
-       }
-
-       return result;
-}
-
-
-unsigned long flash_init(void)
-{
-       unsigned long i;
-       unsigned char j;
-       static const ulong flash_banks[] = CONFIG_SYS_FLASH_BANKS;
-
-       /* Init: no FLASHes known */
-       for (i = 0; i < CONFIG_SYS_MAX_FLASH_BANKS; i++){
-               flash_info_t * const pflinfo = &flash_info[i];
-               pflinfo->flash_id = FLASH_UNKNOWN;
-               pflinfo->size = 0;
-               pflinfo->sector_count = 0;
-       }
-
-       /* Enable writes to Hydra/Argus flash */
-       {
-               register unsigned int temp;
-               CONFIG_READ_WORD(PICR1,temp);
-               temp |= PICR1_FLASH_WR_EN;
-               CONFIG_WRITE_WORD(PICR1,temp);
-       }
-
-       for(i = 0; i < sizeof flash_banks / sizeof flash_banks[0]; i++){
-               flash_info_t * const pflinfo = &flash_info[i];
-               const unsigned long base_address = flash_banks[i];
-               volatile FLASH_WORD_SIZE * const flash = (FLASH_WORD_SIZE *) base_address;
-
-               /* write autoselect sequence */
-               flash[0x5555] = 0xaa;
-               flash[0x2aaa] = 0x55;
-               flash[0x5555] = 0x90;
-               __asm__ __volatile__("sync");
-
-               pflinfo->flash_id = flash_id(flash[0x0], flash[0x1]);
-
-               switch(pflinfo->flash_id & FLASH_TYPEMASK){
-                       case FLASH_AM033:
-                               pflinfo->size = 0x00200000;
-                               pflinfo->sector_count = 64;
-                               for(j = 0; j < 64; j++){
-                                       pflinfo->start[j] = base_address + 0x00010000 * j;
-                                       pflinfo->protect[j] = flash[(j << 16) | 0x2];
-                               }
-                               break;
-                       case FLASH_AM065:
-                               pflinfo->size = 0x00800000;
-                               pflinfo->sector_count =128;
-                               for(j = 0; j < 128; j++){
-                                       pflinfo->start[j] = base_address + 0x00010000 * j;
-                                       pflinfo->protect[j] = flash[(j << 16) | 0x2];
-                               }
-                               break;
-                       case FLASH_AT040:
-                               pflinfo->size = 0x00080000;
-                               pflinfo->sector_count = 2;
-                               pflinfo->start[0] = base_address ;
-                               pflinfo->start[1] = base_address + 0x00004000;
-                               pflinfo->protect[0] = ((flash[0x02] & 0X01)==0) ? 0X02 : 0X01;
-                               pflinfo->protect[1] = 0X02;
-                               break;
-                       case FLASH_AM040:
-                               pflinfo->size = 0x00080000;
-                               pflinfo->sector_count = 8;
-                               for(j = 0; j < 8; j++){
-                                       pflinfo->start[j] = base_address + 0x00010000 * j;
-                                       pflinfo->protect[j] = flash[(j << 16) | 0x2];
-                               }
-                               break;
-                       case FLASH_STM800AB:
-                               pflinfo->size = 0x00100000;
-                               pflinfo->sector_count = 19;
-                               pflinfo->start[0] = base_address;
-                               pflinfo->start[1] = base_address + 0x4000;
-                               pflinfo->start[2] = base_address + 0x6000;
-                               pflinfo->start[3] = base_address + 0x8000;
-                               for(j = 1; j < 16; j++){
-                                       pflinfo->start[j+3] = base_address + 0x00010000 * j;
-                               }
-                               break;
-               }
-               /* Protect monitor and environment sectors */
-#if CONFIG_SYS_MONITOR_BASE >= CONFIG_SYS_FLASH_BASE
-               flash_protect(FLAG_PROTECT_SET,
-                               CONFIG_SYS_MONITOR_BASE,
-                               CONFIG_SYS_MONITOR_BASE + monitor_flash_len - 1,
-                               &flash_info[0]);
-#endif
-
-#if defined(CONFIG_ENV_IS_IN_FLASH) && defined(CONFIG_ENV_ADDR)
-               flash_protect(FLAG_PROTECT_SET,
-                               CONFIG_ENV_ADDR,
-                               CONFIG_ENV_ADDR + CONFIG_ENV_SIZE - 1,
-                               &flash_info[0]);
-#endif
-
-               /* reset device to read mode */
-               flash[0x0000] = 0xf0;
-               __asm__ __volatile__("sync");
-       }
-
-       return flash_info[0].size + flash_info[1].size;
-}
-
-/*-----------------------------------------------------------------------
- */
-void flash_print_info(flash_info_t *info)
-{
-       static const char unk[] = "Unknown";
-       const char *mfct = unk, *type = unk;
-       unsigned int i;
-
-       if(info->flash_id != FLASH_UNKNOWN){
-               switch(info->flash_id & FLASH_VENDMASK){
-                       case FLASH_MAN_ATM:
-                               mfct = "Atmel";
-                               break;
-                       case FLASH_MAN_AMD:
-                               mfct = "AMD";
-                               break;
-                       case FLASH_MAN_FUJ:
-                               mfct = "FUJITSU";
-                               break;
-                       case FLASH_MAN_STM:
-                               mfct = "STM";
-                               break;
-                       case FLASH_MAN_SST:
-                               mfct = "SST";
-                               break;
-                       case FLASH_MAN_BM:
-                               mfct = "Bright Microelectonics";
-                               break;
-                       case FLASH_MAN_INTEL:
-                               mfct = "Intel";
-                               break;
-               }
-
-               switch(info->flash_id & FLASH_TYPEMASK){
-                       case FLASH_AT040:
-                               type = "AT49LV040 (512K * 8, uniform sector size)";
-                               break;
-                       case FLASH_AM033:
-                               type = "AM29F033C (4 Mbit * 8, uniform sector size)";
-                               break;
-                       case FLASH_AM040:
-                               type = "AM29F040B (512K * 8, uniform sector size)";
-                               break;
-                       case FLASH_AM065:
-                               type = "AM29F0465D ( 8 MBit * 8, uniform sector size) or part of AM29F652D( 16 MB)";
-                               break;
-                       case FLASH_AM400B:
-                               type = "AM29LV400B (4 Mbit, bottom boot sect)";
-                               break;
-                       case FLASH_AM400T:
-                               type = "AM29LV400T (4 Mbit, top boot sector)";
-                               break;
-                       case FLASH_AM800B:
-                               type = "AM29LV800B (8 Mbit, bottom boot sect)";
-                               break;
-                       case FLASH_AM800T:
-                               type = "AM29LV800T (8 Mbit, top boot sector)";
-                               break;
-                       case FLASH_AM160T:
-                               type = "AM29LV160T (16 Mbit, top boot sector)";
-                               break;
-                       case FLASH_AM320B:
-                               type = "AM29LV320B (32 Mbit, bottom boot sect)";
-                               break;
-                       case FLASH_AM320T:
-                               type = "AM29LV320T (32 Mbit, top boot sector)";
-                               break;
-                       case FLASH_STM800AB:
-                               type = "M29W800AB (8 Mbit, bottom boot sect)";
-                               break;
-                       case FLASH_SST800A:
-                               type = "SST39LF/VF800 (8 Mbit, uniform sector size)";
-                               break;
-                       case FLASH_SST160A:
-                               type = "SST39LF/VF160 (16 Mbit, uniform sector size)";
-                               break;
-               }
-       }
-
-       printf(
-                       "\n  Brand: %s Type: %s\n"
-                       "  Size: %lu KB in %d Sectors\n",
-                       mfct,
-                       type,
-                       info->size >> 10,
-                       info->sector_count
-             );
-
-       printf ("  Sector Start Addresses:");
-
-       for (i = 0; i < info->sector_count; i++){
-               unsigned long size;
-               unsigned int erased;
-               unsigned long * flash = (unsigned long *) info->start[i];
-
-               /*
-                * Check if whole sector is erased
-                */
-               size =
-                       (i != (info->sector_count - 1)) ?
-                       (info->start[i + 1] - info->start[i]) >> 2 :
-                       (info->start[0] + info->size - info->start[i]) >> 2;
-
-               for(
-                               flash = (unsigned long *) info->start[i], erased = 1;
-                               (flash != (unsigned long *) info->start[i] + size) && erased;
-                               flash++
-                  ){
-                       erased = *flash == ~0x0UL;
-               }
-
-               printf(
-                               "%s %08lX %s %s",
-                               (i % 5) ? "" : "\n   ",
-                               info->start[i],
-                               erased ? "E" : " ",
-                               info->protect[i] ? "RO" : "  "
-                     );
-       }
-
-       puts("\n");
-       return;
-}
-
-int flash_erase(flash_info_t *info, int s_first, int s_last)
-{
-       volatile FLASH_WORD_SIZE *addr = (FLASH_WORD_SIZE *)(info->start[0]);
-       int flag, prot, sect, l_sect;
-       ulong start, now, last;
-       unsigned char sh8b;
-
-       if ((s_first < 0) || (s_first > s_last)) {
-               if (info->flash_id == FLASH_UNKNOWN) {
-                       printf ("- missing\n");
-               } else {
-                       printf ("- no sectors to erase\n");
-               }
-               return 1;
-       }
-
-       if ((info->flash_id == FLASH_UNKNOWN) ||
-                       (info->flash_id > (FLASH_MAN_STM | FLASH_AMD_COMP))) {
-               printf ("Can't erase unknown flash type - aborted\n");
-               return 1;
-       }
-
-       prot = 0;
-       for (sect=s_first; sect<=s_last; ++sect) {
-               if (info->protect[sect]) {
-                       prot++;
-               }
-       }
-
-       if (prot) {
-               printf ("- Warning: %d protected sectors will not be erased!\n",
-                               prot);
-       } else {
-               printf ("\n");
-       }
-
-       l_sect = -1;
-
-       /* Check the ROM CS */
-       if ((info->start[0] >= ROM_CS1_START) && (info->start[0] < ROM_CS0_START)){
-               sh8b = 3;
-       }
-       else{
-               sh8b = 0;
-       }
-
-       /* Disable interrupts which might cause a timeout here */
-       flag = disable_interrupts();
-
-       addr[ADDR0 << sh8b] = (FLASH_WORD_SIZE)0x00AA00AA;
-       addr[ADDR1 << sh8b] = (FLASH_WORD_SIZE)0x00550055;
-       addr[ADDR0 << sh8b] = (FLASH_WORD_SIZE)0x00800080;
-       addr[ADDR0 << sh8b] = (FLASH_WORD_SIZE)0x00AA00AA;
-       addr[ADDR1 << sh8b] = (FLASH_WORD_SIZE)0x00550055;
-
-       /* Start erase on unprotected sectors */
-       for (sect = s_first; sect<=s_last; sect++) {
-               if (info->protect[sect] == 0) { /* not protected */
-                       addr = (FLASH_WORD_SIZE *)(info->start[0] + (
-                                               (info->start[sect] - info->start[0]) << sh8b));
-                       if (info->flash_id & FLASH_MAN_SST){
-                               addr[ADDR0 << sh8b] = (FLASH_WORD_SIZE)0x00AA00AA;
-                               addr[ADDR1 << sh8b] = (FLASH_WORD_SIZE)0x00550055;
-                               addr[ADDR0 << sh8b] = (FLASH_WORD_SIZE)0x00800080;
-                               addr[ADDR0 << sh8b] = (FLASH_WORD_SIZE)0x00AA00AA;
-                               addr[ADDR1 << sh8b] = (FLASH_WORD_SIZE)0x00550055;
-                               addr[0] = (FLASH_WORD_SIZE)0x00500050;  /* block erase */
-                               udelay(30000);  /* wait 30 ms */
-                       }
-                       else
-                               addr[0] = (FLASH_WORD_SIZE)0x00300030;  /* sector erase */
-                       l_sect = sect;
-               }
-       }
-
-       /* re-enable interrupts if necessary */
-       if (flag){
-               enable_interrupts();
-       }
-
-       /* wait at least 80us - let's wait 1 ms */
-       udelay (1000);
-
-       /*
-        * We wait for the last triggered sector
-        */
-       if (l_sect < 0){
-               goto DONE;
-       }
-
-       start = get_timer (0);
-       last  = start;
-       addr = (FLASH_WORD_SIZE *)(info->start[0] + (
-                               (info->start[l_sect] - info->start[0]) << sh8b));
-       while ((addr[0] & (FLASH_WORD_SIZE)0x00800080) != (FLASH_WORD_SIZE)0x00800080) {
-               if ((now = get_timer(start)) > CONFIG_SYS_FLASH_ERASE_TOUT) {
-                       printf ("Timeout\n");
-                       return 1;
-               }
-               /* show that we're waiting */
-               if ((now - last) > 1000) {  /* every second */
-                       serial_putc ('.');
-                       last = now;
-               }
-       }
-
-DONE:
-       /* reset to read mode */
-       addr = (FLASH_WORD_SIZE *)info->start[0];
-       addr[0] = (FLASH_WORD_SIZE)0x00F000F0;  /* reset bank */
-
-       printf (" done\n");
-       return 0;
-}
-
-/*-----------------------------------------------------------------------
- * Copy memory to flash, returns:
- * 0 - OK
- * 1 - write timeout
- * 2 - Flash not erased
- */
-
-int write_buff (flash_info_t *info, uchar *src, ulong addr, ulong cnt)
-{
-       ulong cp, wp, data;
-       int i, l, rc;
-
-       wp = (addr & ~3);   /* get lower word aligned address */
-
-       /*
-        * handle unaligned start bytes
-        */
-       if ((l = addr - wp) != 0) {
-               data = 0;
-               for (i=0, cp=wp; i<l; ++i, ++cp) {
-                       data = (data << 8) | (*(uchar *)cp);
-               }
-               for (; i<4 && cnt>0; ++i) {
-                       data = (data << 8) | *src++;
-                       --cnt;
-                       ++cp;
-               }
-               for (; cnt==0 && i<4; ++i, ++cp) {
-                       data = (data << 8) | (*(uchar *)cp);
-               }
-
-               if ((rc = write_word(info, wp, data)) != 0) {
-                       return (rc);
-               }
-               wp += 4;
-       }
-
-       /*
-        * handle word aligned part
-        */
-       while (cnt >= 4) {
-               data = 0;
-               for (i=0; i<4; ++i) {
-                       data = (data << 8) | *src++;
-               }
-               if ((rc = write_word(info, wp, data)) != 0) {
-                       return (rc);
-               }
-               wp  += 4;
-               cnt -= 4;
-       }
-
-       if (cnt == 0) {
-               return (0);
-       }
-
-       /*
-        * handle unaligned tail bytes
-        */
-       data = 0;
-       for (i=0, cp=wp; i<4 && cnt>0; ++i, ++cp) {
-               data = (data << 8) | *src++;
-               --cnt;
-       }
-       for (; i<4; ++i, ++cp) {
-               data = (data << 8) | (*(uchar *)cp);
-       }
-
-       return (write_word(info, wp, data));
-}
-
-/*-----------------------------------------------------------------------
- * Write a word to Flash, returns:
- * 0 - OK
- * 1 - write timeout
- * 2 - Flash not erased
- */
-static int write_word (flash_info_t *info, ulong dest, ulong data)
-{
-       volatile FLASH_WORD_SIZE *addr2 = (FLASH_WORD_SIZE *)info->start[0];
-       volatile FLASH_WORD_SIZE *dest2;
-       volatile FLASH_WORD_SIZE *data2 = (FLASH_WORD_SIZE *)&data;
-       ulong start;
-       int flag;
-       int i;
-       unsigned char sh8b;
-
-       /* Check the ROM CS */
-       if ((info->start[0] >= ROM_CS1_START) && (info->start[0] < ROM_CS0_START)){
-               sh8b = 3;
-       }
-       else{
-               sh8b = 0;
-       }
-
-       dest2 = (FLASH_WORD_SIZE *)(((dest - info->start[0]) << sh8b) +
-                       info->start[0]);
-
-       /* Check if Flash is (sufficiently) erased */
-       if ((*dest2 & (FLASH_WORD_SIZE)data) != (FLASH_WORD_SIZE)data) {
-               return (2);
-       }
-       /* Disable interrupts which might cause a timeout here */
-       flag = disable_interrupts();
-
-       for (i=0; i<4/sizeof(FLASH_WORD_SIZE); i++){
-               addr2[ADDR0 << sh8b] = (FLASH_WORD_SIZE)0x00AA00AA;
-               addr2[ADDR1 << sh8b] = (FLASH_WORD_SIZE)0x00550055;
-               addr2[ADDR0 << sh8b] = (FLASH_WORD_SIZE)0x00A000A0;
-
-               dest2[i << sh8b] = data2[i];
-
-               /* re-enable interrupts if necessary */
-               if (flag){
-                       enable_interrupts();
-               }
-
-               /* data polling for D7 */
-               start = get_timer (0);
-               while ((dest2[i << sh8b] & (FLASH_WORD_SIZE)0x00800080) !=
-                               (data2[i] & (FLASH_WORD_SIZE)0x00800080)) {
-                       if (get_timer(start) > CONFIG_SYS_FLASH_WRITE_TOUT) {
-                               return (1);
-                       }
-               }
-       }
-
-       return (0);
-}
-
-/*----------------------------------------------------------------------- */
diff --git a/board/barco/speed.h b/board/barco/speed.h
deleted file mode 100644 (file)
index e883dfb..0000000
+++ /dev/null
@@ -1,78 +0,0 @@
-/********************************************************************
- *
- * Unless otherwise specified, Copyright (C) 2004-2005 Barco Control Rooms
- *
- * $Source: /home/services/cvs/firmware/ppc/u-boot-1.1.2/board/barco/speed.h,v $
- * $Revision: 1.2 $
- * $Author: mleeman $
- * $Date: 2005/02/21 12:48:58 $
- *
- * Last ChangeLog Entry
- * $Log: speed.h,v $
- * Revision 1.2  2005/02/21 12:48:58  mleeman
- * update of copyright years (feedback wd)
- *
- * Revision 1.1  2005/02/14 09:23:46  mleeman
- * - moved 'barcohydra' directory to a more generic barco; since we will be
- *   supporting and adding multiple boards
- *
- * Revision 1.2  2005/02/09 12:56:23  mleeman
- * add generic header to track changes in sources
- *
- *
- *******************************************************************/
-
-/*
- * (C) Copyright 2000
- * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
- *
- * See file CREDITS for list of people who contributed to this
- * project.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
- */
-
-/*-----------------------------------------------------------------------
- * Timer value for timer 2, ICLK = 10
- *
- * SPEED_FCOUNT2 =  GCLK / (16 * (TIMER_TMR_PS + 1))
- * SPEED_TMR3_PS = (GCLK / (16 * SPEED_FCOUNT3)) - 1
- *
- * SPEED_FCOUNT2       timer 2 counting frequency
- * GCLK                        CPU clock
- * SPEED_TMR2_PS       prescaler
- */
-#define SPEED_TMR2_PS  (250 - 1)       /* divide by 250        */
-
-/*-----------------------------------------------------------------------
- * Timer value for PIT
- *
- * PIT_TIME = SPEED_PITC / PITRTCLK
- * PITRTCLK = 8192
- */
-#define SPEED_PITC     (82 << 16)      /* start counting from 82       */
-
-/*
- * The new value for PTA is calculated from
- *
- *     PTA = (gclk * Trefresh) / (2 ^ (2 * DFBRG) * PTP * NCS)
- *
- * gclk                CPU clock (not bus clock !)
- * Trefresh    Refresh cycle * 4 (four word bursts used)
- * DFBRG       For normal mode (no clock reduction) always 0
- * PTP         Prescaler (already adjusted for no. of banks and 4K / 8K refresh)
- * NCS         Number of SDRAM banks (chip selects) on this UPM.
- */
index 9c1d0cc5612bb23cd87513b7c88ba23e5f53066b..53aa651ad68fc4b77f659b5efdf849c0a84cacf9 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := $(BOARD).o cmd_bc3450.o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index cf99d29f1c19a5f02e15323864b54d09ca8c1ffe..b2688151e2aa28b69d956e1b4ece9f28d13f8647 100644 (file)
@@ -27,7 +27,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y        := $(BOARD).o gpio_cfi_flash.o cled.o
 COBJS-$(CONFIG_BFIN_MAC) += smsc9303.o
@@ -37,7 +37,7 @@ OBJS  := $(addprefix $(obj),$(COBJS-y))
 SOBJS  := $(addprefix $(obj),$(SOBJS-y))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index f2bd2c247d4ab5ca14d7101a238c5d17fee8988b..cde8168ccf2dc086c02f8494931480e35f5c7fc9 100644 (file)
@@ -27,7 +27,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y        := $(BOARD).o
 
@@ -36,7 +36,7 @@ OBJS  := $(addprefix $(obj),$(COBJS-y))
 SOBJS  := $(addprefix $(obj),$(SOBJS-y))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index f2bd2c247d4ab5ca14d7101a238c5d17fee8988b..cde8168ccf2dc086c02f8494931480e35f5c7fc9 100644 (file)
@@ -27,7 +27,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y        := $(BOARD).o
 
@@ -36,7 +36,7 @@ OBJS  := $(addprefix $(obj),$(COBJS-y))
 SOBJS  := $(addprefix $(obj),$(SOBJS-y))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index f2bd2c247d4ab5ca14d7101a238c5d17fee8988b..cde8168ccf2dc086c02f8494931480e35f5c7fc9 100644 (file)
@@ -27,7 +27,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y        := $(BOARD).o
 
@@ -36,7 +36,7 @@ OBJS  := $(addprefix $(obj),$(COBJS-y))
 SOBJS  := $(addprefix $(obj),$(SOBJS-y))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 1a2f4b16bbc6d7f3af29fef756fc9aa1038b70b8..98a81213d273b7e32c9a7140d2d92e60258f5b29 100644 (file)
@@ -27,7 +27,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y        := $(BOARD).o
 COBJS-$(CONFIG_VIDEO)      += video.o
@@ -37,7 +37,7 @@ OBJS  := $(addprefix $(obj),$(COBJS-y))
 SOBJS  := $(addprefix $(obj),$(SOBJS-y))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index f2bd2c247d4ab5ca14d7101a238c5d17fee8988b..cde8168ccf2dc086c02f8494931480e35f5c7fc9 100644 (file)
@@ -27,7 +27,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y        := $(BOARD).o
 
@@ -36,7 +36,7 @@ OBJS  := $(addprefix $(obj),$(COBJS-y))
 SOBJS  := $(addprefix $(obj),$(SOBJS-y))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 487b737ba8557cd55ab73a1528c98ae8d23ef2dc..dfc1724eaebcfafeb58d931d65495d80e4e51b00 100644 (file)
@@ -27,7 +27,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y        := $(BOARD).o flash.o
 
@@ -36,7 +36,7 @@ OBJS  := $(addprefix $(obj),$(COBJS-y))
 SOBJS  := $(addprefix $(obj),$(SOBJS-y))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 832037b17cfd48361b0abf05adad1401c11844a3..ce3ff426acc8705de5dff85a6ead093b4a490244 100644 (file)
@@ -27,7 +27,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y        := $(BOARD).o
 COBJS-$(CONFIG_STAMP_CF) += ide-cf.o
@@ -38,7 +38,7 @@ OBJS  := $(addprefix $(obj),$(COBJS-y))
 SOBJS  := $(addprefix $(obj),$(SOBJS-y))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index f2bd2c247d4ab5ca14d7101a238c5d17fee8988b..cde8168ccf2dc086c02f8494931480e35f5c7fc9 100644 (file)
@@ -27,7 +27,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y        := $(BOARD).o
 
@@ -36,7 +36,7 @@ OBJS  := $(addprefix $(obj),$(COBJS-y))
 SOBJS  := $(addprefix $(obj),$(SOBJS-y))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index f2bd2c247d4ab5ca14d7101a238c5d17fee8988b..cde8168ccf2dc086c02f8494931480e35f5c7fc9 100644 (file)
@@ -27,7 +27,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y        := $(BOARD).o
 
@@ -36,7 +36,7 @@ OBJS  := $(addprefix $(obj),$(COBJS-y))
 SOBJS  := $(addprefix $(obj),$(SOBJS-y))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index f2bd2c247d4ab5ca14d7101a238c5d17fee8988b..cde8168ccf2dc086c02f8494931480e35f5c7fc9 100644 (file)
@@ -27,7 +27,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y        := $(BOARD).o
 
@@ -36,7 +36,7 @@ OBJS  := $(addprefix $(obj),$(COBJS-y))
 SOBJS  := $(addprefix $(obj),$(SOBJS-y))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 47bf90539bc72a250c4d6ddf9a540d187138d846..2b9328be32ae51fd63cf3485741389a3d174c06e 100644 (file)
@@ -27,7 +27,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y        := $(BOARD).o
 COBJS-$(CONFIG_BFIN_IDE)   += ide-cf.o
@@ -38,7 +38,7 @@ OBJS  := $(addprefix $(obj),$(COBJS-y))
 SOBJS  := $(addprefix $(obj),$(SOBJS-y))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index f2bd2c247d4ab5ca14d7101a238c5d17fee8988b..cde8168ccf2dc086c02f8494931480e35f5c7fc9 100644 (file)
@@ -27,7 +27,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y        := $(BOARD).o
 
@@ -36,7 +36,7 @@ OBJS  := $(addprefix $(obj),$(COBJS-y))
 SOBJS  := $(addprefix $(obj),$(SOBJS-y))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 1a2f4b16bbc6d7f3af29fef756fc9aa1038b70b8..98a81213d273b7e32c9a7140d2d92e60258f5b29 100644 (file)
@@ -27,7 +27,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y        := $(BOARD).o
 COBJS-$(CONFIG_VIDEO)      += video.o
@@ -37,7 +37,7 @@ OBJS  := $(addprefix $(obj),$(COBJS-y))
 SOBJS  := $(addprefix $(obj),$(SOBJS-y))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index cc039a05e9d45f84f39fe7be6aee9f6fbf0691a5..9259d6e361bbbb1016fe7c4a6e21021e879083ff 100644 (file)
@@ -29,7 +29,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y        := $(BOARD).o
 
@@ -38,7 +38,7 @@ OBJS  := $(addprefix $(obj),$(COBJS-y))
 SOBJS  := $(addprefix $(obj),$(SOBJS-y))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index bfeaf791e19f2b2a4900fe501d7b39d91c75be2a..0d176764f1a276266bcfbd206505ed95b42c2c8c 100644 (file)
@@ -27,7 +27,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y        := $(BOARD).o
 
@@ -36,7 +36,7 @@ OBJS  := $(addprefix $(obj),$(COBJS-y))
 SOBJS  := $(addprefix $(obj),$(SOBJS-y))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index f2bd2c247d4ab5ca14d7101a238c5d17fee8988b..cde8168ccf2dc086c02f8494931480e35f5c7fc9 100644 (file)
@@ -27,7 +27,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y        := $(BOARD).o
 
@@ -36,7 +36,7 @@ OBJS  := $(addprefix $(obj),$(COBJS-y))
 SOBJS  := $(addprefix $(obj),$(SOBJS-y))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index f2bd2c247d4ab5ca14d7101a238c5d17fee8988b..cde8168ccf2dc086c02f8494931480e35f5c7fc9 100644 (file)
@@ -27,7 +27,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y        := $(BOARD).o
 
@@ -36,7 +36,7 @@ OBJS  := $(addprefix $(obj),$(COBJS-y))
 SOBJS  := $(addprefix $(obj),$(SOBJS-y))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index ac85cc3506a2f9f167775f03f9d054fb6493c272..4f88efafd462998cf32c0c78ac4865fa18948a15 100644 (file)
@@ -27,7 +27,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o flash.o ns16550.o serial.o m48t59y.o
 
@@ -38,7 +38,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 #########################################################################
 
index 2b10b0c518acfb4eee7879e5aa0f3ccaa7f7b4cb..b49f26da274c521461933b0e4a8c75ef66f07dee 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o flash.o pcmcia.o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 36dd55dee45b561869345e0f2c6d373d13974114..7a088c97d82658c6e7d4fdd260cf179d29851c9c 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * (C) Copyright 2001
+ * (C) Copyright 2001-2010
  * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
  *
  * See file CREDITS for list of people who contributed to this
  */
 
 OUTPUT_ARCH(powerpc)
-/* Do we need any of these for elf?
-   __DYNAMIC = 0;    */
+
 SECTIONS
 {
   /* Read-only sections, merged into text segment: */
   . = + SIZEOF_HEADERS;
-  .interp : { *(.interp) }
-  .hash          : { *(.hash)          }
-  .dynsym        : { *(.dynsym)                }
-  .dynstr        : { *(.dynstr)                }
-  .rel.text      : { *(.rel.text)              }
-  .rela.text     : { *(.rela.text)     }
-  .rel.data      : { *(.rel.data)              }
-  .rela.data     : { *(.rela.data)     }
-  .rel.rodata    : { *(.rel.rodata)    }
-  .rela.rodata   : { *(.rela.rodata)   }
-  .rel.got       : { *(.rel.got)               }
-  .rela.got      : { *(.rela.got)              }
-  .rel.ctors     : { *(.rel.ctors)     }
-  .rela.ctors    : { *(.rela.ctors)    }
-  .rel.dtors     : { *(.rel.dtors)     }
-  .rela.dtors    : { *(.rela.dtors)    }
-  .rel.bss       : { *(.rel.bss)               }
-  .rela.bss      : { *(.rela.bss)              }
-  .rel.plt       : { *(.rel.plt)               }
-  .rela.plt      : { *(.rela.plt)              }
-  .init          : { *(.init)  }
-  .plt : { *(.plt) }
   .text      :
   {
     /* WARNING - the following is hand-optimized to fit within */
     /* the sector layout of our flash chips!   XXX FIXME XXX   */
 
-    arch/powerpc/cpu/mpc8xx/start.o    (.text)
-    common/dlmalloc.o  (.text)
-    arch/powerpc/lib/ppcstring.o       (.text)
-    lib/vsprintf.o     (.text)
-    lib/crc32.o                (.text)
-    lib/zlib.o         (.text)
+    arch/powerpc/cpu/mpc8xx/start.o    (.text*)
+    arch/powerpc/cpu/mpc8xx/traps.o    (.text*)
+    arch/powerpc/cpu/mpc8xx/libmpc8xx.o        (.text*)
+    net/libnet.o                       (.text*)
 
     . = env_offset;
-    common/env_embedded.o(.text)
+    common/env_embedded.o              (.text*)
 
-    *(.text)
-    *(.got1)
+    *(.text*)
   }
   _etext = .;
   PROVIDE (etext = .);
   .rodata    :
   {
-    *(.eh_frame)
     *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
   }
-  .fini      : { *(.fini)    } =0
-  .ctors     : { *(.ctors)   }
-  .dtors     : { *(.dtors)   }
 
   /* Read-write section, merged into data segment: */
   . = (. + 0x00FF) & 0xFFFFFF00;
@@ -85,23 +55,19 @@ SECTIONS
   PROVIDE (erotext = .);
   .reloc   :
   {
-    *(.got)
+    KEEP(*(.got))
     _GOT2_TABLE_ = .;
-    *(.got2)
+    KEEP(*(.got2))
     _FIXUP_TABLE_ = .;
-    *(.fixup)
+    KEEP(*(.fixup))
   }
   __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >>2;
   __fixup_entries = (. - _FIXUP_TABLE_)>>2;
 
   .data    :
   {
-    *(.data)
-    *(.data1)
-    *(.sdata)
-    *(.sdata2)
-    *(.dynamic)
-    CONSTRUCTORS
+    *(.data*)
+    *(.sdata*)
   }
   _edata  =  .;
   PROVIDE (edata = .);
@@ -127,9 +93,8 @@ SECTIONS
   __bss_start = .;
   .bss (NOLOAD)       :
   {
-   *(.sbss) *(.scommon)
-   *(.dynbss)
-   *(.bss)
+   *(.bss*)
+   *(.sbss*)
    *(COMMON)
    . = ALIGN(4);
   }
index 8b4a9116b209e948182d3c2b2a8db5e05cd917c0..cc4219db160e71df051230f9a24530ea6677d842 100644 (file)
@@ -27,7 +27,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y        += sbc35_a9g20.o
 COBJS-$(CONFIG_ATMEL_SPI)      += spi.o
@@ -37,7 +37,7 @@ OBJS  := $(addprefix $(obj),$(COBJS-y))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 21f5ed100628a55607ea44cfa8c842898cd5ea3c..151a228fcb846731479f7ceb434fc1520af28b20 100644 (file)
@@ -27,7 +27,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y        += tny_a9260.o
 COBJS-$(CONFIG_ATMEL_SPI)      += spi.o
@@ -37,7 +37,7 @@ OBJS  := $(addprefix $(obj),$(COBJS-y))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index b6b67d8e720c64a0c8f640a54bebb62a46c23fa0..0e2ec4b4d3f94404924c84e9bdd3ad09d1c7b761 100644 (file)
@@ -26,7 +26,7 @@ include $(TOPDIR)/config.mk
 #$(shell mkdir -p $(obj)../common)
 #endif
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := $(BOARD).o
 #../common/flash.o ../common/vpd.o ../common/am79c874.o
@@ -36,7 +36,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index b111b519f080d430db49c7ea3e135614f61ab3f6..d824ffa0d784685bb0c869a4df08b611ba7aedf9 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := cerf250.o flash.o
 
@@ -31,7 +31,7 @@ SRCS  := $(COBJS:.o=.c)
 OBJS   := $(addprefix $(obj),$(COBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(OBJS)
index bad018aa34d6a4a17abbf33cb5a0ecc6b70591bc..4d7bf14f8b194f7e170c881578fcc09241cea9bc 100644 (file)
@@ -27,7 +27,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y        := $(BOARD).o gpio_cfi_flash.o
 
@@ -36,7 +36,7 @@ OBJS  := $(addprefix $(obj),$(COBJS-y))
 SOBJS  := $(addprefix $(obj),$(SOBJS-y))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index f2bd2c247d4ab5ca14d7101a238c5d17fee8988b..cde8168ccf2dc086c02f8494931480e35f5c7fc9 100644 (file)
@@ -27,7 +27,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y        := $(BOARD).o
 
@@ -36,7 +36,7 @@ OBJS  := $(addprefix $(obj),$(COBJS-y))
 SOBJS  := $(addprefix $(obj),$(SOBJS-y))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index bad018aa34d6a4a17abbf33cb5a0ecc6b70591bc..4d7bf14f8b194f7e170c881578fcc09241cea9bc 100644 (file)
@@ -27,7 +27,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y        := $(BOARD).o gpio_cfi_flash.o
 
@@ -36,7 +36,7 @@ OBJS  := $(addprefix $(obj),$(COBJS-y))
 SOBJS  := $(addprefix $(obj),$(SOBJS-y))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index bad018aa34d6a4a17abbf33cb5a0ecc6b70591bc..4d7bf14f8b194f7e170c881578fcc09241cea9bc 100644 (file)
@@ -27,7 +27,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y        := $(BOARD).o gpio_cfi_flash.o
 
@@ -36,7 +36,7 @@ OBJS  := $(addprefix $(obj),$(COBJS-y))
 SOBJS  := $(addprefix $(obj),$(SOBJS-y))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 1a2f4b16bbc6d7f3af29fef756fc9aa1038b70b8..98a81213d273b7e32c9a7140d2d92e60258f5b29 100644 (file)
@@ -27,7 +27,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y        := $(BOARD).o
 COBJS-$(CONFIG_VIDEO)      += video.o
@@ -37,7 +37,7 @@ OBJS  := $(addprefix $(obj),$(COBJS-y))
 SOBJS  := $(addprefix $(obj),$(SOBJS-y))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index f2bd2c247d4ab5ca14d7101a238c5d17fee8988b..cde8168ccf2dc086c02f8494931480e35f5c7fc9 100644 (file)
@@ -27,7 +27,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y        := $(BOARD).o
 
@@ -36,7 +36,7 @@ OBJS  := $(addprefix $(obj),$(COBJS-y))
 SOBJS  := $(addprefix $(obj),$(SOBJS-y))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index cd3f962f28af4ca40981241668be8fdec599c2a4..e9bae19153beb81ce6e8209d69c3fab1ff7d04ba 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := cm4008.o flash.o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 952a8ae21bc61321632d739a4e39b6c29f33d156..e608fe8b286e81ada03da1cf753b8d96205dc8c6 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := cm41xx.o flash.o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index d76e13a07868c680cc14df9a10cad3aa5413f0fe..ac431a7317002a7807de9a850c577a456e7644c5 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := $(BOARD).o cmd_cm5200.o fwupdate.o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 9745ebd37817a0159d959c297a3950b7c4d2a4e9..a60f2e9612f01514b09271f340e68d28e3132dda 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := cmc_pu2.o flash.o load_sernum_ethaddr.o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index aeebb9ecb5f0eeda1e0719df729fbb6ed4aa4874..c554ce22d6c60e7cbbb6cf68a2f7e689bdefdc7a 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := flash.o cmi.o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index cf07cf40fdb9485240118667e0b22074acd7516d..6dc495c3619cabc3ecc9eabf3c7c696a9580379f 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o flash.o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index afa134558f66236bd14680eacb9e5267103c0641..334f03f312a9660dedb8b0400ad505858226f992 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := mb.o flash.o dipsw.o lcd.o serial.o # pci.o rtc.o par.o kbm.o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 2fecb0fcf63dc9943fe32ae7f975888a0eb9ed6c..42ed142ea2b4fa0e2796a00e9dca2730ecd02e7e 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * (C) Copyright 2000
+ * (C) Copyright 2000-2010
  * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
  *
  * See file CREDITS for list of people who contributed to this
  * MA 02111-1307 USA
  */
 
+#include <config.h>
 OUTPUT_ARCH(powerpc)
-/* Do we need any of these for elf?
-   __DYNAMIC = 0;    */
+
 SECTIONS
 {
   /* Read-only sections, merged into text segment: */
   . = + SIZEOF_HEADERS;
-  .interp : { *(.interp) }
-  .hash          : { *(.hash)          }
-  .dynsym        : { *(.dynsym)                }
-  .dynstr        : { *(.dynstr)                }
-  .rel.text      : { *(.rel.text)              }
-  .rela.text     : { *(.rela.text)     }
-  .rel.data      : { *(.rel.data)              }
-  .rela.data     : { *(.rela.data)     }
-  .rel.rodata    : { *(.rel.rodata)    }
-  .rela.rodata   : { *(.rela.rodata)   }
-  .rel.got       : { *(.rel.got)               }
-  .rela.got      : { *(.rela.got)              }
-  .rel.ctors     : { *(.rel.ctors)     }
-  .rela.ctors    : { *(.rela.ctors)    }
-  .rel.dtors     : { *(.rel.dtors)     }
-  .rela.dtors    : { *(.rela.dtors)    }
-  .rel.bss       : { *(.rel.bss)               }
-  .rela.bss      : { *(.rela.bss)              }
-  .rel.plt       : { *(.rel.plt)               }
-  .rela.plt      : { *(.rela.plt)              }
-  .init          : { *(.init)  }
-  .plt : { *(.plt) }
   .text      :
   {
-    *(.text)
-    common/env_embedded.o(.text)
-    *(.got1)
+#ifdef CONFIG_MPC8260
+    arch/powerpc/cpu/mpc8260/start.o   (.text*)
+#else
+    arch/powerpc/cpu/mpc8xx/start.o    (.text*)
+    arch/powerpc/cpu/mpc8xx/traps.o    (.text*)
+#endif
+    *(.text*)
   }
   _etext = .;
   PROVIDE (etext = .);
   .rodata    :
   {
-    *(.eh_frame)
     *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
   }
-  .fini      : { *(.fini)    } =0
-  .ctors     : { *(.ctors)   }
-  .dtors     : { *(.dtors)   }
 
   /* Read-write section, merged into data segment: */
   . = (. + 0x0FFF) & 0xFFFFF000;
@@ -73,23 +51,19 @@ SECTIONS
   PROVIDE (erotext = .);
   .reloc   :
   {
-    *(.got)
+    KEEP(*(.got))
     _GOT2_TABLE_ = .;
-    *(.got2)
+    KEEP(*(.got2))
     _FIXUP_TABLE_ = .;
-    *(.fixup)
+    KEEP(*(.fixup))
   }
   __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >>2;
   __fixup_entries = (. - _FIXUP_TABLE_)>>2;
 
   .data    :
   {
-    *(.data)
-    *(.data1)
-    *(.sdata)
-    *(.sdata2)
-    *(.dynamic)
-    CONSTRUCTORS
+    *(.data*)
+    *(.sdata*)
   }
   _edata  =  .;
   PROVIDE (edata = .);
@@ -115,9 +89,8 @@ SECTIONS
   __bss_start = .;
   .bss (NOLOAD)       :
   {
-   *(.sbss) *(.scommon)
-   *(.dynbss)
-   *(.bss)
+   *(.bss*)
+   *(.sbss*)
    *(COMMON)
    . = ALIGN(4);
   }
index f8b44abee008f064a9a61a377f97813c3e91fe78..40b3a3d50e050e4f7a726916ec8aec3fe69f448a 100644 (file)
@@ -21,7 +21,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := colibri_pxa270.o
 
@@ -29,7 +29,7 @@ SRCS  := $(COBJS:.o=.c)
 OBJS   := $(addprefix $(obj),$(COBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(OBJS)
index 374fdd7650e60a021c39daa220c93177afbabd75..5c6b78f704616f9730634a5cf9ad150c963e309d 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o flash.o plx9030.o pd67290.o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 12c9c746c5bc9a08c96fae3a7ff3fb5c0bec2eb7..0d8ef2336845fc843ce50898c370ef393aa93e4e 100644 (file)
@@ -639,7 +639,7 @@ static int i365_set_io_map (socket_info_t * s, struct pccard_io_map *io)
 #define        HOST_TO_PCI(addr)       ((addr) - 0xfe000000)
 #define        PCI_TO_HOST(addr)       ((addr) + 0xfe000000)
 
-int i82365_init (void)
+static int i82365_init (void)
 {
        u_int val;
        int i;
@@ -719,7 +719,7 @@ int i82365_init (void)
        return 0;
 }
 
-void i82365_exit (void)
+static void i82365_exit (void)
 {
        io.map = 0;
        io.flags = 0;
index dcb1907032b5df8d2f89bdcb23506a49bb1446c7..12e4aa6880eed591aade2b9cfdf2d64611b3a39f 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o flash.o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index dcb1907032b5df8d2f89bdcb23506a49bb1446c7..12e4aa6880eed591aade2b9cfdf2d64611b3a39f 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o flash.o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 720593c4825e86a159328f30caac39749ec0535e..18040c77263c50625ca8f5e52d7b082a2d788f5e 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := cradle.o flash.o
 
@@ -31,7 +31,7 @@ SRCS  := $(COBJS:.o=.c)
 OBJS   := $(addprefix $(obj),$(COBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(OBJS)
index 0f5f02cb8c6a82057b34d52af4321775ef6860df..d87b6ef90633b274384e04c34ed1ae120959001c 100644 (file)
@@ -169,12 +169,6 @@ int misc_init_r (void)
        return (0);
 }
 
-/* ------------------------------------------------------------------------- */
-phys_size_t initdram (int board_type)
-{
-       return (L1_MEMSIZE);
-}
-
 /* ------------------------------------------------------------------------- */
 /* stubs so we can print dates w/o any nvram RTC.*/
 int rtc_get (struct rtc_time *tmp)
index 21b513c29fab7be8d3157b74dafa5c9578ba3d96..d1a7a0b0df1fde5371d6da208f7de06e9a5b4a62 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o flash.o
 SOBJS  = init.o
@@ -36,7 +36,7 @@ SOBJS := $(addprefix $(obj),$(SOBJS))
 # HACK: depend needs bootscript.c, which needs tools/mkimage, which is not
 # built in the depend stage.  So... put bootscript.o here, not in OBJS
 $(LIB):        $(OBJS) $(SOBJS) $(obj)bootscript.o
-       $(AR) $(ARFLAGS) $@ $^
+       $(call cmd_link_o_target, $^)
 
 clean:
        rm -f $(SOBJS) $(OBJS) $(obj)bootscript.c \
index 5e1332bae41332b19d2f27bc1c54012efb1dd31d..b10c447c94ded3fc4e7b3b6fbe0f6514a371c9fb 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := csb226.o flash.o
 
@@ -31,7 +31,7 @@ SRCS  := $(COBJS:.o=.c)
 OBJS   := $(addprefix $(obj),$(COBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(OBJS)
index 6d42bff750547ccecc7df71c876caca0135e5cfb..cfc8839b8861739bb91643b8ebb61e46f25e0058 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 #COBJS = $(BOARD).o flash.o
 #COBJS = $(BOARD).o strataflash.o
@@ -36,7 +36,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $^
+       $(call cmd_link_o_target, $^)
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 6d42bff750547ccecc7df71c876caca0135e5cfb..cfc8839b8861739bb91643b8ebb61e46f25e0058 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 #COBJS = $(BOARD).o flash.o
 #COBJS = $(BOARD).o strataflash.o
@@ -36,7 +36,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $^
+       $(call cmd_link_o_target, $^)
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index ab28434a319848d48a2dda972edf52d19aceb58c..a5484ae35db3e240fad4570ab6525432e811025b 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := csb637.o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index dcb1907032b5df8d2f89bdcb23506a49bb1446c7..12e4aa6880eed591aade2b9cfdf2d64611b3a39f 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o flash.o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index e70d2c8e37c14e8f950831af453a94d70c3c9a0b..b981579a8e23babf22e087e408d681d8c028ef32 100644 (file)
@@ -27,7 +27,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := B2.o flash.o
 SOBJS  := lowlevel_init.o
@@ -37,7 +37,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 1869f8ceee8d7c49b2f1af8db6bcd1ecdcde860c..50285106abe1ddc04bee84039d971923e8cefa9d 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o flash.o nand.o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $^
+       $(call cmd_link_o_target, $^)
 
 clean:
        rm -f $(SOBJS) $(OBJS)
similarity index 50%
rename from board/Marvell/db64460/u-boot.lds
rename to board/dave/PPChameleonEVB/u-boot.lds
index 29dcc0910051a98f2e2d119f291317fddf1ea8d7..17f59193e9e1d907c465905cbcbe1fc9c0bcdf32 100644 (file)
@@ -1,6 +1,5 @@
 /*
- * (C) Copyright 2001
- * Josh Huber <huber@mclx.com>, Mission Critical Linux, Inc.
+ * Copyright 2007-2009 Freescale Semiconductor, Inc.
  *
  * See file CREDITS for list of people who contributed to this
  * project.
  * MA 02111-1307 USA
  */
 
-/*
- * u-boot.lds - linker script for U-Boot on the Galileo Eval Board.
- */
+#include "config.h"    /* CONFIG_BOARDDIR */
+
+#ifndef RESET_VECTOR_ADDRESS
+#define RESET_VECTOR_ADDRESS   0xfffffffc
+#endif
 
 OUTPUT_ARCH(powerpc)
-/* Do we need any of these for elf?
-   __DYNAMIC = 0;    */
+
+PHDRS
+{
+  text PT_LOAD;
+  bss PT_LOAD;
+}
+
 SECTIONS
 {
   /* Read-only sections, merged into text segment: */
   . = + SIZEOF_HEADERS;
-  .interp : { *(.interp) }
-  .hash          : { *(.hash)          }
-  .dynsym        : { *(.dynsym)                }
-  .dynstr        : { *(.dynstr)                }
-  .rel.text      : { *(.rel.text)              }
-  .rela.text     : { *(.rela.text)     }
-  .rel.data      : { *(.rel.data)              }
-  .rela.data     : { *(.rela.data)     }
-  .rel.rodata    : { *(.rel.rodata)    }
-  .rela.rodata   : { *(.rela.rodata)   }
-  .rel.got       : { *(.rel.got)               }
-  .rela.got      : { *(.rela.got)              }
-  .rel.ctors     : { *(.rel.ctors)     }
-  .rela.ctors    : { *(.rela.ctors)    }
-  .rel.dtors     : { *(.rel.dtors)     }
-  .rela.dtors    : { *(.rela.dtors)    }
-  .rel.bss       : { *(.rel.bss)               }
-  .rela.bss      : { *(.rela.bss)              }
-  .rel.plt       : { *(.rel.plt)               }
-  .rela.plt      : { *(.rela.plt)              }
-  .init          : { *(.init)  }
-  .plt : { *(.plt) }
   .text      :
   {
-    arch/powerpc/cpu/74xx_7xx/start.o  (.text)
-
-/* store the environment in a seperate sector in the boot flash */
-/*    . = env_offset; */
-/*    common/env_embedded.o(.text) */
-
-    *(.text)
-    *(.got1)
-  }
-  _etext = .;
-  PROVIDE (etext = .);
-  .rodata    :
-  {
-    *(.eh_frame)
+    *(.text*)
+   } :text
+    _etext = .;
+    PROVIDE (etext = .);
+    .rodata    :
+   {
     *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
-  }
-  .fini      : { *(.fini)    } =0
-  .ctors     : { *(.ctors)   }
-  .dtors     : { *(.dtors)   }
+  } :text
 
   /* Read-write section, merged into data segment: */
   . = (. + 0x00FF) & 0xFFFFFF00;
@@ -82,23 +55,19 @@ SECTIONS
   PROVIDE (erotext = .);
   .reloc   :
   {
-    *(.got)
+    KEEP(*(.got))
     _GOT2_TABLE_ = .;
-    *(.got2)
+    KEEP(*(.got2))
     _FIXUP_TABLE_ = .;
-    *(.fixup)
+    KEEP(*(.fixup))
   }
-  __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >>2;
-  __fixup_entries = (. - _FIXUP_TABLE_)>>2;
+  __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >> 2;
+  __fixup_entries = (. - _FIXUP_TABLE_) >> 2;
 
   .data    :
   {
-    *(.data)
-    *(.data1)
-    *(.sdata)
-    *(.sdata2)
-    *(.dynamic)
-    CONSTRUCTORS
+    *(.data*)
+    *(.sdata*)
   }
   _edata  =  .;
   PROVIDE (edata = .);
@@ -108,7 +77,6 @@ SECTIONS
   .u_boot_cmd : { *(.u_boot_cmd) }
   __u_boot_cmd_end = .;
 
-
   . = .;
   __start___ex_table = .;
   __ex_table : { *(__ex_table) }
@@ -121,15 +89,40 @@ SECTIONS
   . = ALIGN(256);
   __init_end = .;
 
+  ppcenv_assert = ASSERT(. < 0xFFFF8000, ".bss section too big, overlaps .ppcenv section. Please update your confguration: CONFIG_SYS_MONITOR_BASE, CONFIG_SYS_MONITOR_LEN and CONFIG_SYS_TEXT_BASE may need to be modified.");
+  . = 0xFFFF8000;
+  .ppcenv :
+  {
+    common/env_embedded.o(.ppcenv);
+  }
+
+  .resetvec RESET_VECTOR_ADDRESS :
+  {
+    KEEP(*(.resetvec))
+  } :text = 0xffff
+
+  . = 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)       :
   {
-   *(.sbss) *(.scommon)
-   *(.dynbss)
-   *(.bss)
+   *(.bss*)
+   *(.sbss*)
    *(COMMON)
-   . = ALIGN(4);
-  }
+  } :bss
+
+  . = ALIGN(4);
   _end = . ;
   PROVIDE (end = .);
 }
index 2e3d73a351398066bd7fd5d0a4a9398528617bc0..30dba232651169ffa40cd64bc70567adb616ed57 100644 (file)
@@ -22,7 +22,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y        := $(BOARD).o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index ada6e03a2ca150a50117ac57aab3b051aa96b4b3..1dca60d17037a0f52e5e311a4f16db636e2702b0 100644 (file)
@@ -25,7 +25,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := qong.o fpga.o
 SOBJS  := lowlevel_init.o
@@ -35,7 +35,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 8d9ea00ddc345497f3f3f61d1b9953c7e3bcfa7c..5ddb564d0bd0be92e92dc5160a57477ddea4e587 100644 (file)
@@ -27,7 +27,7 @@ ifneq ($(OBJTREE),$(SRCTREE))
 $(shell mkdir -p $(obj)board/$(VENDOR)/common)
 endif
 
-LIB    = $(obj)lib$(VENDOR).a
+LIB    = $(obj)lib$(VENDOR).o
 
 COBJS  := misc.o
 
@@ -36,7 +36,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 17cbe86c8198adf43ed7e62053cc6aded2abf398..88fee5004782de7fe7990e9e4c9a9d16713c1339 100644 (file)
@@ -25,7 +25,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y        += common.o
 COBJS-$(CONFIG_MACH_DAVINCI_DA830_EVM) += da830evm.o
@@ -38,7 +38,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index c8c5e1b30edb5f08fdbb0b5f2c8b3b82ad1e6c04..c3267cbf51a6502e0665b2c930e1fb55f47c56e9 100644 (file)
@@ -118,6 +118,39 @@ static const struct lpsc_resource lpsc[] = {
        { DAVINCI_LPSC_GPIO },
 };
 
+#ifndef CONFIG_DA850_EVM_MAX_CPU_CLK
+#define CONFIG_DA850_EVM_MAX_CPU_CLK   300000000
+#endif
+
+/*
+ * get_board_rev() - setup to pass kernel board revision information
+ * Returns:
+ * bit[0-3]    Maximum cpu clock rate supported by onboard SoC
+ *             0000b - 300 MHz
+ *             0001b - 372 MHz
+ *             0010b - 408 MHz
+ *             0011b - 456 MHz
+ */
+u32 get_board_rev(void)
+{
+       char *s;
+       u32 maxcpuclk = CONFIG_DA850_EVM_MAX_CPU_CLK;
+       u32 rev = 0;
+
+       s = getenv("maxcpuclk");
+       if (s)
+               maxcpuclk = simple_strtoul(s, NULL, 10);
+
+       if (maxcpuclk >= 456000000)
+               rev = 3;
+       else if (maxcpuclk >= 408000000)
+               rev = 2;
+       else if (maxcpuclk >= 372000000)
+               rev = 1;
+
+       return rev;
+}
+
 int board_init(void)
 {
 #ifndef CONFIG_USE_IRQ
index 26b070546570af233892d8b639c3a4fbaf4e53e9..480459721d43f488216d5c117e314abcb338ed49 100644 (file)
@@ -25,7 +25,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := $(BOARD).o
 SOBJS  :=
@@ -35,7 +35,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 26b070546570af233892d8b639c3a4fbaf4e53e9..480459721d43f488216d5c117e314abcb338ed49 100644 (file)
@@ -25,7 +25,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := $(BOARD).o
 SOBJS  :=
@@ -35,7 +35,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 26b070546570af233892d8b639c3a4fbaf4e53e9..480459721d43f488216d5c117e314abcb338ed49 100644 (file)
@@ -25,7 +25,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := $(BOARD).o
 SOBJS  :=
@@ -35,7 +35,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 26b070546570af233892d8b639c3a4fbaf4e53e9..480459721d43f488216d5c117e314abcb338ed49 100644 (file)
@@ -25,7 +25,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := $(BOARD).o
 SOBJS  :=
@@ -35,7 +35,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index fb31ee42b2575520dbd707efd90a0fb9241d8ff9..72fd963ed2bfa4878be279fbff773233eebaa972 100644 (file)
@@ -25,7 +25,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := $(BOARD).o
 SOBJS  := board_init.o
@@ -35,7 +35,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index fb31ee42b2575520dbd707efd90a0fb9241d8ff9..72fd963ed2bfa4878be279fbff773233eebaa972 100644 (file)
@@ -25,7 +25,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := $(BOARD).o
 SOBJS  := board_init.o
@@ -35,7 +35,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index fb31ee42b2575520dbd707efd90a0fb9241d8ff9..72fd963ed2bfa4878be279fbff773233eebaa972 100644 (file)
@@ -25,7 +25,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := $(BOARD).o
 SOBJS  := board_init.o
@@ -35,7 +35,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index fb31ee42b2575520dbd707efd90a0fb9241d8ff9..72fd963ed2bfa4878be279fbff773233eebaa972 100644 (file)
@@ -25,7 +25,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := $(BOARD).o
 SOBJS  := board_init.o
@@ -35,7 +35,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index afe02c27c6ff9baecff2c09aed27241fb42cbb97..f1594a236812d9247a4911e67a34fb13a87996f4 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o flash.o
 SOBJS  = lowlevel_init.o
@@ -33,7 +33,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 #########################################################################
 
index 0bededca19deeccc585ba895cb2c0a746af019c7..a40076c870ae0a4c18faf0eb61c11cf110f0a50f 100644 (file)
@@ -5,7 +5,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := $(BOARD).o cmd_mtc.o
 
@@ -14,7 +14,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index c56e9d1e817e2e50611c82ff03bf2558b74dda00..8a86c0f34019ce3674c5707bfafa9d3407a1bc27 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := dnp1110.o flash.o
 SOBJS  := lowlevel_init.o
@@ -33,7 +33,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 588d21d269ef62b6cc54c0064a2596819873ad2b..498078702e2f59b8bfe02780bd79e0ffb76fd49c 100644 (file)
@@ -29,7 +29,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y        += eNET.o
 COBJS-$(CONFIG_PCI) += eNET_pci.o
@@ -40,7 +40,7 @@ SRCS  := $(SOBJS-y:.o=.S) $(COBJS-y:.o=.c)
 OBJS   := $(addprefix $(obj),$(SOBJS-y) $(COBJS-y))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 98601a3f36814a4591ba0c41a6604dd99f8e3857..fa874139c18aa2330ab5d865a16b3fb862e9ff8a 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 3e67a65863ed5b5ac1847b616e6275273f9a9700..00eb0f42a16a7a6bc64b6ba1f91e0a9a6ae5d381 100644 (file)
@@ -22,7 +22,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    := $(obj)lib$(BOARD).a
+LIB    := $(obj)lib$(BOARD).o
 
 COBJS  := $(BOARD).o flash.o
 
@@ -30,7 +30,7 @@ SRCS  := $(SOBJS:.o=.S) $(COBJS:.o=.c)
 OBJS   := $(addprefix $(obj),$(SOBJS) $(COBJS))
 
 $(LIB): $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index e2e26361e2915d2a69722b4a813f6752c2ba33c9..dcaed06b30f0d7eb0f598359d20da24fe4c55702 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := edb93xx.o flash_cfg.o pll_cfg.o sdram_cfg.o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 1e76d25f7a4a2ccd9fe874b9218efd6ab68c5ed1..b22160fea0a628762831f79176ed44387189c15a 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o flash.o pci.o misc.o el_srom.o dc_srom.o l2cache.o
 
@@ -34,7 +34,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
diff --git a/board/eltec/bab7xx/u-boot.lds b/board/eltec/bab7xx/u-boot.lds
deleted file mode 100644 (file)
index 29dcc09..0000000
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
- * (C) Copyright 2001
- * Josh Huber <huber@mclx.com>, Mission Critical Linux, Inc.
- *
- * See file CREDITS for list of people who contributed to this
- * project.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
- */
-
-/*
- * u-boot.lds - linker script for U-Boot on the Galileo Eval Board.
- */
-
-OUTPUT_ARCH(powerpc)
-/* Do we need any of these for elf?
-   __DYNAMIC = 0;    */
-SECTIONS
-{
-  /* Read-only sections, merged into text segment: */
-  . = + SIZEOF_HEADERS;
-  .interp : { *(.interp) }
-  .hash          : { *(.hash)          }
-  .dynsym        : { *(.dynsym)                }
-  .dynstr        : { *(.dynstr)                }
-  .rel.text      : { *(.rel.text)              }
-  .rela.text     : { *(.rela.text)     }
-  .rel.data      : { *(.rel.data)              }
-  .rela.data     : { *(.rela.data)     }
-  .rel.rodata    : { *(.rel.rodata)    }
-  .rela.rodata   : { *(.rela.rodata)   }
-  .rel.got       : { *(.rel.got)               }
-  .rela.got      : { *(.rela.got)              }
-  .rel.ctors     : { *(.rel.ctors)     }
-  .rela.ctors    : { *(.rela.ctors)    }
-  .rel.dtors     : { *(.rel.dtors)     }
-  .rela.dtors    : { *(.rela.dtors)    }
-  .rel.bss       : { *(.rel.bss)               }
-  .rela.bss      : { *(.rela.bss)              }
-  .rel.plt       : { *(.rel.plt)               }
-  .rela.plt      : { *(.rela.plt)              }
-  .init          : { *(.init)  }
-  .plt : { *(.plt) }
-  .text      :
-  {
-    arch/powerpc/cpu/74xx_7xx/start.o  (.text)
-
-/* store the environment in a seperate sector in the boot flash */
-/*    . = env_offset; */
-/*    common/env_embedded.o(.text) */
-
-    *(.text)
-    *(.got1)
-  }
-  _etext = .;
-  PROVIDE (etext = .);
-  .rodata    :
-  {
-    *(.eh_frame)
-    *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
-  }
-  .fini      : { *(.fini)    } =0
-  .ctors     : { *(.ctors)   }
-  .dtors     : { *(.dtors)   }
-
-  /* Read-write section, merged into data segment: */
-  . = (. + 0x00FF) & 0xFFFFFF00;
-  _erotext = .;
-  PROVIDE (erotext = .);
-  .reloc   :
-  {
-    *(.got)
-    _GOT2_TABLE_ = .;
-    *(.got2)
-    _FIXUP_TABLE_ = .;
-    *(.fixup)
-  }
-  __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >>2;
-  __fixup_entries = (. - _FIXUP_TABLE_)>>2;
-
-  .data    :
-  {
-    *(.data)
-    *(.data1)
-    *(.sdata)
-    *(.sdata2)
-    *(.dynamic)
-    CONSTRUCTORS
-  }
-  _edata  =  .;
-  PROVIDE (edata = .);
-
-  . = .;
-  __u_boot_cmd_start = .;
-  .u_boot_cmd : { *(.u_boot_cmd) }
-  __u_boot_cmd_end = .;
-
-
-  . = .;
-  __start___ex_table = .;
-  __ex_table : { *(__ex_table) }
-  __stop___ex_table = .;
-
-  . = ALIGN(256);
-  __init_begin = .;
-  .text.init : { *(.text.init) }
-  .data.init : { *(.data.init) }
-  . = ALIGN(256);
-  __init_end = .;
-
-  __bss_start = .;
-  .bss (NOLOAD)       :
-  {
-   *(.sbss) *(.scommon)
-   *(.dynbss)
-   *(.bss)
-   *(COMMON)
-   . = ALIGN(4);
-  }
-  _end = . ;
-  PROVIDE (end = .);
-}
index 24cbfeee39f9d7d876f94ae59c6e2ac27158a894..367239a0fca8564f9e2c13aca962420597058ec7 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o flash.o pci.o misc.o mpc107_i2c.o eepro100_srom.o
 
@@ -34,7 +34,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
diff --git a/board/eltec/elppc/u-boot.lds b/board/eltec/elppc/u-boot.lds
deleted file mode 100644 (file)
index 29dcc09..0000000
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
- * (C) Copyright 2001
- * Josh Huber <huber@mclx.com>, Mission Critical Linux, Inc.
- *
- * See file CREDITS for list of people who contributed to this
- * project.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
- */
-
-/*
- * u-boot.lds - linker script for U-Boot on the Galileo Eval Board.
- */
-
-OUTPUT_ARCH(powerpc)
-/* Do we need any of these for elf?
-   __DYNAMIC = 0;    */
-SECTIONS
-{
-  /* Read-only sections, merged into text segment: */
-  . = + SIZEOF_HEADERS;
-  .interp : { *(.interp) }
-  .hash          : { *(.hash)          }
-  .dynsym        : { *(.dynsym)                }
-  .dynstr        : { *(.dynstr)                }
-  .rel.text      : { *(.rel.text)              }
-  .rela.text     : { *(.rela.text)     }
-  .rel.data      : { *(.rel.data)              }
-  .rela.data     : { *(.rela.data)     }
-  .rel.rodata    : { *(.rel.rodata)    }
-  .rela.rodata   : { *(.rela.rodata)   }
-  .rel.got       : { *(.rel.got)               }
-  .rela.got      : { *(.rela.got)              }
-  .rel.ctors     : { *(.rel.ctors)     }
-  .rela.ctors    : { *(.rela.ctors)    }
-  .rel.dtors     : { *(.rel.dtors)     }
-  .rela.dtors    : { *(.rela.dtors)    }
-  .rel.bss       : { *(.rel.bss)               }
-  .rela.bss      : { *(.rela.bss)              }
-  .rel.plt       : { *(.rel.plt)               }
-  .rela.plt      : { *(.rela.plt)              }
-  .init          : { *(.init)  }
-  .plt : { *(.plt) }
-  .text      :
-  {
-    arch/powerpc/cpu/74xx_7xx/start.o  (.text)
-
-/* store the environment in a seperate sector in the boot flash */
-/*    . = env_offset; */
-/*    common/env_embedded.o(.text) */
-
-    *(.text)
-    *(.got1)
-  }
-  _etext = .;
-  PROVIDE (etext = .);
-  .rodata    :
-  {
-    *(.eh_frame)
-    *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
-  }
-  .fini      : { *(.fini)    } =0
-  .ctors     : { *(.ctors)   }
-  .dtors     : { *(.dtors)   }
-
-  /* Read-write section, merged into data segment: */
-  . = (. + 0x00FF) & 0xFFFFFF00;
-  _erotext = .;
-  PROVIDE (erotext = .);
-  .reloc   :
-  {
-    *(.got)
-    _GOT2_TABLE_ = .;
-    *(.got2)
-    _FIXUP_TABLE_ = .;
-    *(.fixup)
-  }
-  __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >>2;
-  __fixup_entries = (. - _FIXUP_TABLE_)>>2;
-
-  .data    :
-  {
-    *(.data)
-    *(.data1)
-    *(.sdata)
-    *(.sdata2)
-    *(.dynamic)
-    CONSTRUCTORS
-  }
-  _edata  =  .;
-  PROVIDE (edata = .);
-
-  . = .;
-  __u_boot_cmd_start = .;
-  .u_boot_cmd : { *(.u_boot_cmd) }
-  __u_boot_cmd_end = .;
-
-
-  . = .;
-  __start___ex_table = .;
-  __ex_table : { *(__ex_table) }
-  __stop___ex_table = .;
-
-  . = ALIGN(256);
-  __init_begin = .;
-  .text.init : { *(.text.init) }
-  .data.init : { *(.data.init) }
-  . = ALIGN(256);
-  __init_end = .;
-
-  __bss_start = .;
-  .bss (NOLOAD)       :
-  {
-   *(.sbss) *(.scommon)
-   *(.dynbss)
-   *(.bss)
-   *(COMMON)
-   . = ALIGN(4);
-  }
-  _end = . ;
-  PROVIDE (end = .);
-}
index cf07cf40fdb9485240118667e0b22074acd7516d..6dc495c3619cabc3ecc9eabf3c7c696a9580379f 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o flash.o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 9fe9758c476ec3617250e0aee7a2001d5e504659..4a96388f04e3acf7c601d9570b238b8077394c4d 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * (C) Copyright 2001
+ * (C) Copyright 2001-2010
  * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
  *
  * See file CREDITS for list of people who contributed to this
  */
 
 OUTPUT_ARCH(powerpc)
-/* Do we need any of these for elf?
-   __DYNAMIC = 0;    */
+
 SECTIONS
 {
   /* Read-only sections, merged into text segment: */
   . = + SIZEOF_HEADERS;
-  .interp : { *(.interp) }
-  .hash          : { *(.hash)          }
-  .dynsym        : { *(.dynsym)                }
-  .dynstr        : { *(.dynstr)                }
-  .rel.text      : { *(.rel.text)              }
-  .rela.text     : { *(.rela.text)     }
-  .rel.data      : { *(.rel.data)              }
-  .rela.data     : { *(.rela.data)     }
-  .rel.rodata    : { *(.rel.rodata)    }
-  .rela.rodata   : { *(.rela.rodata)   }
-  .rel.got       : { *(.rel.got)               }
-  .rela.got      : { *(.rela.got)              }
-  .rel.ctors     : { *(.rel.ctors)     }
-  .rela.ctors    : { *(.rela.ctors)    }
-  .rel.dtors     : { *(.rel.dtors)     }
-  .rela.dtors    : { *(.rela.dtors)    }
-  .rel.bss       : { *(.rel.bss)               }
-  .rela.bss      : { *(.rela.bss)              }
-  .rel.plt       : { *(.rel.plt)               }
-  .rela.plt      : { *(.rela.plt)              }
-  .init          : { *(.init)  }
-  .plt : { *(.plt) }
   .text      :
   {
-    arch/powerpc/cpu/mpc8xx/start.o    (.text)
-    common/env_embedded.o(.text)
+    arch/powerpc/cpu/mpc8xx/start.o    (.text*)
+    arch/powerpc/cpu/mpc8xx/traps.o    (.text*)
 
-    *(.text)
-    *(.got1)
+    *(.text*)
   }
   _etext = .;
   PROVIDE (etext = .);
   .rodata    :
   {
-    *(.eh_frame)
     *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
   }
-  .fini      : { *(.fini)    } =0
-  .ctors     : { *(.ctors)   }
-  .dtors     : { *(.dtors)   }
 
   /* Read-write section, merged into data segment: */
   . = (. + 0x00FF) & 0xFFFFFF00;
@@ -75,23 +47,19 @@ SECTIONS
   PROVIDE (erotext = .);
   .reloc   :
   {
-    *(.got)
+    KEEP(*(.got))
     _GOT2_TABLE_ = .;
-    *(.got2)
+    KEEP(*(.got2))
     _FIXUP_TABLE_ = .;
-    *(.fixup)
+    KEEP(*(.fixup))
   }
   __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >>2;
   __fixup_entries = (. - _FIXUP_TABLE_)>>2;
 
   .data    :
   {
-    *(.data)
-    *(.data1)
-    *(.sdata)
-    *(.sdata2)
-    *(.dynamic)
-    CONSTRUCTORS
+    *(.data*)
+    *(.sdata*)
   }
   _edata  =  .;
   PROVIDE (edata = .);
@@ -117,9 +85,8 @@ SECTIONS
   __bss_start = .;
   .bss (NOLOAD)       :
   {
-   *(.sbss) *(.scommon)
-   *(.dynbss)
-   *(.bss)
+   *(.bss*)
+   *(.sbss*)
    *(COMMON)
    . = ALIGN(4);
   }
index 86b887029f0a49c1eefb3958d59183c26074dbec..72db38db32303c257fa97d987c564ca6918f1e3c 100644 (file)
@@ -27,7 +27,7 @@ ifneq ($(OBJTREE),$(SRCTREE))
 $(shell mkdir -p $(obj)../common)
 endif
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := $(BOARD).o ../common/flash.o ../common/vpd.o ../common/am79c874.o
 
@@ -36,7 +36,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 88abd76c5c1451812516c2ef75e2745a374ec567..6b0a4fa905ce14737d367ab60e772c178cb353d7 100644 (file)
@@ -26,7 +26,7 @@ ifneq ($(OBJTREE),$(SRCTREE))
 $(shell mkdir -p $(obj)../common)
 endif
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o ../common/flash.o ../common/vpd.o ../common/am79c874.o
 
@@ -35,7 +35,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 4f986f72c1dfce7f3c9302104a07b067a7fafd3d..ae1a791b03abd8d22bd9aba2b621481f275ffe24 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * (C) Copyright 2000
+ * (C) Copyright 2000-2010
  * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
  *
  * See file CREDITS for list of people who contributed to this
  */
 
 OUTPUT_ARCH(powerpc)
-/* Do we need any of these for elf?
-   __DYNAMIC = 0;    */
+
 SECTIONS
 {
   /* Read-only sections, merged into text segment: */
   . = + SIZEOF_HEADERS;
-  .interp : { *(.interp) }
-  .hash          : { *(.hash)          }
-  .dynsym        : { *(.dynsym)                }
-  .dynstr        : { *(.dynstr)                }
-  .rel.text      : { *(.rel.text)              }
-  .rela.text     : { *(.rela.text)     }
-  .rel.data      : { *(.rel.data)              }
-  .rela.data     : { *(.rela.data)     }
-  .rel.rodata    : { *(.rel.rodata)    }
-  .rela.rodata   : { *(.rela.rodata)   }
-  .rel.got       : { *(.rel.got)               }
-  .rela.got      : { *(.rela.got)              }
-  .rel.ctors     : { *(.rel.ctors)     }
-  .rela.ctors    : { *(.rela.ctors)    }
-  .rel.dtors     : { *(.rel.dtors)     }
-  .rela.dtors    : { *(.rela.dtors)    }
-  .rel.bss       : { *(.rel.bss)               }
-  .rela.bss      : { *(.rela.bss)              }
-  .rel.plt       : { *(.rel.plt)               }
-  .rela.plt      : { *(.rela.plt)              }
-  .init          : { *(.init)  }
-  .plt : { *(.plt) }
   .text      :
   {
-    arch/powerpc/cpu/mpc8xx/start.o    (.text)
+    arch/powerpc/cpu/mpc8xx/start.o    (.text*)
+    arch/powerpc/cpu/mpc8xx/traps.o    (.text*)
 
-    *(.text)
-    *(.got1)
+    *(.text*)
   }
   _etext = .;
   PROVIDE (etext = .);
   .rodata    :
   {
-    *(.eh_frame)
     *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
   }
-  .fini      : { *(.fini)    } =0
-  .ctors     : { *(.ctors)   }
-  .dtors     : { *(.dtors)   }
 
   /* Read-write section, merged into data segment: */
   . = (. + 0x00FF) & 0xFFFFFF00;
@@ -74,23 +47,19 @@ SECTIONS
   PROVIDE (erotext = .);
   .reloc   :
   {
-    *(.got)
+    KEEP(*(.got))
     _GOT2_TABLE_ = .;
-    *(.got2)
+    KEEP(*(.got2))
     _FIXUP_TABLE_ = .;
-    *(.fixup)
+    KEEP(*(.fixup))
   }
   __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >>2;
   __fixup_entries = (. - _FIXUP_TABLE_)>>2;
 
   .data    :
   {
-    *(.data)
-    *(.data1)
-    *(.sdata)
-    *(.sdata2)
-    *(.dynamic)
-    CONSTRUCTORS
+    *(.data*)
+    *(.sdata*)
   }
   _edata  =  .;
   PROVIDE (edata = .);
@@ -117,9 +86,8 @@ SECTIONS
   __bss_start = .;
   .bss (NOLOAD)       :
   {
-   *(.sbss) *(.scommon)
-   *(.dynbss)
-   *(.bss)
+   *(.bss*)
+   *(.sbss*)
    *(COMMON)
    . = ALIGN(4);
   }
index 776a444eed3a5aa0ad643ab9b70765e6e55b2f9c..f2d8cf5012f5be5508b32b622fbe9249aa0325aa 100644 (file)
@@ -27,7 +27,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := ep7312.o flash.o
 SOBJS  := lowlevel_init.o
@@ -37,7 +37,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index dc40d9b94a6dd89e249b38cbfa6e5b830fc11afd..9079aad8566d16e67b56e0a6b800bdb8a1a9c8c5 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := $(BOARD).o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index b8bf320347e1af91a37d6f0c8b665fa152a6e812..68a4803cf27a6936ff0ad67ae31b699f4eac7ddc 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o flash.o mii_phy.o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index c69c475a8dcda8a50ef78e34694e1655568a576f..74b9a356f726f53eb0e233436bf3ef0218cb6222 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := $(BOARD).o
 
@@ -31,7 +31,7 @@ SRCS  := $(COBJS:.o=.c)
 OBJS   := $(addprefix $(obj),$(COBJS))
 
 $(LIB):        $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(OBJS)
index 6b3706daaeea622debda670da175b2865375e0be..70205f1fb025b81c5bafc134a5691e90bebc8ca5 100644 (file)
@@ -26,7 +26,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := $(BOARD).o
 
@@ -35,7 +35,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 172caa5569b133e4b96d2bc217e26af1de709df2..851348e65fe4fd715d7624e557976912fc7b4cbf 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * (C) Copyright 2001-2003
+ * (C) Copyright 2001-2010
  * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
  *
  * Modified by Yuli Barcohen <yuli@arabellasw.com>
@@ -28,39 +28,14 @@ SECTIONS
 {
   /* Read-only sections, merged into text segment: */
   . = + SIZEOF_HEADERS;
-  .interp        : { *(.interp)                }
-  .hash          : { *(.hash)          }
-  .dynsym        : { *(.dynsym)                }
-  .dynstr        : { *(.dynstr)                }
-  .rel.text      : { *(.rel.text)      }
-  .rela.text     : { *(.rela.text)     }
-  .rel.data      : { *(.rel.data)      }
-  .rela.data     : { *(.rela.data)     }
-  .rel.rodata    : { *(.rel.rodata)    }
-  .rela.rodata   : { *(.rela.rodata)   }
-  .rel.got       : { *(.rel.got)       }
-  .rela.got      : { *(.rela.got)      }
-  .rel.ctors     : { *(.rel.ctors)     }
-  .rela.ctors    : { *(.rela.ctors)    }
-  .rel.dtors     : { *(.rel.dtors)     }
-  .rela.dtors    : { *(.rela.dtors)    }
-  .rel.bss       : { *(.rel.bss)       }
-  .rela.bss      : { *(.rela.bss)      }
-  .rel.plt       : { *(.rel.plt)       }
-  .rela.plt      : { *(.rela.plt)      }
-  .init          : { *(.init)          }
-  .plt           : { *(.plt)           }
   .text          :
   {
-    arch/powerpc/cpu/mpc8xx/start.o    (.text)
-    *(.text)
-    *(.got1)
+    arch/powerpc/cpu/mpc8xx/start.o    (.text*)
+    arch/powerpc/cpu/mpc8xx/traps.o    (.text*)
+    *(.text*)
     . = ALIGN(16);
     *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
   }
-  .fini      : { *(.fini)    } =0
-  .ctors     : { *(.ctors)   }
-  .dtors     : { *(.dtors)   }
 
   /* Read-write section, merged into data segment: */
   . = (. + 0x0FFF) & 0xFFFFF000;
@@ -68,23 +43,19 @@ SECTIONS
   PROVIDE (erotext = .);
   .reloc   :
   {
-    *(.got)
+    KEEP(*(.got))
     _GOT2_TABLE_ = .;
-    *(.got2)
+    KEEP(*(.got2))
     _FIXUP_TABLE_ = .;
-    *(.fixup)
+    KEEP(*(.fixup))
   }
   __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >> 2;
   __fixup_entries = (. - _FIXUP_TABLE_) >> 2;
 
   .data    :
   {
-    *(.data)
-    *(.data1)
-    *(.sdata)
-    *(.sdata2)
-    *(.dynamic)
-    CONSTRUCTORS
+    *(.data*)
+    *(.sdata*)
   }
   _edata  =  .;
   PROVIDE (edata = .);
@@ -110,9 +81,8 @@ SECTIONS
   __bss_start = .;
   .bss (NOLOAD)       :
   {
-   *(.sbss) *(.scommon)
-   *(.dynbss)
-   *(.bss)
+   *(.bss*)
+   *(.sbss*)
    *(COMMON)
    . = ALIGN(4);
   }
diff --git a/board/eric/eric.c b/board/eric/eric.c
deleted file mode 100644 (file)
index d431204..0000000
+++ /dev/null
@@ -1,203 +0,0 @@
-/*
- * (C) Copyright 2001
- * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
- *
- * See file CREDITS for list of people who contributed to this
- * project.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
- */
-
-#include <common.h>
-#include <i2c.h>
-#include "eric.h"
-#include <asm/processor.h>
-
-#define PPC405GP_GPIO0_OR      0xef600700      /* GPIO Output */
-#define PPC405GP_GPIO0_TCR     0xef600704      /* GPIO Three-State Control */
-#define PPC405GP_GPIO0_ODR     0xef600718      /* GPIO Open Drain */
-#define PPC405GP_GPIO0_IR      0xef60071c      /* GPIO Input */
-
-void sdram_init(void);
-
-int board_early_init_f (void)
-{
-
-   /*-------------------------------------------------------------------------+
-   | Interrupt controller setup for the ERIC board.
-   | Note: IRQ 0-15  405GP internally generated; active high; level sensitive
-   |       IRQ 16    405GP internally generated; active low; level sensitive
-   |       IRQ 17-24 RESERVED
-   |       IRQ 25 (EXT IRQ 0) FLASH; active low; level sensitive
-   |       IRQ 26 (EXT IRQ 1) PHY ; active low; level sensitive
-   |       IRQ 27 (EXT IRQ 2) HOST FAIL, active low; level sensitive
-   |                          indicates NO Power or HOST RESET active
-   |                          check GPIO7 (HOST RESET#) and GPIO8 (NO Power#)
-   |                          for real IRQ source
-   |       IRQ 28 (EXT IRQ 3) HOST; active high; level sensitive
-   |       IRQ 29 (EXT IRQ 4) PCI INTC#; active low; level sensitive
-   |       IRQ 30 (EXT IRQ 5) PCI INTB#; active low; level sensitive
-   |       IRQ 31 (EXT IRQ 6) PCI INTA#; active low; level sensitive
-   |        -> IRQ6 Pin is NOW GPIO23 and can be activateted by setting
-   |           PPC405GP_GPIO0_TCR Bit 0 = 1 (driving the output as defined in PPC405GP_GPIO0_OR,
-   |           else tristate)
-   | Note for ERIC board:
-   |       An interrupt taken for the HOST (IRQ 28) indicates that
-   |       the HOST wrote a "1" to one of the following locations
-   |       - VGA CRT_GPIO0 (if R1216 is loaded)
-   |       - VGA CRT_GPIO1 (if R1217 is loaded)
-   |
-   +-------------------------------------------------------------------------*/
-
-       mtdcr (UIC0SR, 0xFFFFFFFF);     /* clear all ints */
-       mtdcr (UIC0ER, 0x00000000);     /* disable all ints */
-       mtdcr (UIC0CR, 0x00000000);     /* set all SMI to be non-critical */
-       mtdcr (UIC0PR, 0xFFFFFF88);     /* set int polarities; IRQ3 to 1 */
-       mtdcr (UIC0TR, 0x10000000);     /* set int trigger levels, UART0 is EDGE */
-       mtdcr (UIC0VCR, 0x00000001);    /* set vect base=0,INT0 highest priority */
-       mtdcr (UIC0SR, 0xFFFFFFFF);     /* clear all ints */
-
-       mtdcr (CPC0_CR0, 0x00002000);   /* set IRQ6 as GPIO23 to generate an interrupt request to the PCP2PCI bridge */
-
-       out32 (PPC405GP_GPIO0_OR, 0x60000000);  /*fixme is SMB_INT high or low active??; IRQ6 is GPIO23 output */
-       out32 (PPC405GP_GPIO0_TCR, 0x7E400000);
-
-       return 0;
-}
-
-
-/* ------------------------------------------------------------------------- */
-
-/*
- * Check Board Identity:
- */
-
-int checkboard (void)
-{
-       char *s = getenv ("serial#");
-       char *e;
-
-       puts ("Board: ");
-
-       if (!s || strncmp (s, "ERIC", 9)) {
-               puts ("### No HW ID - assuming ERIC");
-       } else {
-               for (e = s; *e; ++e) {
-                       if (*e == ' ')
-                               break;
-               }
-
-               for (; s < e; ++s) {
-                       putc (*s);
-               }
-       }
-
-
-       putc ('\n');
-
-       return (0);
-}
-
-
-/* ------------------------------------------------------------------------- */
-/* ------------------------------------------------------------------------- */
-/* ------------------------------------------------------------------------- */
-/*
-  initdram(int board_type) reads EEPROM via I2c. EEPROM contains all of
-  the necessary info for SDRAM controller configuration
-*/
-/* ------------------------------------------------------------------------- */
-/* ------------------------------------------------------------------------- */
-phys_size_t initdram (int board_type)
-{
-#ifndef CONFIG_ERIC
-       int i;
-       unsigned char datain[128];
-       int TotalSize;
-#endif
-
-       /*
-        * ToDo: Move the asm init routine sdram_init() to this C file,
-        * or even better use some common ppc4xx code available
-        * in arch/powerpc/cpu/ppc4xx
-        */
-       sdram_init();
-
-#ifdef CONFIG_ERIC
-       /*
-        * we have no EEPROM on ERIC
-        * so let init.S do the init job for SDRAM
-        * and simply return 32MByte here
-        */
-       return (CONFIG_SYS_SDRAM_SIZE * 1024 * 1024);
-#else
-
-       /* Read Serial Presence Detect Information */
-       for (i = 0; i < 128; i++)
-               datain[i] = 127;
-       i2c_send (SPD_EEPROM_ADDRESS, 0, 1, datain, 128);
-       printf ("\nReading DIMM...\n");
-#if 0
-       for (i = 0; i < 128; i++) {
-               printf ("%d=0x%x ", i, datain[i]);
-               if (((i + 1) % 10) == 0)
-                       printf ("\n");
-       }
-       printf ("\n");
-#endif
-
-  /*****************************/
-       /* Retrieve interesting data */
-  /*****************************/
-       /* size of a SDRAM bank */
-       /* Number of bytes per side / number of banks per side */
-       if (datain[31] == 0x08)
-               TotalSize = 32;
-       else if (datain[31] == 0x10)
-               TotalSize = 64;
-       else {
-               printf ("IIC READ ERROR!!!\n");
-               TotalSize = 32;
-       }
-
-       /* single-sided DIMM or double-sided DIMM? */
-       if (datain[5] != 1) {
-               /* double-sided DIMM => SDRAM banks 0..3 are valid */
-               printf ("double-sided DIMM\n");
-               TotalSize *= 2;
-       }
-       /* else single-sided DIMM => SDRAM bank 0 and bank 2 are valid */
-       else {
-               printf ("single-sided DIMM\n");
-       }
-
-
-       /* return size in Mb unit => *(1024*1024) */
-       return (TotalSize * 1024 * 1024);
-#endif
-}
-
-/* ------------------------------------------------------------------------- */
-
-int testdram (void)
-{
-       /* TODO: XXX XXX XXX */
-       printf ("test: xxx MB - ok\n");
-
-       return (0);
-}
-
-/* ------------------------------------------------------------------------- */
diff --git a/board/eric/eric.h b/board/eric/eric.h
deleted file mode 100644 (file)
index b50d521..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * (C) Copyright 2001
- * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
- *
- * See file CREDITS for list of people who contributed to this
- * project.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
- */
-
-/****************************************************************************
- * FLASH Memory Map as used by TQ Monitor:
- *
- *                          Start Address    Length
- * +-----------------------+ 0x4000_0000     Start of Flash -----------------
- * | MON8xx code           | 0x4000_0100     Reset Vector
- * +-----------------------+ 0x400?_????
- * | (unused)              |
- * +-----------------------+ 0x4001_FF00
- * | Ethernet Addresses    |                 0x78
- * +-----------------------+ 0x4001_FF78
- * | (Reserved for MON8xx) |                 0x44
- * +-----------------------+ 0x4001_FFBC
- * | Lock Address          |                 0x04
- * +-----------------------+ 0x4001_FFC0                     ^
- * | Hardware Information  |                 0x40            | MON8xx
- * +=======================+ 0x4002_0000 (sector border)    -----------------
- * | Autostart Header      |                                 | Applications
- * | ...                   |                                 v
- *
- *****************************************************************************/
diff --git a/board/eric/flash.c b/board/eric/flash.c
deleted file mode 100644 (file)
index 7459873..0000000
+++ /dev/null
@@ -1,1131 +0,0 @@
-/*
- * (C) Copyright 2001
- * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
- *
- * See file CREDITS for list of people who contributed to this
- * project.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
- */
-
-#include <common.h>
-#include <asm/ppc4xx.h>
-#include <asm/processor.h>
-
-flash_info_t   flash_info[CONFIG_SYS_MAX_FLASH_BANKS]; /* info for FLASH chips */
-
-
-#ifdef CONFIG_SYS_FLASH_16BIT
-#define FLASH_WORD_SIZE        unsigned short
-#define        FLASH_ID_MASK   0xFFFF
-#else
-#define FLASH_WORD_SIZE unsigned long
-#define        FLASH_ID_MASK   0xFFFFFFFF
-#endif
-
-/*-----------------------------------------------------------------------
- * Functions
- */
-/* stolen from esteem192e/flash.c */
-ulong flash_get_size (volatile FLASH_WORD_SIZE *addr, flash_info_t *info);
-
-#ifndef CONFIG_SYS_FLASH_16BIT
-static int write_word (flash_info_t *info, ulong dest, ulong data);
-#else
-static int write_short (flash_info_t *info, ulong dest, ushort data);
-#endif
-static void flash_get_offsets (ulong base, flash_info_t *info);
-
-
-/*-----------------------------------------------------------------------
- */
-
-unsigned long flash_init (void)
-{
-       unsigned long size_b0, size_b1;
-       int i;
-       uint pbcr;
-       unsigned long base_b0, base_b1;
-
-       /* Init: no FLASHes known */
-       for (i=0; i<CONFIG_SYS_MAX_FLASH_BANKS; ++i) {
-               flash_info[i].flash_id = FLASH_UNKNOWN;
-       }
-
-       /* Static FLASH Bank configuration here - FIXME XXX */
-
-       size_b0 = flash_get_size((volatile FLASH_WORD_SIZE *)FLASH_BASE0_PRELIM, &flash_info[0]);
-
-       if (flash_info[0].flash_id == FLASH_UNKNOWN) {
-               printf ("## Unknown FLASH on Bank 0 - Size = 0x%08lx = %ld MB\n",
-                       size_b0, size_b0<<20);
-       }
-
-       /* Only one bank */
-       if (CONFIG_SYS_MAX_FLASH_BANKS == 1)
-         {
-           /* Setup offsets */
-           flash_get_offsets (FLASH_BASE0_PRELIM, &flash_info[0]);
-
-           /* Monitor protection ON by default */
-#if 0      /* sand: */
-           (void)flash_protect(FLAG_PROTECT_SET,
-                               FLASH_BASE0_PRELIM-monitor_flash_len+size_b0,
-                               FLASH_BASE0_PRELIM-1+size_b0,
-                               &flash_info[0]);
-#else
-           (void)flash_protect(FLAG_PROTECT_SET,
-                               CONFIG_SYS_MONITOR_BASE,
-                               CONFIG_SYS_MONITOR_BASE+monitor_flash_len-1,
-                               &flash_info[0]);
-#endif
-           size_b1 = 0 ;
-           flash_info[0].size = size_b0;
-         }
-
-       /* 2 banks */
-       else
-         {
-           size_b1 = flash_get_size((volatile FLASH_WORD_SIZE *)FLASH_BASE1_PRELIM, &flash_info[1]);
-
-           /* Re-do sizing to get full correct info */
-
-           if (size_b1)
-             {
-               mtdcr(EBC0_CFGADDR, PB0CR);
-               pbcr = mfdcr(EBC0_CFGDATA);
-               mtdcr(EBC0_CFGADDR, PB0CR);
-               base_b1 = -size_b1;
-               pbcr = (pbcr & 0x0001ffff) | base_b1 | (((size_b1/1024/1024)-1)<<17);
-               mtdcr(EBC0_CFGDATA, pbcr);
-               /*          printf("PB1CR = %x\n", pbcr); */
-             }
-
-           if (size_b0)
-             {
-               mtdcr(EBC0_CFGADDR, PB1CR);
-               pbcr = mfdcr(EBC0_CFGDATA);
-               mtdcr(EBC0_CFGADDR, PB1CR);
-               base_b0 = base_b1 - size_b0;
-               pbcr = (pbcr & 0x0001ffff) | base_b0 | (((size_b0/1024/1024)-1)<<17);
-               mtdcr(EBC0_CFGDATA, pbcr);
-               /*            printf("PB0CR = %x\n", pbcr); */
-             }
-
-           size_b0 = flash_get_size((volatile FLASH_WORD_SIZE *)base_b0, &flash_info[0]);
-
-           flash_get_offsets (base_b0, &flash_info[0]);
-
-           /* monitor protection ON by default */
-#if 0      /* sand: */
-           (void)flash_protect(FLAG_PROTECT_SET,
-                               FLASH_BASE0_PRELIM-monitor_flash_len+size_b0,
-                               FLASH_BASE0_PRELIM-1+size_b0,
-                               &flash_info[0]);
-#else
-           (void)flash_protect(FLAG_PROTECT_SET,
-                               CONFIG_SYS_MONITOR_BASE,
-                               CONFIG_SYS_MONITOR_BASE+monitor_flash_len-1,
-                               &flash_info[0]);
-#endif
-
-           if (size_b1) {
-             /* Re-do sizing to get full correct info */
-             size_b1 = flash_get_size((volatile FLASH_WORD_SIZE *)base_b1, &flash_info[1]);
-
-             flash_get_offsets (base_b1, &flash_info[1]);
-
-             /* monitor protection ON by default */
-             (void)flash_protect(FLAG_PROTECT_SET,
-                                 base_b1+size_b1-monitor_flash_len,
-                                 base_b1+size_b1-1,
-                                 &flash_info[1]);
-             /* monitor protection OFF by default (one is enough) */
-             (void)flash_protect(FLAG_PROTECT_CLEAR,
-                                 base_b0+size_b0-monitor_flash_len,
-                                 base_b0+size_b0-1,
-                                 &flash_info[0]);
-           } else {
-             flash_info[1].flash_id = FLASH_UNKNOWN;
-             flash_info[1].sector_count = -1;
-           }
-
-           flash_info[0].size = size_b0;
-           flash_info[1].size = size_b1;
-         }/* else 2 banks */
-       return (size_b0 + size_b1);
-}
-
-
-/*-----------------------------------------------------------------------
- */
-
-static void flash_get_offsets (ulong base, flash_info_t *info)
-{
-       int i;
-
-       /* set up sector start adress table */
-       if ((info->flash_id & FLASH_TYPEMASK) == FLASH_28F320J3A ||
-           (info->flash_id & FLASH_TYPEMASK) == FLASH_28F640J3A ||
-           (info->flash_id & FLASH_TYPEMASK) == FLASH_28F128J3A) {
-           for (i = 0; i < info->sector_count; i++) {
-               info->start[i] = base + (i * info->size/info->sector_count);
-           }
-       } else if (info->flash_id & FLASH_BTYPE) {
-            if ((info->flash_id & FLASH_VENDMASK) == FLASH_MAN_INTEL) {
-
-#ifndef CONFIG_SYS_FLASH_16BIT
-               /* set sector offsets for bottom boot block type        */
-               info->start[0] = base + 0x00000000;
-               info->start[1] = base + 0x00004000;
-               info->start[2] = base + 0x00008000;
-               info->start[3] = base + 0x0000C000;
-               info->start[4] = base + 0x00010000;
-               info->start[5] = base + 0x00014000;
-               info->start[6] = base + 0x00018000;
-               info->start[7] = base + 0x0001C000;
-               for (i = 8; i < info->sector_count; i++) {
-                       info->start[i] = base + (i * 0x00020000) - 0x000E0000;
-               }
-              }
-            else {
-               /* set sector offsets for bottom boot block type        */
-               info->start[0] = base + 0x00000000;
-               info->start[1] = base + 0x00008000;
-               info->start[2] = base + 0x0000C000;
-               info->start[3] = base + 0x00010000;
-               for (i = 4; i < info->sector_count; i++) {
-                       info->start[i] = base + (i * 0x00020000) - 0x00060000;
-               }
-              }
-#else
-               /* set sector offsets for bottom boot block type        */
-               info->start[0] = base + 0x00000000;
-               info->start[1] = base + 0x00002000;
-               info->start[2] = base + 0x00004000;
-               info->start[3] = base + 0x00006000;
-               info->start[4] = base + 0x00008000;
-               info->start[5] = base + 0x0000A000;
-               info->start[6] = base + 0x0000C000;
-               info->start[7] = base + 0x0000E000;
-               for (i = 8; i < info->sector_count; i++) {
-                       info->start[i] = base + (i * 0x00010000) - 0x00070000;
-               }
-              }
-            else {
-               /* set sector offsets for bottom boot block type        */
-               info->start[0] = base + 0x00000000;
-               info->start[1] = base + 0x00004000;
-               info->start[2] = base + 0x00006000;
-               info->start[3] = base + 0x00008000;
-               for (i = 4; i < info->sector_count; i++) {
-                       info->start[i] = base + (i * 0x00010000) - 0x00030000;
-               }
-              }
-#endif
-       } else {
-               /* set sector offsets for top boot block type           */
-               i = info->sector_count - 1;
-            if ((info->flash_id & FLASH_VENDMASK) == FLASH_MAN_INTEL) {
-
-#ifndef CONFIG_SYS_FLASH_16BIT
-               info->start[i--] = base + info->size - 0x00004000;
-               info->start[i--] = base + info->size - 0x00008000;
-               info->start[i--] = base + info->size - 0x0000C000;
-               info->start[i--] = base + info->size - 0x00010000;
-               info->start[i--] = base + info->size - 0x00014000;
-               info->start[i--] = base + info->size - 0x00018000;
-               info->start[i--] = base + info->size - 0x0001C000;
-               for (; i >= 0; i--) {
-                       info->start[i] = base + i * 0x00020000;
-               }
-
-              } else {
-
-               info->start[i--] = base + info->size - 0x00008000;
-               info->start[i--] = base + info->size - 0x0000C000;
-               info->start[i--] = base + info->size - 0x00010000;
-               for (; i >= 0; i--) {
-                       info->start[i] = base + i * 0x00020000;
-               }
-              }
-#else
-               info->start[i--] = base + info->size - 0x00002000;
-               info->start[i--] = base + info->size - 0x00004000;
-               info->start[i--] = base + info->size - 0x00006000;
-               info->start[i--] = base + info->size - 0x00008000;
-               info->start[i--] = base + info->size - 0x0000A000;
-               info->start[i--] = base + info->size - 0x0000C000;
-               info->start[i--] = base + info->size - 0x0000E000;
-               for (; i >= 0; i--) {
-                       info->start[i] = base + i * 0x00010000;
-               }
-
-              } else {
-
-               info->start[i--] = base + info->size - 0x00004000;
-               info->start[i--] = base + info->size - 0x00006000;
-               info->start[i--] = base + info->size - 0x00008000;
-               for (; i >= 0; i--) {
-                       info->start[i] = base + i * 0x00010000;
-               }
-              }
-#endif
-       }
-
-
-}
-
-/*-----------------------------------------------------------------------
- */
-
-void flash_print_info  (flash_info_t *info)
-{
-       int i;
-       uchar *boottype;
-       uchar botboot[]=", bottom boot sect)\n";
-       uchar topboot[]=", top boot sector)\n";
-
-       if (info->flash_id == FLASH_UNKNOWN) {
-               printf ("missing or unknown FLASH type\n");
-               return;
-       }
-
-       switch (info->flash_id & FLASH_VENDMASK) {
-       case FLASH_MAN_AMD:     printf ("AMD ");                break;
-       case FLASH_MAN_FUJ:     printf ("FUJITSU ");            break;
-       case FLASH_MAN_SST:     printf ("SST ");                break;
-       case FLASH_MAN_STM:     printf ("STM ");                break;
-       case FLASH_MAN_INTEL:   printf ("INTEL ");              break;
-       default:                printf ("Unknown Vendor ");     break;
-       }
-
-       if (info->flash_id & 0x0001 ) {
-       boottype = botboot;
-       } else {
-       boottype = topboot;
-       }
-
-       switch (info->flash_id & FLASH_TYPEMASK) {
-       case FLASH_AM400B:      printf ("AM29LV400B (4 Mbit%s",boottype);
-                               break;
-       case FLASH_AM400T:      printf ("AM29LV400T (4 Mbit%s",boottype);
-                               break;
-       case FLASH_AM800B:      printf ("AM29LV800B (8 Mbit%s",boottype);
-                               break;
-       case FLASH_AM800T:      printf ("AM29LV800T (8 Mbit%s",boottype);
-                               break;
-       case FLASH_AM160B:      printf ("AM29LV160B (16 Mbit%s",boottype);
-                               break;
-       case FLASH_AM160T:      printf ("AM29LV160T (16 Mbit%s",boottype);
-                               break;
-       case FLASH_AM320B:      printf ("AM29LV320B (32 Mbit%s",boottype);
-                               break;
-       case FLASH_AM320T:      printf ("AM29LV320T (32 Mbit%s",boottype);
-                               break;
-       case FLASH_INTEL800B:   printf ("INTEL28F800B (8 Mbit%s",boottype);
-                               break;
-       case FLASH_INTEL800T:   printf ("INTEL28F800T (8 Mbit%s",boottype);
-                               break;
-       case FLASH_INTEL160B:   printf ("INTEL28F160B (16 Mbit%s",boottype);
-                               break;
-       case FLASH_INTEL160T:   printf ("INTEL28F160T (16 Mbit%s",boottype);
-                               break;
-       case FLASH_INTEL320B:   printf ("INTEL28F320B (32 Mbit%s",boottype);
-                               break;
-       case FLASH_INTEL320T:   printf ("INTEL28F320T (32 Mbit%s",boottype);
-                               break;
-
-#if 0 /* enable when devices are available */
-
-       case FLASH_INTEL640B:   printf ("INTEL28F640B (64 Mbit%s",boottype);
-                               break;
-       case FLASH_INTEL640T:   printf ("INTEL28F640T (64 Mbit%s",boottype);
-                               break;
-#endif
-       case FLASH_28F320J3A:   printf ("INTEL28F320J3A (32 Mbit%s",boottype);
-                               break;
-       case FLASH_28F640J3A:   printf ("INTEL28F640J3A (64 Mbit%s",boottype);
-                               break;
-       case FLASH_28F128J3A:   printf ("INTEL28F128J3A (128 Mbit%s",boottype);
-                               break;
-
-       default:                printf ("Unknown Chip Type\n");
-                               break;
-       }
-
-       printf ("  Size: %ld MB in %d Sectors\n",
-               info->size >> 20, info->sector_count);
-
-       printf ("  Sector Start Addresses:");
-       for (i=0; i<info->sector_count; ++i) {
-               if ((i % 5) == 0)
-                       printf ("\n   ");
-               printf (" %08lX%s",
-                       info->start[i],
-                       info->protect[i] ? " (RO)" : "     "
-               );
-       }
-       printf ("\n");
-       return;
-}
-
-
-/*-----------------------------------------------------------------------
- */
-
-
-/*-----------------------------------------------------------------------
- */
-
-/*
- * The following code cannot be run from FLASH!
- */
-ulong flash_get_size (volatile FLASH_WORD_SIZE *addr, flash_info_t *info)
-{
-       short i;
-       ulong base = (ulong)addr;
-       FLASH_WORD_SIZE value;
-
-       /* Write auto select command: read Manufacturer ID */
-
-
-#ifndef CONFIG_SYS_FLASH_16BIT
-
-       /*
-        * Note: if it is an AMD flash and the word at addr[0000]
-        * is 0x00890089 this routine will think it is an Intel
-        * flash device and may(most likely) cause trouble.
-        */
-
-       addr[0x0000] = 0x00900090;
-       if(addr[0x0000] != 0x00890089){
-               addr[0x0555] = 0x00AA00AA;
-               addr[0x02AA] = 0x00550055;
-               addr[0x0555] = 0x00900090;
-#else
-
-       /*
-        * Note: if it is an AMD flash and the word at addr[0000]
-        * is 0x0089 this routine will think it is an Intel
-        * flash device and may(most likely) cause trouble.
-        */
-
-       addr[0x0000] = 0x0090;
-
-       if(addr[0x0000] != 0x0089){
-               addr[0x0555] = 0x00AA;
-               addr[0x02AA] = 0x0055;
-               addr[0x0555] = 0x0090;
-#endif
-       }
-       value = addr[0];
-
-       switch (value) {
-       case (AMD_MANUFACT & FLASH_ID_MASK):
-               info->flash_id = FLASH_MAN_AMD;
-               break;
-       case (FUJ_MANUFACT & FLASH_ID_MASK):
-               info->flash_id = FLASH_MAN_FUJ;
-               break;
-       case (STM_MANUFACT & FLASH_ID_MASK):
-               info->flash_id = FLASH_MAN_STM;
-               break;
-       case (SST_MANUFACT & FLASH_ID_MASK):
-               info->flash_id = FLASH_MAN_SST;
-               break;
-       case (INTEL_MANUFACT & FLASH_ID_MASK):
-               info->flash_id = FLASH_MAN_INTEL;
-               break;
-       default:
-               info->flash_id = FLASH_UNKNOWN;
-               info->sector_count = 0;
-               info->size = 0;
-               return (0);                     /* no or unknown flash  */
-
-       }
-
-       value = addr[1];                        /* device ID            */
-
-       switch (value) {
-
-       case (AMD_ID_LV400T & FLASH_ID_MASK):
-               info->flash_id += FLASH_AM400T;
-               info->sector_count = 11;
-               info->size = 0x00100000;
-               break;                          /* => 1 MB              */
-
-       case (AMD_ID_LV400B & FLASH_ID_MASK):
-               info->flash_id += FLASH_AM400B;
-               info->sector_count = 11;
-               info->size = 0x00100000;
-               break;                          /* => 1 MB              */
-
-       case (AMD_ID_LV800T & FLASH_ID_MASK):
-               info->flash_id += FLASH_AM800T;
-               info->sector_count = 19;
-               info->size = 0x00200000;
-               break;                          /* => 2 MB              */
-
-       case (AMD_ID_LV800B & FLASH_ID_MASK):
-               info->flash_id += FLASH_AM800B;
-               info->sector_count = 19;
-               info->size = 0x00200000;
-               break;                          /* => 2 MB              */
-
-       case (AMD_ID_LV160T & FLASH_ID_MASK):
-               info->flash_id += FLASH_AM160T;
-               info->sector_count = 35;
-               info->size = 0x00400000;
-               break;                          /* => 4 MB              */
-
-       case (AMD_ID_LV160B & FLASH_ID_MASK):
-               info->flash_id += FLASH_AM160B;
-               info->sector_count = 35;
-               info->size = 0x00400000;
-               break;                          /* => 4 MB              */
-#if 0  /* enable when device IDs are available */
-       case (AMD_ID_LV320T & FLASH_ID_MASK):
-               info->flash_id += FLASH_AM320T;
-               info->sector_count = 67;
-               info->size = 0x00800000;
-               break;                          /* => 8 MB              */
-
-       case (AMD_ID_LV320B & FLASH_ID_MASK):
-               info->flash_id += FLASH_AM320B;
-               info->sector_count = 67;
-               info->size = 0x00800000;
-               break;                          /* => 8 MB              */
-#endif
-
-       case (INTEL_ID_28F800B3T & FLASH_ID_MASK):
-               info->flash_id += FLASH_INTEL800T;
-               info->sector_count = 23;
-               info->size = 0x00200000;
-               break;                          /* => 2 MB              */
-
-       case (INTEL_ID_28F800B3B & FLASH_ID_MASK):
-               info->flash_id += FLASH_INTEL800B;
-               info->sector_count = 23;
-               info->size = 0x00200000;
-               break;                          /* => 2 MB              */
-
-       case (INTEL_ID_28F160B3T & FLASH_ID_MASK):
-               info->flash_id += FLASH_INTEL160T;
-               info->sector_count = 39;
-               info->size = 0x00400000;
-               break;                          /* => 4 MB              */
-
-       case (INTEL_ID_28F160B3B & FLASH_ID_MASK):
-               info->flash_id += FLASH_INTEL160B;
-               info->sector_count = 39;
-               info->size = 0x00400000;
-               break;                          /* => 4 MB              */
-
-       case (INTEL_ID_28F320B3T & FLASH_ID_MASK):
-               info->flash_id += FLASH_INTEL320T;
-               info->sector_count = 71;
-               info->size = 0x00800000;
-               break;                          /* => 8 MB              */
-
-       case (INTEL_ID_28F320B3B & FLASH_ID_MASK):
-               info->flash_id += FLASH_AM320B;
-               info->sector_count = 71;
-               info->size = 0x00800000;
-               break;                          /* => 8 MB              */
-
-#if 0 /* enable when devices are available */
-       case (INTEL_ID_28F320B3T & FLASH_ID_MASK):
-               info->flash_id += FLASH_INTEL320T;
-               info->sector_count = 135;
-               info->size = 0x01000000;
-               break;                          /* => 16 MB             */
-
-       case (INTEL_ID_28F320B3B & FLASH_ID_MASK):
-               info->flash_id += FLASH_AM320B;
-               info->sector_count = 135;
-               info->size = 0x01000000;
-               break;                          /* => 16 MB             */
-#endif
-       case (INTEL_ID_28F320J3A & FLASH_ID_MASK):
-               info->flash_id += FLASH_28F320J3A;
-               info->sector_count = 32;
-               info->size = 0x00400000;
-               break;                          /* => 32 MBit   */
-       case (INTEL_ID_28F640J3A & FLASH_ID_MASK):
-               info->flash_id += FLASH_28F640J3A;
-               info->sector_count = 64;
-               info->size = 0x00800000;
-               break;                          /* => 64 MBit   */
-       case (INTEL_ID_28F128J3A & FLASH_ID_MASK):
-               info->flash_id += FLASH_28F128J3A;
-               info->sector_count = 128;
-               info->size = 0x01000000;
-               break;                          /* => 128 MBit  */
-
-       default:
-               /* FIXME*/
-               info->flash_id = FLASH_UNKNOWN;
-               return (0);                     /* => no or unknown flash */
-       }
-
-       flash_get_offsets(base, info);
-
-       /* check for protected sectors */
-       for (i = 0; i < info->sector_count; i++) {
-               /* read sector protection at sector address, (A7 .. A0) = 0x02 */
-               /* D0 = 1 if protected */
-               addr = (volatile FLASH_WORD_SIZE *)(info->start[i]);
-               info->protect[i] = addr[2] & 1;
-       }
-
-       /*
-        * Prevent writes to uninitialized FLASH.
-        */
-       if (info->flash_id != FLASH_UNKNOWN) {
-               addr = (volatile FLASH_WORD_SIZE *)info->start[0];
-               if( (info->flash_id & 0xFF00) == FLASH_MAN_INTEL){
-                  *addr = (0x00F000F0 & FLASH_ID_MASK);        /* reset bank */
-               } else {
-                  *addr = (0x00FF00FF & FLASH_ID_MASK);        /* reset bank */
-               }
-       }
-
-       return (info->size);
-}
-
-
-/*-----------------------------------------------------------------------
- */
-
-int    flash_erase (flash_info_t *info, int s_first, int s_last)
-{
-
-       volatile FLASH_WORD_SIZE *addr=(volatile FLASH_WORD_SIZE*)(info->start[0]);
-       int flag, prot, sect, l_sect, barf;
-       ulong start, now, last;
-       int rcode = 0;
-
-       if ((s_first < 0) || (s_first > s_last)) {
-               if (info->flash_id == FLASH_UNKNOWN) {
-                       printf ("- missing\n");
-               } else {
-                       printf ("- no sectors to erase\n");
-               }
-               return 1;
-       }
-
-       if ((info->flash_id == FLASH_UNKNOWN) ||
-           ((info->flash_id > FLASH_AMD_COMP) &&
-            ( (info->flash_id & FLASH_VENDMASK) != FLASH_MAN_INTEL ) ) ){
-               printf ("Can't erase unknown flash type - aborted\n");
-               return 1;
-       }
-
-       prot = 0;
-       for (sect=s_first; sect<=s_last; ++sect) {
-               if (info->protect[sect]) {
-                       prot++;
-               }
-       }
-
-       if (prot) {
-               printf ("- Warning: %d protected sectors will not be erased!\n",
-                       prot);
-       } else {
-               printf ("\n");
-       }
-
-       l_sect = -1;
-
-       /* Disable interrupts which might cause a timeout here */
-       flag = disable_interrupts();
-    if(info->flash_id < FLASH_AMD_COMP) {
-#ifndef CONFIG_SYS_FLASH_16BIT
-       addr[0x0555] = 0x00AA00AA;
-       addr[0x02AA] = 0x00550055;
-       addr[0x0555] = 0x00800080;
-       addr[0x0555] = 0x00AA00AA;
-       addr[0x02AA] = 0x00550055;
-#else
-       addr[0x0555] = 0x00AA;
-       addr[0x02AA] = 0x0055;
-       addr[0x0555] = 0x0080;
-       addr[0x0555] = 0x00AA;
-       addr[0x02AA] = 0x0055;
-#endif
-       /* Start erase on unprotected sectors */
-       for (sect = s_first; sect<=s_last; sect++) {
-               if (info->protect[sect] == 0) { /* not protected */
-                       addr = (volatile FLASH_WORD_SIZE *)(info->start[sect]);
-                       addr[0] = (0x00300030 & FLASH_ID_MASK);
-                       l_sect = sect;
-               }
-       }
-
-       /* re-enable interrupts if necessary */
-       if (flag)
-               enable_interrupts();
-
-       /* wait at least 80us - let's wait 1 ms */
-       udelay (1000);
-
-       /*
-        * We wait for the last triggered sector
-        */
-       if (l_sect < 0)
-               goto DONE;
-
-       start = get_timer (0);
-       last  = start;
-       addr = (volatile FLASH_WORD_SIZE*)(info->start[l_sect]);
-       while ((addr[0] & (0x00800080&FLASH_ID_MASK)) !=
-                         (0x00800080&FLASH_ID_MASK)  )
-       {
-               if ((now = get_timer(start)) > CONFIG_SYS_FLASH_ERASE_TOUT) {
-                       printf ("Timeout\n");
-                       return 1;
-               }
-               /* show that we're waiting */
-               if ((now - last) > 1000) {      /* every second */
-                       serial_putc ('.');
-                       last = now;
-               }
-       }
-
-DONE:
-       /* reset to read mode */
-       addr = (volatile FLASH_WORD_SIZE *)info->start[0];
-       addr[0] = (0x00F000F0 & FLASH_ID_MASK); /* reset bank */
-    } else {
-
-
-       for (sect = s_first; sect<=s_last; sect++) {
-               if (info->protect[sect] == 0) { /* not protected */
-                       barf = 0;
-#ifndef CONFIG_SYS_FLASH_16BIT
-                       addr = (vu_long*)(info->start[sect]);
-                       addr[0] = 0x00200020;
-                       addr[0] = 0x00D000D0;
-                       while(!(addr[0] & 0x00800080)); /* wait for error or finish */
-                       if( addr[0] & 0x003A003A) {     /* check for error */
-                               barf = addr[0] & 0x003A0000;
-                               if( barf ) {
-                                       barf >>=16;
-                               } else {
-                                       barf = addr[0] & 0x0000003A;
-                               }
-                       }
-#else
-                       addr = (vu_short*)(info->start[sect]);
-                       addr[0] = 0x0020;
-                       addr[0] = 0x00D0;
-                       while(!(addr[0] & 0x0080));     /* wait for error or finish */
-                       if( addr[0] & 0x003A)   /* check for error */
-                               barf = addr[0] & 0x003A;
-#endif
-                       if(barf) {
-                               printf("\nFlash error in sector at %lx\n",(unsigned long)addr);
-                               if(barf & 0x0002) printf("Block locked, not erased.\n");
-                               if((barf & 0x0030) == 0x0030)
-                                       printf("Command Sequence error.\n");
-                               if((barf & 0x0030) == 0x0020)
-                                       printf("Block Erase error.\n");
-                               if(barf & 0x0008) printf("Vpp Low error.\n");
-                               rcode = 1;
-                       } else printf(".");
-                       l_sect = sect;
-               }
-       addr = (volatile FLASH_WORD_SIZE *)info->start[0];
-       addr[0] = (0x00FF00FF & FLASH_ID_MASK); /* reset bank */
-
-       }
-
-    }
-       printf (" done\n");
-       return rcode;
-}
-
-/*-----------------------------------------------------------------------
- */
-
-/*flash_info_t *addr2info (ulong addr)
-{
-       flash_info_t *info;
-       int i;
-
-       for (i=0, info=&flash_info[0]; i<CONFIG_SYS_MAX_FLASH_BANKS; ++i, ++info) {
-               if ((addr >= info->start[0]) &&
-                   (addr < (info->start[0] + info->size)) ) {
-                       return (info);
-               }
-       }
-
-       return (NULL);
-}
-*/
-/*-----------------------------------------------------------------------
- * Copy memory to flash.
- * Make sure all target addresses are within Flash bounds,
- * and no protected sectors are hit.
- * Returns:
- * 0 - OK
- * 1 - write timeout
- * 2 - Flash not erased
- * 4 - target range includes protected sectors
- * 8 - target address not in Flash memory
- */
-
-/*int flash_write (uchar *src, ulong addr, ulong cnt)
-{
-       int i;
-       ulong         end        = addr + cnt - 1;
-       flash_info_t *info_first = addr2info (addr);
-       flash_info_t *info_last  = addr2info (end );
-       flash_info_t *info;
-
-       if (cnt == 0) {
-               return (0);
-       }
-
-       if (!info_first || !info_last) {
-               return (8);
-       }
-
-       for (info = info_first; info <= info_last; ++info) {
-               ulong b_end = info->start[0] + info->size;*/    /* bank end addr */
-/*             short s_end = info->sector_count - 1;
-               for (i=0; i<info->sector_count; ++i) {
-                       ulong e_addr = (i == s_end) ? b_end : info->start[i + 1];
-
-                       if ((end >= info->start[i]) && (addr < e_addr) &&
-                           (info->protect[i] != 0) ) {
-                               return (4);
-                       }
-               }
-       }
-
-*/     /* finally write data to flash */
-/*     for (info = info_first; info <= info_last && cnt>0; ++info) {
-               ulong len;
-
-               len = info->start[0] + info->size - addr;
-               if (len > cnt)
-                       len = cnt;
-               if ((i = write_buff(info, src, addr, len)) != 0) {
-                       return (i);
-               }
-               cnt  -= len;
-               addr += len;
-               src  += len;
-       }
-       return (0);
-}
-*/
-/*-----------------------------------------------------------------------
- * Copy memory to flash, returns:
- * 0 - OK
- * 1 - write timeout
- * 2 - Flash not erased
- */
-
-int write_buff (flash_info_t *info, uchar *src, ulong addr, ulong cnt)
-{
-#ifndef CONFIG_SYS_FLASH_16BIT
-       ulong cp, wp, data;
-       int l;
-#else
-       ulong cp, wp;
-       ushort data;
-#endif
-       int i, rc;
-
-#ifndef CONFIG_SYS_FLASH_16BIT
-
-
-       wp = (addr & ~3);       /* get lower word aligned address */
-
-       /*
-        * handle unaligned start bytes
-        */
-       if ((l = addr - wp) != 0) {
-               data = 0;
-               for (i=0, cp=wp; i<l; ++i, ++cp) {
-                       data = (data << 8) | (*(uchar *)cp);
-               }
-               for (; i<4 && cnt>0; ++i) {
-                       data = (data << 8) | *src++;
-                       --cnt;
-                       ++cp;
-               }
-               for (; cnt==0 && i<4; ++i, ++cp) {
-                       data = (data << 8) | (*(uchar *)cp);
-               }
-
-               if ((rc = write_word(info, wp, data)) != 0) {
-                       return (rc);
-               }
-               wp += 4;
-       }
-
-       /*
-        * handle word aligned part
-        */
-       while (cnt >= 4) {
-               data = 0;
-               for (i=0; i<4; ++i) {
-                       data = (data << 8) | *src++;
-               }
-               if ((rc = write_word(info, wp, data)) != 0) {
-                       return (rc);
-               }
-               wp  += 4;
-               cnt -= 4;
-       }
-
-       if (cnt == 0) {
-               return (0);
-       }
-
-       /*
-        * handle unaligned tail bytes
-        */
-       data = 0;
-       for (i=0, cp=wp; i<4 && cnt>0; ++i, ++cp) {
-               data = (data << 8) | *src++;
-               --cnt;
-       }
-       for (; i<4; ++i, ++cp) {
-               data = (data << 8) | (*(uchar *)cp);
-       }
-
-       return (write_word(info, wp, data));
-
-#else
-       wp = (addr & ~1);       /* get lower word aligned address */
-
-       /*
-        * handle unaligned start byte
-        */
-       if (addr - wp) {
-               data = 0;
-               data = (data << 8) | *src++;
-               --cnt;
-               if ((rc = write_short(info, wp, data)) != 0) {
-                       return (rc);
-               }
-               wp += 2;
-       }
-
-       /*
-        * handle word aligned part
-        */
-/*     l = 0; used for debuging  */
-       while (cnt >= 2) {
-               data = 0;
-               for (i=0; i<2; ++i) {
-                       data = (data << 8) | *src++;
-               }
-
-/*             if(!l){
-                       printf("%x",data);
-                       l = 1;
-               }  used for debuging */
-
-               if ((rc = write_short(info, wp, data)) != 0) {
-                       return (rc);
-               }
-               wp  += 2;
-               cnt -= 2;
-       }
-
-       if (cnt == 0) {
-               return (0);
-       }
-
-       /*
-        * handle unaligned tail bytes
-        */
-       data = 0;
-       for (i=0, cp=wp; i<2 && cnt>0; ++i, ++cp) {
-               data = (data << 8) | *src++;
-               --cnt;
-       }
-       for (; i<2; ++i, ++cp) {
-               data = (data << 8) | (*(uchar *)cp);
-       }
-
-       return (write_short(info, wp, data));
-
-
-#endif
-}
-
-/*-----------------------------------------------------------------------
- * Write a word to Flash, returns:
- * 0 - OK
- * 1 - write timeout
- * 2 - Flash not erased
- */
-#ifndef CONFIG_SYS_FLASH_16BIT
-static int write_word (flash_info_t * info, ulong dest, ulong data)
-{
-       vu_long *addr = (vu_long *) (info->start[0]);
-       ulong start, barf;
-       int flag;
-
-
-       /* Check if Flash is (sufficiently) erased */
-       if ((*((vu_long *) dest) & data) != data) {
-               return (2);
-       }
-
-       /* Disable interrupts which might cause a timeout here */
-       flag = disable_interrupts ();
-
-       if (info->flash_id > FLASH_AMD_COMP) {
-               /* AMD stuff */
-               addr[0x0555] = 0x00AA00AA;
-               addr[0x02AA] = 0x00550055;
-               addr[0x0555] = 0x00A000A0;
-       } else {
-               /* intel stuff */
-               *addr = 0x00400040;
-       }
-       *((vu_long *) dest) = data;
-
-       /* re-enable interrupts if necessary */
-       if (flag)
-               enable_interrupts ();
-
-       /* data polling for D7 */
-       start = get_timer (0);
-
-       if (info->flash_id > FLASH_AMD_COMP) {
-
-               while ((*((vu_long *) dest) & 0x00800080) !=
-                      (data & 0x00800080)) {
-                       if (get_timer (start) > CONFIG_SYS_FLASH_WRITE_TOUT) {
-                               return (1);
-                       }
-               }
-
-       } else {
-
-               while (!(addr[0] & 0x00800080)) {       /* wait for error or finish */
-                       if (get_timer (start) > CONFIG_SYS_FLASH_WRITE_TOUT) {
-                               return (1);
-                       }
-
-                       if (addr[0] & 0x003A003A) {     /* check for error */
-                               barf = addr[0] & 0x003A0000;
-                               if (barf) {
-                                       barf >>= 16;
-                               } else {
-                                       barf = addr[0] & 0x0000003A;
-                               }
-                               printf ("\nFlash write error at address %lx\n",
-                                       (unsigned long) dest);
-                               if (barf & 0x0002)
-                                       printf ("Block locked, not erased.\n");
-                               if (barf & 0x0010)
-                                       printf ("Programming error.\n");
-                               if (barf & 0x0008)
-                                       printf ("Vpp Low error.\n");
-                               return (2);
-                       }
-
-
-               }
-
-               return (0);
-
-       }
-
-#else
-
-static int write_short (flash_info_t * info, ulong dest, ushort data)
-{
-       vu_short *addr = (vu_short *) (info->start[0]);
-       ulong start, barf;
-       int flag;
-
-       /* Check if Flash is (sufficiently) erased */
-       if ((*((vu_short *) dest) & data) != data) {
-               return (2);
-       }
-
-       /* Disable interrupts which might cause a timeout here */
-       flag = disable_interrupts ();
-
-       if (info->flash_id < FLASH_AMD_COMP) {
-               /* AMD stuff */
-               addr[0x0555] = 0x00AA;
-               addr[0x02AA] = 0x0055;
-               addr[0x0555] = 0x00A0;
-       } else {
-               /* intel stuff */
-               *addr = 0x00D0;
-               *addr = 0x0040;
-       }
-       *((vu_short *) dest) = data;
-
-       /* re-enable interrupts if necessary */
-       if (flag)
-               enable_interrupts ();
-
-       /* data polling for D7 */
-       start = get_timer (0);
-
-       if (info->flash_id < FLASH_AMD_COMP) {
-               /* AMD stuff */
-               while ((*((vu_short *) dest) & 0x0080) != (data & 0x0080)) {
-                       if (get_timer (start) > CONFIG_SYS_FLASH_WRITE_TOUT) {
-                               return (1);
-                       }
-               }
-
-       } else {
-               /* intel stuff */
-               while (!(addr[0] & 0x0080)) {   /* wait for error or finish */
-                       if (get_timer (start) > CONFIG_SYS_FLASH_WRITE_TOUT)
-                               return (1);
-               }
-
-               if (addr[0] & 0x003A) { /* check for error */
-                       barf = addr[0] & 0x003A;
-                       printf ("\nFlash write error at address %lx\n",
-                               (unsigned long) dest);
-                       if (barf & 0x0002)
-                               printf ("Block locked, not erased.\n");
-                       if (barf & 0x0010)
-                               printf ("Programming error.\n");
-                       if (barf & 0x0008)
-                               printf ("Vpp Low error.\n");
-                       return (2);
-               }
-               *addr = 0x00B0;
-               *addr = 0x0070;
-               while (!(addr[0] & 0x0080)) {   /* wait for error or finish */
-                       if (get_timer (start) > CONFIG_SYS_FLASH_WRITE_TOUT)
-                               return (1);
-               }
-               *addr = 0x00FF;
-       }
-       return (0);
-}
-#endif
-/*-----------------------------------------------------------------------*/
diff --git a/board/eric/init.S b/board/eric/init.S
deleted file mode 100644 (file)
index 1902241..0000000
+++ /dev/null
@@ -1,359 +0,0 @@
-/*------------------------------------------------------------------------------+ */
-/* */
-/*       This source code is dual-licensed.  You may use it under the terms */
-/*       of the GNU General Public License version 2, or under the license  */
-/*       below.                                                             */
-/*                                                                          */
-/*       This source code has been made available to you by IBM on an AS-IS */
-/*       basis.  Anyone receiving this source is licensed under IBM */
-/*       copyrights to use it in any way he or she deems fit, including */
-/*       copying it, modifying it, compiling it, and redistributing it either */
-/*       with or without modifications.  No license under IBM patents or */
-/*       patent applications is to be implied by the copyright license. */
-/* */
-/*       Any user of this software should understand that IBM cannot provide */
-/*       technical support for this software and will not be responsible for */
-/*       any consequences resulting from the use of this software. */
-/* */
-/*       Any person who transfers this source code or any derivative work */
-/*       must include the IBM copyright notice, this paragraph, and the */
-/*       preceding two paragraphs in the transferred software. */
-/* */
-/*       COPYRIGHT   I B M   CORPORATION 1995 */
-/*       LICENSED MATERIAL  -  PROGRAM PROPERTY OF I B M */
-/*------------------------------------------------------------------------------- */
-
-/*----------------------------------------------------------------------------- */
-/* Function:     ext_bus_cntlr_init */
-/* Description:  Initializes the External Bus Controller for the external */
-/*             peripherals. IMPORTANT: For pass1 this code must run from */
-/*             cache since you can not reliably change a peripheral banks */
-/*             timing register (pbxap) while running code from that bank. */
-/*             For ex., since we are running from ROM on bank 0, we can NOT */
-/*             execute the code that modifies bank 0 timings from ROM, so */
-/*             we run it from cache. */
-/* */
-/*----------------------------------------------------------------------------- */
-#include <config.h>
-#include <asm/ppc4xx.h>
-
-#define _LINUX_CONFIG_H 1      /* avoid reading Linux autoconf.h file  */
-
-#include <ppc_asm.tmpl>
-#include <ppc_defs.h>
-
-#include <asm/cache.h>
-#include <asm/mmu.h>
-
-
-       .globl  ext_bus_cntlr_init
-ext_bus_cntlr_init:
-       mflr    r4                      /* save link register */
-       bl      ..getAddr
-..getAddr:
-       mflr    r3                      /* get address of ..getAddr */
-       mtlr    r4                      /* restore link register */
-       addi    r4,0,14                 /* set ctr to 10; used to prefetch */
-       mtctr   r4                      /* 10 cache lines to fit this function */
-                                       /* in cache (gives us 8x10=80 instrctns) */
-..ebcloop:
-       icbt    r0,r3                   /* prefetch cache line for addr in r3 */
-       addi    r3,r3,32                /* move to next cache line */
-       bdnz    ..ebcloop               /* continue for 10 cache lines */
-
-       /*------------------------------------------------------------------- */
-       /* Delay to ensure all accesses to ROM are complete before changing */
-       /* bank 0 timings. 200usec should be enough. */
-       /*   200,000,000 (cycles/sec) X .000200 (sec) = 0x9C40 cycles */
-       /*------------------------------------------------------------------- */
-       addis   r3,0,0x0
-       ori     r3,r3,0xA000          /* ensure 200usec have passed since reset */
-       mtctr   r3
-..spinlp:
-       bdnz    ..spinlp                /* spin loop */
-
-       /*----------------------------------------------------------------------- */
-       /* Memory Bank 0 (Flash) initialization (from openbios) */
-       /*----------------------------------------------------------------------- */
-
-       addi    r4,0,PB1AP
-       mtdcr   EBC0_CFGADDR,r4
-       addis   r4,0,CS0_AP@h
-       ori     r4,r4,CS0_AP@l
-       mtdcr   EBC0_CFGDATA,r4
-
-       addi    r4,0,PB0CR
-       mtdcr   EBC0_CFGADDR,r4
-       addis   r4,0,CS0_CR@h
-       ori     r4,r4,CS0_CR@l
-       mtdcr   EBC0_CFGDATA,r4
-
-       /*----------------------------------------------------------------------- */
-       /* Memory Bank 1 (NVRAM/RTC) initialization */
-       /*----------------------------------------------------------------------- */
-
-       addi    r4,0,PB1AP
-       mtdcr   EBC0_CFGADDR,r4
-       addis   r4,0,CS1_AP@h
-       ori     r4,r4,CS1_AP@l
-       mtdcr   EBC0_CFGDATA,r4
-
-       addi    r4,0,PB1CR
-       mtdcr   EBC0_CFGADDR,r4
-       addis   r4,0,CS1_CR@h
-       ori     r4,r4,CS1_CR@l
-       mtdcr   EBC0_CFGDATA,r4
-
-       /*----------------------------------------------------------------------- */
-       /* Memory Bank 2 (A/D converter) initialization */
-       /*----------------------------------------------------------------------- */
-
-       addi    r4,0,PB2AP
-       mtdcr   EBC0_CFGADDR,r4
-       addis   r4,0,CS2_AP@h
-       ori     r4,r4,CS2_AP@l
-       mtdcr   EBC0_CFGDATA,r4
-
-       addi    r4,0,PB2CR
-       mtdcr   EBC0_CFGADDR,r4
-       addis   r4,0,CS2_CR@h
-       ori     r4,r4,CS2_CR@l
-       mtdcr   EBC0_CFGDATA,r4
-
-       /*----------------------------------------------------------------------- */
-       /* Memory Bank 3 (Ethernet PHY Reset) initialization */
-       /*----------------------------------------------------------------------- */
-
-       addi    r4,0,PB3AP
-       mtdcr   EBC0_CFGADDR,r4
-       addis   r4,0,CS3_AP@h
-       ori     r4,r4,CS3_AP@l
-       mtdcr   EBC0_CFGDATA,r4
-
-       addi    r4,0,PB3CR
-       mtdcr   EBC0_CFGADDR,r4
-       addis   r4,0,CS3_CR@h
-       ori     r4,r4,CS3_CR@l
-       mtdcr   EBC0_CFGDATA,r4
-
-       /*----------------------------------------------------------------------- */
-       /* Memory Bank 4 (PC-MIP PRSNT1#) initialization */
-       /*----------------------------------------------------------------------- */
-
-       addi    r4,0,PB4AP
-       mtdcr   EBC0_CFGADDR,r4
-       addis   r4,0,CS4_AP@h
-       ori     r4,r4,CS4_AP@l
-       mtdcr   EBC0_CFGDATA,r4
-
-       addi    r4,0,PB4CR
-       mtdcr   EBC0_CFGADDR,r4
-       addis   r4,0,CS4_CR@h
-       ori     r4,r4,CS4_CR@l
-       mtdcr   EBC0_CFGDATA,r4
-
-       /*----------------------------------------------------------------------- */
-       /* Memory Bank 5 (PC-MIP PRSNT2#) initialization */
-       /*----------------------------------------------------------------------- */
-
-       addi    r4,0,PB5AP
-       mtdcr   EBC0_CFGADDR,r4
-       addis   r4,0,CS5_AP@h
-       ori     r4,r4,CS5_AP@l
-       mtdcr   EBC0_CFGDATA,r4
-
-       addi    r4,0,PB5CR
-       mtdcr   EBC0_CFGADDR,r4
-       addis   r4,0,CS5_CR@h
-       ori     r4,r4,CS5_CR@l
-       mtdcr   EBC0_CFGDATA,r4
-
-       /*----------------------------------------------------------------------- */
-       /* Memory Bank 6 (CPU LED0) initialization */
-       /*----------------------------------------------------------------------- */
-
-       addi    r4,0,PB6AP
-       mtdcr   EBC0_CFGADDR,r4
-       addis   r4,0,CS6_AP@h
-       ori     r4,r4,CS6_AP@l
-       mtdcr   EBC0_CFGDATA,r4
-
-       addi    r4,0,PB6CR
-       mtdcr   EBC0_CFGADDR,r4
-       addis   r4,0,CS6_CR@h
-       ori     r4,r4,CS5_CR@l
-       mtdcr   EBC0_CFGDATA,r4
-
-       /*----------------------------------------------------------------------- */
-       /* Memory Bank 7 (CPU LED1) initialization */
-       /*----------------------------------------------------------------------- */
-
-       addi    r4,0,PB7AP
-       mtdcr   EBC0_CFGADDR,r4
-       addis   r4,0,CS7_AP@h
-       ori     r4,r4,CS7_AP@l
-       mtdcr   EBC0_CFGDATA,r4
-
-       addi    r4,0,PB7CR
-       mtdcr   EBC0_CFGADDR,r4
-       addis   r4,0,CS7_CR@h
-       ori     r4,r4,CS7_CR@l
-       mtdcr   EBC0_CFGDATA,r4
-
-/*     addis   r4,r0,FPGA_BRDC@h */
-/*     ori     r4,r4,FPGA_BRDC@l */
-/*     lbz     r3,0(r4)                /###*get FPGA board control reg */
-/*     eieio */
-/*     ori     r3,r3,0x01              /###*set UART1 control to select CTS/RTS */
-/*     stb     r3,0(r4) */
-
-       nop                             /* pass2 DCR errata #8 */
-       blr
-
-/*----------------------------------------------------------------------------- */
-/* Function:     sdram_init */
-/* Description:  Configures SDRAM memory banks on ERIC. */
-/*               We do manually init our SDRAM. */
-/*               If we have two SDRAM banks, simply undef SINGLE_BANK (ROLF :-) */
-/*              It is assumed that a 32MB 12x8(2) SDRAM is used. */
-/*----------------------------------------------------------------------------- */
-       .globl  sdram_init
-
-sdram_init:
-
-       mflr    r31
-
-#ifdef CONFIG_SYS_SDRAM_MANUALLY
-       /*------------------------------------------------------------------- */
-       /* Set MB0CF for bank 0. (0-32MB) Address Mode 4 since 12x8(2) */
-       /*------------------------------------------------------------------- */
-
-       addi    r4,0,SDRAM0_B0CR
-       mtdcr   SDRAM0_CFGADDR,r4
-       addis   r4,0,MB0CF@h
-       ori     r4,r4,MB0CF@l
-       mtdcr   SDRAM0_CFGDATA,r4
-
-       /*------------------------------------------------------------------- */
-       /* Set MB1CF for bank 1. (32MB-64MB) Address Mode 4 since 12x8(2) */
-       /*------------------------------------------------------------------- */
-
-       addi    r4,0,SDRAM0_B1CR
-       mtdcr   SDRAM0_CFGADDR,r4
-       addis   r4,0,MB1CF@h
-       ori     r4,r4,MB1CF@l
-       mtdcr   SDRAM0_CFGDATA,r4
-
-       /*------------------------------------------------------------------- */
-       /* Set MB2CF for bank 2. off */
-       /*------------------------------------------------------------------- */
-
-       addi    r4,0,SDRAM0_B2CR
-       mtdcr   SDRAM0_CFGADDR,r4
-       addis   r4,0,MB2CF@h
-       ori     r4,r4,MB2CF@l
-       mtdcr   SDRAM0_CFGDATA,r4
-
-       /*------------------------------------------------------------------- */
-       /* Set MB3CF for bank 3. off */
-       /*------------------------------------------------------------------- */
-
-       addi    r4,0,SDRAM0_B3CR
-       mtdcr   SDRAM0_CFGADDR,r4
-       addis   r4,0,MB3CF@h
-       ori     r4,r4,MB3CF@l
-       mtdcr   SDRAM0_CFGDATA,r4
-
-       /*------------------------------------------------------------------- */
-       /* Set the SDRAM Timing reg, SDTR1 and the refresh timer reg, RTR. */
-       /* To set the appropriate timings, we need to know the SDRAM speed. */
-       /* We can use the PLB speed since the SDRAM speed is the same as */
-       /* the PLB speed. The PLB speed is the FBK divider times the */
-       /* 405GP reference clock, which on the Walnut board is 33Mhz. */
-       /* Thus, if FBK div is 2, SDRAM is 66Mhz; if FBK div is 3, SDRAM is */
-       /* 100Mhz; if FBK is 3, SDRAM is 133Mhz. */
-       /* NOTE: The Walnut board supports SDRAM speeds of 66Mhz, 100Mhz, and */
-       /* maybe 133Mhz. */
-       /*------------------------------------------------------------------- */
-
-       mfdcr   r5,CPC0_PSR               /* determine FBK divider */
-                                         /* via STRAP reg to calc PLB speed. */
-                                         /* SDRAM speed is the same as the PLB */
-                                         /* speed. */
-       rlwinm  r4,r5,4,0x3             /* get FBK divide bits */
-
-..chk_66:
-       cmpi    %cr0,0,r4,0x1
-       bne     ..chk_100
-       addis   r6,0,SDTR_66@h          /* SDTR1 value for 66Mhz */
-       ori     r6,r6,SDTR_66@l
-       addis   r7,0,RTR_66             /* RTR value for 66Mhz */
-       b       ..sdram_ok
-..chk_100:
-       cmpi    %cr0,0,r4,0x2
-       bne     ..chk_133
-       addis   r6,0,SDTR_100@h        /* SDTR1 value for 100Mhz */
-       ori     r6,r6,SDTR_100@l
-       addis   r7,0,RTR_100           /* RTR value for 100Mhz */
-       b       ..sdram_ok
-..chk_133:
-       addis   r6,0,0x0107            /* SDTR1 value for 133Mhz */
-       ori     r6,r6,0x4015
-       addis   r7,0,0x07F0            /* RTR value for 133Mhz */
-
-..sdram_ok:
-       /*------------------------------------------------------------------- */
-       /* Set SDTR1 */
-       /*------------------------------------------------------------------- */
-       addi    r4,0,SDRAM0_TR
-       mtdcr   SDRAM0_CFGADDR,r4
-       mtdcr   SDRAM0_CFGDATA,r6
-
-       /*------------------------------------------------------------------- */
-       /* Set RTR */
-       /*------------------------------------------------------------------- */
-       addi    r4,0,SDRAM0_RTR
-       mtdcr   SDRAM0_CFGADDR,r4
-       mtdcr   SDRAM0_CFGDATA,r7
-
-       /*------------------------------------------------------------------- */
-       /* Delay to ensure 200usec have elapsed since reset. Assume worst */
-       /* case that the core is running 200Mhz: */
-       /*   200,000,000 (cycles/sec) X .000200 (sec) = 0x9C40 cycles */
-       /*------------------------------------------------------------------- */
-       addis   r3,0,0x0000
-       ori     r3,r3,0xA000          /* ensure 200usec have passed since reset */
-       mtctr   r3
-..spinlp2:
-       bdnz    ..spinlp2               /* spin loop */
-
-       /*------------------------------------------------------------------- */
-       /* Set memory controller options reg, MCOPT1. */
-       /* Set DC_EN to '1' and BRD_PRF to '01' for 16 byte PLB Burst */
-       /* read/prefetch. */
-       /*------------------------------------------------------------------- */
-       addi    r4,0,SDRAM0_CFG
-       mtdcr   SDRAM0_CFGADDR,r4
-       addis   r4,0,0x8080             /* set DC_EN=1 */
-       ori     r4,r4,0x0000
-       mtdcr   SDRAM0_CFGDATA,r4
-
-       /*------------------------------------------------------------------- */
-       /* Delay to ensure 10msec have elapsed since reset. This is */
-       /* required for the MPC952 to stabalize. Assume worst */
-       /* case that the core is running 200Mhz: */
-       /*   200,000,000 (cycles/sec) X .010 (sec) = 0x1E8480 cycles */
-       /* This delay should occur before accessing SDRAM. */
-       /*------------------------------------------------------------------- */
-       addis   r3,0,0x001E
-       ori     r3,r3,0x8480          /* ensure 10msec have passed since reset */
-       mtctr   r3
-..spinlp3:
-       bdnz    ..spinlp3                /* spin loop */
-
-#else
-/*fixme: do SDRAM Autoconfig from EEPROM here */
-
-#endif
-       mtlr    r31                     /* restore lr */
-       blr
index 0fadf814ef4f562886f8785671f2759d8274d9e7..7b3d6dcde2c5d46b3ed01e129decc0847e8a5cf3 100644 (file)
@@ -27,7 +27,7 @@ ifneq ($(OBJTREE),$(SRCTREE))
 $(shell mkdir -p $(obj)../common)
 endif
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o flash.o ../common/misc.o ../common/pci.o
 
@@ -36,7 +36,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 911460655732b5ddfd8b04302e9fb007f43d60bd..df391da6c2b3ec259b7a4752d69702834eabe28f 100644 (file)
@@ -26,7 +26,7 @@ ifneq ($(OBJTREE),$(SRCTREE))
 $(shell mkdir -p $(obj)../common)
 endif
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o \
        ../common/misc.o \
@@ -37,7 +37,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $^
+       $(call cmd_link_o_target, $^)
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index ba92b24c8dcb61b86996cdfd663c9812d4846523..bd0825336fb02787786792cb09e3d226e32f4e46 100644 (file)
@@ -26,7 +26,7 @@ ifneq ($(OBJTREE),$(SRCTREE))
 $(shell mkdir -p $(obj)../common)
 endif
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o flash.o ../common/misc.o
 
@@ -35,7 +35,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 98acb4b7712b5648d4fa528ce0c0613c6515d592..401622f4ab3bd56a2e9f79a1618bbaa5b96ec5ff 100644 (file)
@@ -26,7 +26,7 @@ ifneq ($(OBJTREE),$(SRCTREE))
 $(shell mkdir -p $(obj)../common)
 endif
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o flash.o \
        ../common/misc.o \
@@ -37,7 +37,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index ba92b24c8dcb61b86996cdfd663c9812d4846523..bd0825336fb02787786792cb09e3d226e32f4e46 100644 (file)
@@ -26,7 +26,7 @@ ifneq ($(OBJTREE),$(SRCTREE))
 $(shell mkdir -p $(obj)../common)
 endif
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o flash.o ../common/misc.o
 
@@ -35,7 +35,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 1093c52756b40b0c02801fd86945824b0b891274..15a32a0d4c1e6c3f8e457a6779edb0eb23f342a8 100644 (file)
@@ -26,7 +26,7 @@ ifneq ($(OBJTREE),$(SRCTREE))
 $(shell mkdir -p $(obj)../common/xilinx_jtag)
 endif
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 # Objects for Xilinx JTAG programming (CPLD)
 CPLD    = ../common/xilinx_jtag/lenval.o \
@@ -43,7 +43,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 9a5607f69574bc29c9897b5ce8962a4185f81893..be65097b7e912ffc2d7f8c180e234e31858d9705 100644 (file)
@@ -26,7 +26,7 @@ ifneq ($(OBJTREE),$(SRCTREE))
 $(shell mkdir -p $(obj)../common)
 endif
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o flash.o ../common/misc.o ../common/cmd_loadpci.o
 
@@ -35,7 +35,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 7516c2280e8d88598fd126598b2d67cd6a7c7ac8..c6e1d40bd30b795361904de52e25c069b0fe6a28 100644 (file)
@@ -26,7 +26,7 @@ ifneq ($(OBJTREE),$(SRCTREE))
 $(shell mkdir -p $(obj)../common)
 endif
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o flash.o ../common/misc.o ../common/auto_update.o
 COBJS  += ../common/cmd_loadpci.o
@@ -36,7 +36,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 4a640f663806c319c10376ee335e2d534149ad4f..d41cbcd959691978571c40f88ffe8be5febed322 100644 (file)
@@ -26,7 +26,7 @@ include $(TOPDIR)/config.mk
 # $(shell mkdir -p $(obj)../common/xilinx_jtag)
 # endif
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 # Objects for Xilinx JTAG programming (CPLD)
 # CPLD  = ../common/xilinx_jtag/lenval.o \
@@ -41,7 +41,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 4379cfc74b15997fb403999d1eb582717924aff3..4c9275bd66c8e7ad505594a40b65229ee8d921d4 100644 (file)
@@ -29,7 +29,7 @@ ifneq ($(OBJTREE),$(SRCTREE))
 $(shell mkdir -p $(obj)../../Marvell/common)
 endif
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 SOBJS  = misc.o
 
@@ -42,7 +42,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 #########################################################################
 
diff --git a/board/esd/cpci750/u-boot.lds b/board/esd/cpci750/u-boot.lds
deleted file mode 100644 (file)
index 29dcc09..0000000
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
- * (C) Copyright 2001
- * Josh Huber <huber@mclx.com>, Mission Critical Linux, Inc.
- *
- * See file CREDITS for list of people who contributed to this
- * project.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
- */
-
-/*
- * u-boot.lds - linker script for U-Boot on the Galileo Eval Board.
- */
-
-OUTPUT_ARCH(powerpc)
-/* Do we need any of these for elf?
-   __DYNAMIC = 0;    */
-SECTIONS
-{
-  /* Read-only sections, merged into text segment: */
-  . = + SIZEOF_HEADERS;
-  .interp : { *(.interp) }
-  .hash          : { *(.hash)          }
-  .dynsym        : { *(.dynsym)                }
-  .dynstr        : { *(.dynstr)                }
-  .rel.text      : { *(.rel.text)              }
-  .rela.text     : { *(.rela.text)     }
-  .rel.data      : { *(.rel.data)              }
-  .rela.data     : { *(.rela.data)     }
-  .rel.rodata    : { *(.rel.rodata)    }
-  .rela.rodata   : { *(.rela.rodata)   }
-  .rel.got       : { *(.rel.got)               }
-  .rela.got      : { *(.rela.got)              }
-  .rel.ctors     : { *(.rel.ctors)     }
-  .rela.ctors    : { *(.rela.ctors)    }
-  .rel.dtors     : { *(.rel.dtors)     }
-  .rela.dtors    : { *(.rela.dtors)    }
-  .rel.bss       : { *(.rel.bss)               }
-  .rela.bss      : { *(.rela.bss)              }
-  .rel.plt       : { *(.rel.plt)               }
-  .rela.plt      : { *(.rela.plt)              }
-  .init          : { *(.init)  }
-  .plt : { *(.plt) }
-  .text      :
-  {
-    arch/powerpc/cpu/74xx_7xx/start.o  (.text)
-
-/* store the environment in a seperate sector in the boot flash */
-/*    . = env_offset; */
-/*    common/env_embedded.o(.text) */
-
-    *(.text)
-    *(.got1)
-  }
-  _etext = .;
-  PROVIDE (etext = .);
-  .rodata    :
-  {
-    *(.eh_frame)
-    *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
-  }
-  .fini      : { *(.fini)    } =0
-  .ctors     : { *(.ctors)   }
-  .dtors     : { *(.dtors)   }
-
-  /* Read-write section, merged into data segment: */
-  . = (. + 0x00FF) & 0xFFFFFF00;
-  _erotext = .;
-  PROVIDE (erotext = .);
-  .reloc   :
-  {
-    *(.got)
-    _GOT2_TABLE_ = .;
-    *(.got2)
-    _FIXUP_TABLE_ = .;
-    *(.fixup)
-  }
-  __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >>2;
-  __fixup_entries = (. - _FIXUP_TABLE_)>>2;
-
-  .data    :
-  {
-    *(.data)
-    *(.data1)
-    *(.sdata)
-    *(.sdata2)
-    *(.dynamic)
-    CONSTRUCTORS
-  }
-  _edata  =  .;
-  PROVIDE (edata = .);
-
-  . = .;
-  __u_boot_cmd_start = .;
-  .u_boot_cmd : { *(.u_boot_cmd) }
-  __u_boot_cmd_end = .;
-
-
-  . = .;
-  __start___ex_table = .;
-  __ex_table : { *(__ex_table) }
-  __stop___ex_table = .;
-
-  . = ALIGN(256);
-  __init_begin = .;
-  .text.init : { *(.text.init) }
-  .data.init : { *(.data.init) }
-  . = ALIGN(256);
-  __init_end = .;
-
-  __bss_start = .;
-  .bss (NOLOAD)       :
-  {
-   *(.sbss) *(.scommon)
-   *(.dynbss)
-   *(.bss)
-   *(COMMON)
-   . = ALIGN(4);
-  }
-  _end = . ;
-  PROVIDE (end = .);
-}
index ba92b24c8dcb61b86996cdfd663c9812d4846523..bd0825336fb02787786792cb09e3d226e32f4e46 100644 (file)
@@ -26,7 +26,7 @@ ifneq ($(OBJTREE),$(SRCTREE))
 $(shell mkdir -p $(obj)../common)
 endif
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o flash.o ../common/misc.o
 
@@ -35,7 +35,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index d736af8b97aaef542537091959f74c44491c882d..f1cadb181e14e0161f693012db0a4f59f49f5200 100644 (file)
@@ -27,7 +27,7 @@ ifneq ($(OBJTREE),$(SRCTREE))
 $(shell mkdir -p $(obj)../common)
 endif
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o flash.o cmd_dasa_sim.o eeprom.o ../common/pci.o
 
@@ -36,7 +36,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 0e1d625a1b7911236653925a1ab44588cbf03e1c..3349fe8d4072de87c9117afe9f9022ea256fb4d2 100644 (file)
  */
 
 OUTPUT_ARCH(powerpc)
-/* Do we need any of these for elf?
-   __DYNAMIC = 0;    */
+
 SECTIONS
 {
   .resetvec 0xFFFFFFFC :
   {
-    *(.resetvec)
+    KEEP(*(.resetvec))
   } = 0xffff
 
   /* Read-only sections, merged into text segment: */
   . = + SIZEOF_HEADERS;
-  .interp : { *(.interp) }
-  .hash          : { *(.hash)          }
-  .dynsym        : { *(.dynsym)                }
-  .dynstr        : { *(.dynstr)                }
-  .rel.text      : { *(.rel.text)              }
-  .rela.text     : { *(.rela.text)     }
-  .rel.data      : { *(.rel.data)              }
-  .rela.data     : { *(.rela.data)     }
-  .rel.rodata    : { *(.rel.rodata)    }
-  .rela.rodata   : { *(.rela.rodata)   }
-  .rel.got       : { *(.rel.got)               }
-  .rela.got      : { *(.rela.got)              }
-  .rel.ctors     : { *(.rel.ctors)     }
-  .rela.ctors    : { *(.rela.ctors)    }
-  .rel.dtors     : { *(.rel.dtors)     }
-  .rela.dtors    : { *(.rela.dtors)    }
-  .rel.bss       : { *(.rel.bss)               }
-  .rela.bss      : { *(.rela.bss)              }
-  .rel.plt       : { *(.rel.plt)               }
-  .rela.plt      : { *(.rela.plt)              }
-  .init          : { *(.init)  }
-  .plt : { *(.plt) }
   .text      :
   {
-    arch/powerpc/cpu/ppc4xx/start.o            (.text)
+    arch/powerpc/cpu/ppc4xx/start.o    (.text)
 
     . = env_offset;
-    common/env_embedded.o(.text)
+    common/env_embedded.o              (.text*)
 
-    *(.text)
-    *(.got1)
+    *(.text*)
   }
   _etext = .;
   PROVIDE (etext = .);
   .rodata    :
   {
-    *(.eh_frame)
     *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
   }
-  .fini      : { *(.fini)    } =0
-  .ctors     : { *(.ctors)   }
-  .dtors     : { *(.dtors)   }
 
   /* Read-write section, merged into data segment: */
   . = (. + 0x0FFF) & 0xFFFFF000;
@@ -82,23 +54,19 @@ SECTIONS
   PROVIDE (erotext = .);
   .reloc   :
   {
-    *(.got)
+    KEEP(*(.got))
     _GOT2_TABLE_ = .;
-    *(.got2)
+    KEEP(*(.got2))
     _FIXUP_TABLE_ = .;
-    *(.fixup)
+    KEEP(*(.fixup))
   }
   __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >>2;
   __fixup_entries = (. - _FIXUP_TABLE_)>>2;
 
   .data    :
   {
-    *(.data)
-    *(.data1)
-    *(.sdata)
-    *(.sdata2)
-    *(.dynamic)
-    CONSTRUCTORS
+    *(.data*)
+    *(.sdata*)
   }
   _edata  =  .;
   PROVIDE (edata = .);
@@ -124,9 +92,8 @@ SECTIONS
   __bss_start = .;
   .bss (NOLOAD)       :
   {
-   *(.sbss) *(.scommon)
-   *(.dynbss)
-   *(.bss)
+   *(.bss*)
+   *(.sbss*)
    *(COMMON)
    . = ALIGN(4);
   }
index 86bd4461debd6350f02ffeb2a5bd4bd8a3620128..d4012b022db96a2cd60b8526ff7027b2947f1342 100644 (file)
@@ -26,7 +26,7 @@ ifneq ($(OBJTREE),$(SRCTREE))
 $(shell mkdir -p $(obj)../common/xilinx_jtag)
 endif
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 # Objects for Xilinx JTAG programming (CPLD)
 CPLD    = ../common/xilinx_jtag/lenval.o \
@@ -40,7 +40,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index ba92b24c8dcb61b86996cdfd663c9812d4846523..bd0825336fb02787786792cb09e3d226e32f4e46 100644 (file)
@@ -26,7 +26,7 @@ ifneq ($(OBJTREE),$(SRCTREE))
 $(shell mkdir -p $(obj)../common)
 endif
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o flash.o ../common/misc.o
 
@@ -35,7 +35,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 909d007c47dedbdf362569c5c04626f7d7dabc38..06824c7ac4a8d1248892b649430293d70f07d6e7 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o
 SOBJS  = init.o
@@ -32,8 +32,10 @@ SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c)
 OBJS   := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
-$(LIB):        $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+all:   $(LIB) $(SOBJS)
+
+$(LIB):        $(OBJS)
+       $(call cmd_link_o_target, $^)
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index c57d90cf6fed304f5257010ecd59be1a7e5c7042..090005febf2cc6116e8b20c52741a188369b61b2 100644 (file)
@@ -26,7 +26,7 @@ ifneq ($(OBJTREE),$(SRCTREE))
 $(shell mkdir -p $(obj)../common)
 endif
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o flash.o \
        ../common/misc.o \
@@ -38,7 +38,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 98acb4b7712b5648d4fa528ce0c0613c6515d592..401622f4ab3bd56a2e9f79a1618bbaa5b96ec5ff 100644 (file)
@@ -26,7 +26,7 @@ ifneq ($(OBJTREE),$(SRCTREE))
 $(shell mkdir -p $(obj)../common)
 endif
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o flash.o \
        ../common/misc.o \
@@ -37,7 +37,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 2e3d73a351398066bd7fd5d0a4a9398528617bc0..30dba232651169ffa40cd64bc70567adb616ed57 100644 (file)
@@ -22,7 +22,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y        := $(BOARD).o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 3fbb9099691d25955ec3a79fbb7a33dd3367c218..22ee9847b3bf91f4fe7d44730e0263eba7a8ac17 100644 (file)
@@ -24,7 +24,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o
 
@@ -33,7 +33,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 2dd6b25c9481c5afa05daefb009e166325d71917..b4144798e4486f7a80cbc0d04369f0d705a0f967 100644 (file)
@@ -27,7 +27,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y        += $(BOARD).o
 COBJS-$(CONFIG_HAS_DATAFLASH) += partition.o
@@ -37,7 +37,7 @@ OBJS  := $(addprefix $(obj),$(COBJS-y))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index edf3c5686290e595c7173021d6c47748a0006d17..f9274b50c33792493e19de164513bbf38d98d58c 100644 (file)
@@ -26,7 +26,7 @@ ifneq ($(OBJTREE),$(SRCTREE))
 $(shell mkdir -p $(obj)../common)
 endif
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o flash.o ../common/misc.o cmd_ocrtc.o
 
@@ -35,7 +35,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 755c5eebdcce21abe1c3a054d71f98e0cfd41ea7..87657ffcb2daad28165f317b015ef8f72d6424b0 100644 (file)
@@ -27,7 +27,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y                                += $(BOARD).o
 COBJS-$(CONFIG_HAS_DATAFLASH)  += partition.o
@@ -37,7 +37,7 @@ OBJS  := $(addprefix $(obj),$(COBJS-y))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 862e88d39f51a05d051ba1c2c2a24dcfba39048c..d551ec91be61d7c5fcb93e786c4ebd280b54c5a1 100644 (file)
@@ -26,7 +26,7 @@ ifneq ($(OBJTREE),$(SRCTREE))
 $(shell mkdir -p $(obj)../common)
 endif
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o flash.o ../common/misc.o cmd_pci405.o
 SOBJS  = writeibm.o
@@ -36,8 +36,8 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(OBJS) $(SOBJS)
-#      $(AR) $(ARFLAGS) $@ $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+#      $(call cmd_link_o_target, $(OBJS))
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index efd24feef84e4d1cd0d77aaa590dd7ee4a0382a4..2f42566e61597c8162bb049c0ea7362ef2432615 100644 (file)
@@ -27,7 +27,7 @@ include $(TOPDIR)/config.mk
 # $(shell mkdir -p $(obj)../common/xilinx_jtag)
 # endif
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 # Objects for Xilinx JTAG programming (CPLD)
 # CPLD  = ../common/xilinx_jtag/lenval.o \
@@ -42,7 +42,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 98acb4b7712b5648d4fa528ce0c0613c6515d592..401622f4ab3bd56a2e9f79a1618bbaa5b96ec5ff 100644 (file)
@@ -26,7 +26,7 @@ ifneq ($(OBJTREE),$(SRCTREE))
 $(shell mkdir -p $(obj)../common)
 endif
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o flash.o \
        ../common/misc.o \
@@ -37,7 +37,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 12c1ba730cbfdc21f0d11adf233827c9412fa361..36707f4fbbd0e6464d37d9bac048ae02973ceacd 100644 (file)
@@ -26,7 +26,7 @@ ifneq ($(OBJTREE),$(SRCTREE))
 $(shell mkdir -p $(obj)../common/xilinx_jtag)
 endif
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 # Objects for Xilinx JTAG programming (CPLD)
 CPLD    = ../common/xilinx_jtag/lenval.o \
@@ -40,7 +40,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index f435495767afbd4c3cf1a17a697c566e0dae56c6..2833844793c7e49ec7bdfedee0d3d6f584f76dc9 100644 (file)
@@ -26,7 +26,7 @@ ifneq ($(OBJTREE),$(SRCTREE))
 $(shell mkdir -p $(obj)../common)
 endif
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y        = $(BOARD).o
 COBJS-$(CONFIG_CMD_CHIP_CONFIG) += chip_config.o
@@ -38,7 +38,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 8c09efae7bbe60f1042729c9c637320e6306c43c..f640d1e0085670dae7b87f45a9bf4ccf563a80ce 100644 (file)
@@ -26,7 +26,7 @@ ifneq ($(OBJTREE),$(SRCTREE))
 $(shell mkdir -p $(obj)../common)
 endif
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o cmd_pmc440.o sdram.o fpga.o \
        ../common/cmd_loadpci.o
@@ -37,8 +37,10 @@ SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c)
 OBJS   := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
-$(LIB):        $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+all:   $(LIB) $(SOBJS)
+
+$(LIB):        $(OBJS)
+       $(call cmd_link_o_target, $^)
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index cf07cf40fdb9485240118667e0b22074acd7516d..6dc495c3619cabc3ecc9eabf3c7c696a9580379f 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o flash.o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 9f937c8ca3c0b74c087ab2c19887d51e78fa63b6..5b926b21441358c6d46f14739aa51df58d472ce2 100644 (file)
@@ -25,7 +25,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y += $(BOARD).o caddy.o
 COBJS-$(CONFIG_PCI) += pci.o
@@ -36,7 +36,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 98acb4b7712b5648d4fa528ce0c0613c6515d592..401622f4ab3bd56a2e9f79a1618bbaa5b96ec5ff 100644 (file)
@@ -26,7 +26,7 @@ ifneq ($(OBJTREE),$(SRCTREE))
 $(shell mkdir -p $(obj)../common)
 endif
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o flash.o \
        ../common/misc.o \
@@ -37,7 +37,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 86bd4461debd6350f02ffeb2a5bd4bd8a3620128..d4012b022db96a2cd60b8526ff7027b2947f1342 100644 (file)
@@ -26,7 +26,7 @@ ifneq ($(OBJTREE),$(SRCTREE))
 $(shell mkdir -p $(obj)../common/xilinx_jtag)
 endif
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 # Objects for Xilinx JTAG programming (CPLD)
 CPLD    = ../common/xilinx_jtag/lenval.o \
@@ -40,7 +40,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 98acb4b7712b5648d4fa528ce0c0613c6515d592..401622f4ab3bd56a2e9f79a1618bbaa5b96ec5ff 100644 (file)
@@ -26,7 +26,7 @@ ifneq ($(OBJTREE),$(SRCTREE))
 $(shell mkdir -p $(obj)../common)
 endif
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o flash.o \
        ../common/misc.o \
@@ -37,7 +37,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index c79cba85667e1f681a51eb424a3e7609b287c435..4ecef4a297272063e0844db3166bbfc6d21b5d6f 100644 (file)
@@ -22,7 +22,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := espt.o
 SOBJS  := lowlevel_init.o
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index cf07cf40fdb9485240118667e0b22074acd7516d..6dc495c3619cabc3ecc9eabf3c7c696a9580379f 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o flash.o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 5b6a9c0a1f78a19ee2713862849bf3af59e7b3aa..93b756bc8e3b3aa125b48f6efcde1121dba521d9 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * (C) Copyright 2000
+ * (C) Copyright 2000-2010
  * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
  *
  * See file CREDITS for list of people who contributed to this
  */
 
 OUTPUT_ARCH(powerpc)
-/* Do we need any of these for elf?
-   __DYNAMIC = 0;    */
+
 SECTIONS
 {
   /* Read-only sections, merged into text segment: */
   . = + SIZEOF_HEADERS;
-  .interp : { *(.interp) }
-  .hash          : { *(.hash)          }
-  .dynsym        : { *(.dynsym)                }
-  .dynstr        : { *(.dynstr)                }
-  .rel.text      : { *(.rel.text)              }
-  .rela.text     : { *(.rela.text)     }
-  .rel.data      : { *(.rel.data)              }
-  .rela.data     : { *(.rela.data)     }
-  .rel.rodata    : { *(.rel.rodata)    }
-  .rela.rodata   : { *(.rela.rodata)   }
-  .rel.got       : { *(.rel.got)               }
-  .rela.got      : { *(.rela.got)              }
-  .rel.ctors     : { *(.rel.ctors)     }
-  .rela.ctors    : { *(.rela.ctors)    }
-  .rel.dtors     : { *(.rel.dtors)     }
-  .rela.dtors    : { *(.rela.dtors)    }
-  .rel.bss       : { *(.rel.bss)               }
-  .rela.bss      : { *(.rela.bss)              }
-  .rel.plt       : { *(.rel.plt)               }
-  .rela.plt      : { *(.rela.plt)              }
-  .init          : { *(.init)  }
-  .plt : { *(.plt) }
   .text      :
   {
     /* WARNING - the following is hand-optimized to fit within */
     /* the sector layout of our flash chips!   XXX FIXME XXX   */
 
-    arch/powerpc/cpu/mpc8xx/start.o    (.text)
-    common/dlmalloc.o  (.text)
-    arch/powerpc/lib/ppcstring.o       (.text)
-    lib/vsprintf.o     (.text)
-    lib/crc32.o                (.text)
-    lib/zlib.o         (.text)
+    arch/powerpc/cpu/mpc8xx/start.o    (.text*)
+    arch/powerpc/cpu/mpc8xx/traps.o    (.text*)
+    net/libnet.o                       (.text*)
+    board/esteem192e/libesteem192e.o   (.text*)
+    *(.text.*printf)
 
     . = env_offset;
-    common/env_embedded.o(.text)
+    common/env_embedded.o              (.text*)
 
-    *(.text)
-    *(.got1)
+    *(.text*)
   }
   _etext = .;
   PROVIDE (etext = .);
   .rodata    :
   {
-    *(.eh_frame)
     *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
   }
-  .fini      : { *(.fini)    } =0
-  .ctors     : { *(.ctors)   }
-  .dtors     : { *(.dtors)   }
 
   /* Read-write section, merged into data segment: */
   . = (. + 0x00FF) & 0xFFFFFF00;
@@ -85,23 +56,19 @@ SECTIONS
   PROVIDE (erotext = .);
   .reloc   :
   {
-    *(.got)
+    KEEP(*(.got))
     _GOT2_TABLE_ = .;
-    *(.got2)
+    KEEP(*(.got2))
     _FIXUP_TABLE_ = .;
-    *(.fixup)
+    KEEP(*(.fixup))
   }
   __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >>2;
   __fixup_entries = (. - _FIXUP_TABLE_)>>2;
 
   .data    :
   {
-    *(.data)
-    *(.data1)
-    *(.sdata)
-    *(.sdata2)
-    *(.dynamic)
-    CONSTRUCTORS
+    *(.data*)
+    *(.sdata*)
   }
   _edata  =  .;
   PROVIDE (edata = .);
@@ -127,9 +94,8 @@ SECTIONS
   __bss_start = .;
   .bss (NOLOAD)       :
   {
-   *(.sbss) *(.scommon)
-   *(.dynbss)
-   *(.bss)
+   *(.bss*)
+   *(.sbss*)
    *(COMMON)
    . = ALIGN(4);
   }
index fdf77369158ee75371bc58a7354886dbcc99c5b8..99a9c9d4eeff3b82b06357011d30b8facf24a387 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS =  $(BOARD).o flash.o phantom.o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 18b735061e4346ef5019aee270db6ea04fcd0028..644b4e3a592bb18f450670221c03d1ee10a01e7e 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o multiverse.o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index cf07cf40fdb9485240118667e0b22074acd7516d..6dc495c3619cabc3ecc9eabf3c7c696a9580379f 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o flash.o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 28ac825c19643cf9fa173366ef502b4dcfb056bc..614880be1ff85804842d550bb3cde5cb8797a675 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * (C) Copyright 2000
+ * (C) Copyright 2000-2010
  * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
  *
  * See file CREDITS for list of people who contributed to this
  */
 
 OUTPUT_ARCH(powerpc)
-/* Do we need any of these for elf?
-   __DYNAMIC = 0;    */
+
 SECTIONS
 {
   /* Read-only sections, merged into text segment: */
   . = + SIZEOF_HEADERS;
-  .interp : { *(.interp) }
-  .hash          : { *(.hash)          }
-  .dynsym        : { *(.dynsym)                }
-  .dynstr        : { *(.dynstr)                }
-  .rel.text      : { *(.rel.text)              }
-  .rela.text     : { *(.rela.text)     }
-  .rel.data      : { *(.rel.data)              }
-  .rela.data     : { *(.rela.data)     }
-  .rel.rodata    : { *(.rel.rodata)    }
-  .rela.rodata   : { *(.rela.rodata)   }
-  .rel.got       : { *(.rel.got)               }
-  .rela.got      : { *(.rela.got)              }
-  .rel.ctors     : { *(.rel.ctors)     }
-  .rela.ctors    : { *(.rela.ctors)    }
-  .rel.dtors     : { *(.rel.dtors)     }
-  .rela.dtors    : { *(.rela.dtors)    }
-  .rel.bss       : { *(.rel.bss)               }
-  .rela.bss      : { *(.rela.bss)              }
-  .rel.plt       : { *(.rel.plt)               }
-  .rela.plt      : { *(.rela.plt)              }
-  .init          : { *(.init)  }
-  .plt : { *(.plt) }
   .text      :
   {
     /* WARNING - the following is hand-optimized to fit within */
     /* the sector layout of our flash chips!   XXX FIXME XXX   */
 
-    arch/powerpc/cpu/mpc8xx/start.o    (.text)
-    arch/powerpc/cpu/mpc8xx/traps.o    (.text)
-    arch/powerpc/cpu/mpc8xx/interrupts.o       (.text)
-    arch/powerpc/cpu/mpc8xx/serial.o   (.text)
-    arch/powerpc/cpu/mpc8xx/cpu_init.o (.text)
-    arch/powerpc/cpu/mpc8xx/speed.o    (.text)
-    common/dlmalloc.o  (.text)
-    lib/crc32.o                (.text)
-    lib/zlib.o         (.text)
+    arch/powerpc/cpu/mpc8xx/start.o    (.text*)
+    arch/powerpc/cpu/mpc8xx/traps.o    (.text*)
+    net/libnet.o                       (.text*)
+    arch/powerpc/cpu/mpc8xx/libmpc8xx.o        (.text*)
+    *(.text.*printf*)
 
     . = env_offset;
-    common/env_embedded.o(.text)
-    *(.text)
-    *(.got1)
+    common/env_embedded.o              (.text*)
+
+    *(.text*)
   }
   _etext = .;
   PROVIDE (etext = .);
   .rodata    :
   {
-    *(.eh_frame)
     *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
   }
-  .fini      : { *(.fini)    } =0
-  .ctors     : { *(.ctors)   }
-  .dtors     : { *(.dtors)   }
 
   /* Read-write section, merged into data segment: */
   . = (. + 0x00FF) & 0xFFFFFF00;
@@ -87,23 +56,19 @@ SECTIONS
   PROVIDE (erotext = .);
   .reloc   :
   {
-    *(.got)
+    KEEP(*(.got))
     _GOT2_TABLE_ = .;
-    *(.got2)
+    KEEP(*(.got2))
     _FIXUP_TABLE_ = .;
-    *(.fixup)
+    KEEP(*(.fixup))
   }
   __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >>2;
   __fixup_entries = (. - _FIXUP_TABLE_)>>2;
 
   .data    :
   {
-    *(.data)
-    *(.data1)
-    *(.sdata)
-    *(.sdata2)
-    *(.dynamic)
-    CONSTRUCTORS
+    *(.data*)
+    *(.sdata*)
   }
   _edata  =  .;
   PROVIDE (edata = .);
@@ -129,9 +94,8 @@ SECTIONS
   __bss_start = .;
   .bss (NOLOAD)       :
   {
-   *(.sbss) *(.scommon)
-   *(.dynbss)
-   *(.bss)
+   *(.bss*)
+   *(.sbss*)
    *(COMMON)
    . = ALIGN(4);
   }
index e98b5418cac5a6e4f234c9cf0b3031b5554d8d1e..4d02aae0b542dcc37a1c8e40dcb1ab47e8ce185a 100644 (file)
@@ -31,7 +31,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y += $(BOARD).o
 COBJS-y += led.o
@@ -41,7 +41,7 @@ OBJS  := $(addprefix $(obj),$(COBJS-y) $(SOBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index c31b7a1a5d8f1632008dffbe9221500d3a18fe56..15da3d87ab66acb4f814607bd6adc557072a384a 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := cpuat91.o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 3ab1aa038b05de8f839d57e0febd425ccf7e1ff1..102eaded4c71120a36ec38d306210b30796e119f 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := evb4510.o flash.o
 SOBJS  := lowlevel_init.o
@@ -33,7 +33,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index aa39bafab659e8e247fef204deb2a61e44ca5521..d72465edc922ce9d1cc0c47db78fad4159b3bd6e 100644 (file)
@@ -26,7 +26,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 SOBJS  = misc.o
 COBJS  = $(BOARD).o flash.o serial.o memory.o pci.o \
@@ -38,7 +38,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 #########################################################################
 
index 29dcc0910051a98f2e2d119f291317fddf1ea8d7..bc0bb0636ac36d0df70360ccd8625279d6cb1ed0 100644 (file)
  */
 
 OUTPUT_ARCH(powerpc)
-/* Do we need any of these for elf?
-   __DYNAMIC = 0;    */
+
 SECTIONS
 {
   /* Read-only sections, merged into text segment: */
-  . = + SIZEOF_HEADERS;
-  .interp : { *(.interp) }
-  .hash          : { *(.hash)          }
-  .dynsym        : { *(.dynsym)                }
-  .dynstr        : { *(.dynstr)                }
-  .rel.text      : { *(.rel.text)              }
-  .rela.text     : { *(.rela.text)     }
-  .rel.data      : { *(.rel.data)              }
-  .rela.data     : { *(.rela.data)     }
-  .rel.rodata    : { *(.rel.rodata)    }
-  .rela.rodata   : { *(.rela.rodata)   }
-  .rel.got       : { *(.rel.got)               }
-  .rela.got      : { *(.rela.got)              }
-  .rel.ctors     : { *(.rel.ctors)     }
-  .rela.ctors    : { *(.rela.ctors)    }
-  .rel.dtors     : { *(.rel.dtors)     }
-  .rela.dtors    : { *(.rela.dtors)    }
-  .rel.bss       : { *(.rel.bss)               }
-  .rela.bss      : { *(.rela.bss)              }
-  .rel.plt       : { *(.rel.plt)               }
-  .rela.plt      : { *(.rela.plt)              }
-  .init          : { *(.init)  }
-  .plt : { *(.plt) }
   .text      :
   {
-    arch/powerpc/cpu/74xx_7xx/start.o  (.text)
-
-/* store the environment in a seperate sector in the boot flash */
-/*    . = env_offset; */
-/*    common/env_embedded.o(.text) */
+    arch/powerpc/cpu/74xx_7xx/start.o  (.text*)
+    *(.text*)
 
-    *(.text)
-    *(.got1)
+    . = DEFINED(env_offset) ? env_offset : .;
+    common/env_embedded.o      (.ppcenv*)
   }
   _etext = .;
   PROVIDE (etext = .);
   .rodata    :
   {
-    *(.eh_frame)
     *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
   }
-  .fini      : { *(.fini)    } =0
-  .ctors     : { *(.ctors)   }
-  .dtors     : { *(.dtors)   }
 
   /* Read-write section, merged into data segment: */
   . = (. + 0x00FF) & 0xFFFFFF00;
@@ -82,23 +51,19 @@ SECTIONS
   PROVIDE (erotext = .);
   .reloc   :
   {
-    *(.got)
+    KEEP(*(.got))
     _GOT2_TABLE_ = .;
-    *(.got2)
+    KEEP(*(.got2))
     _FIXUP_TABLE_ = .;
-    *(.fixup)
+    KEEP(*(.fixup))
   }
   __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >>2;
   __fixup_entries = (. - _FIXUP_TABLE_)>>2;
 
   .data    :
   {
-    *(.data)
-    *(.data1)
-    *(.sdata)
-    *(.sdata2)
-    *(.dynamic)
-    CONSTRUCTORS
+    *(.data*)
+    *(.sdata*)
   }
   _edata  =  .;
   PROVIDE (edata = .);
@@ -124,9 +89,8 @@ SECTIONS
   __bss_start = .;
   .bss (NOLOAD)       :
   {
-   *(.sbss) *(.scommon)
-   *(.dynbss)
-   *(.bss)
+   *(.bss*)
+   *(.sbss*)
    *(COMMON)
    . = ALIGN(4);
   }
index 667c6afbc4dfa9906bcb04e824cd883eada4f44a..cf79029e0b68ca9e821808f75d0d1b695197bc77 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o flash.o lamp.o pcmcia.o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 100c9804da66ccdbaf268c524683d36bc7163f27..c1ad14120d93665c5c689feb8eadfaf2ccb03757 100644 (file)
@@ -26,48 +26,22 @@ SECTIONS
 {
   /* Read-only sections, merged into text segment: */
   . = + SIZEOF_HEADERS;
-  .interp : { *(.interp) }
-  .hash          : { *(.hash)          }
-  .dynsym        : { *(.dynsym)                }
-  .dynstr        : { *(.dynstr)                }
-  .rel.text      : { *(.rel.text)      }
-  .rela.text     : { *(.rela.text)     }
-  .rel.data      : { *(.rel.data)      }
-  .rela.data     : { *(.rela.data)     }
-  .rel.rodata    : { *(.rel.rodata)    }
-  .rela.rodata   : { *(.rela.rodata)   }
-  .rel.got       : { *(.rel.got)       }
-  .rela.got      : { *(.rela.got)      }
-  .rel.ctors     : { *(.rel.ctors)     }
-  .rela.ctors    : { *(.rela.ctors)    }
-  .rel.dtors     : { *(.rel.dtors)     }
-  .rela.dtors    : { *(.rela.dtors)    }
-  .rel.bss       : { *(.rel.bss)       }
-  .rela.bss      : { *(.rela.bss)      }
-  .rel.plt       : { *(.rel.plt)       }
-  .rela.plt      : { *(.rela.plt)      }
-  .init          : { *(.init)          }
-  .plt : { *(.plt) }
   .text      :
   {
-    arch/powerpc/cpu/mpc8xx/start.o            (.text)
+    arch/powerpc/cpu/mpc8xx/start.o    (.text*)
+    arch/powerpc/cpu/mpc8xx/traps.o    (.text*)
 
     /*. = DEFINED(env_offset) ? env_offset : .;*/
-    common/env_embedded.o      (.ppcenv)
+    common/env_embedded.o      (.ppcenv*)
 
-    *(.text)
-    *(.got1)
+    *(.text*)
   }
   _etext = .;
   PROVIDE (etext = .);
   .rodata    :
   {
-    *(.eh_frame)
     *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
   }
-  .fini      : { *(.fini)    } =0
-  .ctors     : { *(.ctors)   }
-  .dtors     : { *(.dtors)   }
 
   /* Read-write section, merged into data segment: */
   . = (. + 0x0FFF) & 0xFFFFF000;
@@ -75,23 +49,19 @@ SECTIONS
   PROVIDE (erotext = .);
   .reloc   :
   {
-    *(.got)
+    KEEP(*(.got))
     _GOT2_TABLE_ = .;
-    *(.got2)
+    KEEP(*(.got2))
     _FIXUP_TABLE_ = .;
-    *(.fixup)
+    KEEP(*(.fixup))
   }
   __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >>2;
   __fixup_entries = (. - _FIXUP_TABLE_)>>2;
 
   .data    :
   {
-    *(.data)
-    *(.data1)
-    *(.sdata)
-    *(.sdata2)
-    *(.dynamic)
-    CONSTRUCTORS
+    *(.data*)
+    *(.sdata*)
   }
   _edata  =  .;
   PROVIDE (edata = .);
@@ -117,9 +87,8 @@ SECTIONS
   __bss_start = .;
   .bss (NOLOAD)       :
   {
-   *(.sbss) *(.scommon)
-   *(.dynbss)
-   *(.bss)
+   *(.bss*)
+   *(.sbss*)
    *(COMMON)
    . = ALIGN(4);
   }
diff --git a/board/fads/u-boot.lds.debug b/board/fads/u-boot.lds.debug
deleted file mode 100644 (file)
index a7a67a9..0000000
+++ /dev/null
@@ -1,136 +0,0 @@
-/*
- * (C) Copyright 2000
- * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
- *
- * See file CREDITS for list of people who contributed to this
- * project.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
- */
-
-OUTPUT_ARCH(powerpc)
-/* Do we need any of these for elf?
-   __DYNAMIC = 0;    */
-SECTIONS
-{
-  /* Read-only sections, merged into text segment: */
-  . = + SIZEOF_HEADERS;
-  .interp : { *(.interp) }
-  .hash          : { *(.hash)          }
-  .dynsym        : { *(.dynsym)                }
-  .dynstr        : { *(.dynstr)                }
-  .rel.text      : { *(.rel.text)              }
-  .rela.text     : { *(.rela.text)     }
-  .rel.data      : { *(.rel.data)              }
-  .rela.data     : { *(.rela.data)     }
-  .rel.rodata    : { *(.rel.rodata)    }
-  .rela.rodata   : { *(.rela.rodata)   }
-  .rel.got       : { *(.rel.got)               }
-  .rela.got      : { *(.rela.got)              }
-  .rel.ctors     : { *(.rel.ctors)     }
-  .rela.ctors    : { *(.rela.ctors)    }
-  .rel.dtors     : { *(.rel.dtors)     }
-  .rela.dtors    : { *(.rela.dtors)    }
-  .rel.bss       : { *(.rel.bss)               }
-  .rela.bss      : { *(.rela.bss)              }
-  .rel.plt       : { *(.rel.plt)               }
-  .rela.plt      : { *(.rela.plt)              }
-  .init          : { *(.init)  }
-  .plt : { *(.plt) }
-  .text      :
-  {
-    /* WARNING - the following is hand-optimized to fit within */
-    /* the sector layout of our flash chips!   XXX FIXME XXX   */
-
-    arch/powerpc/cpu/mpc8xx/start.o    (.text)
-    common/dlmalloc.o  (.text)
-    lib/vsprintf.o     (.text)
-    lib/crc32.o                (.text)
-    arch/powerpc/lib/extable.o (.text)
-
-    . = env_offset;
-    common/env_embedded.o(.text)
-
-    *(.text)
-    *(.got1)
-  }
-  _etext = .;
-  PROVIDE (etext = .);
-  .rodata    :
-  {
-    *(.rodata)
-    *(.rodata1)
-    *(.rodata.str1.4)
-    *(.eh_frame)
-  }
-  .fini      : { *(.fini)    } =0
-  .ctors     : { *(.ctors)   }
-  .dtors     : { *(.dtors)   }
-
-  /* Read-write section, merged into data segment: */
-  . = (. + 0x0FFF) & 0xFFFFF000;
-  _erotext = .;
-  PROVIDE (erotext = .);
-  .reloc   :
-  {
-    *(.got)
-    _GOT2_TABLE_ = .;
-    *(.got2)
-    _FIXUP_TABLE_ = .;
-    *(.fixup)
-  }
-  __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >>2;
-  __fixup_entries = (. - _FIXUP_TABLE_)>>2;
-
-  .data    :
-  {
-    *(.data)
-    *(.data1)
-    *(.sdata)
-    *(.sdata2)
-    *(.dynamic)
-    CONSTRUCTORS
-  }
-  _edata  =  .;
-  PROVIDE (edata = .);
-
-  __u_boot_cmd_start = .;
-  .u_boot_cmd : { *(.u_boot_cmd) }
-  __u_boot_cmd_end = .;
-
-
-  __start___ex_table = .;
-  __ex_table : { *(__ex_table) }
-  __stop___ex_table = .;
-
-  . = ALIGN(4096);
-  __init_begin = .;
-  .text.init : { *(.text.init) }
-  .data.init : { *(.data.init) }
-  . = ALIGN(4096);
-  __init_end = .;
-
-  __bss_start = .;
-  .bss       :
-  {
-   *(.sbss) *(.scommon)
-   *(.dynbss)
-   *(.bss)
-   *(COMMON)
-  }
-  _end = . ;
-  PROVIDE (end = .);
-}
index 74f660d23ea86bf77d538654fe291e65da36e7a4..fb540b49f8766dff0c26e859515e39f15fd5a4df 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := a320evb.o
 SOBJS  := lowlevel_init.o
@@ -33,7 +33,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index dcb1907032b5df8d2f89bdcb23506a49bb1446c7..12e4aa6880eed591aade2b9cfdf2d64611b3a39f 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o flash.o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 0da55d97911f48bca7446676adb3029375068cab..4a96388f04e3acf7c601d9570b238b8077394c4d 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * (C) Copyright 2001
+ * (C) Copyright 2001-2010
  * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
  *
  * See file CREDITS for list of people who contributed to this
  */
 
 OUTPUT_ARCH(powerpc)
-/* Do we need any of these for elf?
-   __DYNAMIC = 0;    */
+
 SECTIONS
 {
   /* Read-only sections, merged into text segment: */
   . = + SIZEOF_HEADERS;
-  .interp : { *(.interp) }
-  .hash          : { *(.hash)          }
-  .dynsym        : { *(.dynsym)                }
-  .dynstr        : { *(.dynstr)                }
-  .rel.text      : { *(.rel.text)              }
-  .rela.text     : { *(.rela.text)     }
-  .rel.data      : { *(.rel.data)              }
-  .rela.data     : { *(.rela.data)     }
-  .rel.rodata    : { *(.rel.rodata)    }
-  .rela.rodata   : { *(.rela.rodata)   }
-  .rel.got       : { *(.rel.got)               }
-  .rela.got      : { *(.rela.got)              }
-  .rel.ctors     : { *(.rel.ctors)     }
-  .rela.ctors    : { *(.rela.ctors)    }
-  .rel.dtors     : { *(.rel.dtors)     }
-  .rela.dtors    : { *(.rela.dtors)    }
-  .rel.bss       : { *(.rel.bss)               }
-  .rela.bss      : { *(.rela.bss)              }
-  .rel.plt       : { *(.rel.plt)               }
-  .rela.plt      : { *(.rela.plt)              }
-  .init          : { *(.init)  }
-  .plt : { *(.plt) }
   .text      :
   {
-    arch/powerpc/cpu/mpc8xx/start.o    (.text)
+    arch/powerpc/cpu/mpc8xx/start.o    (.text*)
+    arch/powerpc/cpu/mpc8xx/traps.o    (.text*)
 
-    *(.text)
-    *(.got1)
+    *(.text*)
   }
   _etext = .;
   PROVIDE (etext = .);
   .rodata    :
   {
-    *(.eh_frame)
     *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
   }
-  .fini      : { *(.fini)    } =0
-  .ctors     : { *(.ctors)   }
-  .dtors     : { *(.dtors)   }
 
   /* Read-write section, merged into data segment: */
   . = (. + 0x00FF) & 0xFFFFFF00;
@@ -74,23 +47,19 @@ SECTIONS
   PROVIDE (erotext = .);
   .reloc   :
   {
-    *(.got)
+    KEEP(*(.got))
     _GOT2_TABLE_ = .;
-    *(.got2)
+    KEEP(*(.got2))
     _FIXUP_TABLE_ = .;
-    *(.fixup)
+    KEEP(*(.fixup))
   }
   __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >>2;
   __fixup_entries = (. - _FIXUP_TABLE_)>>2;
 
   .data    :
   {
-    *(.data)
-    *(.data1)
-    *(.sdata)
-    *(.sdata2)
-    *(.dynamic)
-    CONSTRUCTORS
+    *(.data*)
+    *(.sdata*)
   }
   _edata  =  .;
   PROVIDE (edata = .);
@@ -116,9 +85,8 @@ SECTIONS
   __bss_start = .;
   .bss (NOLOAD)       :
   {
-   *(.sbss) *(.scommon)
-   *(.dynbss)
-   *(.bss)
+   *(.bss*)
+   *(.sbss*)
    *(COMMON)
    . = ALIGN(4);
   }
index dca3ac0fef5dba709e07a556d2da32e38c5c1fac..905dd7a0ae46f8bc174a2c001ddffccb438045b0 100644 (file)
 include $(TOPDIR)/config.mk
 
 ifneq ($(OBJTREE),$(SRCTREE))
-$(shell mkdir -p $(obj)board/$(VENDOR)/common)
+$(shell mkdir -p $(obj)board/freescale/common)
 endif
 
-LIB    = $(obj)lib$(VENDOR).a
+LIB    = $(obj)libfreescale.o
 
 COBJS-$(CONFIG_FSL_CADMUS)     += cadmus.o
 COBJS-$(CONFIG_FSL_VIA)                += cds_via.o
@@ -53,7 +53,7 @@ OBJS  := $(addprefix $(obj),$(COBJS-y))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 7a56fa2ce3de88f64b2437cba7ed0d140b07ef5a..1047d783f498dfcc48fa9faf4962128193bf5d08 100644 (file)
@@ -24,7 +24,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y        += $(BOARD).o
 COBJS-y        += ddr.o
@@ -38,7 +38,7 @@ OBJS  := $(addprefix $(obj),$(COBJS-y))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(OBJS) $(SOBJS)
index 68c63ac027b8844a98bf97071f7233cefb59d7ce..f183cf61d24ddb6800782100dd4aca5cb0acfc75 100644 (file)
@@ -45,6 +45,8 @@ int checkboard (void)
 {
        u8 sw;
        struct cpu_type *cpu = gd->cpu;
+       ccsr_gur_t *gur = (void *)CONFIG_SYS_MPC85xx_GUTS_ADDR;
+       unsigned int i;
 
        printf("Board: %sDS, ", cpu->name);
        printf("Sys ID: 0x%02x, Sys Ver: 0x%02x, FPGA Ver: 0x%02x, ",
@@ -66,6 +68,19 @@ int checkboard (void)
        puts("36-bit Addressing\n");
 #endif
 
+       /* Display the RCW, so that no one gets confused as to what RCW
+        * we're actually using for this boot.
+        */
+       puts("Reset Configuration Word (RCW):");
+       for (i = 0; i < ARRAY_SIZE(gur->rcwsr); i++) {
+               u32 rcw = in_be32(&gur->rcwsr[i]);
+
+               if ((i % 4) == 0)
+                       printf("\n       %08x:", i * 4);
+               printf(" %08x", rcw);
+       }
+       puts("\n");
+
        /* Display the actual SERDES reference clocks as configured by the
         * dip switches on the board.  Note that the SWx registers could
         * technically be set to force the reference clocks to match the
index e1bca1984c2cbc536f1529bebaa802ebfc7242b5..775b623ccbb0d1f943f0d66951e3e798f12e2614 100644 (file)
@@ -68,13 +68,13 @@ void pci_init_board(void)
                                LAW_TRGT_IF_PCIE_1);
                SET_STD_PCIE_INFO(pci_info[num], 1);
                pcie_ep = fsl_setup_hose(&pcie1_hose, pci_info[num].regs);
-               printf("    PCIE1 connected to Slot 1 as %s (base addr %lx)\n",
+               printf("PCIE1: connected to Slot 1 as %s (base addr %lx)\n",
                                pcie_ep ? "End Point" : "Root Complex",
                                pci_info[num].regs);
                first_free_busno = fsl_pci_init_port(&pci_info[num++],
                                &pcie1_hose, first_free_busno);
        } else {
-               printf ("    PCIE1: disabled\n");
+               printf("PCIE1: disabled\n");
        }
 #else
        setbits_be32(&gur->devdisr, FSL_CORENET_DEVDISR_PCIE1); /* disable */
@@ -90,13 +90,13 @@ void pci_init_board(void)
                                LAW_TRGT_IF_PCIE_2);
                SET_STD_PCIE_INFO(pci_info[num], 2);
                pcie_ep = fsl_setup_hose(&pcie2_hose, pci_info[num].regs);
-               printf("    PCIE2 connected to Slot 3 as %s (base addr %lx)\n",
+               printf("PCIE2: connected to Slot 3 as %s (base addr %lx)\n",
                                pcie_ep ? "End Point" : "Root Complex",
                                pci_info[num].regs);
                first_free_busno = fsl_pci_init_port(&pci_info[num++],
                                &pcie2_hose, first_free_busno);
        } else {
-               printf ("    PCIE2: disabled\n");
+               printf("PCIE2: disabled\n");
        }
 #else
        setbits_be32(&gur->devdisr, FSL_CORENET_DEVDISR_PCIE2); /* disable */
@@ -112,13 +112,13 @@ void pci_init_board(void)
                                LAW_TRGT_IF_PCIE_3);
                SET_STD_PCIE_INFO(pci_info[num], 3);
                pcie_ep = fsl_setup_hose(&pcie3_hose, pci_info[num].regs);
-               printf("    PCIE3 connected to Slot 2 as %s (base addr %lx)\n",
+               printf("PCIE3: connected to Slot 2 as %s (base addr %lx)\n",
                                pcie_ep ? "End Point" : "Root Complex",
                                pci_info[num].regs);
                first_free_busno = fsl_pci_init_port(&pci_info[num++],
                                &pcie3_hose, first_free_busno);
        } else {
-               printf ("    PCIE3: disabled\n");
+               printf("PCIE3: disabled\n");
        }
 #else
        setbits_be32(&gur->devdisr, FSL_CORENET_DEVDISR_PCIE3); /* disable */
@@ -134,13 +134,13 @@ void pci_init_board(void)
                                LAW_TRGT_IF_PCIE_4);
                SET_STD_PCIE_INFO(pci_info[num], 4);
                pcie_ep = fsl_setup_hose(&pcie4_hose, pci_info[num].regs);
-               printf("    PCIE4 connected to as %s (base addr %lx)\n",
+               printf("PCIE4: connected to as %s (base addr %lx)\n",
                                pcie_ep ? "End Point" : "Root Complex",
                                pci_info[num].regs);
                first_free_busno = fsl_pci_init_port(&pci_info[num++],
                                &pcie4_hose, first_free_busno);
        } else {
-               printf ("    PCIE4: disabled\n");
+               printf("PCIE4: disabled\n");
        }
 #else
        setbits_be32(&gur->devdisr, FSL_CORENET_DEVDISR_PCIE4); /* disable */
index 981763d205ca70ece9f60df14e99c235f425cc3e..c454d76bbfce1d9ce61eaee0139226bcffed2529 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 507e21a03bbcee2f15327828528ebdc2a1843ca2..860286930a1fc44ef006135f824b8ecf474b295d 100644 (file)
@@ -56,8 +56,8 @@ SECTIONS
     /* the sector layout of our flash chips!   XXX FIXME XXX   */
 
     arch/m68k/cpu/mcf52x2/start.o              (.text)
-    arch/m68k/cpu/mcf52x2/libmcf52x2.a (.text)
-    arch/m68k/lib/libm68k.a            (.text)
+    arch/m68k/cpu/mcf52x2/libmcf52x2.o (.text)
+    arch/m68k/lib/libm68k.o            (.text)
     common/dlmalloc.o          (.text)
 
     . = DEFINED(env_offset) ? env_offset : .;
index 981763d205ca70ece9f60df14e99c235f425cc3e..c454d76bbfce1d9ce61eaee0139226bcffed2529 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 4591196e68ed27323ef59c662100e6efa152e85b..9458aef5c38b4ffc8b4b4992e44067afd0796d9b 100644 (file)
@@ -56,9 +56,9 @@ SECTIONS
     /* the sector layout of our flash chips!   XXX FIXME XXX   */
 
     arch/m68k/cpu/mcf5227x/start.o     (.text)
-    arch/m68k/cpu/mcf5227x/libmcf5227x.a       (.text)
-    arch/m68k/lib/libm68k.a            (.text)
-    lib/libgeneric.a   (.text)
+    arch/m68k/cpu/mcf5227x/libmcf5227x.o       (.text)
+    arch/m68k/lib/libm68k.o            (.text)
+    lib/libgeneric.o   (.text)
     common/cmd_mem.o           (.text)
     common/main.o              (.text)
 
index 981763d205ca70ece9f60df14e99c235f425cc3e..c454d76bbfce1d9ce61eaee0139226bcffed2529 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 45ff158905a842644f14583d1317e7070fac41c0..47ec6dc8b951ec675d945c1f4692b7bd6aa41948 100644 (file)
@@ -60,7 +60,7 @@ SECTIONS
     arch/m68k/cpu/mcf523x/cpu_init.o   (.text)
     arch/m68k/cpu/mcf523x/interrupts.o (.text)
     arch/m68k/cpu/mcf523x/speed.o              (.text)
-    arch/m68k/lib/libm68k.a            (.text)
+    arch/m68k/lib/libm68k.o            (.text)
     common/dlmalloc.o          (.text)
     common/cmd_bootm.o         (.text)
     common/cmd_flash.o         (.text)
@@ -68,7 +68,7 @@ SECTIONS
     common/cmd_mem.o           (.text)
     common/console.o           (.text)
     common/main.o              (.text)
-    lib/libgeneric.a   (.text)
+    lib/libgeneric.o   (.text)
 
     . = DEFINED(env_offset) ? env_offset : .;
     common/env_embedded.o      (.text)
index 424ab1cf9e3251575e95a3faf767cfc87b765cf2..ac860c1348f6ba2e8d6ce881e99d95599b203ef9 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index cf07cf40fdb9485240118667e0b22074acd7516d..6dc495c3619cabc3ecc9eabf3c7c696a9580379f 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o flash.o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 424ab1cf9e3251575e95a3faf767cfc87b765cf2..ac860c1348f6ba2e8d6ce881e99d95599b203ef9 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 424ab1cf9e3251575e95a3faf767cfc87b765cf2..ac860c1348f6ba2e8d6ce881e99d95599b203ef9 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index ca41232c6420e43d6863ef5e6d3f10dce4f90851..9878ec18c44ffcc676cebe1a88d369d74b879325 100644 (file)
@@ -24,7 +24,7 @@
 OUTPUT_ARCH(m68k)
 /* Do we need any of these for elf?
    __DYNAMIC = 0;    */
-GROUP(libgcc.a)
+GROUP(libgcc.o)
 SECTIONS
 {
   /* Read-only sections, merged into text segment: */
index 424ab1cf9e3251575e95a3faf767cfc87b765cf2..ac860c1348f6ba2e8d6ce881e99d95599b203ef9 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 981763d205ca70ece9f60df14e99c235f425cc3e..c454d76bbfce1d9ce61eaee0139226bcffed2529 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 424ab1cf9e3251575e95a3faf767cfc87b765cf2..ac860c1348f6ba2e8d6ce881e99d95599b203ef9 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 981763d205ca70ece9f60df14e99c235f425cc3e..c454d76bbfce1d9ce61eaee0139226bcffed2529 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 6577299c25e97f26261d1e77424d89e52bb7eab1..2e002ad364d0be9ec33e768611d5ad248dd0e56f 100644 (file)
@@ -56,8 +56,8 @@ SECTIONS
     /* the sector layout of our flash chips!   XXX FIXME XXX   */
 
     arch/m68k/cpu/mcf532x/start.o              (.text)
-    arch/m68k/cpu/mcf532x/libmcf532x.a (.text)
-    arch/m68k/lib/libm68k.a            (.text)
+    arch/m68k/cpu/mcf532x/libmcf532x.o (.text)
+    arch/m68k/lib/libm68k.o            (.text)
     common/dlmalloc.o          (.text)
     lib/zlib.o         (.text)
 
index 07b693c13eadde1f16d2457358757731daffe2df..f8699fc4ad684a74fef299c7611cb7dcedc26a8c 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o nand.o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 07b693c13eadde1f16d2457358757731daffe2df..f8699fc4ad684a74fef299c7611cb7dcedc26a8c 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o nand.o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 981763d205ca70ece9f60df14e99c235f425cc3e..c454d76bbfce1d9ce61eaee0139226bcffed2529 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 09ac481dd1dee3ef383a6b22adb50f25a3790502..bd86a45bcb45a75a46ddd3a759107fbe06c91090 100644 (file)
@@ -56,13 +56,13 @@ SECTIONS
     /* the sector layout of our flash chips!   XXX FIXME XXX   */
 
     arch/m68k/cpu/mcf5445x/start.o             (.text)
-    arch/m68k/cpu/mcf5445x/libmcf5445x.a       (.text)
-    arch/m68k/lib/libm68k.a            (.text)
+    arch/m68k/cpu/mcf5445x/libmcf5445x.o       (.text)
+    arch/m68k/lib/libm68k.o            (.text)
     common/cmd_flash.o         (.text)
     common/dlmalloc.o          (.text)
     common/main.o              (.text)
     common/image.o             (.text)
-    lib/libgeneric.a   (.text)
+    lib/libgeneric.o   (.text)
 
     . = DEFINED(env_offset) ? env_offset : .;
     common/env_embedded.o      (.text)
index 981763d205ca70ece9f60df14e99c235f425cc3e..c454d76bbfce1d9ce61eaee0139226bcffed2529 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 981763d205ca70ece9f60df14e99c235f425cc3e..c454d76bbfce1d9ce61eaee0139226bcffed2529 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 981763d205ca70ece9f60df14e99c235f425cc3e..c454d76bbfce1d9ce61eaee0139226bcffed2529 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 20fbf6e9aeb2a01e1a89fc341fe3932402181448..cded9ebdf23bc2779ca6e3031b10a8e7a46a94dd 100644 (file)
@@ -25,7 +25,7 @@ include $(TOPDIR)/config.mk
 
 $(shell mkdir -p $(OBJTREE)/board/freescale/common)
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y        := $(BOARD).o
 
@@ -35,7 +35,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 995afbcd5ceee86089533a32d6fb01e014fe64c5..5df9d5d69b0dcf5ea596a3421163c4674906fc3a 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := $(BOARD).o tsi108_init.o
 SOBJS  := asm_init.o
@@ -33,7 +33,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index e1d4af0f904b0e3987574a1e3559142030013eee..74f5b8599e6f731012471c65eb3d6ebb70dbb332 100644 (file)
@@ -24,7 +24,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := $(BOARD).o flash.o
 
@@ -33,7 +33,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 4ffb83f783fd91b1804b502bee8ba079fb9502a9..f4938c49bd2fe0cfc575fd53116fac5c8aca13cd 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := $(BOARD).o flash.o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index e9bfa2bc0dbb1b634b83b50fcfb76c7bc6f71039..241a55782e8fd7a65a795a8fe2762cdf72e7adc8 100644 (file)
@@ -25,7 +25,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := $(BOARD).o sdram.o
 
@@ -34,7 +34,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 7c34c5e1641a64fd69a670837c85a3f9cd430959..f18aded2ce5110b97887f0d36eb13c879514b6bd 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := $(BOARD).o sdram.o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 7c34c5e1641a64fd69a670837c85a3f9cd430959..f18aded2ce5110b97887f0d36eb13c879514b6bd 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := $(BOARD).o sdram.o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index c95f90eaab82d6797b6c797d1f00ed7a50687b14..4a1b249b4c5bf31c2e8d23b42ea4c6a51e362ce2 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := $(BOARD).o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index c34905c74a8d8a3766c5eda1a5280b05d44934ee..4f76eab23e19ddfc3af006329ca990e5c0c5f574 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y += $(BOARD).o
 COBJS-$(CONFIG_PCI) += pci.o
@@ -34,7 +34,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index c34905c74a8d8a3766c5eda1a5280b05d44934ee..4f76eab23e19ddfc3af006329ca990e5c0c5f574 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y += $(BOARD).o
 COBJS-$(CONFIG_PCI) += pci.o
@@ -34,7 +34,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 527420b53472d1d97b2634f5fba312318142ccc2..f431316d79506f65a66e1a11a9486cc7716809a8 100644 (file)
@@ -22,7 +22,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y += $(BOARD).o
 COBJS-$(CONFIG_PCI) += pci.o
@@ -33,7 +33,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index c34905c74a8d8a3766c5eda1a5280b05d44934ee..4f76eab23e19ddfc3af006329ca990e5c0c5f574 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y += $(BOARD).o
 COBJS-$(CONFIG_PCI) += pci.o
@@ -34,7 +34,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index d1735041f967dd820fff1bfa49e60fef6c752124..107bdc312b35d7498e5b7f567b7b33e59fd38dc9 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y += $(BOARD).o
 COBJS-$(CONFIG_CMD_NAND) += nand.o
@@ -34,7 +34,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index c34905c74a8d8a3766c5eda1a5280b05d44934ee..4f76eab23e19ddfc3af006329ca990e5c0c5f574 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y += $(BOARD).o
 COBJS-$(CONFIG_PCI) += pci.o
@@ -34,7 +34,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index c34905c74a8d8a3766c5eda1a5280b05d44934ee..4f76eab23e19ddfc3af006329ca990e5c0c5f574 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y += $(BOARD).o
 COBJS-$(CONFIG_PCI) += pci.o
@@ -34,7 +34,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 7fcbdaa09c50f6673862152fdb5d2d5a23c89cd6..2ee7b4333a3a6ac3baae3de0f2f8757f1ffd2261 100644 (file)
@@ -24,7 +24,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y        += $(BOARD).o
 COBJS-y        += ddr.o
@@ -36,7 +36,7 @@ OBJS  := $(addprefix $(obj),$(COBJS-y))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(OBJS) $(SOBJS)
index c8e08563b6a749e25c99bc79e337325f7dc27ac6..cf92ba1211f9d5cc30de1791e23ce9977a26ab0e 100644 (file)
@@ -211,12 +211,12 @@ void pci_init_board(void)
                devdisr, sdrs2_io_sel, io_sel);
 
        if (sdrs2_io_sel == 7)
-               printf("    Serdes2 disalbed\n");
+               printf("Serdes2 disalbed\n");
        else if (sdrs2_io_sel == 4) {
-               printf("    eTSEC1 is in sgmii mode.\n");
-               printf("    eTSEC3 is in sgmii mode.\n");
+               printf("eTSEC1 is in sgmii mode.\n");
+               printf("eTSEC3 is in sgmii mode.\n");
        } else if (sdrs2_io_sel == 6)
-               printf("    eTSEC1 is in sgmii mode.\n");
+               printf("eTSEC1 is in sgmii mode.\n");
 
        puts("\n");
 #ifdef CONFIG_PCIE3
@@ -229,13 +229,13 @@ void pci_init_board(void)
                                LAW_TRGT_IF_PCIE_3);
                SET_STD_PCIE_INFO(pci_info[num], 3);
                pcie_ep = fsl_setup_hose(&pcie3_hose, pci_info[num].regs);
-               printf ("    PCIE3 connected to Slot3 as %s (base address %lx)\n",
+               printf("PCIE3: connected to Slot3 as %s (base address %lx)\n",
                        pcie_ep ? "Endpoint" : "Root Complex",
                        pci_info[num].regs);
                first_free_busno = fsl_pci_init_port(&pci_info[num++],
                                        &pcie3_hose, first_free_busno);
        } else {
-               printf ("    PCIE3: disabled\n");
+               printf("PCIE3: disabled\n");
        }
 
        puts("\n");
@@ -253,13 +253,13 @@ void pci_init_board(void)
                                LAW_TRGT_IF_PCIE_1);
                SET_STD_PCIE_INFO(pci_info[num], 1);
                pcie_ep = fsl_setup_hose(&pcie1_hose, pci_info[num].regs);
-               printf ("    PCIE1 connected to Slot1 as %s (base address %lx)\n",
+               printf("PCIE1: connected to Slot1 as %s (base address %lx)\n",
                        pcie_ep ? "Endpoint" : "Root Complex",
                        pci_info[num].regs);
                first_free_busno = fsl_pci_init_port(&pci_info[num++],
                                        &pcie1_hose, first_free_busno);
        } else {
-               printf ("    PCIE1: disabled\n");
+               printf("PCIE1: disabled\n");
        }
 
        puts("\n");
@@ -277,13 +277,13 @@ void pci_init_board(void)
                                LAW_TRGT_IF_PCIE_2);
                SET_STD_PCIE_INFO(pci_info[num], 2);
                pcie_ep = fsl_setup_hose(&pcie2_hose, pci_info[num].regs);
-               printf ("    PCIE2 connected to Slot 2 as %s (base address %lx)\n",
+               printf("PCIE2: connected to Slot 2 as %s (base address %lx)\n",
                        pcie_ep ? "Endpoint" : "Root Complex",
                        pci_info[num].regs);
                first_free_busno = fsl_pci_init_port(&pci_info[num++],
                                        &pcie2_hose, first_free_busno);
        } else {
-               printf ("    PCIE2: disabled\n");
+               printf("PCIE2: disabled\n");
        }
 
        puts("\n");
@@ -304,7 +304,7 @@ void pci_init_board(void)
                                LAW_TRGT_IF_PCI);
                SET_STD_PCI_INFO(pci_info[num], 1);
                pci_agent = fsl_setup_hose(&pci1_hose, pci_info[num].regs);
-               printf ("\n    PCI: %d bit, %s MHz, %s, %s, %s (base address %lx)\n",
+               printf("PCI: %d bit, %s MHz, %s, %s, %s (base address %lx)\n",
                        (pci_32) ? 32 : 64,
                        (pci_speed == 33333000) ? "33" :
                        (pci_speed == 66666000) ? "66" : "unknown",
@@ -316,7 +316,7 @@ void pci_init_board(void)
                first_free_busno = fsl_pci_init_port(&pci_info[num++],
                                        &pci1_hose, first_free_busno);
        } else {
-               printf ("    PCI: disabled\n");
+               printf("PCI: disabled\n");
        }
 
        puts("\n");
index 4c6da4d80e46c8ccb5b33693aff50b4169e16804..b94237e7a2abb1d39f13575846df75c0c0514a98 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y        += $(BOARD).o
 COBJS-y        += ddr.o
@@ -35,7 +35,7 @@ OBJS  := $(addprefix $(obj),$(COBJS-y))
 SOBJS  := $(addprefix $(obj),$(SOBJS-y))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(OBJS) $(SOBJS)
index f9ff827f47405bfb8e2db49fd814b758badc8974..d354a26f69a45f3fae22215df3ec12e3a5e535f9 100644 (file)
@@ -47,10 +47,10 @@ int checkboard (void)
        puts("Board: ADS\n");
 
 #ifdef CONFIG_PCI
-       printf("    PCI1: 32 bit, %d MHz (compiled)\n",
+       printf("PCI1: 32 bit, %d MHz (compiled)\n",
               CONFIG_SYS_CLK_FREQ / 1000000);
 #else
-       printf("    PCI1: disabled\n");
+       printf("PCI1: disabled\n");
 #endif
 
        /*
index c19a527d16591170c6eb8d8dfa3bac29a9ed0227..b50d7fde42656e338eb0afc1706864acbdf44d15 100644 (file)
@@ -24,7 +24,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y        += $(BOARD).o
 COBJS-y        += ddr.o
@@ -36,7 +36,7 @@ OBJS  := $(addprefix $(obj),$(COBJS-y))
 SOBJS  := $(addprefix $(obj),$(SOBJS-y))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(OBJS) $(SOBJS)
index 0580fe723959e50157214b84e4f15d55619f592c..59ec60446e91acda15112254ce866f6a83e37793 100644 (file)
@@ -221,17 +221,17 @@ int checkboard (void)
                MPC85XX_CPU_BOARD_MAJOR (cpu_board_rev),
                MPC85XX_CPU_BOARD_MINOR (cpu_board_rev), cpu_board_rev);
 
-       printf ("    PCI1: %d bit, %s MHz, %s\n",
+       printf("PCI1: %d bit, %s MHz, %s\n",
                (pci1_32) ? 32 : 64,
                (pci1_speed == 33000000) ? "33" :
                (pci1_speed == 66000000) ? "66" : "unknown",
                pci1_clk_sel ? "sync" : "async");
 
        if (pci_dual) {
-               printf ("    PCI2: 32 bit, 66 MHz, %s\n",
+               printf("PCI2: 32 bit, 66 MHz, %s\n",
                        pci2_clk_sel ? "sync" : "async");
        } else {
-               printf ("    PCI2: disabled\n");
+               printf("PCI2: disabled\n");
        }
 
        /*
index 39979944e4dd6304b2498b6df6bf82729605d494..8684f5ceca9dc831a1176878a98d41e69d6acbd4 100644 (file)
@@ -24,7 +24,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y        += $(BOARD).o
 COBJS-y        += ddr.o
@@ -36,7 +36,7 @@ OBJS  := $(addprefix $(obj),$(COBJS-y))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(OBJS) $(SOBJS)
index da3a2b6eecda939b015cbe530650f829d405648f..31c3fad869f6d660f8558128cd11327b18b411a5 100644 (file)
@@ -120,9 +120,9 @@ void pci_init_board(void)
 
        if (io_sel & 1) {
                if (!(gur->pordevsr & MPC85xx_PORDEVSR_SGMII1_DIS))
-                       printf ("    eTSEC1 is in sgmii mode.\n");
+                       printf("eTSEC1 is in sgmii mode.\n");
                if (!(gur->pordevsr & MPC85xx_PORDEVSR_SGMII3_DIS))
-                       printf ("    eTSEC3 is in sgmii mode.\n");
+                       printf("eTSEC3 is in sgmii mode.\n");
        }
        puts("\n");
 
@@ -142,9 +142,9 @@ void pci_init_board(void)
 
                pcie3_hose.region_count = 1;
 #endif
-               printf ("    PCIE3 connected to ULI as %s (base addr %lx)\n",
-                               pcie_ep ? "Endpoint" : "Root Complex",
-                               pci_info[num].regs);
+               printf("PCIE3: connected to ULI as %s (base addr %lx)\n",
+                       pcie_ep ? "Endpoint" : "Root Complex",
+                       pci_info[num].regs);
                first_free_busno = fsl_pci_init_port(&pci_info[num++],
                                        &pcie3_hose, first_free_busno);
 
@@ -154,7 +154,7 @@ void pci_init_board(void)
                 */
                in_be32((u32 *)CONFIG_SYS_PCIE3_MEM_BUS);
        } else {
-               printf ("    PCIE3: disabled\n");
+               printf("PCIE3: disabled\n");
        }
        puts("\n");
 #else
@@ -177,14 +177,14 @@ void pci_init_board(void)
 
                pcie1_hose.region_count = 1;
 #endif
-               printf ("    PCIE1 connected to Slot 2 as %s (base addr %lx)\n",
+               printf("PCIE1: connected to Slot 2 as %s (base addr %lx)\n",
                                pcie_ep ? "Endpoint" : "Root Complex",
                                pci_info[num].regs);
 
                first_free_busno = fsl_pci_init_port(&pci_info[num++],
                                        &pcie1_hose, first_free_busno);
        } else {
-               printf ("    PCIE1: disabled\n");
+               printf("PCIE1: disabled\n");
        }
 
        puts("\n");
@@ -208,13 +208,13 @@ void pci_init_board(void)
 
                pcie2_hose.region_count = 1;
 #endif
-               printf ("    PCIE2 connected to Slot 1 as %s (base addr %lx)\n",
-                               pcie_ep ? "Endpoint" : "Root Complex",
-                               pci_info[num].regs);
+               printf("PCIE2: connected to Slot 1 as %s (base addr %lx)\n",
+                       pcie_ep ? "Endpoint" : "Root Complex",
+                       pci_info[num].regs);
                first_free_busno = fsl_pci_init_port(&pci_info[num++],
                                        &pcie2_hose, first_free_busno);
        } else {
-               printf ("    PCIE2: disabled\n");
+               printf("PCIE2: disabled\n");
        }
 
        puts("\n");
@@ -231,7 +231,7 @@ void pci_init_board(void)
        if (!(devdisr & MPC85xx_DEVDISR_PCI1)) {
                SET_STD_PCI_INFO(pci_info[num], 1);
                pci_agent = fsl_setup_hose(&pci1_hose, pci_info[num].regs);
-               printf ("\n    PCI: %d bit, %s MHz, %s, %s, %s (base address %lx)\n",
+               printf("PCI: %d bit, %s MHz, %s, %s, %s (base address %lx)\n",
                        (pci_32) ? 32 : 64,
                        (pci_speed == 33333000) ? "33" :
                        (pci_speed == 66666000) ? "66" : "unknown",
@@ -243,7 +243,7 @@ void pci_init_board(void)
                first_free_busno = fsl_pci_init_port(&pci_info[num++],
                                        &pci1_hose, first_free_busno);
        } else {
-               printf ("    PCI: disabled\n");
+               printf("PCI: disabled\n");
        }
 
        puts("\n");
index c19a527d16591170c6eb8d8dfa3bac29a9ed0227..b50d7fde42656e338eb0afc1706864acbdf44d15 100644 (file)
@@ -24,7 +24,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y        += $(BOARD).o
 COBJS-y        += ddr.o
@@ -36,7 +36,7 @@ OBJS  := $(addprefix $(obj),$(COBJS-y))
 SOBJS  := $(addprefix $(obj),$(SOBJS-y))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(OBJS) $(SOBJS)
index 23e552bde7732e58d70f0bc1cc5a61d8a0630840..14c902cb9604071e4e87ad30d179afed96b89d00 100644 (file)
@@ -284,7 +284,7 @@ void pci_init_board(void)
        if (!(devdisr & MPC85xx_DEVDISR_PCI1)) {
                SET_STD_PCI_INFO(pci_info[num], 1);
                pci_agent = fsl_setup_hose(&pci1_hose, pci_info[num].regs);
-               printf ("\n    PCI: %d bit, %s MHz, %s, %s, %s (base address %lx)\n",
+               printf("PCI: %d bit, %s MHz, %s, %s, %s (base address %lx)\n",
                        (pci_32) ? 32 : 64,
                        (pci_speed == 33333000) ? "33" :
                        (pci_speed == 66666000) ? "66" : "unknown",
@@ -308,7 +308,7 @@ void pci_init_board(void)
                }
 #endif
        } else {
-               printf ("    PCI: disabled\n");
+               printf("PCI: disabled\n");
        }
 
        puts("\n");
@@ -321,10 +321,10 @@ void pci_init_board(void)
        uint pci2_clk_sel = porpllsr & 0x4000;  /* PORPLLSR[17] */
        uint pci_dual = get_pci_dual ();        /* PCI DUAL in CM_PCI[3] */
        if (pci_dual) {
-               printf ("    PCI2: 32 bit, 66 MHz, %s\n",
+               printf("PCI2: 32 bit, 66 MHz, %s\n",
                        pci2_clk_sel ? "sync" : "async");
        } else {
-               printf ("    PCI2: disabled\n");
+               printf("PCI2: disabled\n");
        }
 }
 #else
@@ -337,14 +337,14 @@ void pci_init_board(void)
        if (pcie_configured && !(devdisr & MPC85xx_DEVDISR_PCIE)){
                SET_STD_PCIE_INFO(pci_info[num], 1);
                pcie_ep = fsl_setup_hose(&pcie1_hose, pci_info[num].regs);
-               printf ("    PCIE1 connected to Slot as %s (base addr %lx)\n",
-                               pcie_ep ? "Endpoint" : "Root Complex",
-                               pci_info[num].regs);
+               printf("PCIE1: connected to Slot as %s (base addr %lx)\n",
+                       pcie_ep ? "Endpoint" : "Root Complex",
+                       pci_info[num].regs);
 
                first_free_busno = fsl_pci_init_port(&pci_info[num++],
                                        &pcie1_hose, first_free_busno);
        } else {
-               printf ("    PCIE1: disabled\n");
+               printf("PCIE1: disabled\n");
        }
 
        puts("\n");
index c19a527d16591170c6eb8d8dfa3bac29a9ed0227..b50d7fde42656e338eb0afc1706864acbdf44d15 100644 (file)
@@ -24,7 +24,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y        += $(BOARD).o
 COBJS-y        += ddr.o
@@ -36,7 +36,7 @@ OBJS  := $(addprefix $(obj),$(COBJS-y))
 SOBJS  := $(addprefix $(obj),$(SOBJS-y))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(OBJS) $(SOBJS)
index b7e0e0cd82bad2b5ac08137b116b1353c726b14f..edaba26f5335fdb26d504d1be79fec5844d155eb 100644 (file)
@@ -219,17 +219,17 @@ int checkboard (void)
                MPC85XX_CPU_BOARD_MAJOR (cpu_board_rev),
                MPC85XX_CPU_BOARD_MINOR (cpu_board_rev), cpu_board_rev);
 
-       printf ("    PCI1: %d bit, %s MHz, %s\n",
+       printf("PCI1: %d bit, %s MHz, %s\n",
                (pci1_32) ? 32 : 64,
                (pci1_speed == 33000000) ? "33" :
                (pci1_speed == 66000000) ? "66" : "unknown",
                pci1_clk_sel ? "sync" : "async");
 
        if (pci_dual) {
-               printf ("    PCI2: 32 bit, 66 MHz, %s\n",
+               printf("PCI2: 32 bit, 66 MHz, %s\n",
                        pci2_clk_sel ? "sync" : "async");
        } else {
-               printf ("    PCI2: disabled\n");
+               printf("PCI2: disabled\n");
        }
 
        /*
index 67dbdeb3a9843562c10cbe5346701f947cf1416e..9fce3be503db7295371fcc41dac98bee4d542f01 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y        += $(BOARD).o
 COBJS-y        += ddr.o
@@ -35,7 +35,7 @@ OBJS  := $(addprefix $(obj),$(COBJS-y))
 SOBJS  := $(addprefix $(obj),$(SOBJS-y))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(OBJS) $(SOBJS)
index 423e9d72a761b56b8b024c1190fc832a411a354f..1761431e33898e8c548944c404e61f0429359b53 100644 (file)
@@ -252,10 +252,10 @@ int checkboard (void)
        puts("Board: ADS\n");
 
 #ifdef CONFIG_PCI
-       printf("    PCI1: 32 bit, %d MHz (compiled)\n",
+       printf("PCI1: 32 bit, %d MHz (compiled)\n",
               CONFIG_SYS_CLK_FREQ / 1000000);
 #else
-       printf("    PCI1: disabled\n");
+       printf("PCI1: disabled\n");
 #endif
 
        /*
index d499fb31e2f896e93363d37ba54a04040ae20c40..eda359feed0207d3896b31d04f6ae818f221961d 100644 (file)
@@ -24,7 +24,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y        += $(BOARD).o
 COBJS-y        += bcsr.o
@@ -37,7 +37,7 @@ OBJS  := $(addprefix $(obj),$(COBJS-y))
 SOBJS  := $(addprefix $(obj),$(SOBJS-y))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(OBJS) $(SOBJS)
index bd859e4ee4bcbf2ae32ff9290e445ca59a1ac6bf..d74fcac98355f7445a9faaaec5337ddc1b4f3c1f 100644 (file)
@@ -378,7 +378,7 @@ void pci_init_board(void)
        if (!(devdisr & MPC85xx_DEVDISR_PCI1)) {
                SET_STD_PCI_INFO(pci_info[num], 1);
                pci_agent = fsl_setup_hose(&pci1_hose, pci_info[num].regs);
-               printf ("\n    PCI: %d bit, %s MHz, %s, %s, %s (base address %lx)\n",
+               printf("PCI: %d bit, %s MHz, %s, %s, %s (base address %lx)\n",
                        (pci_32) ? 32 : 64,
                        (pci_speed == 33333000) ? "33" :
                        (pci_speed == 66666000) ? "66" : "unknown",
@@ -390,7 +390,7 @@ void pci_init_board(void)
                first_free_busno = fsl_pci_init_port(&pci_info[num++],
                                        &pci1_hose, first_free_busno);
        } else {
-               printf ("    PCI: disabled\n");
+               printf("PCI: disabled\n");
        }
 
        puts("\n");
@@ -404,14 +404,14 @@ void pci_init_board(void)
        if (pcie_configured && !(devdisr & MPC85xx_DEVDISR_PCIE)){
                SET_STD_PCIE_INFO(pci_info[num], 1);
                pcie_ep = fsl_setup_hose(&pcie1_hose, pci_info[num].regs);
-               printf ("    PCIE1 connected to Slot as %s (base addr %lx)\n",
+               printf("PCIE1: connected to Slot as %s (base addr %lx)\n",
                                pcie_ep ? "Endpoint" : "Root Complex",
                                pci_info[num].regs);
 
                first_free_busno = fsl_pci_init_port(&pci_info[num++],
                                        &pcie1_hose, first_free_busno);
        } else {
-               printf ("    PCIE1: disabled\n");
+               printf("PCIE1: disabled\n");
        }
 
        puts("\n");
index 23805ea41a4dabc884805af8d22c3e74f8c2d9ee..1d49757289f0fcd0fa790e57fc65573ebb12eb53 100644 (file)
@@ -24,7 +24,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y        += $(BOARD).o
 COBJS-y        += bcsr.o
@@ -37,7 +37,7 @@ OBJS  := $(addprefix $(obj),$(COBJS-y))
 SOBJS  := $(addprefix $(obj),$(SOBJS-y))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(OBJS) $(SOBJS)
index 743e712b849a8a4b2f39a3d2eef1a7a532203d00..dc0884e7bf19a4c2ab91ac8a2da046e9d6fde7e6 100644 (file)
@@ -584,13 +584,13 @@ void pci_init_board(void)
        if (pcie_configured && !(devdisr & MPC85xx_DEVDISR_PCIE)){
                SET_STD_PCIE_INFO(pci_info[num], 1);
                pcie_ep = fsl_setup_hose(&pcie1_hose, pci_info[num].regs);
-               printf ("    PCIE1 connected to Slot as %s (base addr %lx)\n",
-                               pcie_ep ? "Endpoint" : "Root Complex",
-                               pci_info[num].regs);
+               printf("PCIE1: connected to Slot as %s (base addr %lx)\n",
+                       pcie_ep ? "Endpoint" : "Root Complex",
+                       pci_info[num].regs);
                first_free_busno = fsl_pci_init_port(&pci_info[num++],
                                        &pcie1_hose, first_free_busno);
        } else {
-               printf ("    PCIE1: disabled\n");
+               printf("PCIE1: disabled\n");
        }
 
        puts("\n");
index 3e82bbfeff4f6510270a2dddf7db75eeef4e0317..5b9fa10be52ecf118e9b2d05ad728fc6c5132944 100644 (file)
@@ -24,7 +24,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y        += $(BOARD).o
 COBJS-y        += ddr.o
@@ -36,7 +36,7 @@ OBJS  := $(addprefix $(obj),$(COBJS-y))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(OBJS) $(SOBJS)
index 6b96dfc16581ba48870a6c0e7c84055ac22f65ac..120f35c2c84e24c7b2ee7ce319cc2ab12152f80e 100644 (file)
@@ -177,13 +177,13 @@ void pci_init_board(void)
        debug ("   pci_init_board: devdisr=%x, io_sel=%x\n", devdisr, io_sel);
 
        if (!(pordevsr & MPC85xx_PORDEVSR_SGMII1_DIS))
-               printf ("    eTSEC1 is in sgmii mode.\n");
+               printf("eTSEC1 is in sgmii mode.\n");
        if (!(pordevsr & MPC85xx_PORDEVSR_SGMII2_DIS))
-               printf ("    eTSEC2 is in sgmii mode.\n");
+               printf("eTSEC2 is in sgmii mode.\n");
        if (!(pordevsr & MPC85xx_PORDEVSR_SGMII3_DIS))
-               printf ("    eTSEC3 is in sgmii mode.\n");
+               printf("eTSEC3 is in sgmii mode.\n");
        if (!(pordevsr & MPC85xx_PORDEVSR_SGMII4_DIS))
-               printf ("    eTSEC4 is in sgmii mode.\n");
+               printf("eTSEC4 is in sgmii mode.\n");
 
        puts("\n");
 #ifdef CONFIG_PCIE3
@@ -192,9 +192,9 @@ void pci_init_board(void)
        if (pcie_configured && !(devdisr & MPC85xx_DEVDISR_PCIE3)){
                SET_STD_PCIE_INFO(pci_info[num], 3);
                pcie_ep = fsl_setup_hose(&pcie3_hose, pci_info[num].regs);
-               printf ("    PCIE3 connected to ULI as %s (base addr %lx)\n",
-                               pcie_ep ? "Endpoint" : "Root Complex",
-                               pci_info[num].regs);
+               printf("PCIE3: connected to ULI as %s (base addr %lx)\n",
+                       pcie_ep ? "Endpoint" : "Root Complex",
+                       pci_info[num].regs);
                first_free_busno = fsl_pci_init_port(&pci_info[num++],
                                        &pcie3_hose, first_free_busno);
                /*
@@ -211,7 +211,7 @@ void pci_init_board(void)
                        in_be32(p);
                }
        } else {
-               printf ("    PCIE3: disabled\n");
+               printf("PCIE3: disabled\n");
        }
        puts("\n");
 #else
@@ -224,13 +224,13 @@ void pci_init_board(void)
        if (pcie_configured && !(devdisr & MPC85xx_DEVDISR_PCIE2)){
                SET_STD_PCIE_INFO(pci_info[num], 2);
                pcie_ep = fsl_setup_hose(&pcie2_hose, pci_info[num].regs);
-               printf ("    PCIE2 connected to Slot 1 as %s (base addr %lx)\n",
-                               pcie_ep ? "Endpoint" : "Root Complex",
-                               pci_info[num].regs);
+               printf("PCIE2: connected to Slot 1 as %s (base addr %lx)\n",
+                       pcie_ep ? "Endpoint" : "Root Complex",
+                       pci_info[num].regs);
                first_free_busno = fsl_pci_init_port(&pci_info[num++],
                                        &pcie2_hose, first_free_busno);
        } else {
-               printf ("    PCIE2: disabled\n");
+               printf("PCIE2: disabled\n");
        }
 
        puts("\n");
@@ -244,13 +244,13 @@ void pci_init_board(void)
        if (pcie_configured && !(devdisr & MPC85xx_DEVDISR_PCIE)){
                SET_STD_PCIE_INFO(pci_info[num], 1);
                pcie_ep = fsl_setup_hose(&pcie1_hose, pci_info[num].regs);
-               printf ("    PCIE1 connected to Slot 2 as %s (base addr %lx)\n",
+               printf("PCIE1: connected to Slot 2 as %s (base addr %lx)\n",
                                pcie_ep ? "Endpoint" : "Root Complex",
                                pci_info[num].regs);
                first_free_busno = fsl_pci_init_port(&pci_info[num++],
                                        &pcie1_hose, first_free_busno);
        } else {
-               printf ("    PCIE1: disabled\n");
+               printf("PCIE1: disabled\n");
        }
 
        puts("\n");
index 847edaf920f297df2d9e1becd3c481fa39755f6a..e91c2c59cb1eb2431f08128056b5843427e74d23 100644 (file)
@@ -21,7 +21,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y        += $(BOARD).o
 COBJS-$(CONFIG_FSL_DDR2) += ddr.o
@@ -34,7 +34,7 @@ OBJS  := $(addprefix $(obj),$(COBJS-y))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(OBJS) $(SOBJS)
index f67f3e3c56c8dc174917f2975c97bea67e9f3c21..61a635de78d25cfb1759686f9bd5c467a4e22528 100644 (file)
@@ -244,14 +244,14 @@ void pci_init_board(void)
        if (pcie_configured && !(devdisr & MPC86xx_DEVDISR_PCIE1)){
                SET_STD_PCIE_INFO(pci_info[num], 1);
                pcie_ep = fsl_setup_hose(&pcie1_hose, pci_info[num].regs);
-               printf ("    PCIE1 connected to ULI as %s (base addr %lx)\n",
-                               pcie_ep ? "Endpoint" : "Root Complex",
-                               pci_info[num].regs);
+               printf("PCIE1: connected to ULI as %s (base addr %lx)\n",
+                       pcie_ep ? "Endpoint" : "Root Complex",
+                       pci_info[num].regs);
 
                first_free_busno = fsl_pci_init_port(&pci_info[num++],
                                        &pcie1_hose, first_free_busno);
        } else {
-               printf ("    PCIE1: disabled\n");
+               printf("PCIE1: disabled\n");
        }
 
        puts("\n");
@@ -265,13 +265,13 @@ void pci_init_board(void)
        if (pcie_configured && !(devdisr & MPC86xx_DEVDISR_PCIE2)){
                SET_STD_PCIE_INFO(pci_info[num], 2);
                pcie_ep = fsl_setup_hose(&pcie2_hose, pci_info[num].regs);
-               printf ("    PCIE2 connected to Slot as %s (base addr %lx)\n",
-                               pcie_ep ? "Endpoint" : "Root Complex",
-                               pci_info[num].regs);
+               printf("PCIE2: connected to Slot as %s (base addr %lx)\n",
+                       pcie_ep ? "Endpoint" : "Root Complex",
+                       pci_info[num].regs);
                first_free_busno = fsl_pci_init_port(&pci_info[num++],
                                        &pcie2_hose, first_free_busno);
        } else {
-               printf ("    PCIE2: disabled\n");
+               printf("PCIE2: disabled\n");
        }
 
        puts("\n");
@@ -283,14 +283,14 @@ void pci_init_board(void)
        if (!(devdisr & MPC86xx_DEVDISR_PCI1)) {
                SET_STD_PCI_INFO(pci_info[num], 1);
                pci_agent = fsl_setup_hose(&pci1_hose, pci_info[num].regs);
-               printf(" PCI connected to PCI slots as %s" \
+               printf("PCI: connected to PCI slots as %s" \
                        " (base address %lx)\n",
                        pci_agent ? "Agent" : "Host",
                        pci_info[num].regs);
                first_free_busno = fsl_pci_init_port(&pci_info[num++],
                                        &pci1_hose, first_free_busno);
        } else {
-               printf ("    PCI: disabled\n");
+               printf("PCI: disabled\n");
        }
 
        puts("\n");
index c78b0a8280b4271518475cc29d866a232ba8445f..433c132fab676d46572acc2642671a98c8060e71 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y        += $(BOARD).o
 COBJS-y        += law.o
@@ -34,7 +34,7 @@ OBJS  := $(addprefix $(obj),$(COBJS-y))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(OBJS) $(SOBJS)
index 092ead6653572023fef815a35b0c0946c1aed6c8..812111db10070b47098e7364fb446848d568b9ef 100644 (file)
@@ -157,9 +157,9 @@ void pci_init_board(void)
        if (pcie_configured && !(devdisr & MPC86xx_DEVDISR_PCIEX1)) {
                SET_STD_PCIE_INFO(pci_info[num], 1);
                pcie_ep = fsl_setup_hose(&pcie1_hose, pci_info[num].regs);
-               printf("    PCIE1 connected to ULI as %s (base addr %lx)\n",
-                               pcie_ep ? "Endpoint" : "Root Complex",
-                               pci_info[num].regs);
+               printf("PCIE1: connected to ULI as %s (base addr %lx)\n",
+                       pcie_ep ? "Endpoint" : "Root Complex",
+                       pci_info[num].regs);
                first_free_busno = fsl_pci_init_port(&pci_info[num++],
                                        &pcie1_hose, first_free_busno);
 
@@ -171,22 +171,22 @@ void pci_init_board(void)
                                       + CONFIG_SYS_PCIE1_MEM_SIZE - 0x1000000)));
 
        } else {
-               puts("    PCIE1: disabled\n");
+               puts("PCIE1: disabled\n");
        }
 #else
-       puts("    PCIE1: disabled\n");
+       puts("PCIE1: disabled\n");
 #endif /* CONFIG_PCIE1 */
 
 #ifdef CONFIG_PCIE2
        SET_STD_PCIE_INFO(pci_info[num], 2);
        pcie_ep = fsl_setup_hose(&pcie2_hose, pci_info[num].regs);
-       printf("    PCIE2 connected as %s (base addr %lx)\n",
-                       pcie_ep ? "Endpoint" : "Root Complex",
-                       pci_info[num].regs);
+       printf("PCIE2: connected as %s (base addr %lx)\n",
+               pcie_ep ? "Endpoint" : "Root Complex",
+               pci_info[num].regs);
        first_free_busno = fsl_pci_init_port(&pci_info[num++],
                                &pcie2_hose, first_free_busno);
 #else
-       puts("    PCIE2: disabled\n");
+       puts("PCIE2: disabled\n");
 #endif /* CONFIG_PCIE2 */
 
 }
index a12f39174beaf379264431db5380e75cd97d0076..be4d61a9e340f147fa9e8d5e0f47e2beb8ceb2b0 100644 (file)
@@ -19,7 +19,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := mx31ads.o
 SOBJS  := lowlevel_init.o
@@ -29,7 +29,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 273129457b227ee95506a38b69fb309fc0fe7aa0..ecd97075b04bab4d64c4e1e30bab5c6b8df1cbf7 100644 (file)
@@ -38,10 +38,10 @@ SECTIONS
          /* the sector layout of our flash chips!      XXX FIXME XXX   */
 
          arch/arm/cpu/arm1136/start.o                  (.text)
-         board/freescale/mx31ads/libmx31ads.a  (.text)
-         arch/arm/lib/libarm.a                 (.text)
-         net/libnet.a                          (.text)
-         drivers/mtd/libmtd.a                  (.text)
+         board/freescale/mx31ads/libmx31ads.o  (.text)
+         arch/arm/lib/libarm.o                 (.text)
+         net/libnet.o                          (.text)
+         drivers/mtd/libmtd.o                  (.text)
 
          . = DEFINED(env_offset) ? env_offset : .;
          common/env_embedded.o(.text)
index d5d8f0475dc2af5383023d0c2a43f37e295e1861..02878852ae6f518a75e923432953b030174f1d09 100644 (file)
@@ -25,7 +25,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := mx31pdk.o
 
@@ -34,7 +34,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index eb12fc51fd97bd4f4a4e27b3768000ad86c7e40f..3344c28092002fad016347910dbc79337efe816a 100644 (file)
@@ -21,7 +21,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := mx51evk.o
 
@@ -30,7 +30,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 678eb2ae0687355eea9a1ef0fe4b2f845e8cf46b..30d174030a710e181fc1bd49f0bb5264933717b2 100644 (file)
@@ -9,7 +9,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y        += $(BOARD).o
 COBJS-y        += ddr.o
@@ -23,7 +23,7 @@ OBJS  := $(addprefix $(obj),$(COBJS-y))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(OBJS) $(SOBJS)
index ee93e8b8156f930352253a59b88b75164c9dace2..7cb549b1bfb6a5932bb473b955f5b0749ae311c1 100644 (file)
@@ -225,7 +225,7 @@ static void configure_pcie(struct fsl_pci_info *info,
        set_next_law(info->mem_phys, law_size_bits(info->mem_size), info->law);
        set_next_law(info->io_phys, law_size_bits(info->io_size), info->law);
        is_endpoint = fsl_setup_hose(hose, info->regs);
-       printf("    PCIE%u connected to %s as %s (base addr %lx)\n",
+       printf("PCIE%u: connected to %s as %s (base addr %lx)\n",
               info->pci_num, connected,
               is_endpoint ? "Endpoint" : "Root Complex", info->regs);
        bus_number = fsl_pci_init_port(info, hose, bus_number);
@@ -255,7 +255,7 @@ void pci_init_board(void)
                SET_STD_PCIE_INFO(pci_info, 1);
                configure_pcie(&pci_info, &pcie1_hose, serdes_slot_name(PCIE1));
        } else {
-               printf("    PCIE1: disabled\n");
+               printf("PCIE1: disabled\n");
        }
 #else
        setbits_be32(&gur->devdisr, MPC85xx_DEVDISR_PCIE); /* disable */
@@ -266,7 +266,7 @@ void pci_init_board(void)
                SET_STD_PCIE_INFO(pci_info, 2);
                configure_pcie(&pci_info, &pcie2_hose, serdes_slot_name(PCIE2));
        } else {
-               printf("    PCIE2: disabled\n");
+               printf("PCIE2: disabled\n");
        }
 #else
        setbits_be32(&gur->devdisr, MPC85xx_DEVDISR_PCIE2); /* disable */
@@ -277,7 +277,7 @@ void pci_init_board(void)
                SET_STD_PCIE_INFO(pci_info, 3);
                configure_pcie(&pci_info, &pcie3_hose, serdes_slot_name(PCIE3));
        } else {
-               printf("    PCIE3: disabled\n");
+               printf("PCIE3: disabled\n");
        }
 #else
        setbits_be32(&gur->devdisr, MPC85xx_DEVDISR_PCIE3); /* disable */
index ad1b7692913a21502c3ad94bd6165b01c7e2c05f..ba7e5df056826aabb31c7ac6d6f3e4c0f608a925 100644 (file)
@@ -22,7 +22,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y        += $(BOARD).o
 COBJS-y        += ddr.o
@@ -35,7 +35,7 @@ OBJS  := $(addprefix $(obj),$(COBJS-y))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(OBJS) $(SOBJS)
index fae31f28c0584cb46b375a4580d3e8ac316be581..1c4c0200e8a35075747e0d864ae82eaa9defeac4 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright 2009 Freescale Semiconductor, Inc.
+ * Copyright 2009-2010 Freescale Semiconductor, Inc.
  *
  * See file CREDITS for list of people who contributed to this
  * project.
@@ -33,6 +33,7 @@
 #include <tsec.h>
 #include <vsc7385.h>
 #include <netdev.h>
+#include <rtc.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
@@ -156,6 +157,7 @@ int board_early_init_r(void)
        set_tlb(1, flashbase, CONFIG_SYS_FLASH_BASE_PHYS,
                        MAS3_SX|MAS3_SW|MAS3_SR, MAS2_I|MAS2_G,
                        0, flash_esel, BOOKE_PAGESZ_16M, 1);
+       rtc_reset();
        return 0;
 }
 
index 97d4f834b08ed700de6c6418a6066fbce43b2b33..2a2d6b702fb20daf50f4e1239fbd96ab742790e2 100644 (file)
@@ -56,7 +56,7 @@ void pci_init_board(void)
        debug ("   pci_init_board: devdisr=%x, io_sel=%x\n", devdisr, io_sel);
 
        if (!(pordevsr & MPC85xx_PORDEVSR_SGMII2_DIS))
-               printf ("    eTSEC2 is in sgmii mode.\n");
+               printf("eTSEC2 is in sgmii mode.\n");
 
        puts("\n");
 #ifdef CONFIG_PCIE2
@@ -65,13 +65,13 @@ void pci_init_board(void)
        if (pcie_configured && !(devdisr & MPC85xx_DEVDISR_PCIE)){
                SET_STD_PCIE_INFO(pci_info[num], 2);
                pcie_ep = fsl_setup_hose(&pcie2_hose, pci_info[num].regs);
-               printf("    PCIE2 connected to Slot 1 as %s (base addr %lx)\n",
-                               pcie_ep ? "Endpoint" : "Root Complex",
-                               pci_info[num].regs);
+               printf("PCIE2: connected to Slot 1 as %s (base addr %lx)\n",
+                       pcie_ep ? "Endpoint" : "Root Complex",
+                       pci_info[num].regs);
                first_free_busno = fsl_pci_init_port(&pci_info[num++],
                                        &pcie2_hose, first_free_busno);
        } else {
-               printf ("    PCIE2: disabled\n");
+               printf("PCIE2: disabled\n");
        }
        puts("\n");
 #else
@@ -84,13 +84,13 @@ void pci_init_board(void)
        if (pcie_configured && !(devdisr & MPC85xx_DEVDISR_PCIE)){
                SET_STD_PCIE_INFO(pci_info[num], 1);
                pcie_ep = fsl_setup_hose(&pcie1_hose, pci_info[num].regs);
-               printf("    PCIE1 connected to Slot 2 as %s (base addr %lx)\n",
-                               pcie_ep ? "Endpoint" : "Root Complex",
-                               pci_info[num].regs);
+               printf("PCIE1: connected to Slot 2 as %s (base addr %lx)\n",
+                       pcie_ep ? "Endpoint" : "Root Complex",
+                       pci_info[num].regs);
                first_free_busno = fsl_pci_init_port(&pci_info[num++],
                                        &pcie1_hose, first_free_busno);
        } else {
-               printf ("    PCIE1: disabled\n");
+               printf("PCIE1: disabled\n");
        }
        puts("\n");
 #else
index 41032ace4269e9b0db1c8edd72ae91986acc577b..3306e4484ad36c4cdcc69c972aab3af6f7d1c52c 100644 (file)
@@ -24,7 +24,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y        += $(BOARD).o
 COBJS-y        += ddr.o
@@ -36,7 +36,7 @@ OBJS  := $(addprefix $(obj),$(COBJS-y))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(OBJS) $(SOBJS)
index 608ff916da819f78236bed570c8572ba30bfd525..b507677c3fed782433f79be5899e98bc571f0d5a 100644 (file)
@@ -207,9 +207,9 @@ void pci_init_board(void)
        debug ("   pci_init_board: devdisr=%x, io_sel=%x\n", devdisr, io_sel);
 
        if (!(pordevsr & MPC85xx_PORDEVSR_SGMII2_DIS))
-               printf("    eTSEC2 is in sgmii mode.\n");
+               printf("eTSEC2 is in sgmii mode.\n");
        if (!(pordevsr & MPC85xx_PORDEVSR_SGMII3_DIS))
-               printf("    eTSEC3 is in sgmii mode.\n");
+               printf("eTSEC3 is in sgmii mode.\n");
 
        puts("\n");
 #ifdef CONFIG_PCIE2
@@ -218,9 +218,9 @@ void pci_init_board(void)
        if (pcie_configured && !(devdisr & MPC85xx_DEVDISR_PCIE2)) {
                SET_STD_PCIE_INFO(pci_info[num], 2);
                pcie_ep = fsl_setup_hose(&pcie2_hose, pci_info[num].regs);
-               printf("    PCIE2 connected to ULI as %s (base addr %lx)\n",
-                               pcie_ep ? "Endpoint" : "Root Complex",
-                               pci_info[num].regs);
+               printf("PCIE2: connected to ULI as %s (base addr %lx)\n",
+                       pcie_ep ? "Endpoint" : "Root Complex",
+                       pci_info[num].regs);
                first_free_busno = fsl_pci_init_port(&pci_info[num++],
                                        &pcie2_hose, first_free_busno);
 
@@ -245,7 +245,7 @@ void pci_init_board(void)
                }
 #endif
        } else {
-               printf("    PCIE2: disabled\n");
+               printf("PCIE2: disabled\n");
        }
        puts("\n");
 #else
@@ -258,13 +258,13 @@ void pci_init_board(void)
        if (pcie_configured && !(devdisr & MPC85xx_DEVDISR_PCIE3)) {
                SET_STD_PCIE_INFO(pci_info[num], 3);
                pcie_ep = fsl_setup_hose(&pcie3_hose, pci_info[num].regs);
-               printf("    PCIE3 connected to Slot 1 as %s (base addr %lx)\n",
-                               pcie_ep ? "Endpoint" : "Root Complex",
-                               pci_info[num].regs);
+               printf("PCIE3: connected to Slot 1 as %s (base addr %lx)\n",
+                       pcie_ep ? "Endpoint" : "Root Complex",
+                       pci_info[num].regs);
                first_free_busno = fsl_pci_init_port(&pci_info[num++],
                                        &pcie3_hose, first_free_busno);
        } else {
-               printf("    PCIE3: disabled\n");
+               printf("PCIE3: disabled\n");
        }
        puts("\n");
 #else
@@ -277,13 +277,13 @@ void pci_init_board(void)
        if (pcie_configured && !(devdisr & MPC85xx_DEVDISR_PCIE)) {
                SET_STD_PCIE_INFO(pci_info[num], 1);
                pcie_ep = fsl_setup_hose(&pcie1_hose, pci_info[num].regs);
-               printf("    PCIE1 connected to Slot 2 as %s (base addr %lx)\n",
-                               pcie_ep ? "Endpoint" : "Root Complex",
-                               pci_info[num].regs);
+               printf("PCIE1: connected to Slot 2 as %s (base addr %lx)\n",
+                       pcie_ep ? "Endpoint" : "Root Complex",
+                       pci_info[num].regs);
                first_free_busno = fsl_pci_init_port(&pci_info[num++],
                                        &pcie1_hose, first_free_busno);
        } else {
-               printf("    PCIE1: disabled\n");
+               printf("PCIE1: disabled\n");
        }
        puts("\n");
 #else
index 493422d390af18206e07db93ebe9c5c28909e247..91d4d357c927b42345c45be1b35da2a73cbc4365 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := $(BOARD).o flash.o m88e6060.o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 1c60447e85483ac51c5d52c111cc9804538f0649..0f53340312aa390964fff395062deb239e4538bc 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o strataflash.o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 4a5d73b47c13b1e4311c52878581ff5428a3f5e9..66d5a384e0171b14b14dacafd2c5f8a9d344fc13 100644 (file)
@@ -24,7 +24,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := $(BOARD).o
 
@@ -34,7 +34,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 4a5d73b47c13b1e4311c52878581ff5428a3f5e9..66d5a384e0171b14b14dacafd2c5f8a9d344fc13 100644 (file)
@@ -24,7 +24,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := $(BOARD).o
 
@@ -34,7 +34,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 4a5d73b47c13b1e4311c52878581ff5428a3f5e9..66d5a384e0171b14b14dacafd2c5f8a9d344fc13 100644 (file)
@@ -24,7 +24,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := $(BOARD).o
 
@@ -34,7 +34,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 56123dc07b3ca9c62b52302f366b0dd7faeb8e35..a567c76ac8bfd3d0a47b926811f8bbf74cb330ff 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := $(BOARD).o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 56123dc07b3ca9c62b52302f366b0dd7faeb8e35..a567c76ac8bfd3d0a47b926811f8bbf74cb330ff 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := $(BOARD).o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 22ce8e64f292a3e687aaadb4e56cdd0d36e455f9..f5d88bb6e2ae58724e4364ed454a407a1034aceb 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := $(BOARD).o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 7bc636bb9c1faf8d2bf6eef4bd4623cca8975a43..e62aa1b0389bd9f95ec5b574e08723338533347b 100644 (file)
@@ -25,7 +25,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := gcplus.o flash.o
 SOBJS  := lowlevel_init.o
@@ -35,7 +35,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 13dff52d77b6b18ef66cc65d818211b8efae15fe..ed3120784b9b0c305982520657ebdf7ffbdd16d9 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-$(CONFIG_IO) += io.o
 COBJS-$(CONFIG_IOCON) += iocon.o
@@ -36,7 +36,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 93cde5aa17472807c38ac9dbe1df6964ccada31c..22570373850c879f8a21e75e299dacf271a4fdde 100644 (file)
@@ -27,7 +27,7 @@ ifneq ($(OBJTREE),$(SRCTREE))
 $(shell mkdir -p $(obj)board/$(VENDOR)/common)
 endif
 
-LIB    = $(obj)lib$(VENDOR).a
+LIB    = $(obj)lib$(VENDOR).o
 
 COBJS-$(CONFIG_IO) += miiphybb.o
 COBJS-$(CONFIG_IOCON) += osd.o
@@ -40,7 +40,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 05800ffba487bb2b895eabc13030b7ce29ccf38d..239c870eff76ebfec29cfafe6a72c88cd69208aa 100644 (file)
@@ -142,8 +142,7 @@ static int osd_print(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
        char *text;
 
        if (argc < 5) {
-               cmd_usage(cmdtp);
-               return 1;
+               return cmd_usage(cmdtp);
        }
 
        x = simple_strtoul(argv[1], NULL, 16);
@@ -204,8 +203,7 @@ int osd_write(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
        unsigned count = (argc > 4) ?  simple_strtoul(argv[4], NULL, 16) : 1;
 
        if ((argc < 4) || (strlen(argv[3]) % 4)) {
-               cmd_usage(cmdtp);
-               return 1;
+               return cmd_usage(cmdtp);
        }
 
        x = simple_strtoul(argv[1], NULL, 16);
index 1270feafc256fe879f26fb521a492aae080337cc..1c3dadb30632f74f4ab66e90cea5cbe93ff0f6e1 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o
 SOBJS   =
@@ -33,7 +33,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index b93f2c3890ef77b66ed5f5a3afa2365c1501963b..5b0ffc29209a37d33567d66b67750008bba7309d 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o
 SOBJS  = init.o
@@ -33,7 +33,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 12f8a642e70490726d2d175f476e15134ab8a812..4d87ea9a786e1ae05552573042ab27f47d347c65 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y        := $(BOARD).o
 COBJS-$(CONFIG_CMD_CHIP_CONFIG) += chip_config.o
@@ -34,8 +34,10 @@ SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c)
 OBJS   := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
-$(LIB):        $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+all:   $(LIB) $(SOBJS)
+
+$(LIB):        $(OBJS)
+       $(call cmd_link_o_target, $^)
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 1270feafc256fe879f26fb521a492aae080337cc..1c3dadb30632f74f4ab66e90cea5cbe93ff0f6e1 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o
 SOBJS   =
@@ -33,7 +33,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index fd34cb0db29487c2ab1caada7600fdf4c3c6f8c5..585362691638532588086f5c6db7684ab3a846c1 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o flash.o beeper.o fpga.o ioport.o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 35e92d11140d5ea167be0e34820093a64adf1c8d..cda6c47b33a9f1f29174045b8263557b584a2a79 100644 (file)
@@ -2,7 +2,7 @@
  * Linker command file for the GEN860T board when the environment is
  * stored in flash memory.
  *
- * (C) Copyright 2000
+ * (C) Copyright 2000-2010
  * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
  *
  * See file CREDITS for list of people who contributed to this
@@ -31,33 +31,12 @@ SECTIONS
    * Read-only sections, merged into text segment:
    */
   . = + SIZEOF_HEADERS;
-  .interp        : { *(.interp)                }
-  .hash          : { *(.hash)          }
-  .dynsym        : { *(.dynsym)                }
-  .dynstr        : { *(.dynstr)                }
-  .rel.text      : { *(.rel.text)      }
-  .rela.text     : { *(.rela.text)     }
-  .rel.data      : { *(.rel.data)      }
-  .rela.data     : { *(.rela.data)     }
-  .rel.rodata    : { *(.rel.rodata)    }
-  .rela.rodata   : { *(.rela.rodata)   }
-  .rel.got       : { *(.rel.got)       }
-  .rela.got      : { *(.rela.got)      }
-  .rel.ctors     : { *(.rel.ctors)     }
-  .rela.ctors    : { *(.rela.ctors)    }
-  .rel.dtors     : { *(.rel.dtors)     }
-  .rela.dtors    : { *(.rela.dtors)    }
-  .rel.bss       : { *(.rel.bss)       }
-  .rela.bss      : { *(.rela.bss)      }
-  .rel.plt       : { *(.rel.plt)       }
-  .rela.plt      : { *(.rela.plt)      }
-  .init          : { *(.init)          }
-  .plt           : { *(.plt)           }
   .text :
   {
-    arch/powerpc/cpu/mpc8xx/start.o    (.text)
-    *(.text)
-    *(.got1)
+    arch/powerpc/cpu/mpc8xx/start.o    (.text*)
+    arch/powerpc/cpu/mpc8xx/traps.o    (.text*)
+
+    *(.text*)
   }
   _etext = .;
   PROVIDE (etext = .);
@@ -65,9 +44,6 @@ SECTIONS
   {
     *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
   }
-  .fini      : { *(.fini)    } =0
-  .ctors     : { *(.ctors)   }
-  .dtors     : { *(.dtors)   }
 
   /*
    * Read-write section, merged into data segment:
@@ -77,23 +53,19 @@ SECTIONS
   PROVIDE (erotext = .);
   .reloc   :
   {
-    *(.got)
+    KEEP(*(.got))
     _GOT2_TABLE_ = .;
-    *(.got2)
+    KEEP(*(.got2))
     _FIXUP_TABLE_ = .;
-    *(.fixup)
+    KEEP(*(.fixup))
   }
   __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >>2;
   __fixup_entries = (. - _FIXUP_TABLE_)>>2;
 
   .data:
   {
-    *(.data)
-    *(.data1)
-    *(.sdata)
-    *(.sdata2)
-    *(.dynamic)
-    CONSTRUCTORS
+    *(.data*)
+    *(.sdata*)
   }
   _edata  =  .;
   PROVIDE (edata = .);
@@ -118,9 +90,8 @@ SECTIONS
   __bss_start = .;
   .bss (NOLOAD)       :
   {
-   *(.sbss) *(.scommon)
-   *(.dynbss)
-   *(.bss)
+   *(.bss*)
+   *(.sbss*)
    *(COMMON)
    . = ALIGN(4);
   }
index a4c30321168f12eaa06b16859be466a874d2e695..1729c17552a3857f9de4eac7a2d85dd70f7cf8d8 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Linker command file for the GEN860T board.
  *
- * (C) Copyright 2000
+ * (C) Copyright 2000-2010
  * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
  *
  * See file CREDITS for list of people who contributed to this
@@ -30,44 +30,19 @@ SECTIONS
    * Read-only sections, merged into text segment:
    */
   . = + SIZEOF_HEADERS;
-  .interp        : { *(.interp)                }
-  .hash          : { *(.hash)          }
-  .dynsym        : { *(.dynsym)                }
-  .dynstr        : { *(.dynstr)                }
-  .rel.text      : { *(.rel.text)      }
-  .rela.text     : { *(.rela.text)     }
-  .rel.data      : { *(.rel.data)      }
-  .rela.data     : { *(.rela.data)     }
-  .rel.rodata    : { *(.rel.rodata)    }
-  .rela.rodata   : { *(.rela.rodata)   }
-  .rel.got       : { *(.rel.got)       }
-  .rela.got      : { *(.rela.got)      }
-  .rel.ctors     : { *(.rel.ctors)     }
-  .rela.ctors    : { *(.rela.ctors)    }
-  .rel.dtors     : { *(.rel.dtors)     }
-  .rela.dtors    : { *(.rela.dtors)    }
-  .rel.bss       : { *(.rel.bss)       }
-  .rela.bss      : { *(.rela.bss)      }
-  .rel.plt       : { *(.rel.plt)       }
-  .rela.plt      : { *(.rela.plt)      }
-  .init          : { *(.init)          }
-  .plt           : { *(.plt)           }
   .text :
   {
-    arch/powerpc/cpu/mpc8xx/start.o            (.text)
-    *(.text)
-    *(.got1)
+    arch/powerpc/cpu/mpc8xx/start.o    (.text*)
+    arch/powerpc/cpu/mpc8xx/traps.o    (.text*)
+
+    *(.text*)
   }
   _etext = .;
   PROVIDE (etext = .);
   .rodata    :
   {
-    *(.eh_frame)
     *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
   }
-  .fini      : { *(.fini)    } =0
-  .ctors     : { *(.ctors)   }
-  .dtors     : { *(.dtors)   }
 
   /*
    * Read-write section, merged into data segment:
@@ -77,23 +52,19 @@ SECTIONS
   PROVIDE (erotext = .);
   .reloc   :
   {
-    *(.got)
+    KEEP(*(.got))
     _GOT2_TABLE_ = .;
-    *(.got2)
+    KEEP(*(.got2))
     _FIXUP_TABLE_ = .;
-    *(.fixup)
+    KEEP(*(.fixup))
   }
   __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >>2;
   __fixup_entries = (. - _FIXUP_TABLE_)>>2;
 
   .data    :
   {
-    *(.data)
-    *(.data1)
-    *(.sdata)
-    *(.sdata2)
-    *(.dynamic)
-    CONSTRUCTORS
+    *(.data*)
+    *(.sdata*)
   }
   _edata  =  .;
   PROVIDE (edata = .);
@@ -119,9 +90,8 @@ SECTIONS
   __bss_start = .;
   .bss (NOLOAD)       :
   {
-   *(.sbss) *(.scommon)
-   *(.dynbss)
-   *(.bss)
+   *(.bss*)
+   *(.sbss*)
    *(COMMON)
    . = ALIGN(4);
   }
index cf07cf40fdb9485240118667e0b22074acd7516d..6dc495c3619cabc3ecc9eabf3c7c696a9580379f 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o flash.o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index bcfdd87af428d38678db3db96b505460e26bf578..6b45ea0c26ecf59c682c2c7c6e2b2af423f6a426 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * (C) Copyright 2000
+ * (C) Copyright 2000-2010
  * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
  *
  * See file CREDITS for list of people who contributed to this
  */
 
 OUTPUT_ARCH(powerpc)
-/* Do we need any of these for elf?
-   __DYNAMIC = 0;    */
+
 SECTIONS
 {
   /* Read-only sections, merged into text segment: */
   . = + SIZEOF_HEADERS;
-  .interp : { *(.interp) }
-  .hash          : { *(.hash)          }
-  .dynsym        : { *(.dynsym)                }
-  .dynstr        : { *(.dynstr)                }
-  .rel.text      : { *(.rel.text)              }
-  .rela.text     : { *(.rela.text)     }
-  .rel.data      : { *(.rel.data)              }
-  .rela.data     : { *(.rela.data)     }
-  .rel.rodata    : { *(.rel.rodata)    }
-  .rela.rodata   : { *(.rela.rodata)   }
-  .rel.got       : { *(.rel.got)               }
-  .rela.got      : { *(.rela.got)              }
-  .rel.ctors     : { *(.rel.ctors)     }
-  .rela.ctors    : { *(.rela.ctors)    }
-  .rel.dtors     : { *(.rel.dtors)     }
-  .rela.dtors    : { *(.rela.dtors)    }
-  .rel.bss       : { *(.rel.bss)               }
-  .rela.bss      : { *(.rela.bss)              }
-  .rel.plt       : { *(.rel.plt)               }
-  .rela.plt      : { *(.rela.plt)              }
-  .init          : { *(.init)  }
-  .plt : { *(.plt) }
   .text      :
   {
     /* WARNING - the following is hand-optimized to fit within */
     /* the sector layout of our flash chips!   XXX FIXME XXX   */
 
-    arch/powerpc/cpu/mpc8xx/start.o    (.text)
-    common/dlmalloc.o  (.text)
-    arch/powerpc/lib/ppcstring.o       (.text)
-    lib/vsprintf.o     (.text)
-    lib/crc32.o                (.text)
-    lib/zlib.o         (.text)
+    arch/powerpc/cpu/mpc8xx/start.o    (.text*)
+    arch/powerpc/cpu/mpc8xx/traps.o    (.text*)
+    lib/libgeneric.o                   (.text*)
+    net/libnet.o                       (.text*)
+    arch/powerpc/cpu/mpc8xx/libmpc8xx.o        (.text*)
+    board/genietv/libgenietv.o         (.text*)
+    arch/powerpc/lib/libpowerpc.o      (.text*)
+    *(.text.do_load_serial*)
+    *(.text.do_mem_*)
+    *(.text.do_bootm*)
 
     . = env_offset;
-    common/env_embedded.o(.text)
-    *(.text)
-    *(.got1)
+    common/env_embedded.o              (.text*)
+
+    *(.text*)
   }
   _etext = .;
   PROVIDE (etext = .);
   .rodata    :
   {
-    *(.eh_frame)
     *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
   }
-  .fini      : { *(.fini)    } =0
-  .ctors     : { *(.ctors)   }
-  .dtors     : { *(.dtors)   }
 
   /* Read-write section, merged into data segment: */
   . = (. + 0x0FFF) & 0xFFFFF000;
@@ -84,23 +61,19 @@ SECTIONS
   PROVIDE (erotext = .);
   .reloc   :
   {
-    *(.got)
+    KEEP(*(.got))
     _GOT2_TABLE_ = .;
-    *(.got2)
+    KEEP(*(.got2))
     _FIXUP_TABLE_ = .;
-    *(.fixup)
+    KEEP(*(.fixup))
   }
   __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >>2;
   __fixup_entries = (. - _FIXUP_TABLE_)>>2;
 
   .data    :
   {
-    *(.data)
-    *(.data1)
-    *(.sdata)
-    *(.sdata2)
-    *(.dynamic)
-    CONSTRUCTORS
+    *(.data*)
+    *(.sdata*)
   }
   _edata  =  .;
   PROVIDE (edata = .);
@@ -126,9 +99,8 @@ SECTIONS
   __bss_start = .;
   .bss (NOLOAD)       :
   {
-   *(.sbss) *(.scommon)
-   *(.dynbss)
-   *(.bss)
+   *(.bss*)
+   *(.sbss*)
    *(COMMON)
   }
   . = ALIGN(256 * 1024);
index 097ffec35c2126aa823057e373d37f5645b0e619..77965fbba688f42a72eac3c15cfa9ceb308f9486 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o flash.o ee_access.o
 SOBJS  = lowlevel_init.o
@@ -33,7 +33,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 #########################################################################
 
index cb3c566d3195771fb5c2b067facf7931dac89a9e..82a80680ba3c2374ae77653fbb1b79dd6fdc372b 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := gw8260.o flash.o
 SOBJS   :=
@@ -33,7 +33,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index cf07cf40fdb9485240118667e0b22074acd7516d..6dc495c3619cabc3ecc9eabf3c7c696a9580379f 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o flash.o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index e121d65f7bcb16bc089b6f987dae9b0c7609a60c..456140df9f0d193b66bbf829f24d31114e5eb2f7 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * (C) Copyright 2000
+ * (C) Copyright 2000-2010
  * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
  *
  * See file CREDITS for list of people who contributed to this
  */
 
 OUTPUT_ARCH(powerpc)
-/* Do we need any of these for elf?
-   __DYNAMIC = 0;    */
+
 SECTIONS
 {
   /* Read-only sections, merged into text segment: */
   . = + SIZEOF_HEADERS;
-  .interp : { *(.interp) }
-  .hash          : { *(.hash)          }
-  .dynsym        : { *(.dynsym)                }
-  .dynstr        : { *(.dynstr)                }
-  .rel.text      : { *(.rel.text)              }
-  .rela.text     : { *(.rela.text)     }
-  .rel.data      : { *(.rel.data)              }
-  .rela.data     : { *(.rela.data)     }
-  .rel.rodata    : { *(.rel.rodata)    }
-  .rela.rodata   : { *(.rela.rodata)   }
-  .rel.got       : { *(.rel.got)               }
-  .rela.got      : { *(.rela.got)              }
-  .rel.ctors     : { *(.rel.ctors)     }
-  .rela.ctors    : { *(.rela.ctors)    }
-  .rel.dtors     : { *(.rel.dtors)     }
-  .rela.dtors    : { *(.rela.dtors)    }
-  .rel.bss       : { *(.rel.bss)               }
-  .rela.bss      : { *(.rela.bss)              }
-  .rel.plt       : { *(.rel.plt)               }
-  .rela.plt      : { *(.rela.plt)              }
-  .init          : { *(.init)  }
-  .plt : { *(.plt) }
   .text      :
   {
     /* WARNING - the following is hand-optimized to fit within */
     /* the sector layout of our flash chips!   XXX FIXME XXX   */
+    arch/powerpc/cpu/mpc8xx/start.o    (.text*)
+    arch/powerpc/cpu/mpc8xx/traps.o    (.text*)
+    board/hermes/libhermes.o           (.text*)
 
-    arch/powerpc/cpu/mpc8xx/start.o            (.text)
-    common/dlmalloc.o          (.text)
-    arch/powerpc/cpu/mpc8xx/interrupts.o       (.text)
-    arch/powerpc/lib/time.o            (.text)
-    arch/powerpc/lib/ticks.o           (.text)
-    arch/powerpc/lib/cache.o           (.text)
-    lib/crc32.o                (.text)
     . = env_offset;
-    common/env_embedded.o(.text)
+    common/env_embedded.o              (.text*)
 
-    *(.text)
-    *(.got1)
+    *(.text*)
   }
   _etext = .;
   PROVIDE (etext = .);
   .rodata    :
   {
-    *(.eh_frame)
     *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
   }
-  .fini      : { *(.fini)    } =0
-  .ctors     : { *(.ctors)   }
-  .dtors     : { *(.dtors)   }
 
   /* Read-write section, merged into data segment: */
   . = (. + 0x00FF) & 0xFFFFFF00;
@@ -85,23 +53,19 @@ SECTIONS
   PROVIDE (erotext = .);
   .reloc   :
   {
-    *(.got)
+    KEEP(*(.got))
     _GOT2_TABLE_ = .;
-    *(.got2)
+    KEEP(*(.got2))
     _FIXUP_TABLE_ = .;
-    *(.fixup)
+    KEEP(*(.fixup))
   }
   __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >>2;
   __fixup_entries = (. - _FIXUP_TABLE_)>>2;
 
   .data    :
   {
-    *(.data)
-    *(.data1)
-    *(.sdata)
-    *(.sdata2)
-    *(.dynamic)
-    CONSTRUCTORS
+    *(.data*)
+    *(.sdata*)
   }
   _edata  =  .;
   PROVIDE (edata = .);
@@ -127,9 +91,8 @@ SECTIONS
   __bss_start = .;
   .bss (NOLOAD)       :
   {
-   *(.sbss) *(.scommon)
-   *(.dynbss)
-   *(.bss)
+   *(.bss*)
+   *(.sbss*)
    *(COMMON)
    . = ALIGN(4);
   }
index 5aa02d4a7f17a2319aea7376c4e5b9497aa352a5..befc92a7f553a7c43697129c30021504c53a1929 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS =  $(BOARD).o flash.o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 1fb7e79aa97a1c4f347d1f9113be2119d44c39f9..6b56f33ee3b5fa1aef6268722bcf9a79eedae8d7 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o flash.o bsp.o eeprom.o fetch.o input.o env.o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index bfeaf791e19f2b2a4900fe501d7b39d91c75be2a..0d176764f1a276266bcfbd206505ed95b42c2c8c 100644 (file)
@@ -27,7 +27,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y        := $(BOARD).o
 
@@ -36,7 +36,7 @@ OBJS  := $(addprefix $(obj),$(COBJS-y))
 SOBJS  := $(addprefix $(obj),$(SOBJS-y))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index c94e24fc6a683dff273d5ec91f764bb2c8e6702c..d45db9ff8212c9bf53bee4f9a85e7a903b327158 100644 (file)
@@ -24,7 +24,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := $(BOARD).o flash.o
 
@@ -33,7 +33,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 2b10b0c518acfb4eee7879e5aa0f3ccaa7f7b4cb..b49f26da274c521461933b0e4a8c75ef66f07dee 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o flash.o pcmcia.o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 7c5278adae7f8ba9a2683ce9e8f8ef05dad2af41..08dfaeec0af8513f058e25d6405bbacc10d38001 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * (C) Copyright 2001
+ * (C) Copyright 2001-2010
  * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
  *
  * See file CREDITS for list of people who contributed to this
  */
 
 OUTPUT_ARCH(powerpc)
-/* Do we need any of these for elf?
-   __DYNAMIC = 0;    */
+
 SECTIONS
 {
   /* Read-only sections, merged into text segment: */
   . = + SIZEOF_HEADERS;
-  .interp : { *(.interp) }
-  .hash          : { *(.hash)          }
-  .dynsym        : { *(.dynsym)                }
-  .dynstr        : { *(.dynstr)                }
-  .rel.text      : { *(.rel.text)              }
-  .rela.text     : { *(.rela.text)     }
-  .rel.data      : { *(.rel.data)              }
-  .rela.data     : { *(.rela.data)     }
-  .rel.rodata    : { *(.rel.rodata)    }
-  .rela.rodata   : { *(.rela.rodata)   }
-  .rel.got       : { *(.rel.got)               }
-  .rela.got      : { *(.rela.got)              }
-  .rel.ctors     : { *(.rel.ctors)     }
-  .rela.ctors    : { *(.rela.ctors)    }
-  .rel.dtors     : { *(.rel.dtors)     }
-  .rela.dtors    : { *(.rela.dtors)    }
-  .rel.bss       : { *(.rel.bss)               }
-  .rela.bss      : { *(.rela.bss)              }
-  .rel.plt       : { *(.rel.plt)               }
-  .rela.plt      : { *(.rela.plt)              }
-  .init          : { *(.init)  }
-  .plt : { *(.plt) }
   .text      :
   {
-    /* WARNING - the following is hand-optimized to fit within */
-    /* the sector layout of our flash chips!   XXX FIXME XXX   */
-
-    arch/powerpc/cpu/mpc8xx/start.o    (.text)
-/*
-    arch/powerpc/cpu/mpc8xx/start.o    (.text)
-    common/dlmalloc.o  (.text)
-    arch/powerpc/lib/ppcstring.o       (.text)
-    lib/vsprintf.o     (.text)
-    lib/crc32.o                (.text)
-    lib/zlib.o         (.text)
-
-    . = env_offset;
-    common/env_embedded.o(.text)
-*/
+    arch/powerpc/cpu/mpc8xx/start.o    (.text*)
+    arch/powerpc/cpu/mpc8xx/traps.o    (.text*)
 
-    *(.text)
-    *(.got1)
+    *(.text*)
   }
   _etext = .;
   PROVIDE (etext = .);
   .rodata    :
   {
-    *(.eh_frame)
     *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
   }
-  .fini      : { *(.fini)    } =0
-  .ctors     : { *(.ctors)   }
-  .dtors     : { *(.dtors)   }
 
   /* Read-write section, merged into data segment: */
   . = (. + 0x0FFF) & 0xFFFFF000;
@@ -88,23 +47,19 @@ SECTIONS
   PROVIDE (erotext = .);
   .reloc   :
   {
-    *(.got)
+    KEEP(*(.got))
     _GOT2_TABLE_ = .;
-    *(.got2)
+    KEEP(*(.got2))
     _FIXUP_TABLE_ = .;
-    *(.fixup)
+    KEEP(*(.fixup))
   }
   __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >>2;
   __fixup_entries = (. - _FIXUP_TABLE_)>>2;
 
   .data    :
   {
-    *(.data)
-    *(.data1)
-    *(.sdata)
-    *(.sdata2)
-    *(.dynamic)
-    CONSTRUCTORS
+    *(.data*)
+    *(.sdata*)
   }
   _edata  =  .;
   PROVIDE (edata = .);
@@ -130,9 +85,8 @@ SECTIONS
   __bss_start = .;
   .bss (NOLOAD)       :
   {
-   *(.sbss) *(.scommon)
-   *(.dynbss)
-   *(.bss)
+   *(.bss*)
+   *(.sbss*)
    *(COMMON)
    . = ALIGN(4);
   }
index cf07cf40fdb9485240118667e0b22074acd7516d..6dc495c3619cabc3ecc9eabf3c7c696a9580379f 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o flash.o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index ca41232c6420e43d6863ef5e6d3f10dce4f90851..9878ec18c44ffcc676cebe1a88d369d74b879325 100644 (file)
@@ -24,7 +24,7 @@
 OUTPUT_ARCH(m68k)
 /* Do we need any of these for elf?
    __DYNAMIC = 0;    */
-GROUP(libgcc.a)
+GROUP(libgcc.o)
 SECTIONS
 {
   /* Read-only sections, merged into text segment: */
index 4c9634c9750bca39b4270dc0b2dbcfcedd327d44..2b702cee2d76146e1fcc51989e25b05cb55dfb97 100644 (file)
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
-COBJS  = $(BOARD).o flash.o
+COBJS  = $(BOARD).o
 
 SRCS   := $(SOBJS:.o=.S) $(COBJS:.o=.c)
 OBJS   := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
diff --git a/board/ids8247/flash.c b/board/ids8247/flash.c
deleted file mode 100644 (file)
index 5107553..0000000
+++ /dev/null
@@ -1,484 +0,0 @@
-/*
- * (C) Copyright 2005
- * Heiko Schocher, DENX Software Engineering, <hs@denx.de>
- *
- * (C) Copyright 2001
- * Kyle Harris, Nexus Technologies, Inc. kharris@nexus-tech.net
- *
- * (C) Copyright 2001-2005
- * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
- *
- * See file CREDITS for list of people who contributed to this
- * project.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
- */
-
-#undef DEBUG
-
-#include <common.h>
-
-flash_info_t flash_info[CONFIG_SYS_MAX_FLASH_BANKS];   /* info for FLASH chips    */
-
-#if defined(CONFIG_ENV_IS_IN_FLASH)
-# ifndef  CONFIG_ENV_ADDR
-#  define CONFIG_ENV_ADDR      (CONFIG_SYS_FLASH_BASE + CONFIG_ENV_OFFSET)
-# endif
-# ifndef  CONFIG_ENV_SIZE
-#  define CONFIG_ENV_SIZE      CONFIG_ENV_SECT_SIZE
-# endif
-# ifndef  CONFIG_ENV_SECT_SIZE
-#  define CONFIG_ENV_SECT_SIZE  CONFIG_ENV_SIZE
-# endif
-#endif
-
-/*-----------------------------------------------------------------------
- * Protection Flags:
- */
-#define FLAG_PROTECT_SET       0x01
-#define FLAG_PROTECT_CLEAR     0x02
-
-/* Board support for 1 or 2 flash devices */
-#undef FLASH_PORT_WIDTH32
-#undef FLASH_PORT_WIDTH16
-#define FLASH_PORT_WIDTH8
-
-#ifdef FLASH_PORT_WIDTH16
-#define FLASH_PORT_WIDTH       ushort
-#define FLASH_PORT_WIDTHV      vu_short
-#elif FLASH_PORT_WIDTH32
-#define FLASH_PORT_WIDTH       ulong
-#define FLASH_PORT_WIDTHV      vu_long
-#else /* FLASH_PORT_WIDTH8 */
-#define FLASH_PORT_WIDTH       uchar
-#define FLASH_PORT_WIDTHV      vu_char
-#endif
-
-#define FPW                    FLASH_PORT_WIDTH
-#define FPWV                   FLASH_PORT_WIDTHV
-
-/*-----------------------------------------------------------------------
- * Functions
- */
-static ulong flash_get_size (FPWV * addr, flash_info_t * info);
-static int write_data (flash_info_t * info, ulong dest, FPW data);
-static void flash_get_offsets (ulong base, flash_info_t * info);
-
-/*-----------------------------------------------------------------------
- */
-
-unsigned long flash_init (void)
-{
-       unsigned long size_b0;
-       int i;
-       volatile immap_t * immr = (immap_t *)CONFIG_SYS_IMMR;
-       volatile memctl8260_t *memctl = &immr->im_memctl;
-
-       /* Init: no FLASHes known */
-       for (i = 0; i < CONFIG_SYS_MAX_FLASH_BANKS; ++i) {
-               flash_info[i].flash_id = FLASH_UNKNOWN;
-       }
-
-       /* Static FLASH Bank configuration here - FIXME XXX */
-       size_b0 = flash_get_size ((FPW *) CONFIG_SYS_FLASH0_BASE, &flash_info[0]);
-
-       if (flash_info[0].flash_id == FLASH_UNKNOWN) {
-               printf ("## Unknown FLASH on Bank 0 - Size = 0x%08lx = %ld MB\n",
-                       size_b0, size_b0 << 20);
-       }
-
-       memctl->memc_or0 = 0xff800060;
-       memctl->memc_br0 = 0xff800801;
-
-       flash_get_offsets (0xff800000, &flash_info[0]);
-
-#if CONFIG_SYS_MONITOR_BASE >= CONFIG_SYS_FLASH_BASE
-       /* monitor protection ON by default */
-       (void) flash_protect (FLAG_PROTECT_SET,
-                               CONFIG_SYS_MONITOR_BASE,
-                               CONFIG_SYS_MONITOR_BASE + monitor_flash_len - 1,
-                               &flash_info[0]);
-#endif
-
-#ifdef CONFIG_ENV_IS_IN_FLASH
-       /* ENV protection ON by default */
-       flash_protect (FLAG_PROTECT_SET,
-                       CONFIG_ENV_ADDR,
-                       CONFIG_ENV_ADDR + CONFIG_ENV_SIZE - 1,
-                       &flash_info[0]);
-#endif
-
-       flash_info[0].size = size_b0;
-
-       return (size_b0);
-}
-
-/*-----------------------------------------------------------------------
- */
-static void flash_get_offsets (ulong base, flash_info_t * info)
-{
-       int i;
-
-       if (info->flash_id == FLASH_UNKNOWN) {
-               return;
-       }
-
-       if ((info->flash_id & FLASH_VENDMASK) == FLASH_MAN_INTEL) {
-               for (i = 0; i < info->sector_count; i++) {
-                       info->start[i] = base + (i * 0x00020000);
-               }
-       }
-}
-
-/*-----------------------------------------------------------------------
- */
-void flash_print_info (flash_info_t * info)
-{
-       int i;
-
-       if (info->flash_id == FLASH_UNKNOWN) {
-               printf ("missing or unknown FLASH type\n");
-               return;
-       }
-
-       switch (info->flash_id & FLASH_VENDMASK) {
-       case FLASH_MAN_INTEL:
-               printf ("INTEL ");
-               break;
-       default:
-               printf ("Unknown Vendor ");
-               break;
-       }
-
-       switch (info->flash_id & FLASH_TYPEMASK) {
-       case FLASH_28F320J3A:
-               printf ("28F320J3A\n");
-               break;
-       case FLASH_28F640J3A:
-               printf ("28F640J3A\n");
-               break;
-       case FLASH_28F128J3A:
-               printf ("28F128J3A\n");
-               break;
-       default:
-               printf ("Unknown Chip Type\n");
-               break;
-       }
-
-       printf ("  Size: %ld MB in %d Sectors\n",
-                       info->size >> 20, info->sector_count);
-
-       printf ("  Sector Start Addresses:");
-       for (i = 0; i < info->sector_count; ++i) {
-               if ((i % 5) == 0)
-                       printf ("\n   ");
-               printf (" %08lX%s",
-                       info->start[i],
-                       info->protect[i] ? " (RO)" : "     ");
-       }
-       printf ("\n");
-       return;
-}
-
-/*-----------------------------------------------------------------------
- */
-
-
-/*-----------------------------------------------------------------------
- */
-
-/*
- * The following code cannot be run from FLASH!
- */
-
-static ulong flash_get_size (FPWV * addr, flash_info_t * info)
-{
-       FPW value;
-
-       addr[0] = (FPW) 0x00900090;
-
-       value = addr[0];
-
-       debug ("Manuf. ID @ 0x%08lx: 0x%08lx\n", (ulong)addr, value);
-
-       switch (value) {
-       case (FPW) INTEL_MANUFACT:
-               info->flash_id = FLASH_MAN_INTEL;
-               break;
-       default:
-               info->flash_id = FLASH_UNKNOWN;
-               info->sector_count = 0;
-               info->size = 0;
-               addr[0] = (FPW) 0x00FF00FF;     /* restore read mode */
-               return (0);                     /* no or unknown flash  */
-       }
-
-#ifdef FLASH_PORT_WIDTH8
-       value = addr[2];                        /* device ID        */
-#else
-       value = addr[1];                        /* device ID        */
-#endif
-
-       debug ("Device ID @ 0x%08lx: 0x%08lx\n", (ulong)(&addr[1]), value);
-
-       switch (value) {
-       case (FPW) INTEL_ID_28F320J3A:
-               info->flash_id += FLASH_28F320J3A;
-               info->sector_count = 32;
-               info->size = 0x00400000;
-               break;                          /* => 4 MB     */
-
-       case (FPW) INTEL_ID_28F640J3A:
-               info->flash_id += FLASH_28F640J3A;
-               info->sector_count = 64;
-               info->size = 0x00800000;
-               break;                          /* => 8 MB     */
-
-       case (FPW) INTEL_ID_28F128J3A:
-               info->flash_id += FLASH_28F128J3A;
-               info->sector_count = 128;
-               info->size = 0x01000000;
-               break;                          /* => 16 MB     */
-
-       default:
-               info->flash_id = FLASH_UNKNOWN;
-               break;
-       }
-
-       if (info->sector_count > CONFIG_SYS_MAX_FLASH_SECT) {
-               printf ("** ERROR: sector count %d > max (%d) **\n",
-                               info->sector_count, CONFIG_SYS_MAX_FLASH_SECT);
-               info->sector_count = CONFIG_SYS_MAX_FLASH_SECT;
-       }
-
-       addr[0] = (FPW) 0x00FF00FF;     /* restore read mode */
-
-       return (info->size);
-}
-
-
-/*-----------------------------------------------------------------------
- */
-
-int flash_erase (flash_info_t * info, int s_first, int s_last)
-{
-       int flag, prot, sect;
-       ulong type, start, now, last;
-       int rcode = 0;
-
-       if ((s_first < 0) || (s_first > s_last)) {
-               if (info->flash_id == FLASH_UNKNOWN) {
-                       printf ("- missing\n");
-               } else {
-                       printf ("- no sectors to erase\n");
-               }
-               return 1;
-       }
-
-       type = (info->flash_id & FLASH_VENDMASK);
-       if ((type != FLASH_MAN_INTEL)) {
-               printf ("Can't erase unknown flash type %08lx - aborted\n",
-                       info->flash_id);
-               return 1;
-       }
-
-       prot = 0;
-       for (sect = s_first; sect <= s_last; ++sect) {
-               if (info->protect[sect]) {
-                       prot++;
-               }
-       }
-
-       if (prot) {
-               printf ("- Warning: %d protected sectors will not be erased!\n",
-                       prot);
-       } else {
-               printf ("\n");
-       }
-
-       start = get_timer (0);
-       last = start;
-       /* Start erase on unprotected sectors */
-       for (sect = s_first; sect <= s_last; sect++) {
-               if (info->protect[sect] == 0) { /* not protected */
-                       FPWV *addr = (FPWV *) (info->start[sect]);
-                       FPW status;
-
-                       /* Disable interrupts which might cause a timeout here */
-                       flag = disable_interrupts ();
-
-                       *addr = (FPW) 0x00500050;       /* clear status register */
-                       *addr = (FPW) 0x00200020;       /* erase setup */
-                       *addr = (FPW) 0x00D000D0;       /* erase confirm */
-
-                       /* re-enable interrupts if necessary */
-                       if (flag)
-                               enable_interrupts ();
-
-                       /* wait at least 80us - let's wait 1 ms */
-                       udelay (1000);
-
-                       while (((status = *addr) & (FPW) 0x00800080) != (FPW) 0x00800080) {
-                           if ((now = get_timer (start)) > CONFIG_SYS_FLASH_ERASE_TOUT) {
-                               printf ("Timeout\n");
-                               *addr = (FPW) 0x00B000B0;       /* suspend erase     */
-                               *addr = (FPW) 0x00FF00FF;       /* reset to read mode */
-                               rcode = 1;
-                               break;
-                           }
-
-                           /* show that we're waiting */
-                           if ((now - last) > 1000) {  /* every second */
-                               putc ('.');
-                               last = now;
-                           }
-                       }
-
-                       *addr = (FPW) 0x00FF00FF;       /* reset to read mode */
-               }
-       }
-       printf (" done\n");
-       return rcode;
-}
-
-/*-----------------------------------------------------------------------
- * Copy memory to flash, returns:
- * 0 - OK
- * 1 - write timeout
- * 2 - Flash not erased
- * 4 - Flash not identified
- */
-
-int write_buff (flash_info_t * info, uchar * src, ulong addr, ulong cnt)
-{
-       ulong cp, wp;
-       FPW data;
-
-       int i, l, rc, port_width;
-
-       if (info->flash_id == FLASH_UNKNOWN) {
-               return 4;
-       }
-/* get lower word aligned address */
-#ifdef FLASH_PORT_WIDTH16
-       wp = (addr & ~1);
-       port_width = 2;
-#elif defined(FLASH_PORT_WIDTH32)
-       wp = (addr & ~3);
-       port_width = 4;
-#else
-       wp = addr;
-       port_width = 1;
-#endif
-
-       /*
-        * handle unaligned start bytes
-        */
-       if ((l = addr - wp) != 0) {
-               data = 0;
-               for (i = 0, cp = wp; i < l; ++i, ++cp) {
-                       data = (data << 8) | (*(uchar *) cp);
-               }
-               for (; i < port_width && cnt > 0; ++i) {
-                       data = (data << 8) | *src++;
-                       --cnt;
-                       ++cp;
-               }
-               for (; cnt == 0 && i < port_width; ++i, ++cp) {
-                       data = (data << 8) | (*(uchar *) cp);
-               }
-
-               if ((rc = write_data (info, wp, data)) != 0) {
-                       return (rc);
-               }
-               wp += port_width;
-       }
-
-       /*
-        * handle word aligned part
-        */
-       while (cnt >= port_width) {
-               data = 0;
-               for (i = 0; i < port_width; ++i) {
-                       data = (data << 8) | *src++;
-               }
-               if ((rc = write_data (info, wp, data)) != 0) {
-                       return (rc);
-               }
-               wp += port_width;
-               cnt -= port_width;
-       }
-
-       if (cnt == 0) {
-               return (0);
-       }
-
-       /*
-        * handle unaligned tail bytes
-        */
-       data = 0;
-       for (i = 0, cp = wp; i < port_width && cnt > 0; ++i, ++cp) {
-               data = (data << 8) | *src++;
-               --cnt;
-       }
-       for (; i < port_width; ++i, ++cp) {
-               data = (data << 8) | (*(uchar *) cp);
-       }
-
-       return (write_data (info, wp, data));
-}
-
-/*-----------------------------------------------------------------------
- * Write a word or halfword to Flash, returns:
- * 0 - OK
- * 1 - write timeout
- * 2 - Flash not erased
- */
-static int write_data (flash_info_t * info, ulong dest, FPW data)
-{
-       FPWV *addr = (FPWV *) dest;
-       ulong status;
-       ulong start;
-       int flag;
-
-       /* Check if Flash is (sufficiently) erased */
-       if ((*addr & data) != data) {
-               printf ("not erased at %08lx (%x)\n", (ulong) addr, *addr);
-               return (2);
-       }
-       /* Disable interrupts which might cause a timeout here */
-       flag = disable_interrupts ();
-
-       *addr = (FPW) 0x00400040;       /* write setup */
-       *addr = data;
-
-       /* re-enable interrupts if necessary */
-       if (flag)
-               enable_interrupts ();
-
-       start = get_timer (0);
-
-       while (((status = *addr) & (FPW) 0x00800080) != (FPW) 0x00800080) {
-               if (get_timer (start) > CONFIG_SYS_FLASH_WRITE_TOUT) {
-                       *addr = (FPW) 0x00FF00FF;       /* restore read mode */
-                       return (1);
-               }
-       }
-
-       *addr = (FPW) 0x00FF00FF;       /* restore read mode */
-
-       return (0);
-}
index 4cb13b74ab795bbb24ee9dcf15c9a6fcca4e9348..79b12a220cc2434c3d60d7ba632c4bfeb06fe0a0 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := impa7.o flash.o
 SOBJS  := lowlevel_init.o
@@ -33,7 +33,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 5ed2b4bd9fee298f468f8ca304261c364801c09e..4fd4864bf59cd5f9aedcde9130bbd7c20789247b 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := imx31_phycore.o
 SOBJS  := lowlevel_init.o
@@ -33,7 +33,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index afe02c27c6ff9baecff2c09aed27241fb42cbb97..f1594a236812d9247a4911e67a34fb13a87996f4 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o flash.o
 SOBJS  = lowlevel_init.o
@@ -33,7 +33,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 #########################################################################
 
index 82aa950017223e0247237246923e451822d91946..6ec04b8a45c23a54c49d9b7aca0ddaa111a555e5 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := $(BOARD).o inkadiag.o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index ba248c03e73536580b225d59b087254e27851744..054175f1bcbd4d83945bea1e6aeaace992824788 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := innokom.o flash.o
 
@@ -31,7 +31,7 @@ SRCS  := $(COBJS:.o=.c)
 OBJS   := $(addprefix $(obj),$(COBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(OBJS)
index e7ce304f13d05b33286ba15ff3ca17fc67e69ed1..06b8217e46e99f7d4a39a2c2043c2e873f1b3490 100644 (file)
@@ -27,7 +27,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y        := $(BOARD).o
 
@@ -36,7 +36,7 @@ OBJS  := $(addprefix $(obj),$(COBJS-y))
 SOBJS  := $(addprefix $(obj),$(SOBJS-y))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index cf07cf40fdb9485240118667e0b22074acd7516d..6dc495c3619cabc3ecc9eabf3c7c696a9580379f 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o flash.o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 4ac77c29850cc5f924f12e70fd6ce280135973b0..fbd901a3c309020d3432a1c19e8fda6d3cb96b67 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * (C) Copyright 2000
+ * (C) Copyright 2000-2010
  * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
  *
  * See file CREDITS for list of people who contributed to this
  */
 
 OUTPUT_ARCH(powerpc)
-/* Do we need any of these for elf?
-   __DYNAMIC = 0;    */
+
 SECTIONS
 {
   /* Read-only sections, merged into text segment: */
   . = + SIZEOF_HEADERS;
-  .interp : { *(.interp) }
-  .hash          : { *(.hash)          }
-  .dynsym        : { *(.dynsym)                }
-  .dynstr        : { *(.dynstr)                }
-  .rel.text      : { *(.rel.text)              }
-  .rela.text     : { *(.rela.text)     }
-  .rel.data      : { *(.rel.data)              }
-  .rela.data     : { *(.rela.data)     }
-  .rel.rodata    : { *(.rel.rodata)    }
-  .rela.rodata   : { *(.rela.rodata)   }
-  .rel.got       : { *(.rel.got)               }
-  .rela.got      : { *(.rela.got)              }
-  .rel.ctors     : { *(.rel.ctors)     }
-  .rela.ctors    : { *(.rela.ctors)    }
-  .rel.dtors     : { *(.rel.dtors)     }
-  .rela.dtors    : { *(.rela.dtors)    }
-  .rel.bss       : { *(.rel.bss)               }
-  .rela.bss      : { *(.rela.bss)              }
-  .rel.plt       : { *(.rel.plt)               }
-  .rela.plt      : { *(.rela.plt)              }
-  .init          : { *(.init)  }
-  .plt : { *(.plt) }
   .text      :
   {
-    /* WARNING - the following is hand-optimized to fit within */
-    /* the sector layout of our flash chips!   XXX FIXME XXX   */
+    arch/powerpc/cpu/mpc8xx/start.o    (.text*)
+    arch/powerpc/cpu/mpc8xx/traps.o    (.text*)
 
-    arch/powerpc/cpu/mpc8xx/start.o    (.text)
-    common/dlmalloc.o  (.text)
-    arch/powerpc/lib/ppcstring.o       (.text)
-    arch/powerpc/cpu/mpc8xx/interrupts.o (.text)
-    arch/powerpc/lib/time.o            (.text)
-    arch/powerpc/lib/ticks.o           (.text)
-/**
-    . = env_offset;
-    common/env_embedded.o(.text)
-**/
-    *(.text)
-    *(.got1)
+    *(.text*)
   }
   _etext = .;
   PROVIDE (etext = .);
   .rodata    :
   {
-    *(.eh_frame)
     *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
   }
-  .fini      : { *(.fini)    } =0
-  .ctors     : { *(.ctors)   }
-  .dtors     : { *(.dtors)   }
 
   /* Read-write section, merged into data segment: */
   . = (. + 0x00FF) & 0xFFFFFF00;
@@ -85,23 +47,19 @@ SECTIONS
   PROVIDE (erotext = .);
   .reloc   :
   {
-    *(.got)
+    KEEP(*(.got))
     _GOT2_TABLE_ = .;
-    *(.got2)
+    KEEP(*(.got2))
     _FIXUP_TABLE_ = .;
-    *(.fixup)
+    KEEP(*(.fixup))
   }
   __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >>2;
   __fixup_entries = (. - _FIXUP_TABLE_)>>2;
 
   .data    :
   {
-    *(.data)
-    *(.data1)
-    *(.sdata)
-    *(.sdata2)
-    *(.dynamic)
-    CONSTRUCTORS
+    *(.data*)
+    *(.sdata*)
   }
   _edata  =  .;
   PROVIDE (edata = .);
@@ -127,9 +85,8 @@ SECTIONS
   __bss_start = .;
   .bss (NOLOAD)       :
   {
-   *(.sbss) *(.scommon)
-   *(.dynbss)
-   *(.bss)
+   *(.bss*)
+   *(.sbss*)
    *(COMMON)
    . = ALIGN(4);
   }
index ddfd2ef8afe023bfe5c017ead825bff259cf59fb..16f0c6bc529267ba825b4fcfb94b1667ea4f6790 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := $(BOARD).o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 877afde1ced3768c9787a1fa1f8bf1e25f3e4564..89d3524d7a29465acd7be4c8b11388ebb4bd87be 100644 (file)
@@ -25,7 +25,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := $(BOARD).o flash.o
 
@@ -34,7 +34,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 2f118792d1145bc9060323d8259dba945901f0a5..678a682ff150a7a5dd0ed9fc1803f6a8aa39fa0c 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := igep0020.o
 
@@ -31,7 +31,7 @@ SRCS  := $(COBJS:.o=.c)
 OBJS   := $(addprefix $(obj),$(COBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(OBJS)
index cfc0411ed20f75a3cab5d8723a3523b7f1e40f06..d2088728b196e3f0364483ea97fae4289dff11b8 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := igep0030.o
 
@@ -31,7 +31,7 @@ SRCS  := $(COBJS:.o=.c)
 OBJS   := $(addprefix $(obj),$(COBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(OBJS)
index 6b3706daaeea622debda670da175b2865375e0be..70205f1fb025b81c5bafc134a5691e90bebc8ca5 100644 (file)
@@ -26,7 +26,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := $(BOARD).o
 
@@ -35,7 +35,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index cf07cf40fdb9485240118667e0b22074acd7516d..6dc495c3619cabc3ecc9eabf3c7c696a9580379f 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o flash.o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index b6e08843fa6ee3b2ce4f4f000ec6962b75714737..f4c6c981a7f7123c2cfed4b2da7838146d8a2c6b 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * (C) Copyright 2000
+ * (C) Copyright 2000-2010
  * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
  *
  * See file CREDITS for list of people who contributed to this
  */
 
 OUTPUT_ARCH(powerpc)
-/* Do we need any of these for elf?
-   __DYNAMIC = 0;    */
+
 SECTIONS
 {
   /* Read-only sections, merged into text segment: */
   . = + SIZEOF_HEADERS;
-  .interp : { *(.interp) }
-  .hash          : { *(.hash)          }
-  .dynsym        : { *(.dynsym)                }
-  .dynstr        : { *(.dynstr)                }
-  .rel.text      : { *(.rel.text)      }
-  .rela.text     : { *(.rela.text)     }
-  .rel.data      : { *(.rel.data)      }
-  .rela.data     : { *(.rela.data)     }
-  .rel.rodata    : { *(.rel.rodata)    }
-  .rela.rodata   : { *(.rela.rodata)   }
-  .rel.got       : { *(.rel.got)       }
-  .rela.got      : { *(.rela.got)      }
-  .rel.ctors     : { *(.rel.ctors)     }
-  .rela.ctors    : { *(.rela.ctors)    }
-  .rel.dtors     : { *(.rel.dtors)     }
-  .rela.dtors    : { *(.rela.dtors)    }
-  .rel.bss       : { *(.rel.bss)       }
-  .rela.bss      : { *(.rela.bss)      }
-  .rel.plt       : { *(.rel.plt)       }
-  .rela.plt      : { *(.rela.plt)      }
-  .init          : { *(.init)          }
-  .plt : { *(.plt) }
   .text      :
   {
-    arch/powerpc/cpu/mpc8xx/start.o    (.text)
-    common/env_embedded.o(.text)
-    *(.text)
-    *(.got1)
+    arch/powerpc/cpu/mpc8xx/start.o    (.text*)
+    arch/powerpc/cpu/mpc8xx/traps.o    (.text*)
+
+    *(.text*)
   }
   _etext = .;
   PROVIDE (etext = .);
   .rodata    :
   {
-    *(.eh_frame)
     *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
   }
-  .fini      : { *(.fini)    } =0
-  .ctors     : { *(.ctors)   }
-  .dtors     : { *(.dtors)   }
 
   /* Read-write section, merged into data segment: */
   . = (. + 0x0FF) & 0xFFFFFF00;
@@ -74,23 +47,19 @@ SECTIONS
   PROVIDE (erotext = .);
   .reloc   :
   {
-    *(.got)
+    KEEP(*(.got))
     _GOT2_TABLE_ = .;
-    *(.got2)
+    KEEP(*(.got2))
     _FIXUP_TABLE_ = .;
-    *(.fixup)
+    KEEP(*(.fixup))
   }
   __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >>2;
   __fixup_entries = (. - _FIXUP_TABLE_)>>2;
 
   .data    :
   {
-    *(.data)
-    *(.data1)
-    *(.sdata)
-    *(.sdata2)
-    *(.dynamic)
-    CONSTRUCTORS
+    *(.data*)
+    *(.sdata*)
   }
   _edata  =  .;
   PROVIDE (edata = .);
@@ -116,9 +85,8 @@ SECTIONS
   __bss_start = .;
   .bss (NOLOAD)       :
   {
-   *(.sbss) *(.scommon)
-   *(.dynbss)
-   *(.bss)
+   *(.bss*)
+   *(.sbss*)
    *(COMMON)
    . = ALIGN(4);
   }
index efeb31dba76f0935ca748ac390fc677d68b49b5d..4ba038356d97db6c2e4581f4e43ded8a944339ca 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := ixdp425.o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 1b4e192b299e1f04986a3d13b2c97cf3007e6524..e0176927a540e95b6e92c5fee3ee2a15e2add9e5 100644 (file)
@@ -25,7 +25,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := jornada.o
 SOBJS  := setup.o
@@ -35,7 +35,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 885e02f7dbcfde187ed150924aaa86bf298594f4..cdf5f544503cac093b58e46a7b35b22ebf929edb 100644 (file)
@@ -112,12 +112,13 @@ gafr_set: .long   0x08600000
 .globl lowlevel_init
 lowlevel_init:
 
-       /* set output and direction of pins */
-       ldr r0, PPC_BASE
-       ldr r1, pin_set_out
-       str r1, [r0, #PPSR]
-       ldr r1, pin_set_dir
-       str r1, [r0, #PPDR]
+
+       /* this is required for flashing */
+       ldr     r0, PPC_BASE
+       ldr     r1, pin_set_out
+       str     r1, [r0, #PPSR]
+       ldr     r1, pin_set_dir
+       str     r1, [r0, #PPDR]
 
        /* Setting up the memory and stuff */
        /***********************************/
@@ -190,6 +191,11 @@ lowlevel_init:
        ldr     r3, [r2]
 .endr
 
+       ldr     r2, [r0, #MDCNFG]
+       orr     r2, r2, #0x00000003
+       orr     r2, r2, #0x00030000
+       str     r2, [r0, #MDCNFG]
+
        ldr     r1, msc0
        str     r1, [r0, #MSC0]
        ldr     r1, msc1
@@ -198,13 +204,7 @@ lowlevel_init:
        str     r1, [r0, #MSC2]
        ldr     r1, smcnfg
        str     r1, [r0, #SMCNFG]
-       ldr     r1, mdcnfg
-       str     r1, [r0, #MDCNFG]
        ldr     r1, mecr
        str     r1, [r0, #MECR]
 
-       /* enable SDRAM */
-       orr     r1, r1, #0x00000001
-       str     r1, [r0, #MDCNFG]
-
        mov     pc, lr
index fc71601e5c473807224b9691cb9ebf61e3b1969b..a3050c7c3d84284c1adc2e5e8985ee21da4b6a47 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o sdram.o flash.o host_bridge.o
 SOBJS  = init.o
@@ -33,7 +33,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index aa80a71982054dadc686ec11f5a263a350b34787..6a6ad8d98ae5973e7710230592446808eb246b77 100644 (file)
@@ -24,7 +24,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := $(BOARD).o
 
@@ -33,7 +33,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 88c37c11855e77e2ce2aa3ff4a561999604718f9..8350788458a6d3f7f4527cf44c7f0753f16d09cc 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := tx25.o
 SOBJS  := lowlevel_init.o
@@ -33,7 +33,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 363f6657eed03914ae3d12c7f27461b4a0530ac8..49be161fa24b3c6d0c036b38ebb414f694327c63 100644 (file)
@@ -26,7 +26,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := kb9202.o
 
@@ -35,7 +35,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index a6f32415aa04c3d8909241bee25d9372a5a3e8a6..abb9ef97244b141422d2bdb5b7422fbb41494264 100644 (file)
@@ -26,7 +26,7 @@ ifneq ($(OBJTREE),$(SRCTREE))
 $(shell mkdir -p $(obj)../common)
 endif
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o ../common/common.o ../common/keymile_hdlc_enet.o \
                km8xx_hdlc_enet.o
@@ -36,7 +36,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index cba9c6c6814e18c78769a8b41373355eab739d62..ea70ae458b95280a9ed4d64e7402d1933136a998 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * (C) Copyright 2000
+ * (C) Copyright 2000-2010
  * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
  *
  * See file CREDITS for list of people who contributed to this
  */
 
 OUTPUT_ARCH(powerpc)
-/* Do we need any of these for elf?
-   __DYNAMIC = 0;    */
+
 SECTIONS
 {
   /* Read-only sections, merged into text segment: */
   . = + SIZEOF_HEADERS;
-  .interp : { *(.interp) }
-  .hash          : { *(.hash)          }
-  .dynsym        : { *(.dynsym)                }
-  .dynstr        : { *(.dynstr)                }
-  .rel.text      : { *(.rel.text)      }
-  .rela.text     : { *(.rela.text)     }
-  .rel.data      : { *(.rel.data)      }
-  .rela.data     : { *(.rela.data)     }
-  .rel.rodata    : { *(.rel.rodata)    }
-  .rela.rodata   : { *(.rela.rodata)   }
-  .rel.got       : { *(.rel.got)       }
-  .rela.got      : { *(.rela.got)      }
-  .rel.ctors     : { *(.rel.ctors)     }
-  .rela.ctors    : { *(.rela.ctors)    }
-  .rel.dtors     : { *(.rel.dtors)     }
-  .rela.dtors    : { *(.rela.dtors)    }
-  .rel.bss       : { *(.rel.bss)       }
-  .rela.bss      : { *(.rela.bss)      }
-  .rel.plt       : { *(.rel.plt)       }
-  .rela.plt      : { *(.rela.plt)      }
-  .init          : { *(.init)          }
-  .plt : { *(.plt) }
   .text      :
   {
-    /* WARNING - the following is hand-optimized to fit within */
-    /* the sector layout of our flash chips!   XXX FIXME XXX   */
-
-    arch/powerpc/cpu/mpc8xx/start.o            (.text)
-    arch/powerpc/cpu/mpc8xx/traps.o            (.text)
-    common/dlmalloc.o          (.text)
-    arch/powerpc/lib/ppcstring.o               (.text)
-    lib/vsprintf.o     (.text)
-    lib/crc32.o                (.text)
-    lib/zlib.o         (.text)
-    arch/powerpc/lib/cache.o           (.text)
-    arch/powerpc/lib/time.o            (.text)
-
-    . = DEFINED(env_offset) ? env_offset : .;
-    common/env_embedded.o      (.ppcenv)
+    arch/powerpc/cpu/mpc8xx/start.o    (.text*)
+    arch/powerpc/cpu/mpc8xx/traps.o    (.text*)
 
-    *(.text)
-    *(.got1)
+    *(.text*)
   }
   _etext = .;
   PROVIDE (etext = .);
@@ -78,11 +41,7 @@ SECTIONS
     *(.rodata)
     *(.rodata1)
     *(.rodata.str1.4)
-    *(.eh_frame)
   }
-  .fini      : { *(.fini)    } =0
-  .ctors     : { *(.ctors)   }
-  .dtors     : { *(.dtors)   }
 
   /* Read-write section, merged into data segment: */
   . = (. + 0x00FF) & 0xFFFFFF00;
@@ -90,23 +49,19 @@ SECTIONS
   PROVIDE (erotext = .);
   .reloc   :
   {
-    *(.got)
+    KEEP(*(.got))
     _GOT2_TABLE_ = .;
-    *(.got2)
+    KEEP(*(.got2))
     _FIXUP_TABLE_ = .;
-    *(.fixup)
+    KEEP(*(.fixup))
   }
   __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >>2;
   __fixup_entries = (. - _FIXUP_TABLE_)>>2;
 
   .data    :
   {
-    *(.data)
-    *(.data1)
-    *(.sdata)
-    *(.sdata2)
-    *(.dynamic)
-    CONSTRUCTORS
+    *(.data*)
+    *(.sdata*)
   }
   _edata  =  .;
   PROVIDE (edata = .);
@@ -132,9 +87,8 @@ SECTIONS
   __bss_start = .;
   .bss (NOLOAD)       :
   {
-   *(.sbss) *(.scommon)
-   *(.dynbss)
-   *(.bss)
+   *(.bss*)
+   *(.sbss*)
    *(COMMON)
    . = ALIGN(4);
   }
index c5b0be16ef794cc6e9507156cbc5e131f03bc848..6bcfb257a8cdf5f859fe64bb7e4e3ffd5ee18b1d 100644 (file)
@@ -27,7 +27,7 @@ ifneq ($(OBJTREE),$(SRCTREE))
 $(shell mkdir -p $(obj)../common)
 endif
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := $(BOARD).o ../common/common.o
 
@@ -36,7 +36,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 12a1518ff1a3de733eb9211235fdd6e4af785be2..2fa84f307a3834c951d7419a845cf5a5c0799307 100644 (file)
@@ -26,7 +26,7 @@ ifneq ($(OBJTREE),$(SRCTREE))
 $(shell mkdir -p $(obj)../common)
 endif
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  += $(BOARD).o ../common/common.o
 
@@ -35,7 +35,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 2774a702b02501fafb31c2e6ed7ca9cf3b5857f8..3308621a13d7476d31522a25712673e18d036284 100644 (file)
@@ -26,7 +26,7 @@ ifneq ($(OBJTREE),$(SRCTREE))
 $(shell mkdir -p $(obj)../common)
 endif
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := $(BOARD).o ../common/common.o ../common/keymile_hdlc_enet.o \
                mgcoge_hdlc_enet.o
@@ -36,7 +36,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index df74774bf7e2bf9a3a1d660f3eda4e1a7ca2d153..6781596e7b715f6d91350215cdcecc25d4289398 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o
 SOBJS  = init.o
@@ -32,8 +32,10 @@ SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c)
 OBJS   := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
-$(LIB):        $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+all:   $(LIB) $(SOBJS)
+
+$(LIB):        $(OBJS)
+       $(call cmd_link_o_target, $^)
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 957b3d31323abfd1baa6e805570e6b79d3cc126e..5caae8991918770b6b0f2419031339b5f93b6e9d 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o flash.o kup.o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 4727a5b1b28b610bce53a0eef59448ffc09eadef..e519b8388073245bab27135f8d21b216df4dd6cc 100644 (file)
@@ -26,7 +26,7 @@ ifneq ($(OBJTREE),$(SRCTREE))
 $(shell mkdir -p $(obj)../common)
 endif
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o ../common/flash.o ../common/kup.o ../common/load_sernum_ethaddr.o ../common/pcmcia.o
 
@@ -35,7 +35,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 369ef19a473b2d9202da6435912a24c6244b0c7e..fbd901a3c309020d3432a1c19e8fda6d3cb96b67 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * (C) Copyright 2000-2004
+ * (C) Copyright 2000-2010
  * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
  *
  * See file CREDITS for list of people who contributed to this
  */
 
 OUTPUT_ARCH(powerpc)
-/* Do we need any of these for elf?
-   __DYNAMIC = 0;    */
+
 SECTIONS
 {
   /* Read-only sections, merged into text segment: */
   . = + SIZEOF_HEADERS;
-  .interp : { *(.interp) }
-  .hash          : { *(.hash)          }
-  .dynsym        : { *(.dynsym)                }
-  .dynstr        : { *(.dynstr)                }
-  .rel.text      : { *(.rel.text)      }
-  .rela.text     : { *(.rela.text)     }
-  .rel.data      : { *(.rel.data)      }
-  .rela.data     : { *(.rela.data)     }
-  .rel.rodata    : { *(.rel.rodata)    }
-  .rela.rodata   : { *(.rela.rodata)   }
-  .rel.got       : { *(.rel.got)       }
-  .rela.got      : { *(.rela.got)      }
-  .rel.ctors     : { *(.rel.ctors)     }
-  .rela.ctors    : { *(.rela.ctors)    }
-  .rel.dtors     : { *(.rel.dtors)     }
-  .rela.dtors    : { *(.rela.dtors)    }
-  .rel.bss       : { *(.rel.bss)       }
-  .rela.bss      : { *(.rela.bss)      }
-  .rel.plt       : { *(.rel.plt)       }
-  .rela.plt      : { *(.rela.plt)      }
-  .init          : { *(.init)          }
-  .plt : { *(.plt) }
   .text      :
   {
-    /* WARNING - the following is hand-optimized to fit within */
-    /* the sector layout of our flash chips!   XXX FIXME XXX   */
-
-    arch/powerpc/cpu/mpc8xx/start.o            (.text)
-/*
-    arch/powerpc/cpu/mpc8xx/start.o    (.text)
-    common/dlmalloc.o  (.text)
-    arch/powerpc/lib/ppcstring.o       (.text)
-    lib/vsprintf.o     (.text)
-    lib/crc32.o                (.text)
-    lib/zlib.o         (.text)
-
-    . = env_offset;
-    common/env_embedded.o(.text)
-*/
+    arch/powerpc/cpu/mpc8xx/start.o    (.text*)
+    arch/powerpc/cpu/mpc8xx/traps.o    (.text*)
 
-    *(.text)
-    *(.got1)
+    *(.text*)
   }
   _etext = .;
   PROVIDE (etext = .);
   .rodata    :
   {
-    *(.eh_frame)
     *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
   }
-  .fini      : { *(.fini)    } =0
-  .ctors     : { *(.ctors)   }
-  .dtors     : { *(.dtors)   }
 
   /* Read-write section, merged into data segment: */
   . = (. + 0x00FF) & 0xFFFFFF00;
@@ -88,23 +47,19 @@ SECTIONS
   PROVIDE (erotext = .);
   .reloc   :
   {
-    *(.got)
+    KEEP(*(.got))
     _GOT2_TABLE_ = .;
-    *(.got2)
+    KEEP(*(.got2))
     _FIXUP_TABLE_ = .;
-    *(.fixup)
+    KEEP(*(.fixup))
   }
   __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >>2;
   __fixup_entries = (. - _FIXUP_TABLE_)>>2;
 
   .data    :
   {
-    *(.data)
-    *(.data1)
-    *(.sdata)
-    *(.sdata2)
-    *(.dynamic)
-    CONSTRUCTORS
+    *(.data*)
+    *(.sdata*)
   }
   _edata  =  .;
   PROVIDE (edata = .);
@@ -130,9 +85,8 @@ SECTIONS
   __bss_start = .;
   .bss (NOLOAD)       :
   {
-   *(.sbss) *(.scommon)
-   *(.dynbss)
-   *(.bss)
+   *(.bss*)
+   *(.sbss*)
    *(COMMON)
    . = ALIGN(4);
   }
index 4727a5b1b28b610bce53a0eef59448ffc09eadef..e519b8388073245bab27135f8d21b216df4dd6cc 100644 (file)
@@ -26,7 +26,7 @@ ifneq ($(OBJTREE),$(SRCTREE))
 $(shell mkdir -p $(obj)../common)
 endif
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o ../common/flash.o ../common/kup.o ../common/load_sernum_ethaddr.o ../common/pcmcia.o
 
@@ -35,7 +35,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 369ef19a473b2d9202da6435912a24c6244b0c7e..fbd901a3c309020d3432a1c19e8fda6d3cb96b67 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * (C) Copyright 2000-2004
+ * (C) Copyright 2000-2010
  * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
  *
  * See file CREDITS for list of people who contributed to this
  */
 
 OUTPUT_ARCH(powerpc)
-/* Do we need any of these for elf?
-   __DYNAMIC = 0;    */
+
 SECTIONS
 {
   /* Read-only sections, merged into text segment: */
   . = + SIZEOF_HEADERS;
-  .interp : { *(.interp) }
-  .hash          : { *(.hash)          }
-  .dynsym        : { *(.dynsym)                }
-  .dynstr        : { *(.dynstr)                }
-  .rel.text      : { *(.rel.text)      }
-  .rela.text     : { *(.rela.text)     }
-  .rel.data      : { *(.rel.data)      }
-  .rela.data     : { *(.rela.data)     }
-  .rel.rodata    : { *(.rel.rodata)    }
-  .rela.rodata   : { *(.rela.rodata)   }
-  .rel.got       : { *(.rel.got)       }
-  .rela.got      : { *(.rela.got)      }
-  .rel.ctors     : { *(.rel.ctors)     }
-  .rela.ctors    : { *(.rela.ctors)    }
-  .rel.dtors     : { *(.rel.dtors)     }
-  .rela.dtors    : { *(.rela.dtors)    }
-  .rel.bss       : { *(.rel.bss)       }
-  .rela.bss      : { *(.rela.bss)      }
-  .rel.plt       : { *(.rel.plt)       }
-  .rela.plt      : { *(.rela.plt)      }
-  .init          : { *(.init)          }
-  .plt : { *(.plt) }
   .text      :
   {
-    /* WARNING - the following is hand-optimized to fit within */
-    /* the sector layout of our flash chips!   XXX FIXME XXX   */
-
-    arch/powerpc/cpu/mpc8xx/start.o            (.text)
-/*
-    arch/powerpc/cpu/mpc8xx/start.o    (.text)
-    common/dlmalloc.o  (.text)
-    arch/powerpc/lib/ppcstring.o       (.text)
-    lib/vsprintf.o     (.text)
-    lib/crc32.o                (.text)
-    lib/zlib.o         (.text)
-
-    . = env_offset;
-    common/env_embedded.o(.text)
-*/
+    arch/powerpc/cpu/mpc8xx/start.o    (.text*)
+    arch/powerpc/cpu/mpc8xx/traps.o    (.text*)
 
-    *(.text)
-    *(.got1)
+    *(.text*)
   }
   _etext = .;
   PROVIDE (etext = .);
   .rodata    :
   {
-    *(.eh_frame)
     *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
   }
-  .fini      : { *(.fini)    } =0
-  .ctors     : { *(.ctors)   }
-  .dtors     : { *(.dtors)   }
 
   /* Read-write section, merged into data segment: */
   . = (. + 0x00FF) & 0xFFFFFF00;
@@ -88,23 +47,19 @@ SECTIONS
   PROVIDE (erotext = .);
   .reloc   :
   {
-    *(.got)
+    KEEP(*(.got))
     _GOT2_TABLE_ = .;
-    *(.got2)
+    KEEP(*(.got2))
     _FIXUP_TABLE_ = .;
-    *(.fixup)
+    KEEP(*(.fixup))
   }
   __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >>2;
   __fixup_entries = (. - _FIXUP_TABLE_)>>2;
 
   .data    :
   {
-    *(.data)
-    *(.data1)
-    *(.sdata)
-    *(.sdata2)
-    *(.dynamic)
-    CONSTRUCTORS
+    *(.data*)
+    *(.sdata*)
   }
   _edata  =  .;
   PROVIDE (edata = .);
@@ -130,9 +85,8 @@ SECTIONS
   __bss_start = .;
   .bss (NOLOAD)       :
   {
-   *(.sbss) *(.scommon)
-   *(.dynbss)
-   *(.bss)
+   *(.bss*)
+   *(.sbss*)
    *(COMMON)
    . = ALIGN(4);
   }
index dcb1907032b5df8d2f89bdcb23506a49bb1446c7..12e4aa6880eed591aade2b9cfdf2d64611b3a39f 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o flash.o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 9fd4d1c61c8dd9fac28caaf87b6f257c07d53dea..00af66977ae7102e7235c073d772e21e0cc74e75 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * (C) Copyright 2000, 2001
+ * (C) Copyright 2000-2010
  * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
  *
  * See file CREDITS for list of people who contributed to this
  */
 
 OUTPUT_ARCH(powerpc)
-/* Do we need any of these for elf?
-   __DYNAMIC = 0;    */
+
 SECTIONS
 {
   /* Read-only sections, merged into text segment: */
   . = + SIZEOF_HEADERS;
-  .interp : { *(.interp) }
-  .hash          : { *(.hash)          }
-  .dynsym        : { *(.dynsym)                }
-  .dynstr        : { *(.dynstr)                }
-  .rel.text      : { *(.rel.text)              }
-  .rela.text     : { *(.rela.text)     }
-  .rel.data      : { *(.rel.data)              }
-  .rela.data     : { *(.rela.data)     }
-  .rel.rodata    : { *(.rel.rodata)    }
-  .rela.rodata   : { *(.rela.rodata)   }
-  .rel.got       : { *(.rel.got)               }
-  .rela.got      : { *(.rela.got)              }
-  .rel.ctors     : { *(.rel.ctors)     }
-  .rela.ctors    : { *(.rela.ctors)    }
-  .rel.dtors     : { *(.rel.dtors)     }
-  .rela.dtors    : { *(.rela.dtors)    }
-  .rel.bss       : { *(.rel.bss)               }
-  .rela.bss      : { *(.rela.bss)              }
-  .rel.plt       : { *(.rel.plt)               }
-  .rela.plt      : { *(.rela.plt)              }
-  .init          : { *(.init)  }
-  .plt : { *(.plt) }
   .text      :
   {
     /* WARNING - the following is hand-optimized to fit within */
     /* the sector layout of our flash chips!   XXX FIXME XXX   */
 
-    arch/powerpc/cpu/mpc8xx/start.o    (.text)
-    common/dlmalloc.o  (.text)
-    arch/powerpc/lib/ppcstring.o       (.text)
-    lib/vsprintf.o     (.text)
-    lib/crc32.o                (.text)
-    lib/zlib.o         (.text)
+    arch/powerpc/cpu/mpc8xx/start.o    (.text*)
+    arch/powerpc/cpu/mpc8xx/traps.o    (.text*)
+    net/libnet.o                       (.text*)
+    arch/powerpc/lib/libpowerpc.o      (.text*)
+    drivers/rtc/librtc.o               (.text*)
 
     . = env_offset;
-    common/env_embedded.o(.text)
+    common/env_embedded.o              (.text*)
 
-    *(.text)
-    *(.got1)
+    *(.text*)
   }
   _etext = .;
   PROVIDE (etext = .);
   .rodata    :
   {
-    *(.eh_frame)
     *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
   }
-  .fini      : { *(.fini)    } =0
-  .ctors     : { *(.ctors)   }
-  .dtors     : { *(.dtors)   }
 
   /* Read-write section, merged into data segment: */
   . = (. + 0x00FF) & 0xFFFFFF00;
@@ -85,23 +56,19 @@ SECTIONS
   PROVIDE (erotext = .);
   .reloc   :
   {
-    *(.got)
+    KEEP(*(.got))
     _GOT2_TABLE_ = .;
-    *(.got2)
+    KEEP(*(.got2))
     _FIXUP_TABLE_ = .;
-    *(.fixup)
+    KEEP(*(.fixup))
   }
   __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >>2;
   __fixup_entries = (. - _FIXUP_TABLE_)>>2;
 
   .data    :
   {
-    *(.data)
-    *(.data1)
-    *(.sdata)
-    *(.sdata2)
-    *(.dynamic)
-    CONSTRUCTORS
+    *(.data*)
+    *(.sdata*)
   }
   _edata  =  .;
   PROVIDE (edata = .);
@@ -127,9 +94,8 @@ SECTIONS
   __bss_start = .;
   .bss (NOLOAD)       :
   {
-   *(.sbss) *(.scommon)
-   *(.dynbss)
-   *(.bss)
+   *(.bss*)
+   *(.sbss*)
    *(COMMON)
    . = ALIGN(4);
   }
index 9eeaa990bab26814157d7b05fcba9db2ea21ef92..463bc0bade92aaaa98a82d548b5828d1ef5bad7f 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := lart.o flash.o
 SOBJS  := flashasm.o lowlevel_init.o
@@ -33,7 +33,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 8f4da0c978bcb9c3dbf8882513ffe077d36ad726..55674b74b2ef8b000c92acf484af1415c2f00f5e 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 OBJS   = $(BOARD).o ide.o hwctl.o avr.o
 
@@ -31,7 +31,7 @@ SRCS  := $(SOBJS:.o=.S) $(COBJS:.o=.c)
 OBJS   := $(addprefix $(obj),$(OBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 3a6b1a11c101c5d4adf7be3c9dd45b442a26ec52..83fab0e4fdc0eb0914d1de9fec869870d44d9b8b 100644 (file)
@@ -22,7 +22,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := am3517evm.o
 
@@ -30,7 +30,7 @@ SRCS  := $(COBJS:.o=.c)
 OBJS   := $(addprefix $(obj),$(COBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(OBJS)
index 102d32b9131150903e88f07d2783fe9f20366e48..71ec5d0b14f8deb37f93a70d3aae2c9d0e1eddd3 100644 (file)
@@ -27,4 +27,4 @@
 # (mem base + reserved)
 
 # For use with external or internal boots.
-CONFIG_SYS_TEXT_BASE = 0x80e80000
+CONFIG_SYS_TEXT_BASE = 0x80008000
index 04dc8ae1fd9689e4c1d9371e20df3cc1a49eee88..944434bb93380f8237ed1c83baf8f3512276b0f4 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := imx27lite.o
 SOBJS  := lowlevel_init.o
@@ -33,7 +33,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 218d9684a12febf06e69529a31a41e41e76b8c7d..e604c31b193316ca721bfebc6fa4331a8531d459 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := imx31_litekit.o
 SOBJS  := lowlevel_init.o
@@ -33,7 +33,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 9e87f17395336d4a11476be42aa81e86131147b9..75085b4e16b17d3345fe4c159706d4bd76df4a94 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := zoom1.o
 
@@ -31,7 +31,7 @@ SRCS  := $(COBJS:.o=.c)
 OBJS   := $(addprefix $(obj),$(COBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(OBJS)
index 39a94dc4ca3a62105985fb9a0bbefc578f019b32..e89de31c914241183d9784e45600c210ceb58ffd 100644 (file)
@@ -30,4 +30,4 @@
 # (mem base + reserved)
 
 # For use with external or internal boots.
-CONFIG_SYS_TEXT_BASE = 0x80e80000
+CONFIG_SYS_TEXT_BASE = 0x80008000
index 2feafbee1df79686c319e605863a5519b25920c9..17f595e72c6f245f077759f51263c4a1831da463 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y := $(BOARD).o
 COBJS-y += debug_board.o
@@ -35,7 +35,7 @@ SRCS  := $(COBJS:.o=.c)
 OBJS   := $(addprefix $(obj),$(COBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(OBJS)
index 8a8adc785ab0605fe2688a6c0a0aad9d8f5b1862..9f3f57d6ff0a8f1ae89c16fd00a011f36a865a7a 100644 (file)
@@ -30,4 +30,4 @@
 # (mem base + reserved)
 
 # For use with external or internal boots.
-CONFIG_SYS_TEXT_BASE = 0x80e80000
+CONFIG_SYS_TEXT_BASE = 0x80008000
index 4eeb03258b88f3c0cb4bede34046d8382f71a3dd..c1a5b0b37dbbcb86d50d6b84017b6527017ac0d1 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := flash.o lpc2292sodimm.o
 SOBJTS := lowlevel_init.o
@@ -33,7 +33,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJTS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 446fd5bb82b3d6d67c2f5d387db7c5d0d5634cef..3aeb2fb1ad87ec9751ead8080a2499caca77bf3b 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := lpd7a40x.o flash.o
 SOBJS  := lowlevel_init.o
@@ -33,7 +33,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 2853bca8d7798ef5ec1dd2409d174f0d3abdff2d..60ac9cf55c584d646a252624c4d0c61647effbe4 100644 (file)
@@ -24,7 +24,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := lubbock.o flash.o
 
@@ -32,7 +32,7 @@ SRCS  := $(COBJS:.o=.c)
 OBJS   := $(addprefix $(obj),$(COBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(OBJS)
index 2b10b0c518acfb4eee7879e5aa0f3ccaa7f7b4cb..b49f26da274c521461933b0e4a8c75ef66f07dee 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o flash.o pcmcia.o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index b871958f1ba5bef503329b1cf7a4925362adee2f..dd9be60cf08ab20eddebe9a1d9716e5f6a961429 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * (C) Copyright 2001
+ * (C) Copyright 2001-2010
  * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
  *
  * See file CREDITS for list of people who contributed to this
  */
 
 OUTPUT_ARCH(powerpc)
-/* Do we need any of these for elf?
-   __DYNAMIC = 0;    */
+
 SECTIONS
 {
   /* Read-only sections, merged into text segment: */
   . = + SIZEOF_HEADERS;
-  .interp : { *(.interp) }
-  .hash          : { *(.hash)          }
-  .dynsym        : { *(.dynsym)                }
-  .dynstr        : { *(.dynstr)                }
-  .rel.text      : { *(.rel.text)      }
-  .rela.text     : { *(.rela.text)     }
-  .rel.data      : { *(.rel.data)      }
-  .rela.data     : { *(.rela.data)     }
-  .rel.rodata    : { *(.rel.rodata)    }
-  .rela.rodata   : { *(.rela.rodata)   }
-  .rel.got       : { *(.rel.got)       }
-  .rela.got      : { *(.rela.got)      }
-  .rel.ctors     : { *(.rel.ctors)     }
-  .rela.ctors    : { *(.rela.ctors)    }
-  .rel.dtors     : { *(.rel.dtors)     }
-  .rela.dtors    : { *(.rela.dtors)    }
-  .rel.bss       : { *(.rel.bss)       }
-  .rela.bss      : { *(.rela.bss)      }
-  .rel.plt       : { *(.rel.plt)       }
-  .rela.plt      : { *(.rela.plt)      }
-  .init          : { *(.init)          }
-  .plt : { *(.plt) }
   .text      :
   {
-    arch/powerpc/cpu/mpc8xx/start.o    (.text)
-    common/env_embedded.o(.text)
-    *(.text)
-    *(.got1)
+    arch/powerpc/cpu/mpc8xx/start.o    (.text*)
+    arch/powerpc/cpu/mpc8xx/traps.o    (.text*)
+
+    *(.text*)
   }
   _etext = .;
   PROVIDE (etext = .);
   .rodata    :
   {
-    *(.eh_frame)
     *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
   }
-  .fini      : { *(.fini)    } =0
-  .ctors     : { *(.ctors)   }
-  .dtors     : { *(.dtors)   }
 
   /* Read-write section, merged into data segment: */
   . = (. + 0x0FF) & 0xFFFFFF00;
@@ -74,23 +47,19 @@ SECTIONS
   PROVIDE (erotext = .);
   .reloc   :
   {
-    *(.got)
+    KEEP(*(.got))
     _GOT2_TABLE_ = .;
-    *(.got2)
+    KEEP(*(.got2))
     _FIXUP_TABLE_ = .;
-    *(.fixup)
+    KEEP(*(.fixup))
   }
   __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >>2;
   __fixup_entries = (. - _FIXUP_TABLE_)>>2;
 
   .data    :
   {
-    *(.data)
-    *(.data1)
-    *(.sdata)
-    *(.sdata2)
-    *(.dynamic)
-    CONSTRUCTORS
+    *(.data*)
+    *(.sdata*)
   }
   _edata  =  .;
   PROVIDE (edata = .);
@@ -116,9 +85,8 @@ SECTIONS
   __bss_start = .;
   .bss (NOLOAD)       :
   {
-   *(.sbss) *(.scommon)
-   *(.dynbss)
-   *(.bss)
+   *(.bss*)
+   *(.sbss*)
    *(COMMON)
    . = ALIGN(4);
   }
index 5bb266f799d69f6dc5f341609f6df2c75a180a4c..f7fef96fb44dc7fc4155934ac1f220f6ef3cf9c8 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o kbd.o sdram.o
 SOBJS  = init.o
@@ -32,8 +32,10 @@ SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c)
 OBJS   := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
-$(LIB):        $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+all:   $(LIB) $(SOBJS)
+
+$(LIB):        $(OBJS)
+       $(call cmd_link_o_target, $^)
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index aec3d1c7c0705de8950e46b05ccd5b48e0d37fac..439e99f6733c2c94b8fb5c79675d49577bbea021 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := m501sk.o eeprom.o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 442e2d0df25c1719bc48681008793e7f697ff541..d3c31d66797543031783cfe517f46caef6c3af96 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := $(BOARD).o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
diff --git a/board/manroland/hmi1001/config.mk b/board/manroland/hmi1001/config.mk
deleted file mode 100644 (file)
index 54dc1c4..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-#
-# (C) Copyright 2004
-# Wolfgang Denk, DENX Software Engineering, wd@denx.de.
-#
-# See file CREDITS for list of people who contributed to this
-# project.
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License as
-# published by the Free Software Foundation; either version 2 of
-# the License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
-# MA 02111-1307 USA
-#
-
-LDSCRIPT := $(SRCTREE)/arch/powerpc/cpu/mpc5xxx/u-boot-customlayout.lds
index 721c0164b2040d01fbff238493c977ad173b5376..a3b4e4c0b39546b07841c230a4e9d1d3ff59c2cb 100644 (file)
@@ -26,7 +26,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := $(BOARD).o
 
@@ -35,7 +35,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 92ee091f6809c186e50accd7958508147735e495..c1a385b87099b857d088b9a2adb241b952258e91 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 #COBJS = $(BOARD).o flash.o pcmcia.o
 COBJS  = $(BOARD).o pcmcia.o
@@ -33,7 +33,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 0d8f60594643e4854013fc0b37641995e7131153..dc83071602e1240a8ce39ffb95141c3d0bd0d78f 100644 (file)
  */
 
 OUTPUT_ARCH(powerpc)
-/* Do we need any of these for elf?
-   __DYNAMIC = 0;    */
+
 SECTIONS
 {
   /* Read-only sections, merged into text segment: */
   . = + SIZEOF_HEADERS;
-  .interp : { *(.interp) }
-  .hash          : { *(.hash)          }
-  .dynsym        : { *(.dynsym)                }
-  .dynstr        : { *(.dynstr)                }
-  .rel.text      : { *(.rel.text)      }
-  .rela.text     : { *(.rela.text)     }
-  .rel.data      : { *(.rel.data)      }
-  .rela.data     : { *(.rela.data)     }
-  .rel.rodata    : { *(.rel.rodata)    }
-  .rela.rodata   : { *(.rela.rodata)   }
-  .rel.got       : { *(.rel.got)       }
-  .rela.got      : { *(.rela.got)      }
-  .rel.ctors     : { *(.rel.ctors)     }
-  .rela.ctors    : { *(.rela.ctors)    }
-  .rel.dtors     : { *(.rel.dtors)     }
-  .rela.dtors    : { *(.rela.dtors)    }
-  .rel.bss       : { *(.rel.bss)       }
-  .rela.bss      : { *(.rela.bss)      }
-  .rel.plt       : { *(.rel.plt)       }
-  .rela.plt      : { *(.rela.plt)      }
-  .init          : { *(.init)          }
-  .plt : { *(.plt) }
   .text      :
   {
     /* WARNING - the following is hand-optimized to fit within */
     /* the sector layout of our flash chips!   XXX FIXME XXX   */
 
-    arch/powerpc/cpu/mpc8xx/start.o            (.text)
-    arch/powerpc/cpu/mpc8xx/traps.o            (.text)
-    common/dlmalloc.o          (.text)
-    arch/powerpc/lib/ppcstring.o               (.text)
-    lib/vsprintf.o     (.text)
-    lib/crc32.o                (.text)
-    lib/zlib.o         (.text)
-    arch/powerpc/lib/cache.o           (.text)
-    arch/powerpc/lib/time.o            (.text)
-
-    common/env_embedded.o      (.text)
+    arch/powerpc/cpu/mpc8xx/start.o    (.text*)
+    arch/powerpc/cpu/mpc8xx/traps.o    (.text*)
 
-    *(.text)
-    *(.got1)
+    *(.text*)
   }
   _etext = .;
   PROVIDE (etext = .);
   .rodata    :
   {
-    *(.eh_frame)
     *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
   }
-  .fini      : { *(.fini)    } =0
-  .ctors     : { *(.ctors)   }
-  .dtors     : { *(.dtors)   }
 
   /* Read-write section, merged into data segment: */
   . = (. + 0x00FF) & 0xFFFFFF00;
@@ -87,23 +50,19 @@ SECTIONS
   PROVIDE (erotext = .);
   .reloc   :
   {
-    *(.got)
+    KEEP(*(.got))
     _GOT2_TABLE_ = .;
-    *(.got2)
+    KEEP(*(.got2))
     _FIXUP_TABLE_ = .;
-    *(.fixup)
+    KEEP(*(.fixup))
   }
   __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >>2;
   __fixup_entries = (. - _FIXUP_TABLE_)>>2;
 
   .data    :
   {
-    *(.data)
-    *(.data1)
-    *(.sdata)
-    *(.sdata2)
-    *(.dynamic)
-    CONSTRUCTORS
+    *(.data*)
+    *(.sdata*)
   }
   _edata  =  .;
   PROVIDE (edata = .);
@@ -129,9 +88,8 @@ SECTIONS
   __bss_start = .;
   .bss (NOLOAD)       :
   {
-   *(.sbss) *(.scommon)
-   *(.dynbss)
-   *(.bss)
+   *(.bss*)
+   *(.sbss*)
    *(COMMON)
    . = ALIGN(4);
   }
index 442e2d0df25c1719bc48681008793e7f697ff541..d3c31d66797543031783cfe517f46caef6c3af96 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := $(BOARD).o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index b496258e2cbcca0d6d9adb158fdbb5da4a1d9fd1..2ad54a03f9cc70765c2948756799373f369796ef 100644 (file)
@@ -27,7 +27,7 @@ ifneq ($(OBJTREE),$(SRCTREE))
 $(shell mkdir -p $(obj)board/$(VENDOR)/common)
 endif
 
-LIB    = $(obj)lib$(VENDOR).a
+LIB    = $(obj)lib$(VENDOR).o
 
 COBJS-y        = mv_common.o
 
@@ -36,7 +36,7 @@ OBJS  := $(addprefix $(obj),$(COBJS-y))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index ea72f77cdc2ed5a949eebbf08ab900335352a04a..9ee0895e92cfe7d851737e04470673501dd3df98 100644 (file)
@@ -26,7 +26,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := $(BOARD).o fpga.o
 
@@ -35,7 +35,7 @@ OBJS    := $(addprefix $(obj),$(COBJS))
 SOBJS   := $(addprefix $(obj),$(SOBJS))
 
 $(LIB): $(obj).depend $(OBJS)
-               $(AR) $(ARFLAGS) $@ $(OBJS)
+               $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 12c7cb6e6eef43dfde7f2b39d36838d0ba23e71b..2ee74e012734cc397dd4158f37f3a99494454c89 100644 (file)
@@ -22,7 +22,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := $(BOARD).o pci.o fpga.o
 
@@ -31,7 +31,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
        @mkimage -T script -C none -n M7_script -d bootscript $(obj)bootscript.img
 
 clean:
index 2817fe072c8e10ee0b286c46adde2f8d9123176f..8ee556c8faf9af45daabe5fd80a5840b3c90f5f7 100644 (file)
@@ -26,7 +26,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := $(BOARD).o fpga.o
 
@@ -35,7 +35,7 @@ OBJS    := $(addprefix $(obj),$(COBJS))
 SOBJS   := $(addprefix $(obj),$(SOBJS))
 
 $(LIB): $(obj).depend $(OBJS)
-               $(AR) $(ARFLAGS) $@ $(OBJS)
+               $(call cmd_link_o_target, $(OBJS))
        @mkimage -T script -C none -n mvSMR_Script -d bootscript $(obj)bootscript.img
 
 clean:
index f9b103e6175ed14ccd52fda22258620958fb9c41..074a4827e79e0748a685d1ddbba3f7a3ef5d69b9 100644 (file)
@@ -28,38 +28,13 @@ OUTPUT_ARCH(powerpc)
 SECTIONS
 {
   /* Read-only sections, merged into text segment: */
-  . = + SIZEOF_HEADERS;
-  .interp : { *(.interp) }
-  .hash          : { *(.hash)          }
-  .dynsym        : { *(.dynsym)                }
-  .dynstr        : { *(.dynstr)                }
-  .rel.text      : { *(.rel.text)              }
-  .rela.text     : { *(.rela.text)     }
-  .rel.data      : { *(.rel.data)              }
-  .rela.data     : { *(.rela.data)     }
-  .rel.rodata    : { *(.rel.rodata)    }
-  .rela.rodata   : { *(.rela.rodata)   }
-  .rel.got       : { *(.rel.got)               }
-  .rela.got      : { *(.rela.got)              }
-  .rel.ctors     : { *(.rel.ctors)     }
-  .rela.ctors    : { *(.rela.ctors)    }
-  .rel.dtors     : { *(.rel.dtors)     }
-  .rela.dtors    : { *(.rela.dtors)    }
-  .rel.bss       : { *(.rel.bss)               }
-  .rela.bss      : { *(.rela.bss)              }
-  .rel.plt       : { *(.rel.plt)               }
-  .rela.plt      : { *(.rela.plt)              }
-  .init          : { *(.init)  }
-  .plt : { *(.plt) }
   .text      :
   {
     /* WARNING - the following is hand-optimized to fit within  */
     /* the first two sectors (=8KB) of our S29GL flash chip */
-    arch/powerpc/cpu/mpc5xxx/start.o   (.text)
-    arch/powerpc/cpu/mpc5xxx/traps.o   (.text)
-    lib/crc32.o                                (.text)
-    arch/powerpc/lib/cache.o           (.text)
-    arch/powerpc/lib/time.o            (.text)
+    arch/powerpc/cpu/mpc5xxx/start.o   (.text*)
+    arch/powerpc/cpu/mpc5xxx/traps.o   (.text*)
+    board/matrix_vision/common/libmatrix_vision.o (.text*)
 
     /* This is only needed to force failure if size of above code will ever */
     /* increase and grow into reserved space. */
@@ -69,15 +44,10 @@ SECTIONS
     . = env_offset;    /* ld error as soon as above ALIGN misplaces lc */
     common/env_embedded.o        (.ppcenv)
 
-    *(.text)
-    *(.got1)
+    *(.text*)
     . = ALIGN(16);
-    *(.eh_frame)
     *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
   }
-  .fini      : { *(.fini)    } =0
-  .ctors     : { *(.ctors)   }
-  .dtors     : { *(.dtors)   }
 
   /* Read-write section, merged into data segment: */
   . = (. + 0x0FFF) & 0xFFFFF000;
@@ -85,23 +55,19 @@ SECTIONS
   PROVIDE (erotext = .);
   .reloc   :
   {
-    *(.got)
+    KEEP(*(.got))
     _GOT2_TABLE_ = .;
-    *(.got2)
+    KEEP(*(.got2))
     _FIXUP_TABLE_ = .;
-    *(.fixup)
+    KEEP(*(.fixup))
   }
   __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >> 2;
   __fixup_entries = (. - _FIXUP_TABLE_) >> 2;
 
   .data    :
   {
-    *(.data)
-    *(.data1)
-    *(.sdata)
-    *(.sdata2)
-    *(.dynamic)
-    CONSTRUCTORS
+    *(.data*)
+    *(.sdata*)
   }
   _edata  =  .;
   PROVIDE (edata = .);
@@ -127,10 +93,8 @@ SECTIONS
   __bss_start = .;
   .bss (NOLOAD)       :
   {
-   *(.sbss) *(.scommon)
-   *(.dynbss)
-   *(.bss)
-   *(COMMON)
+   *(.bss*)
+   *(.sbss*)
    . = ALIGN(4);
   }
   _end = . ;
index d30cc62ac91072e4f85e78f74a841328ee785fc9..a98a01761e732d8d1a1bcb2c923c1538028979fa 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o flash.o vpd.o pcmcia.o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index f883e7f02466b9731692311e033ae835047cec8f..fbd901a3c309020d3432a1c19e8fda6d3cb96b67 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * (C) Copyright 2000
+ * (C) Copyright 2000-2010
  * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
  *
  * See file CREDITS for list of people who contributed to this
  */
 
 OUTPUT_ARCH(powerpc)
-/* Do we need any of these for elf?
-   __DYNAMIC = 0;    */
+
 SECTIONS
 {
   /* Read-only sections, merged into text segment: */
   . = + SIZEOF_HEADERS;
-  .interp : { *(.interp) }
-  .hash          : { *(.hash)          }
-  .dynsym        : { *(.dynsym)                }
-  .dynstr        : { *(.dynstr)                }
-  .rel.text      : { *(.rel.text)              }
-  .rela.text     : { *(.rela.text)     }
-  .rel.data      : { *(.rel.data)              }
-  .rela.data     : { *(.rela.data)     }
-  .rel.rodata    : { *(.rel.rodata)    }
-  .rela.rodata   : { *(.rela.rodata)   }
-  .rel.got       : { *(.rel.got)               }
-  .rela.got      : { *(.rela.got)              }
-  .rel.ctors     : { *(.rel.ctors)     }
-  .rela.ctors    : { *(.rela.ctors)    }
-  .rel.dtors     : { *(.rel.dtors)     }
-  .rela.dtors    : { *(.rela.dtors)    }
-  .rel.bss       : { *(.rel.bss)               }
-  .rela.bss      : { *(.rela.bss)              }
-  .rel.plt       : { *(.rel.plt)               }
-  .rela.plt      : { *(.rela.plt)              }
-  .init          : { *(.init)  }
-  .plt : { *(.plt) }
   .text      :
   {
-    arch/powerpc/cpu/mpc8xx/start.o    (.text)
+    arch/powerpc/cpu/mpc8xx/start.o    (.text*)
+    arch/powerpc/cpu/mpc8xx/traps.o    (.text*)
 
-    *(.text)
-    *(.got1)
+    *(.text*)
   }
   _etext = .;
   PROVIDE (etext = .);
   .rodata    :
   {
-    *(.eh_frame)
     *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
   }
-  .fini      : { *(.fini)    } =0
-  .ctors     : { *(.ctors)   }
-  .dtors     : { *(.dtors)   }
 
   /* Read-write section, merged into data segment: */
   . = (. + 0x00FF) & 0xFFFFFF00;
@@ -74,23 +47,19 @@ SECTIONS
   PROVIDE (erotext = .);
   .reloc   :
   {
-    *(.got)
+    KEEP(*(.got))
     _GOT2_TABLE_ = .;
-    *(.got2)
+    KEEP(*(.got2))
     _FIXUP_TABLE_ = .;
-    *(.fixup)
+    KEEP(*(.fixup))
   }
   __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >>2;
   __fixup_entries = (. - _FIXUP_TABLE_)>>2;
 
   .data    :
   {
-    *(.data)
-    *(.data1)
-    *(.sdata)
-    *(.sdata2)
-    *(.dynamic)
-    CONSTRUCTORS
+    *(.data*)
+    *(.sdata*)
   }
   _edata  =  .;
   PROVIDE (edata = .);
@@ -116,9 +85,8 @@ SECTIONS
   __bss_start = .;
   .bss (NOLOAD)       :
   {
-   *(.sbss) *(.scommon)
-   *(.dynbss)
-   *(.bss)
+   *(.bss*)
+   *(.sbss*)
    *(COMMON)
    . = ALIGN(4);
   }
index e6e81ce3c10b999ea96eef277313214c90d86cce..e0a24b1c421f53d7a0eed962bbc97ced6cc0a422 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := $(BOARD).o lcd.o auto_update.o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 2737ade0ead5c194e6bf339a7705b10ba03b6da1..a7748fe95f64a81782c1caa3e824412e6fed9505 100644 (file)
@@ -22,7 +22,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y := $(BOARD).o
 COBJS-y += ebi.o
@@ -39,7 +39,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 9f3849feaf28acebbe2f32dade580bda249a74c2..7fbd20d002ea5b15b4c7467c7afec3ff736a5f94 100644 (file)
@@ -20,7 +20,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    := $(obj)lib$(BOARD).a
+LIB    := $(obj)lib$(BOARD).o
 
 COBJS  := $(BOARD).o
 
@@ -28,7 +28,7 @@ SRCS  := $(SOBJS:.o=.S) $(COBJS:.o=.c)
 OBJS   := $(addprefix $(obj),$(SOBJS) $(COBJS))
 
 $(LIB): $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 4b74d16200241f9e200e1928f503878b6587edd0..43f0b50114b807fc22b4d00d042a1dc3ac3a1b39 100644 (file)
@@ -20,7 +20,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    := $(obj)lib$(BOARD).a
+LIB    := $(obj)lib$(BOARD).o
 
 COBJS  := $(BOARD).o
 
@@ -28,7 +28,7 @@ SRCS  := $(SOBJS:.o=.S) $(COBJS:.o=.c)
 OBJS   := $(addprefix $(obj),$(SOBJS) $(COBJS))
 
 $(LIB): $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 59644dba6a645eda7d19c517dc2b50e44680faac..67de4f9faab8f19f91787539f9e0f16a2cd47367 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o flash.o serial.o
 SOBJS  = init.o
@@ -33,7 +33,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 950f857976cd72990bd2d67b1af630e5f8cf4176..b6c0715711785fa5274fe4ac90c879b5362d24ae 100644 (file)
  */
 
 OUTPUT_ARCH(powerpc)
-/* Do we need any of these for elf?
-   __DYNAMIC = 0;    */
+
 SECTIONS
 {
   /* Read-only sections, merged into text segment: */
   . = + SIZEOF_HEADERS;
-  .interp : { *(.interp) }
-  .hash          : { *(.hash)          }
-  .dynsym        : { *(.dynsym)                }
-  .dynstr        : { *(.dynstr)                }
-  .rel.text      : { *(.rel.text)              }
-  .rela.text     : { *(.rela.text)     }
-  .rel.data      : { *(.rel.data)              }
-  .rela.data     : { *(.rela.data)     }
-  .rel.rodata    : { *(.rel.rodata)    }
-  .rela.rodata   : { *(.rela.rodata)   }
-  .rel.got       : { *(.rel.got)               }
-  .rela.got      : { *(.rela.got)              }
-  .rel.ctors     : { *(.rel.ctors)     }
-  .rela.ctors    : { *(.rela.ctors)    }
-  .rel.dtors     : { *(.rel.dtors)     }
-  .rela.dtors    : { *(.rela.dtors)    }
-  .rel.bss       : { *(.rel.bss)               }
-  .rela.bss      : { *(.rela.bss)              }
-  .rel.plt       : { *(.rel.plt)               }
-  .rela.plt      : { *(.rela.plt)              }
-  .init          : { *(.init)  }
-  .plt : { *(.plt) }
   .text      :
   {
-    /* WARNING - the following is hand-optimized to fit within */
-    /* the sector layout of our flash chips!   XXX FIXME XXX   */
-
-    arch/powerpc/cpu/ppc4xx/start.o    (.text)
-    board/ml2/init.o   (.text)
-    arch/powerpc/cpu/ppc4xx/kgdb.o     (.text)
-    arch/powerpc/cpu/ppc4xx/traps.o    (.text)
-    arch/powerpc/cpu/ppc4xx/interrupts.o       (.text)
-    arch/powerpc/cpu/ppc4xx/4xx_uart.o (.text)
-    arch/powerpc/cpu/ppc4xx/cpu_init.o (.text)
-    arch/powerpc/cpu/ppc4xx/speed.o    (.text)
-    common/dlmalloc.o  (.text)
-    lib/crc32.o                (.text)
-    arch/powerpc/lib/extable.o (.text)
-    lib/zlib.o         (.text)
-
-/*    . = env_offset;*/
-/*    common/env_embedded.o(.text)*/
-
-    *(.text)
-    *(.got1)
+    *(.text*)
   }
   _etext = .;
   PROVIDE (etext = .);
   .rodata    :
   {
-    *(.eh_frame)
     *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
   }
-  .fini      : { *(.fini)    } =0
-  .ctors     : { *(.ctors)   }
-  .dtors     : { *(.dtors)   }
 
   /* Read-write section, merged into data segment: */
   . = (. + 0x00FF) & 0xFFFFFF00;
@@ -91,22 +44,19 @@ SECTIONS
   PROVIDE (erotext = .);
   .reloc   :
   {
-    *(.got)
+    KEEP(*(.got))
     _GOT2_TABLE_ = .;
-    *(.got2)
+    KEEP(*(.got2))
     _FIXUP_TABLE_ = .;
-    *(.fixup)
+    KEEP(*(.fixup))
   }
   __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >>2;
   __fixup_entries = (. - _FIXUP_TABLE_)>>2;
 
   .data    :
   {
-    *(.data)
-    *(.data1)
-    *(.sdata)
-    *(.sdata2)
-    *(.dynamic)
+    *(.data*)
+    *(.sdata*)
     CONSTRUCTORS
   }
   _edata  =  .;
@@ -133,9 +83,8 @@ SECTIONS
   __bss_start = .;
   .bss (NOLOAD)       :
   {
-   *(.sbss) *(.scommon)
-   *(.dynbss)
-   *(.bss)
+   *(.bss*)
+   *(.sbss*)
    *(COMMON)
    . = ALIGN(4);
   }
index bee5a8668be40cafe39acc521df5bd9d21d21fb6..d5a541fa6ccdae44a72957a91c22042a396f827c 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := modnet50.o flash.o
 SOBJS  := lowlevel_init.o
@@ -33,7 +33,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index dad0457f6bb3a2da1b292796e246879d68256a57..39cff51bd690bce3178efa2a5f2639dc82668d4b 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y        := $(BOARD).o
 COBJS-$(CONFIG_CMD_CHIP_CONFIG) += chip_config.o
@@ -35,7 +35,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 22ce8e64f292a3e687aaadb4e56cdd0d36e455f9..f5d88bb6e2ae58724e4364ed454a407a1034aceb 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := $(BOARD).o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 3e719f0cc0c53d9251e40469148ea6707685d6a6..346f779e14e28dffa9394456b8b901c8b48613e0 100644 (file)
@@ -24,7 +24,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o m48t59y.o pci.o flash.o
 SRCS   := $(SOBJS:.o=.S) $(COBJS:.o=.c)
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 0116dde4df2f433cee2353db7a0287011fb6edee..4cfb95c496868a58d5ffe7943aca70299a7216ad 100644 (file)
@@ -27,46 +27,13 @@ OUTPUT_ARCH(powerpc)
 SECTIONS
 {
   /* Read-only sections, merged into text segment: */
-  . = + SIZEOF_HEADERS;
-  .interp : { *(.interp) }
-  .hash          : { *(.hash)          }
-  .dynsym        : { *(.dynsym)                }
-  .dynstr        : { *(.dynstr)                }
-  .rel.text      : { *(.rel.text)              }
-  .rela.text     : { *(.rela.text)     }
-  .rel.data      : { *(.rel.data)              }
-  .rela.data     : { *(.rela.data)     }
-  .rel.rodata    : { *(.rel.rodata)    }
-  .rela.rodata   : { *(.rela.rodata)   }
-  .rel.got       : { *(.rel.got)               }
-  .rela.got      : { *(.rela.got)              }
-  .rel.ctors     : { *(.rel.ctors)     }
-  .rela.ctors    : { *(.rela.ctors)    }
-  .rel.dtors     : { *(.rel.dtors)     }
-  .rela.dtors    : { *(.rela.dtors)    }
-  .rel.bss       : { *(.rel.bss)               }
-  .rela.bss      : { *(.rela.bss)              }
-  .rel.plt       : { *(.rel.plt)               }
-  .rela.plt      : { *(.rela.plt)              }
-  .init          : { *(.init)  }
-  .plt : { *(.plt) }
   .text      :
   {
-    arch/powerpc/cpu/mpc824x/start.o           (.text)
-    arch/powerpc/lib/board.o           (.text)
-    arch/powerpc/lib/ppcstring.o               (.text)
-    lib/vsprintf.o     (.text)
-    lib/crc32.o                (.text)
-    lib/zlib.o         (.text)
-
-    *(.got1)
+    arch/powerpc/cpu/mpc824x/start.o   (.text*)
+    *(.text*)
     . = ALIGN(16);
-    *(.eh_frame)
     *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
   }
-  .fini      : { *(.fini)    } =0
-  .ctors     : { *(.ctors)   }
-  .dtors     : { *(.dtors)   }
 
   /* Read-write section, merged into data segment: */
   . = (. + 0x0FF) & 0xFFFFFF00;
@@ -74,23 +41,19 @@ SECTIONS
   PROVIDE (erotext = .);
   .reloc   :
   {
-    *(.got)
+    KEEP(*(.got))
     _GOT2_TABLE_ = .;
-    *(.got2)
+    KEEP(*(.got2))
     _FIXUP_TABLE_ = .;
-    *(.fixup)
+    KEEP(*(.fixup))
   }
   __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >> 2;
   __fixup_entries = (. - _FIXUP_TABLE_) >> 2;
 
   .data    :
   {
-    *(.data)
-    *(.data1)
-    *(.sdata)
-    *(.sdata2)
-    *(.dynamic)
-    CONSTRUCTORS
+    *(.data*)
+    *(.sdata*)
   }
   _edata  =  .;
   PROVIDE (edata = .);
@@ -116,9 +79,8 @@ SECTIONS
   __bss_start = .;
   .bss (NOLOAD)       :
   {
-   *(.sbss) *(.scommon)
-   *(.dynbss)
-   *(.bss)
+   *(.bss*)
+   *(.sbss*)
    *(COMMON)
    . = ALIGN(4);
   }
index 67efd725db9850686c0c4c2692ef0f31ccf1c855..335734a7ab7a71a9baaad76998490673b5d56e7e 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := mp2usb.o flash.o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index e9bfa2bc0dbb1b634b83b50fcfb76c7bc6f71039..241a55782e8fd7a65a795a8fe2762cdf72e7adc8 100644 (file)
@@ -25,7 +25,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := $(BOARD).o sdram.o
 
@@ -34,7 +34,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 5a68f11e7d0506bdcebbbddfa3a4c9cd95b07820..5eccfab69ee0d98e40a3f1cf11c00a789a242305 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y        += $(BOARD).o
 COBJS-y        += law.o
@@ -36,7 +36,7 @@ OBJS  := $(addprefix $(obj),$(COBJS-y))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(OBJS) $(SOBJS)
index 21e3cdaeca94de57b9a960fe3d04fdc2ddd6f3c3..042cd83387f3c01b4a635cd2466bfc06235443c6 100644 (file)
@@ -26,7 +26,7 @@ ifneq ($(OBJTREE),$(SRCTREE))
 $(shell mkdir -p $(obj)../common)
 endif
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o ../common/flash.o cmd_mip405.o ../common/pci.o \
                        ../common/usb_uhci.o ../common/common_util.o
@@ -38,7 +38,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 9f38d706cef989b4b30d6bec4fd06285b5d60acc..937dfec85addbd1d14266cc42a273b2429ecdf20 100644 (file)
@@ -26,7 +26,7 @@ ifneq ($(OBJTREE),$(SRCTREE))
 $(shell mkdir -p $(obj)../common)
 endif
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  :=  pati.o ../common/flash.o cmd_pati.o ../common/common_util.o
 #### cmd_pati.o
@@ -36,7 +36,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index fb39ec3ec3bc58944f1f8402d4a9668d9c7096c6..8b4bbc59a8be711b7bfd7693cc09b05c780a6daf 100644 (file)
@@ -26,7 +26,7 @@ ifneq ($(OBJTREE),$(SRCTREE))
 $(shell mkdir -p $(obj)../common)
 endif
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o \
          ../common/flash.o cmd_pip405.o ../common/pci.o \
@@ -41,7 +41,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 3f629fc0996465af179b979d80814fa0fcdcfe8a..27cef1d833f451870d13236b48dc9d5f35034a55 100644 (file)
@@ -26,7 +26,7 @@ ifneq ($(OBJTREE),$(SRCTREE))
 $(shell mkdir -p $(obj)../common)
 endif
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := vcma9.o flash.o cmd_vcma9.o
 COBJS  += ../common/common_util.o
@@ -38,7 +38,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 9f8fb807aba43a8ce39806c4af7f2170a2757b91..b9c45b95a8b25b6968dd9caac30c2c32bb466509 100644 (file)
@@ -30,7 +30,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := mpr2.o
 SOBJS  := lowlevel_init.o
@@ -40,7 +40,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 18745ecff3c8845ee5e889d208eec2e1aea690aa..0bf774363e84e7568a8e6f4f89c3c736192bf178 100644 (file)
@@ -27,7 +27,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := ms7720se.o
 SOBJS  := lowlevel_init.o
@@ -37,7 +37,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index b203b6d4c7c4cf4744fc64e018b43d59449e6d99..fc8ae21f230d1afb86224a7f8430e1b451a13442 100644 (file)
@@ -24,7 +24,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := ms7722se.o
 SOBJS  := lowlevel_init.o
@@ -34,7 +34,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 01ddf69201e4ec510a5a5df75d9c8eecb8d68111..8f1b459e18611a7dd096efcf41ba816f853c5e29 100644 (file)
@@ -19,7 +19,7 @@
 #
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := ms7750se.o
 SOBJS  := lowlevel_init.o
@@ -29,7 +29,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index a4413b2eb0e50eef3919957b833f54d696417b23..f219cf93ea7c4a0d06c4fc0f8cd3d6dd43ee9c33 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := $(BOARD).o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 5862bed5cc2a4ccfac05287073e03ebd8da1b4af..5c7f947e528b6eeb7d10ae9002ccad9c1650033f 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := $(BOARD).o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index dcb1907032b5df8d2f89bdcb23506a49bb1446c7..12e4aa6880eed591aade2b9cfdf2d64611b3a39f 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o flash.o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index dcb1907032b5df8d2f89bdcb23506a49bb1446c7..12e4aa6880eed591aade2b9cfdf2d64611b3a39f 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o flash.o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
similarity index 50%
rename from board/pcippc2/u-boot.lds
rename to board/mvblue/u-boot.lds
index 87d8c67949c353436b0cfef0710b493902c15228..ad06af0b1634f2decd52275166da2bf97d53cbb7 100644 (file)
@@ -1,8 +1,5 @@
 /*
- * (C) Copyright 2001
- * Josh Huber <huber@mclx.com>, Mission Critical Linux, Inc.
- *
- * (C) Copyright 2002
+ * (C) Copyright 2001-2007
  * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
  *
  * See file CREDITS for list of people who contributed to this
  * MA 02111-1307 USA
  */
 
-/*
- * u-boot.lds - linker script for U-Boot on the Galileo Eval Board.
- */
-
 OUTPUT_ARCH(powerpc)
 /* Do we need any of these for elf?
    __DYNAMIC = 0;    */
 SECTIONS
 {
   /* Read-only sections, merged into text segment: */
-  . = + SIZEOF_HEADERS;
-  .interp : { *(.interp) }
-  .hash          : { *(.hash)          }
-  .dynsym        : { *(.dynsym)                }
-  .dynstr        : { *(.dynstr)                }
-  .rel.text      : { *(.rel.text)              }
-  .rela.text     : { *(.rela.text)     }
-  .rel.data      : { *(.rel.data)              }
-  .rela.data     : { *(.rela.data)     }
-  .rel.rodata    : { *(.rel.rodata)    }
-  .rela.rodata   : { *(.rela.rodata)   }
-  .rel.got       : { *(.rel.got)               }
-  .rela.got      : { *(.rela.got)              }
-  .rel.ctors     : { *(.rel.ctors)     }
-  .rela.ctors    : { *(.rela.ctors)    }
-  .rel.dtors     : { *(.rel.dtors)     }
-  .rela.dtors    : { *(.rela.dtors)    }
-  .rel.bss       : { *(.rel.bss)               }
-  .rela.bss      : { *(.rela.bss)              }
-  .rel.plt       : { *(.rel.plt)               }
-  .rela.plt      : { *(.rela.plt)              }
-  .init          : { *(.init)  }
-  .plt : { *(.plt) }
   .text      :
   {
-    arch/powerpc/cpu/74xx_7xx/start.o  (.text)
+    arch/powerpc/cpu/mpc824x/start.o           (.text*)
+    lib/libgeneric.o                           (.text*)
+    net/libnet.o                               (.text*)
+    drivers/pci/libpci.o                       (.text*)
+    arch/powerpc/cpu/mpc824x/libmpc824x.o      (.text*)
+    board/mvblue/libmvblue.o                   (.text*)
+    arch/powerpc/lib/libpowerpc.o              (.text*)
 
-/* store the environment in a seperate sector in the boot flash */
-/*    . = env_offset; */
-/*    common/env_embedded.o(.text) */
+    . = DEFINED(env_offset) ? env_offset : .;
+    common/env_embedded.o      (.ppcenv*)
 
-    *(.text)
-    *(.got1)
-  }
-  _etext = .;
-  PROVIDE (etext = .);
-  .rodata    :
-  {
-    *(.eh_frame)
+    *(.text*)
+    . = ALIGN(16);
     *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
   }
-  .fini      : { *(.fini)    } =0
-  .ctors     : { *(.ctors)   }
-  .dtors     : { *(.dtors)   }
 
   /* Read-write section, merged into data segment: */
-  . = (. + 0x00FF) & 0xFFFFFF00;
+  . = (. + 0x0FFF) & 0xFFFFF000;
   _erotext = .;
   PROVIDE (erotext = .);
   .reloc   :
   {
-    *(.got)
+    KEEP(*(.got))
     _GOT2_TABLE_ = .;
-    *(.got2)
+    KEEP(*(.got2))
     _FIXUP_TABLE_ = .;
-    *(.fixup)
+    KEEP(*(.fixup))
   }
-  __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >>2;
-  __fixup_entries = (. - _FIXUP_TABLE_)>>2;
+  __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >> 2;
+  __fixup_entries = (. - _FIXUP_TABLE_) >> 2;
 
   .data    :
   {
-    *(.data)
-    *(.data1)
-    *(.sdata)
-    *(.sdata2)
-    *(.dynamic)
-    CONSTRUCTORS
+    *(.data*)
+    *(.sdata*)
   }
   _edata  =  .;
   PROVIDE (edata = .);
@@ -117,19 +79,18 @@ SECTIONS
   __ex_table : { *(__ex_table) }
   __stop___ex_table = .;
 
-  . = ALIGN(256);
+  . = ALIGN(4096);
   __init_begin = .;
   .text.init : { *(.text.init) }
   .data.init : { *(.data.init) }
-  . = ALIGN(256);
+  . = ALIGN(4096);
   __init_end = .;
 
   __bss_start = .;
   .bss (NOLOAD)       :
   {
-   *(.sbss) *(.scommon)
-   *(.dynbss)
-   *(.bss)
+   *(.bss*)
+   *(.sbss*)
    *(COMMON)
    . = ALIGN(4);
   }
index b68b1bdd25dec95826e4380f81f857a7ded06069..20d7b8624a1c37089880a4f81bd2ebde64456cf4 100644 (file)
@@ -27,7 +27,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := mx1ads.o syncflash.o
 SOBJS  := lowlevel_init.o
@@ -37,7 +37,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index f81f7acd578f5308b3dea1db6f58f7aa781713a4..c55b695a51eb9af58ec50704e1cf13297faa9280 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := mx1fs2.o flash.o
 SOBJS  := lowlevel_init.o
@@ -33,7 +33,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index df7d3123b96bc51b2b96d9a59e1ad05b103e6572..24c79a6dfad3804c041a7ce211bb2e8e432e5834 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o flash.o phone_console.o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 77aebe6b49a2bea871ad216f5adc92c28f4eaae5..684ab81c4a2a1d4144f775fc6f59448634a5b467 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * (C) Copyright 2000-2004
+ * (C) Copyright 2000-2010
  * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
  *
  * See file CREDITS for list of people who contributed to this
  */
 
 OUTPUT_ARCH(powerpc)
-/* Do we need any of these for elf?
-   __DYNAMIC = 0;    */
+
 SECTIONS
 {
   /* Read-only sections, merged into text segment: */
   . = + SIZEOF_HEADERS;
-  .interp              : { *(.interp)          }
-  .hash         : { *(.hash)           }
-  .dynsym       : { *(.dynsym)         }
-  .dynstr       : { *(.dynstr)         }
-  .rel.text     : { *(.rel.text)       }
-  .rela.text    : { *(.rela.text)      }
-  .rel.data     : { *(.rel.data)       }
-  .rela.data    : { *(.rela.data)      }
-  .rel.rodata   : { *(.rel.rodata)     }
-  .rela.rodata  : { *(.rela.rodata)    }
-  .rel.got      : { *(.rel.got)                }
-  .rela.got     : { *(.rela.got)       }
-  .rel.ctors    : { *(.rel.ctors)      }
-  .rela.ctors   : { *(.rela.ctors)     }
-  .rel.dtors    : { *(.rel.dtors)      }
-  .rela.dtors   : { *(.rela.dtors)     }
-  .rel.bss      : { *(.rel.bss)                }
-  .rela.bss     : { *(.rela.bss)       }
-  .rel.plt      : { *(.rel.plt)                }
-  .rela.plt     : { *(.rela.plt)       }
-  .init         : { *(.init)           }
-  .plt         : { *(.plt)             }
   .text        :
   {
-    arch/powerpc/cpu/mpc8xx/start.o            (.text)
-    arch/powerpc/cpu/mpc8xx/traps.o            (.text)
-    common/dlmalloc.o          (.text)
-    arch/powerpc/lib/ppcstring.o               (.text)
-    lib/vsprintf.o     (.text)
-    lib/crc32.o                (.text)
-    lib/zlib.o         (.text)
-    arch/powerpc/lib/cache.o           (.text)
-    arch/powerpc/lib/time.o            (.text)
-
-    . = DEFINED(env_offset) ? env_offset : .;
-    common/env_embedded.o      (.text)
+    arch/powerpc/cpu/mpc8xx/start.o    (.text*)
+    arch/powerpc/cpu/mpc8xx/traps.o    (.text*)
 
-    *(.text)
-    *(.got1)
+    *(.text*)
   }
   _etext = .;
   PROVIDE (etext = .);
   .rodata    :
   {
-    *(.eh_frame)
     *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
   }
-  .fini      : { *(.fini)    } =0
-  .ctors     : { *(.ctors)   }
-  .dtors     : { *(.dtors)   }
 
   /* Read-write section, merged into data segment: */
   . = (. + 0x00FF) & 0xFFFFFF00;
@@ -85,23 +47,19 @@ SECTIONS
   PROVIDE (erotext = .);
   .reloc   :
   {
-    *(.got)
+    KEEP(*(.got))
     _GOT2_TABLE_ = .;
-    *(.got2)
+    KEEP(*(.got2))
     _FIXUP_TABLE_ = .;
-    *(.fixup)
+    KEEP(*(.fixup))
   }
   __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >>2;
   __fixup_entries = (. - _FIXUP_TABLE_)>>2;
 
   .data    :
   {
-    *(.data)
-    *(.data1)
-    *(.sdata)
-    *(.sdata2)
-    *(.dynamic)
-    CONSTRUCTORS
+    *(.data*)
+    *(.sdata*)
   }
   _edata  =  .;
   PROVIDE (edata = .);
@@ -127,9 +85,8 @@ SECTIONS
   __bss_start = .;
   .bss (NOLOAD)       :
   {
-   *(.sbss) *(.scommon)
-   *(.dynbss)
-   *(.bss)
+   *(.bss*)
+   *(.sbss*)
    *(COMMON)
    . = ALIGN(4);
   }
index cd62642894425f87b0140c7fd330d49697fa37b2..a983de9f907900cb0cc97a4d3e55637b60d70cfc 100644 (file)
@@ -23,7 +23,7 @@ ifneq ($(OBJTREE),$(SRCTREE))
 $(shell mkdir -p $(obj)../common)
 endif
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o \
        ../common/fixed_sdram.o \
@@ -33,7 +33,7 @@ SRCS  := $(COBJS:.o=.c)
 OBJS   := $(addprefix $(obj),$(COBJS))
 
 $(LIB):        $(OBJS)
-       $(AR) $(ARFLAGS) $@ $^
+       $(call cmd_link_o_target, $^)
 
 clean:
        rm -f $(OBJS)
index d037552d709bc481fb5a3e787b93da7bb67c492e..280c2f668e33be364e46836a6bd342dbdb5786a6 100644 (file)
@@ -23,7 +23,7 @@ ifneq ($(OBJTREE),$(SRCTREE))
 $(shell mkdir -p $(obj)../common)
 endif
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o \
        sdram.o \
@@ -34,8 +34,10 @@ SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c)
 OBJS   := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
-$(LIB):        $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $^
+all:   $(LIB) $(SOBJS)
+
+$(LIB):        $(OBJS)
+       $(call cmd_link_o_target, $^)
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index cd62642894425f87b0140c7fd330d49697fa37b2..a983de9f907900cb0cc97a4d3e55637b60d70cfc 100644 (file)
@@ -23,7 +23,7 @@ ifneq ($(OBJTREE),$(SRCTREE))
 $(shell mkdir -p $(obj)../common)
 endif
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o \
        ../common/fixed_sdram.o \
@@ -33,7 +33,7 @@ SRCS  := $(COBJS:.o=.c)
 OBJS   := $(addprefix $(obj),$(COBJS))
 
 $(LIB):        $(OBJS)
-       $(AR) $(ARFLAGS) $@ $^
+       $(call cmd_link_o_target, $^)
 
 clean:
        rm -f $(OBJS)
index 5773c13f4d892a6f7d80a34cea32e2d2dd5b85dc..7230a2f88abf2b597c747a682f909de7d32b0b09 100644 (file)
@@ -26,7 +26,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := netstar.o
 SOBJS  := setup.o
@@ -43,7 +43,7 @@ all:  $(obj).depend $(LIB) $(obj)eeprom.srec $(obj)eeprom.bin \
                $(obj)crcek.srec $(obj)crcek.bin $(obj)crcit
 
 $(LIB):        $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $^
+       $(call cmd_link_o_target, $^)
 
 $(obj)eeprom_start.o:
        echo "b eeprom" | $(CC) $(AFLAGS) -c -x assembler -o $@ -
index 96374ba3fc55faf7b80ee5a737834e931400691e..878151ccdb554621f6b15f6b6f7357b3abc17371 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o flash.o dsp.o codec.o pcmcia.o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 9001767ef7ce93664763596d8360fff065b072fc..684ab81c4a2a1d4144f775fc6f59448634a5b467 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * (C) Copyright 2000-2004
+ * (C) Copyright 2000-2010
  * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
  *
  * See file CREDITS for list of people who contributed to this
  */
 
 OUTPUT_ARCH(powerpc)
-/* Do we need any of these for elf?
-   __DYNAMIC = 0;    */
+
 SECTIONS
 {
   /* Read-only sections, merged into text segment: */
   . = + SIZEOF_HEADERS;
-  .interp      : { *(.interp)          }
-  .hash         : { *(.hash)           }
-  .dynsym       : { *(.dynsym)         }
-  .dynstr       : { *(.dynstr)         }
-  .rel.text     : { *(.rel.text)       }
-  .rela.text    : { *(.rela.text)      }
-  .rel.data     : { *(.rel.data)       }
-  .rela.data    : { *(.rela.data)      }
-  .rel.rodata   : { *(.rel.rodata)     }
-  .rela.rodata  : { *(.rela.rodata)    }
-  .rel.got      : { *(.rel.got)                }
-  .rela.got     : { *(.rela.got)       }
-  .rel.ctors    : { *(.rel.ctors)      }
-  .rela.ctors   : { *(.rela.ctors)     }
-  .rel.dtors    : { *(.rel.dtors)      }
-  .rela.dtors   : { *(.rela.dtors)     }
-  .rel.bss      : { *(.rel.bss)                }
-  .rela.bss     : { *(.rela.bss)       }
-  .rel.plt      : { *(.rel.plt)                }
-  .rela.plt     : { *(.rela.plt)       }
-  .init         : { *(.init)           }
-  .plt         : { *(.plt)             }
   .text        :
   {
-    arch/powerpc/cpu/mpc8xx/start.o            (.text)
-    arch/powerpc/cpu/mpc8xx/traps.o            (.text)
-    common/dlmalloc.o          (.text)
-    arch/powerpc/lib/ppcstring.o               (.text)
-    lib/vsprintf.o     (.text)
-    lib/crc32.o                (.text)
-    lib/zlib.o         (.text)
-    arch/powerpc/lib/cache.o           (.text)
-    arch/powerpc/lib/time.o            (.text)
-
-    . = DEFINED(env_offset) ? env_offset : .;
-    common/env_embedded.o      (.text)
+    arch/powerpc/cpu/mpc8xx/start.o    (.text*)
+    arch/powerpc/cpu/mpc8xx/traps.o    (.text*)
 
-    *(.text)
-    *(.got1)
+    *(.text*)
   }
   _etext = .;
   PROVIDE (etext = .);
   .rodata    :
   {
-    *(.eh_frame)
     *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
   }
-  .fini      : { *(.fini)    } =0
-  .ctors     : { *(.ctors)   }
-  .dtors     : { *(.dtors)   }
 
   /* Read-write section, merged into data segment: */
   . = (. + 0x00FF) & 0xFFFFFF00;
@@ -85,23 +47,19 @@ SECTIONS
   PROVIDE (erotext = .);
   .reloc   :
   {
-    *(.got)
+    KEEP(*(.got))
     _GOT2_TABLE_ = .;
-    *(.got2)
+    KEEP(*(.got2))
     _FIXUP_TABLE_ = .;
-    *(.fixup)
+    KEEP(*(.fixup))
   }
   __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >>2;
   __fixup_entries = (. - _FIXUP_TABLE_)>>2;
 
   .data    :
   {
-    *(.data)
-    *(.data1)
-    *(.sdata)
-    *(.sdata2)
-    *(.dynamic)
-    CONSTRUCTORS
+    *(.data*)
+    *(.sdata*)
   }
   _edata  =  .;
   PROVIDE (edata = .);
@@ -127,9 +85,8 @@ SECTIONS
   __bss_start = .;
   .bss (NOLOAD)       :
   {
-   *(.sbss) *(.scommon)
-   *(.dynbss)
-   *(.bss)
+   *(.bss*)
+   *(.sbss*)
    *(COMMON)
    . = ALIGN(4);
   }
index cf07cf40fdb9485240118667e0b22074acd7516d..6dc495c3619cabc3ecc9eabf3c7c696a9580379f 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o flash.o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 9001767ef7ce93664763596d8360fff065b072fc..684ab81c4a2a1d4144f775fc6f59448634a5b467 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * (C) Copyright 2000-2004
+ * (C) Copyright 2000-2010
  * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
  *
  * See file CREDITS for list of people who contributed to this
  */
 
 OUTPUT_ARCH(powerpc)
-/* Do we need any of these for elf?
-   __DYNAMIC = 0;    */
+
 SECTIONS
 {
   /* Read-only sections, merged into text segment: */
   . = + SIZEOF_HEADERS;
-  .interp      : { *(.interp)          }
-  .hash         : { *(.hash)           }
-  .dynsym       : { *(.dynsym)         }
-  .dynstr       : { *(.dynstr)         }
-  .rel.text     : { *(.rel.text)       }
-  .rela.text    : { *(.rela.text)      }
-  .rel.data     : { *(.rel.data)       }
-  .rela.data    : { *(.rela.data)      }
-  .rel.rodata   : { *(.rel.rodata)     }
-  .rela.rodata  : { *(.rela.rodata)    }
-  .rel.got      : { *(.rel.got)                }
-  .rela.got     : { *(.rela.got)       }
-  .rel.ctors    : { *(.rel.ctors)      }
-  .rela.ctors   : { *(.rela.ctors)     }
-  .rel.dtors    : { *(.rel.dtors)      }
-  .rela.dtors   : { *(.rela.dtors)     }
-  .rel.bss      : { *(.rel.bss)                }
-  .rela.bss     : { *(.rela.bss)       }
-  .rel.plt      : { *(.rel.plt)                }
-  .rela.plt     : { *(.rela.plt)       }
-  .init         : { *(.init)           }
-  .plt         : { *(.plt)             }
   .text        :
   {
-    arch/powerpc/cpu/mpc8xx/start.o            (.text)
-    arch/powerpc/cpu/mpc8xx/traps.o            (.text)
-    common/dlmalloc.o          (.text)
-    arch/powerpc/lib/ppcstring.o               (.text)
-    lib/vsprintf.o     (.text)
-    lib/crc32.o                (.text)
-    lib/zlib.o         (.text)
-    arch/powerpc/lib/cache.o           (.text)
-    arch/powerpc/lib/time.o            (.text)
-
-    . = DEFINED(env_offset) ? env_offset : .;
-    common/env_embedded.o      (.text)
+    arch/powerpc/cpu/mpc8xx/start.o    (.text*)
+    arch/powerpc/cpu/mpc8xx/traps.o    (.text*)
 
-    *(.text)
-    *(.got1)
+    *(.text*)
   }
   _etext = .;
   PROVIDE (etext = .);
   .rodata    :
   {
-    *(.eh_frame)
     *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
   }
-  .fini      : { *(.fini)    } =0
-  .ctors     : { *(.ctors)   }
-  .dtors     : { *(.dtors)   }
 
   /* Read-write section, merged into data segment: */
   . = (. + 0x00FF) & 0xFFFFFF00;
@@ -85,23 +47,19 @@ SECTIONS
   PROVIDE (erotext = .);
   .reloc   :
   {
-    *(.got)
+    KEEP(*(.got))
     _GOT2_TABLE_ = .;
-    *(.got2)
+    KEEP(*(.got2))
     _FIXUP_TABLE_ = .;
-    *(.fixup)
+    KEEP(*(.fixup))
   }
   __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >>2;
   __fixup_entries = (. - _FIXUP_TABLE_)>>2;
 
   .data    :
   {
-    *(.data)
-    *(.data1)
-    *(.sdata)
-    *(.sdata2)
-    *(.dynamic)
-    CONSTRUCTORS
+    *(.data*)
+    *(.sdata*)
   }
   _edata  =  .;
   PROVIDE (edata = .);
@@ -127,9 +85,8 @@ SECTIONS
   __bss_start = .;
   .bss (NOLOAD)       :
   {
-   *(.sbss) *(.scommon)
-   *(.dynbss)
-   *(.bss)
+   *(.bss*)
+   *(.sbss*)
    *(COMMON)
    . = ALIGN(4);
   }
index cf07cf40fdb9485240118667e0b22074acd7516d..6dc495c3619cabc3ecc9eabf3c7c696a9580379f 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o flash.o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index d05f80bb36b2792e8572c6c1a9fee5e36f5afcc3..684ab81c4a2a1d4144f775fc6f59448634a5b467 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * (C) Copyright 2000
+ * (C) Copyright 2000-2010
  * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
  *
  * See file CREDITS for list of people who contributed to this
  */
 
 OUTPUT_ARCH(powerpc)
-/* Do we need any of these for elf?
-   __DYNAMIC = 0;    */
+
 SECTIONS
 {
   /* Read-only sections, merged into text segment: */
   . = + SIZEOF_HEADERS;
-  .interp      : { *(.interp)          }
-  .hash         : { *(.hash)           }
-  .dynsym       : { *(.dynsym)         }
-  .dynstr       : { *(.dynstr)         }
-  .rel.text     : { *(.rel.text)       }
-  .rela.text    : { *(.rela.text)      }
-  .rel.data     : { *(.rel.data)       }
-  .rela.data    : { *(.rela.data)      }
-  .rel.rodata   : { *(.rel.rodata)     }
-  .rela.rodata  : { *(.rela.rodata)    }
-  .rel.got      : { *(.rel.got)                }
-  .rela.got     : { *(.rela.got)       }
-  .rel.ctors    : { *(.rel.ctors)      }
-  .rela.ctors   : { *(.rela.ctors)     }
-  .rel.dtors    : { *(.rel.dtors)      }
-  .rela.dtors   : { *(.rela.dtors)     }
-  .rel.bss      : { *(.rel.bss)                }
-  .rela.bss     : { *(.rela.bss)       }
-  .rel.plt      : { *(.rel.plt)                }
-  .rela.plt     : { *(.rela.plt)       }
-  .init         : { *(.init)           }
-  .plt         : { *(.plt)             }
   .text        :
   {
-    arch/powerpc/cpu/mpc8xx/start.o            (.text)
-    arch/powerpc/cpu/mpc8xx/traps.o            (.text)
-    common/dlmalloc.o          (.text)
-    arch/powerpc/lib/ppcstring.o               (.text)
-    lib/vsprintf.o     (.text)
-    lib/crc32.o                (.text)
-    lib/zlib.o         (.text)
-    arch/powerpc/lib/cache.o           (.text)
-    arch/powerpc/lib/time.o            (.text)
-
-    . = DEFINED(env_offset) ? env_offset : .;
-    common/env_embedded.o      (.text)
+    arch/powerpc/cpu/mpc8xx/start.o    (.text*)
+    arch/powerpc/cpu/mpc8xx/traps.o    (.text*)
 
-    *(.text)
-    *(.got1)
+    *(.text*)
   }
   _etext = .;
   PROVIDE (etext = .);
   .rodata    :
   {
-    *(.eh_frame)
     *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
   }
-  .fini      : { *(.fini)    } =0
-  .ctors     : { *(.ctors)   }
-  .dtors     : { *(.dtors)   }
 
   /* Read-write section, merged into data segment: */
   . = (. + 0x00FF) & 0xFFFFFF00;
@@ -85,23 +47,19 @@ SECTIONS
   PROVIDE (erotext = .);
   .reloc   :
   {
-    *(.got)
+    KEEP(*(.got))
     _GOT2_TABLE_ = .;
-    *(.got2)
+    KEEP(*(.got2))
     _FIXUP_TABLE_ = .;
-    *(.fixup)
+    KEEP(*(.fixup))
   }
   __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >>2;
   __fixup_entries = (. - _FIXUP_TABLE_)>>2;
 
   .data    :
   {
-    *(.data)
-    *(.data1)
-    *(.sdata)
-    *(.sdata2)
-    *(.dynamic)
-    CONSTRUCTORS
+    *(.data*)
+    *(.sdata*)
   }
   _edata  =  .;
   PROVIDE (edata = .);
@@ -127,9 +85,8 @@ SECTIONS
   __bss_start = .;
   .bss (NOLOAD)       :
   {
-   *(.sbss) *(.scommon)
-   *(.dynbss)
-   *(.bss)
+   *(.bss*)
+   *(.sbss*)
    *(COMMON)
    . = ALIGN(4);
   }
index 2ffed99f7a93a1e7da7f37d19d2c0842cd3bf77f..7794fbd251c411a2a91a0cac0c878f14d36f877b 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := ns9750dev.o flash.o led.o
 SOBJS  := lowlevel_init.o
@@ -33,7 +33,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index dcb1907032b5df8d2f89bdcb23506a49bb1446c7..12e4aa6880eed591aade2b9cfdf2d64611b3a39f 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o flash.o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 9fe9758c476ec3617250e0aee7a2001d5e504659..4a96388f04e3acf7c601d9570b238b8077394c4d 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * (C) Copyright 2001
+ * (C) Copyright 2001-2010
  * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
  *
  * See file CREDITS for list of people who contributed to this
  */
 
 OUTPUT_ARCH(powerpc)
-/* Do we need any of these for elf?
-   __DYNAMIC = 0;    */
+
 SECTIONS
 {
   /* Read-only sections, merged into text segment: */
   . = + SIZEOF_HEADERS;
-  .interp : { *(.interp) }
-  .hash          : { *(.hash)          }
-  .dynsym        : { *(.dynsym)                }
-  .dynstr        : { *(.dynstr)                }
-  .rel.text      : { *(.rel.text)              }
-  .rela.text     : { *(.rela.text)     }
-  .rel.data      : { *(.rel.data)              }
-  .rela.data     : { *(.rela.data)     }
-  .rel.rodata    : { *(.rel.rodata)    }
-  .rela.rodata   : { *(.rela.rodata)   }
-  .rel.got       : { *(.rel.got)               }
-  .rela.got      : { *(.rela.got)              }
-  .rel.ctors     : { *(.rel.ctors)     }
-  .rela.ctors    : { *(.rela.ctors)    }
-  .rel.dtors     : { *(.rel.dtors)     }
-  .rela.dtors    : { *(.rela.dtors)    }
-  .rel.bss       : { *(.rel.bss)               }
-  .rela.bss      : { *(.rela.bss)              }
-  .rel.plt       : { *(.rel.plt)               }
-  .rela.plt      : { *(.rela.plt)              }
-  .init          : { *(.init)  }
-  .plt : { *(.plt) }
   .text      :
   {
-    arch/powerpc/cpu/mpc8xx/start.o    (.text)
-    common/env_embedded.o(.text)
+    arch/powerpc/cpu/mpc8xx/start.o    (.text*)
+    arch/powerpc/cpu/mpc8xx/traps.o    (.text*)
 
-    *(.text)
-    *(.got1)
+    *(.text*)
   }
   _etext = .;
   PROVIDE (etext = .);
   .rodata    :
   {
-    *(.eh_frame)
     *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
   }
-  .fini      : { *(.fini)    } =0
-  .ctors     : { *(.ctors)   }
-  .dtors     : { *(.dtors)   }
 
   /* Read-write section, merged into data segment: */
   . = (. + 0x00FF) & 0xFFFFFF00;
@@ -75,23 +47,19 @@ SECTIONS
   PROVIDE (erotext = .);
   .reloc   :
   {
-    *(.got)
+    KEEP(*(.got))
     _GOT2_TABLE_ = .;
-    *(.got2)
+    KEEP(*(.got2))
     _FIXUP_TABLE_ = .;
-    *(.fixup)
+    KEEP(*(.fixup))
   }
   __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >>2;
   __fixup_entries = (. - _FIXUP_TABLE_)>>2;
 
   .data    :
   {
-    *(.data)
-    *(.data1)
-    *(.sdata)
-    *(.sdata2)
-    *(.dynamic)
-    CONSTRUCTORS
+    *(.data*)
+    *(.sdata*)
   }
   _edata  =  .;
   PROVIDE (edata = .);
@@ -117,9 +85,8 @@ SECTIONS
   __bss_start = .;
   .bss (NOLOAD)       :
   {
-   *(.sbss) *(.scommon)
-   *(.dynbss)
-   *(.bss)
+   *(.bss*)
+   *(.sbss*)
    *(COMMON)
    . = ALIGN(4);
   }
index 58afd7b6597326d80a3e899be5814b9271731c95..3c99739bdbfbb767cd520ac8c02cb2bfce28603e 100644 (file)
@@ -24,7 +24,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := $(BOARD).o flash.o
 
@@ -33,7 +33,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index dd673ca4d4a1c701f6b01811631c9cdf68b8efae..22ba7748d44c66d6e700bc866adf5e9596db57dd 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := overo.o
 
@@ -31,7 +31,7 @@ SRCS  := $(COBJS:.o=.c)
 OBJS   := $(addprefix $(obj),$(COBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(OBJS)
index cf07cf40fdb9485240118667e0b22074acd7516d..6dc495c3619cabc3ecc9eabf3c7c696a9580379f 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o flash.o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 0cca8ab9ec283ad4d3362af978d25dcbb624c422..29cdaeefbcbc7276e286800d79b8b2b304a51238 100644 (file)
@@ -21,7 +21,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := palmld.o
 
@@ -29,7 +29,7 @@ SRCS  := $(COBJS:.o=.c)
 OBJS   := $(addprefix $(obj),$(COBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(OBJS)
index 3a12e6617561be60fc53df1e866dd7ac9d310968..15ef6599ef1f11b457e7e6ca40099b3ea30be1c2 100644 (file)
@@ -21,7 +21,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := palmtc.o
 
@@ -30,7 +30,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(OBJS)
index b41e8a0a54caf7930f41cd7bdb17800032370037..03086819cd50870c55d0e7b543aa6579ceff80d8 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := pandora.o
 
@@ -31,7 +31,7 @@ SRCS  := $(COBJS:.o=.c)
 OBJS   := $(addprefix $(obj),$(COBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(OBJS)
diff --git a/board/pandora/config.mk b/board/pandora/config.mk
deleted file mode 100644 (file)
index 0fab80c..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-#
-# (C) Copyright 2006
-# Texas Instruments, <www.ti.com>
-#
-# Pandora uses OMAP3 (ARM-CortexA8) cpu
-# see http://www.ti.com/ for more information on Texas Instruments
-#
-# See file CREDITS for list of people who contributed to this
-# project.
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License as
-# published by the Free Software Foundation; either version 2 of
-# the License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
-# MA 02111-1307 USA
-#
-# Physical Address:
-# 8000'0000 (bank0)
-# A000/0000 (bank1)
-# Linux-Kernel is expected to be at 8000'8000, entry 8000'8000
-# (mem base + reserved)
-
-# For use with external or internal boots.
-CONFIG_SYS_TEXT_BASE = 0x80e80000
index afe02c27c6ff9baecff2c09aed27241fb42cbb97..f1594a236812d9247a4911e67a34fb13a87996f4 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o flash.o
 SOBJS  = lowlevel_init.o
@@ -33,7 +33,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 #########################################################################
 
index a6ae906de9db32379220f0461c10fe7c5b4321d6..6f0a928805eca1dae29cd28ba897e7e90cc79614 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o cpc710_pci.o flash.o sconsole.o \
          fpga_serial.o pcippc2_fpga.o cpc710_init_ram.o i2c.o
@@ -35,7 +35,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 #########################################################################
 
index 40446884c8a32d8c86d8223fef94a82a1fb2468f..8708834b118d29f89d193cb51f3e2109b99808c9 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o flash.o
 SOBJS  = init.o
@@ -33,7 +33,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 85132420813966e4fb8beaccf0eeaa3615be5c59..1b3d5302154e66852ca93456faa61404fd84ab8b 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y        := $(BOARD).o
 
@@ -33,7 +33,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 22ce8e64f292a3e687aaadb4e56cdd0d36e455f9..f5d88bb6e2ae58724e4364ed454a407a1034aceb 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := $(BOARD).o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index cb0c3d7cb9092bfbc1b58e81c6a06587ba12c27e..9b076f54ca0c8b3b00fbaa3dfccd7ebd35c3ca46 100644 (file)
@@ -24,7 +24,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := pleb2.o flash.o
 
@@ -32,7 +32,7 @@ SRCS  := $(COBJS:.o=.c)
 OBJS   := $(addprefix $(obj),$(COBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(OBJS)
index c94e24fc6a683dff273d5ec91f764bb2c8e6702c..d45db9ff8212c9bf53bee4f9a85e7a903b327158 100644 (file)
@@ -24,7 +24,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := $(BOARD).o flash.o
 
@@ -33,7 +33,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index dcb1907032b5df8d2f89bdcb23506a49bb1446c7..12e4aa6880eed591aade2b9cfdf2d64611b3a39f 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o flash.o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index dcb1907032b5df8d2f89bdcb23506a49bb1446c7..12e4aa6880eed591aade2b9cfdf2d64611b3a39f 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o flash.o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 52a756c8e3af3e123bd3a510ae6daf1bc6c7591f..9f623a29d2fa18ab2f104506e221a183a1d85d26 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y        += $(BOARD).o
 COBJS-y        += law.o
@@ -35,7 +35,7 @@ OBJS  := $(addprefix $(obj),$(COBJS-y))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(OBJS) $(SOBJS)
index a302b917677518bb50932cfa4ba348fe26af4539..0b8ea8192c9711bfe5aa517af4894a5be95f79a2 100644 (file)
@@ -59,10 +59,10 @@ int checkboard (void)
        puts("Board: MicroSys PM854\n");
 
 #ifdef CONFIG_PCI
-       printf("    PCI1: 32 bit, %d MHz (compiled)\n",
+       printf("PCI1: 32 bit, %d MHz (compiled)\n",
               CONFIG_SYS_CLK_FREQ / 1000000);
 #else
-       printf("    PCI1: disabled\n");
+       printf("PCI1: disabled\n");
 #endif
 
        /*
index 52a756c8e3af3e123bd3a510ae6daf1bc6c7591f..9f623a29d2fa18ab2f104506e221a183a1d85d26 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y        += $(BOARD).o
 COBJS-y        += law.o
@@ -35,7 +35,7 @@ OBJS  := $(addprefix $(obj),$(COBJS-y))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(OBJS) $(SOBJS)
index f9d92d99846ddb1688e93745ff5d599bbceb5a36..4e059b08594fd038b545f184ac134af378110cc0 100644 (file)
@@ -213,10 +213,10 @@ int checkboard (void)
        puts("Board: MicroSys PM856\n");
 
 #ifdef CONFIG_PCI
-       printf("    PCI1: 32 bit, %d MHz (compiled)\n",
+       printf("PCI1: 32 bit, %d MHz (compiled)\n",
               CONFIG_SYS_CLK_FREQ / 1000000);
 #else
-       printf("    PCI1: disabled\n");
+       printf("PCI1: disabled\n");
 #endif
 
        /*
index eb88898e71dd3d97aefa915ca7abb80c61d60a3d..eb17b5c9d50318cf4e9a9a565c5a40228b357524 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o cmd_pn62.o misc.o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 22332fb3dc4b21fddb0b3cfec5117397d04a5a09..ff27a20db988ec77214c2db6ce237c6814d86567 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 SOBJS  := init.o
 
@@ -34,7 +34,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
diff --git a/board/ppmc7xx/u-boot.lds b/board/ppmc7xx/u-boot.lds
deleted file mode 100644 (file)
index 604d0d3..0000000
+++ /dev/null
@@ -1,132 +0,0 @@
-/*
- * (C) Copyright 2001
- * Josh Huber <huber@mclx.com>, Mission Critical Linux, Inc.
- *
- * See file CREDITS for list of people who contributed to this
- * project.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
- */
-
-/*
- * u-boot.lds - linker script for U-Boot on the Galileo Eval Board.
- */
-
-OUTPUT_ARCH(powerpc)
-/* Do we need any of these for elf?
-   __DYNAMIC = 0;    */
-SECTIONS
-{
-  /* Read-only sections, merged into text segment: */
-  . = + SIZEOF_HEADERS;
-  .interp : { *(.interp) }
-  .hash          : { *(.hash)          }
-  .dynsym        : { *(.dynsym)                }
-  .dynstr        : { *(.dynstr)                }
-  .rel.text      : { *(.rel.text)              }
-  .rela.text     : { *(.rela.text)     }
-  .rel.data      : { *(.rel.data)              }
-  .rela.data     : { *(.rela.data)     }
-  .rel.rodata    : { *(.rel.rodata)    }
-  .rela.rodata   : { *(.rela.rodata)   }
-  .rel.got       : { *(.rel.got)               }
-  .rela.got      : { *(.rela.got)              }
-  .rel.ctors     : { *(.rel.ctors)     }
-  .rela.ctors    : { *(.rela.ctors)    }
-  .rel.dtors     : { *(.rel.dtors)     }
-  .rela.dtors    : { *(.rela.dtors)    }
-  .rel.bss       : { *(.rel.bss)               }
-  .rela.bss      : { *(.rela.bss)              }
-  .rel.plt       : { *(.rel.plt)               }
-  .rela.plt      : { *(.rela.plt)              }
-  .init          : { *(.init)  }
-  .plt : { *(.plt) }
-  .text      :
-  {
-    arch/powerpc/cpu/74xx_7xx/start.o  (.text)
-
-/* store the environment in a seperate sector in the boot flash */
-/*    . = env_offset; */
-/*    common/env_embedded.o(.text) */
-
-    *(.text)
-    *(.got1)
-  }
-  _etext = .;
-  PROVIDE (etext = .);
-  .rodata    :
-  {
-    *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
-  }
-  .fini      : { *(.fini)    } =0
-  .ctors     : { *(.ctors)   }
-  .dtors     : { *(.dtors)   }
-
-  /* Read-write section, merged into data segment: */
-  . = (. + 0x00FF) & 0xFFFFFF00;
-  _erotext = .;
-  PROVIDE (erotext = .);
-  .reloc   :
-  {
-    *(.got)
-    _GOT2_TABLE_ = .;
-    *(.got2)
-    _FIXUP_TABLE_ = .;
-    *(.fixup)
-  }
-  __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >>2;
-  __fixup_entries = (. - _FIXUP_TABLE_)>>2;
-
-  .data    :
-  {
-    *(.data)
-    *(.data1)
-    *(.sdata)
-    *(.sdata2)
-    *(.dynamic)
-    CONSTRUCTORS
-  }
-  _edata  =  .;
-  PROVIDE (edata = .);
-
-  __u_boot_cmd_start = .;
-  .u_boot_cmd : { *(.u_boot_cmd) }
-  __u_boot_cmd_end = .;
-
-
-  __start___ex_table = .;
-  __ex_table : { *(__ex_table) }
-  __stop___ex_table = .;
-
-  . = ALIGN(256);
-  __init_begin = .;
-  .text.init : { *(.text.init) }
-  .data.init : { *(.data.init) }
-  . = ALIGN(256);
-  __init_end = .;
-
-  __bss_start = .;
-  .bss (NOLOAD)       :
-  {
-   *(.sbss) *(.scommon)
-   *(.dynbss)
-   *(.bss)
-   *(COMMON)
-   . = ALIGN(4);
-  }
-  _end = . ;
-  PROVIDE (end = .);
-}
index 1d56d161836b073208076039e9ea438b05fde213..0141ea66016336c1d086712c620921b4ec564742 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := ppmc8260.o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index ef3accbf1881f5ba9da3f203ebe945eeb57d7cda..66ff738cc2aeb3f2d23c21be2bfdc0daae1ccabd 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o fpga.o nand.o
 SOBJS  = init.o
@@ -33,7 +33,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 8456df36300adfee4a80014e91a77f7a34e837c5..59dc27de71a6c993c929b6f1f0940c6c8753cce2 100644 (file)
@@ -26,7 +26,7 @@ ifneq ($(OBJTREE),$(SRCTREE))
 $(shell mkdir -p $(obj)../../Marvell/common)
 endif
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 SOBJS  = misc.o
 COBJS  = $(BOARD).o mpsc.o mv_eth.o pci.o sdram_init.o serial.o \
@@ -37,7 +37,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
diff --git a/board/prodrive/p3mx/u-boot.lds b/board/prodrive/p3mx/u-boot.lds
deleted file mode 100644 (file)
index 29dcc09..0000000
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
- * (C) Copyright 2001
- * Josh Huber <huber@mclx.com>, Mission Critical Linux, Inc.
- *
- * See file CREDITS for list of people who contributed to this
- * project.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
- */
-
-/*
- * u-boot.lds - linker script for U-Boot on the Galileo Eval Board.
- */
-
-OUTPUT_ARCH(powerpc)
-/* Do we need any of these for elf?
-   __DYNAMIC = 0;    */
-SECTIONS
-{
-  /* Read-only sections, merged into text segment: */
-  . = + SIZEOF_HEADERS;
-  .interp : { *(.interp) }
-  .hash          : { *(.hash)          }
-  .dynsym        : { *(.dynsym)                }
-  .dynstr        : { *(.dynstr)                }
-  .rel.text      : { *(.rel.text)              }
-  .rela.text     : { *(.rela.text)     }
-  .rel.data      : { *(.rel.data)              }
-  .rela.data     : { *(.rela.data)     }
-  .rel.rodata    : { *(.rel.rodata)    }
-  .rela.rodata   : { *(.rela.rodata)   }
-  .rel.got       : { *(.rel.got)               }
-  .rela.got      : { *(.rela.got)              }
-  .rel.ctors     : { *(.rel.ctors)     }
-  .rela.ctors    : { *(.rela.ctors)    }
-  .rel.dtors     : { *(.rel.dtors)     }
-  .rela.dtors    : { *(.rela.dtors)    }
-  .rel.bss       : { *(.rel.bss)               }
-  .rela.bss      : { *(.rela.bss)              }
-  .rel.plt       : { *(.rel.plt)               }
-  .rela.plt      : { *(.rela.plt)              }
-  .init          : { *(.init)  }
-  .plt : { *(.plt) }
-  .text      :
-  {
-    arch/powerpc/cpu/74xx_7xx/start.o  (.text)
-
-/* store the environment in a seperate sector in the boot flash */
-/*    . = env_offset; */
-/*    common/env_embedded.o(.text) */
-
-    *(.text)
-    *(.got1)
-  }
-  _etext = .;
-  PROVIDE (etext = .);
-  .rodata    :
-  {
-    *(.eh_frame)
-    *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
-  }
-  .fini      : { *(.fini)    } =0
-  .ctors     : { *(.ctors)   }
-  .dtors     : { *(.dtors)   }
-
-  /* Read-write section, merged into data segment: */
-  . = (. + 0x00FF) & 0xFFFFFF00;
-  _erotext = .;
-  PROVIDE (erotext = .);
-  .reloc   :
-  {
-    *(.got)
-    _GOT2_TABLE_ = .;
-    *(.got2)
-    _FIXUP_TABLE_ = .;
-    *(.fixup)
-  }
-  __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >>2;
-  __fixup_entries = (. - _FIXUP_TABLE_)>>2;
-
-  .data    :
-  {
-    *(.data)
-    *(.data1)
-    *(.sdata)
-    *(.sdata2)
-    *(.dynamic)
-    CONSTRUCTORS
-  }
-  _edata  =  .;
-  PROVIDE (edata = .);
-
-  . = .;
-  __u_boot_cmd_start = .;
-  .u_boot_cmd : { *(.u_boot_cmd) }
-  __u_boot_cmd_end = .;
-
-
-  . = .;
-  __start___ex_table = .;
-  __ex_table : { *(__ex_table) }
-  __stop___ex_table = .;
-
-  . = ALIGN(256);
-  __init_begin = .;
-  .text.init : { *(.text.init) }
-  .data.init : { *(.data.init) }
-  . = ALIGN(256);
-  __init_end = .;
-
-  __bss_start = .;
-  .bss (NOLOAD)       :
-  {
-   *(.sbss) *(.scommon)
-   *(.dynbss)
-   *(.bss)
-   *(COMMON)
-   . = ALIGN(4);
-  }
-  _end = . ;
-  PROVIDE (end = .);
-}
index b93f2c3890ef77b66ed5f5a3afa2365c1501963b..5b0ffc29209a37d33567d66b67750008bba7309d 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o
 SOBJS  = init.o
@@ -33,7 +33,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index d07f25f98185eb72d5e2ca2c802f1728c16eced6..40a6fd27c4890648688c3380fef052d7635e31e0 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := flash.o pdnb3.o nand.o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 301b4a0a5d2bff1b96106d294e6e5e2bce6edff4..1cfe9e5c2ab987442ec6049a85b6843a0f1d3d54 100644 (file)
@@ -26,7 +26,7 @@ ifneq ($(OBJTREE),$(SRCTREE))
 $(shell mkdir -p $(obj)../common)
 endif
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COMOBJS := ../common/AMDLV065D.o
 
@@ -37,7 +37,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index e23a17bc3182f0daddeb75d97facc9c0b5426e76..4677809f511503b3fec46a2f254fa5f37aa7c43c 100644 (file)
@@ -26,7 +26,7 @@ ifneq ($(OBJTREE),$(SRCTREE))
 $(shell mkdir -p $(obj)../common)
 endif
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COMOBJS := ../common/AMDLV065D.o
 
@@ -37,7 +37,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 29844ba967350840655b9ef79b259ce2be8602e9..10e566da5c2c6cc82a6a47f6a4c4915e203caae2 100644 (file)
@@ -24,7 +24,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o flash.o sconsole.o
 SOBJS  = lowlevel_init.o
@@ -34,7 +34,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 2835f37554ce0614c223810e0f51b338f9799700..dbde833edcfca205414ff087cab55ee3aa321b9d 100644 (file)
@@ -24,7 +24,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := pxa_idp.o
 
@@ -32,7 +32,7 @@ SRCS  := $(COBJS:.o=.c)
 OBJS   := $(addprefix $(obj),$(COBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(OBJS)
index 837b6b9d88d0c134c0a4bfcebb5bd64438028d49..6251bb84adc40bba98a8f9566e42eff229b25339 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o
 SOBJS  = lowlevel_init.o
@@ -33,7 +33,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):         $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 #########################################################################
 
index f9db112e7cf951a05a7b0f745b36b03739042c6a..4ceb34430b2d588775d8ddb6c82193c08a61e851 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o nand.o
 SOBJS   =
@@ -33,7 +33,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index c7a1d055187358b741a8deef6b2e1f56a8e5713c..d44a260e1e44992488dedc5359dd2f95d3dcf55c 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o fpga.o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 3f92a9dc438ea241e4920f2a31f0e15ddd044583..fbd901a3c309020d3432a1c19e8fda6d3cb96b67 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * (C) Copyright 2000
+ * (C) Copyright 2000-2010
  * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
  *
  * See file CREDITS for list of people who contributed to this
  */
 
 OUTPUT_ARCH(powerpc)
-/* Do we need any of these for elf?
-   __DYNAMIC = 0;    */
+
 SECTIONS
 {
   /* Read-only sections, merged into text segment: */
   . = + SIZEOF_HEADERS;
-  .interp : { *(.interp) }
-  .hash          : { *(.hash)          }
-  .dynsym        : { *(.dynsym)                }
-  .dynstr        : { *(.dynstr)                }
-  .rel.text      : { *(.rel.text)              }
-  .rela.text     : { *(.rela.text)     }
-  .rel.data      : { *(.rel.data)              }
-  .rela.data     : { *(.rela.data)     }
-  .rel.rodata    : { *(.rel.rodata)    }
-  .rela.rodata   : { *(.rela.rodata)   }
-  .rel.got       : { *(.rel.got)               }
-  .rela.got      : { *(.rela.got)              }
-  .rel.ctors     : { *(.rel.ctors)     }
-  .rela.ctors    : { *(.rela.ctors)    }
-  .rel.dtors     : { *(.rel.dtors)     }
-  .rela.dtors    : { *(.rela.dtors)    }
-  .rel.bss       : { *(.rel.bss)               }
-  .rela.bss      : { *(.rela.bss)              }
-  .rel.plt       : { *(.rel.plt)               }
-  .rela.plt      : { *(.rela.plt)              }
-  .init          : { *(.init)  }
-  .plt : { *(.plt) }
   .text      :
   {
-    /* WARNING - the following is hand-optimized to fit within */
-    /* the sector layout of our flash chips!   XXX FIXME XXX   */
-
-    arch/powerpc/cpu/mpc8xx/start.o    (.text)
-    common/dlmalloc.o  (.text)
-    arch/powerpc/lib/ppcstring.o       (.text)
-    lib/vsprintf.o     (.text)
-    lib/crc32.o                (.text)
-    lib/zlib.o         (.text)
-/* XXX ?
-    . = env_offset;
-*/
-    common/env_embedded.o(.text)
+    arch/powerpc/cpu/mpc8xx/start.o    (.text*)
+    arch/powerpc/cpu/mpc8xx/traps.o    (.text*)
 
-    *(.text)
-    *(.got1)
+    *(.text*)
   }
   _etext = .;
   PROVIDE (etext = .);
   .rodata    :
   {
-    *(.eh_frame)
     *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
   }
-  .fini      : { *(.fini)    } =0
-  .ctors     : { *(.ctors)   }
-  .dtors     : { *(.dtors)   }
 
   /* Read-write section, merged into data segment: */
   . = (. + 0x00FF) & 0xFFFFFF00;
@@ -86,23 +47,19 @@ SECTIONS
   PROVIDE (erotext = .);
   .reloc   :
   {
-    *(.got)
+    KEEP(*(.got))
     _GOT2_TABLE_ = .;
-    *(.got2)
+    KEEP(*(.got2))
     _FIXUP_TABLE_ = .;
-    *(.fixup)
+    KEEP(*(.fixup))
   }
   __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >>2;
   __fixup_entries = (. - _FIXUP_TABLE_)>>2;
 
   .data    :
   {
-    *(.data)
-    *(.data1)
-    *(.sdata)
-    *(.sdata2)
-    *(.dynamic)
-    CONSTRUCTORS
+    *(.data*)
+    *(.sdata*)
   }
   _edata  =  .;
   PROVIDE (edata = .);
@@ -128,9 +85,8 @@ SECTIONS
   __bss_start = .;
   .bss (NOLOAD)       :
   {
-   *(.sbss) *(.scommon)
-   *(.dynbss)
-   *(.bss)
+   *(.bss*)
+   *(.sbss*)
    *(COMMON)
    . = ALIGN(4);
   }
index 9f34ad1c08466fdf3107d51b13e3e0cc70daf121..4072ef72b02285aab10163355c7e698c46c45d6d 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o flash.o pcmcia.o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 3cf0ba4bff8b276b15adb5d47b576f988a0bf4ae..a18c515e54e3215bce6cfb8b70f9cccb65a5515c 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * (C) Copyright 2000
+ * (C) Copyright 2000-2010
  * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
  *
  * See file CREDITS for list of people who contributed to this
  */
 
 OUTPUT_ARCH(powerpc)
-/* Do we need any of these for elf?
-   __DYNAMIC = 0;    */
+
 SECTIONS
 {
   /* Read-only sections, merged into text segment: */
   . = + SIZEOF_HEADERS;
-  .interp : { *(.interp) }
-  .hash          : { *(.hash)          }
-  .dynsym        : { *(.dynsym)                }
-  .dynstr        : { *(.dynstr)                }
-  .rel.text      : { *(.rel.text)              }
-  .rela.text     : { *(.rela.text)     }
-  .rel.data      : { *(.rel.data)              }
-  .rela.data     : { *(.rela.data)     }
-  .rel.rodata    : { *(.rel.rodata)    }
-  .rela.rodata   : { *(.rela.rodata)   }
-  .rel.got       : { *(.rel.got)               }
-  .rela.got      : { *(.rela.got)              }
-  .rel.ctors     : { *(.rel.ctors)     }
-  .rela.ctors    : { *(.rela.ctors)    }
-  .rel.dtors     : { *(.rel.dtors)     }
-  .rela.dtors    : { *(.rela.dtors)    }
-  .rel.bss       : { *(.rel.bss)               }
-  .rela.bss      : { *(.rela.bss)              }
-  .rel.plt       : { *(.rel.plt)               }
-  .rela.plt      : { *(.rela.plt)              }
-  .init          : { *(.init)  }
-  .plt : { *(.plt) }
   .text      :
   {
     /* WARNING - the following is hand-optimized to fit within */
     /* the sector layout of our flash chips!   XXX FIXME XXX   */
+    arch/powerpc/cpu/mpc8xx/start.o    (.text*)
+    arch/powerpc/cpu/mpc8xx/traps.o    (.text*)
 
-    arch/powerpc/cpu/mpc8xx/start.o            (.text)
-    arch/powerpc/cpu/mpc8xx/cpu_init.o (.text)
-    arch/powerpc/cpu/mpc8xx/interrupts.o       (.text)
-    arch/powerpc/cpu/mpc8xx/traps.o            (.text)
-/***
-    . = env_offset;
-    common/env_embedded.o      (.text)
-***/
-    *(.text)
-    *(.got1)
+    *(.text*)
   }
   _etext = .;
   PROVIDE (etext = .);
   .rodata    :
   {
-    *(.eh_frame)
     *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
   }
-  .fini      : { *(.fini)    } =0
-  .ctors     : { *(.ctors)   }
-  .dtors     : { *(.dtors)   }
 
   /* Read-write section, merged into data segment: */
   . = (. + 0x00FF) & 0xFFFFFF00;
@@ -83,23 +49,19 @@ SECTIONS
   PROVIDE (erotext = .);
   .reloc   :
   {
-    *(.got)
+    KEEP(*(.got))
     _GOT2_TABLE_ = .;
-    *(.got2)
+    KEEP(*(.got2))
     _FIXUP_TABLE_ = .;
-    *(.fixup)
+    KEEP(*(.fixup))
   }
   __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >>2;
   __fixup_entries = (. - _FIXUP_TABLE_)>>2;
 
   .data    :
   {
-    *(.data)
-    *(.data1)
-    *(.sdata)
-    *(.sdata2)
-    *(.dynamic)
-    CONSTRUCTORS
+    *(.data*)
+    *(.sdata*)
   }
   _edata  =  .;
   PROVIDE (edata = .);
@@ -125,9 +87,8 @@ SECTIONS
   __bss_start = .;
   .bss (NOLOAD)       :
   {
-   *(.sbss) *(.scommon)
-   *(.dynbss)
-   *(.bss)
+   *(.bss*)
+   *(.sbss*)
    *(COMMON)
    . = ALIGN(4);
   }
index dc40d9b94a6dd89e249b38cbfa6e5b830fc11afd..9079aad8566d16e67b56e0a6b800bdb8a1a9c8c5 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := $(BOARD).o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 2182bc9769803fec9e8894abaaefe40ad463f35c..72bbc2f85f1f5b7a74aa1b5c4ef46b28cb90b549 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o flash.o kbd.o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index f188b979a3c5ee1350d7949222836a349e0331f9..77f592e0a5f145309f0eff3cf6895e3aaf3983e3 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * (C) Copyright 2000
+ * (C) Copyright 2000-2010
  * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
  *
  * See file CREDITS for list of people who contributed to this
  */
 
 OUTPUT_ARCH(powerpc)
-/* Do we need any of these for elf?
-   __DYNAMIC = 0;    */
+
 SECTIONS
 {
   /* Read-only sections, merged into text segment: */
   . = + SIZEOF_HEADERS;
-  .interp : { *(.interp) }
-  .hash          : { *(.hash)          }
-  .dynsym        : { *(.dynsym)                }
-  .dynstr        : { *(.dynstr)                }
-  .rel.text      : { *(.rel.text)              }
-  .rela.text     : { *(.rela.text)     }
-  .rel.data      : { *(.rel.data)              }
-  .rela.data     : { *(.rela.data)     }
-  .rel.rodata    : { *(.rel.rodata)    }
-  .rela.rodata   : { *(.rela.rodata)   }
-  .rel.got       : { *(.rel.got)               }
-  .rela.got      : { *(.rela.got)              }
-  .rel.ctors     : { *(.rel.ctors)     }
-  .rela.ctors    : { *(.rela.ctors)    }
-  .rel.dtors     : { *(.rel.dtors)     }
-  .rela.dtors    : { *(.rela.dtors)    }
-  .rel.bss       : { *(.rel.bss)               }
-  .rela.bss      : { *(.rela.bss)              }
-  .rel.plt       : { *(.rel.plt)               }
-  .rela.plt      : { *(.rela.plt)              }
-  .init          : { *(.init)  }
-  .plt : { *(.plt) }
   .text      :
   {
     /* WARNING - the following is hand-optimized to fit within */
     /* the sector layout of our flash chips!   XXX FIXME XXX   */
 
-    arch/powerpc/cpu/mpc8xx/start.o    (.text)
-    common/dlmalloc.o  (.text)
-    arch/powerpc/lib/ppcstring.o       (.text)
-    lib/vsprintf.o     (.text)
-    lib/crc32.o                (.text)
-    lib/zlib.o         (.text)
+    arch/powerpc/cpu/mpc8xx/start.o    (.text*)
+    arch/powerpc/cpu/mpc8xx/traps.o    (.text*)
+
+    lib/libgeneric.o                   (.text*)
+    net/libnet.o                       (.text*)
+    arch/powerpc/cpu/mpc8xx/libmpc8xx.o        (.text*)
+    arch/powerpc/lib/libpowerpc.o      (.text*)
 
     . = env_offset;
-    common/env_embedded.o(.text)
+    common/env_embedded.o              (.text*)
 
-    *(.text)
-    *(.got1)
+    *(.text*)
   }
   _etext = .;
   PROVIDE (etext = .);
   .rodata    :
   {
-    *(.eh_frame)
     *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
   }
-  .fini      : { *(.fini)    } =0
-  .ctors     : { *(.ctors)   }
-  .dtors     : { *(.dtors)   }
 
   /* Read-write section, merged into data segment: */
   . = (. + 0x00FF) & 0xFFFFFF00;
@@ -85,23 +58,19 @@ SECTIONS
   PROVIDE (erotext = .);
   .reloc   :
   {
-    *(.got)
+    KEEP(*(.got))
     _GOT2_TABLE_ = .;
-    *(.got2)
+    KEEP(*(.got2))
     _FIXUP_TABLE_ = .;
-    *(.fixup)
+    KEEP(*(.fixup))
   }
   __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >>2;
   __fixup_entries = (. - _FIXUP_TABLE_)>>2;
 
   .data    :
   {
-    *(.data)
-    *(.data1)
-    *(.sdata)
-    *(.sdata2)
-    *(.dynamic)
-    CONSTRUCTORS
+    *(.data*)
+    *(.sdata*)
   }
   _edata  =  .;
   PROVIDE (edata = .);
@@ -126,9 +95,8 @@ SECTIONS
   __bss_start = .;
   .bss (NOLOAD)       :
   {
-   *(.sbss) *(.scommon)
-   *(.dynbss)
-   *(.bss)
+   *(.bss*)
+   *(.sbss*)
    *(COMMON)
    . = ALIGN(4);
   }
index 661b59d005047dbec090b5a4af8a8c4be7ac89eb..3529810d9724e968ec4c16dff5bd34981884555d 100644 (file)
@@ -24,7 +24,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := migo_r.o
 SOBJS  := lowlevel_init.o
@@ -34,7 +34,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 21f3e6e29c08ecbabf5ccecfaba6e98eb26ba009..5a2a0f33c7f33fb25e7a87fb7928d854a2785989 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := ap325rxa.o cpld-ap325rxa.o
 SOBJS  := lowlevel_init.o
@@ -33,7 +33,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index e96a8aa9866e035f966da84385f5cbefa98b0a1c..7d92354d4fd5a836aab02c845e3ad02b9cb0848d 100644 (file)
@@ -19,7 +19,7 @@
 #
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := r2dplus.o
 SOBJS  := lowlevel_init.o
@@ -29,7 +29,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index c100e7e2ade847b941a133f0596de2a16cecc26c..14c5e427b9c4668fb402e050005448a76f7e73d4 100644 (file)
@@ -20,7 +20,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := r7780mp.o
 SOBJS  := lowlevel_init.o
@@ -30,7 +30,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 5412010ae6af488c967a30ea85b111f203f96bcc..f908ba07612bf7c658438934dab6ad3442a9b401 100644 (file)
@@ -21,7 +21,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = lib$(BOARD).a
+LIB    = lib$(BOARD).o
 
 OBJS   := rsk7203.o
 SOBJS  := lowlevel_init.o
@@ -31,7 +31,7 @@ OBJS  := $(addprefix $(obj),$(OBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 62a683d57f5f5653c7f9bf754dbe8562178c0451..5f3770044a3944e3563a0c8c58306979707e0d3e 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := sh7763rdp.o
 SOBJS  := lowlevel_init.o
@@ -33,7 +33,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index b8e43f7d6dbb6470a94cf9ccb14e7d6e447f7758..b5c496f763b9f3be20398aac539361faac8625ef 100644 (file)
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := sh7785lcr.o selfcheck.o rtl8169_mac.o
 SOBJS  := lowlevel_init.o
 
 $(LIB):        $(obj).depend $(COBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(COBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(COBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index cf07cf40fdb9485240118667e0b22074acd7516d..6dc495c3619cabc3ecc9eabf3c7c696a9580379f 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o flash.o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 3f92a9dc438ea241e4920f2a31f0e15ddd044583..fbd901a3c309020d3432a1c19e8fda6d3cb96b67 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * (C) Copyright 2000
+ * (C) Copyright 2000-2010
  * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
  *
  * See file CREDITS for list of people who contributed to this
  */
 
 OUTPUT_ARCH(powerpc)
-/* Do we need any of these for elf?
-   __DYNAMIC = 0;    */
+
 SECTIONS
 {
   /* Read-only sections, merged into text segment: */
   . = + SIZEOF_HEADERS;
-  .interp : { *(.interp) }
-  .hash          : { *(.hash)          }
-  .dynsym        : { *(.dynsym)                }
-  .dynstr        : { *(.dynstr)                }
-  .rel.text      : { *(.rel.text)              }
-  .rela.text     : { *(.rela.text)     }
-  .rel.data      : { *(.rel.data)              }
-  .rela.data     : { *(.rela.data)     }
-  .rel.rodata    : { *(.rel.rodata)    }
-  .rela.rodata   : { *(.rela.rodata)   }
-  .rel.got       : { *(.rel.got)               }
-  .rela.got      : { *(.rela.got)              }
-  .rel.ctors     : { *(.rel.ctors)     }
-  .rela.ctors    : { *(.rela.ctors)    }
-  .rel.dtors     : { *(.rel.dtors)     }
-  .rela.dtors    : { *(.rela.dtors)    }
-  .rel.bss       : { *(.rel.bss)               }
-  .rela.bss      : { *(.rela.bss)              }
-  .rel.plt       : { *(.rel.plt)               }
-  .rela.plt      : { *(.rela.plt)              }
-  .init          : { *(.init)  }
-  .plt : { *(.plt) }
   .text      :
   {
-    /* WARNING - the following is hand-optimized to fit within */
-    /* the sector layout of our flash chips!   XXX FIXME XXX   */
-
-    arch/powerpc/cpu/mpc8xx/start.o    (.text)
-    common/dlmalloc.o  (.text)
-    arch/powerpc/lib/ppcstring.o       (.text)
-    lib/vsprintf.o     (.text)
-    lib/crc32.o                (.text)
-    lib/zlib.o         (.text)
-/* XXX ?
-    . = env_offset;
-*/
-    common/env_embedded.o(.text)
+    arch/powerpc/cpu/mpc8xx/start.o    (.text*)
+    arch/powerpc/cpu/mpc8xx/traps.o    (.text*)
 
-    *(.text)
-    *(.got1)
+    *(.text*)
   }
   _etext = .;
   PROVIDE (etext = .);
   .rodata    :
   {
-    *(.eh_frame)
     *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
   }
-  .fini      : { *(.fini)    } =0
-  .ctors     : { *(.ctors)   }
-  .dtors     : { *(.dtors)   }
 
   /* Read-write section, merged into data segment: */
   . = (. + 0x00FF) & 0xFFFFFF00;
@@ -86,23 +47,19 @@ SECTIONS
   PROVIDE (erotext = .);
   .reloc   :
   {
-    *(.got)
+    KEEP(*(.got))
     _GOT2_TABLE_ = .;
-    *(.got2)
+    KEEP(*(.got2))
     _FIXUP_TABLE_ = .;
-    *(.fixup)
+    KEEP(*(.fixup))
   }
   __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >>2;
   __fixup_entries = (. - _FIXUP_TABLE_)>>2;
 
   .data    :
   {
-    *(.data)
-    *(.data1)
-    *(.sdata)
-    *(.sdata2)
-    *(.dynamic)
-    CONSTRUCTORS
+    *(.data*)
+    *(.sdata*)
   }
   _edata  =  .;
   PROVIDE (edata = .);
@@ -128,9 +85,8 @@ SECTIONS
   __bss_start = .;
   .bss (NOLOAD)       :
   {
-   *(.sbss) *(.scommon)
-   *(.dynbss)
-   *(.bss)
+   *(.bss*)
+   *(.sbss*)
    *(COMMON)
    . = ALIGN(4);
   }
index 2e065a2bc9055547daa580970206efd4dcf31866..4b4980867b7553b61dca9dcf7d8c71aeef135a5a 100644 (file)
@@ -28,7 +28,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y += $(BOARD).o
 COBJS-y += led.o
@@ -39,7 +39,7 @@ OBJS  := $(addprefix $(obj),$(COBJS-y) $(SOBJS-y))
 SOBJS  := $(addprefix $(obj),$(SOBJS-y))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index ebc2adfa3dcee3d7bf54ca554bce051961c52b7d..2fc9fb4d1f1a43efdbe60ce938ef9dcd679d0639 100644 (file)
@@ -28,7 +28,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y += pm9263.o
 COBJS-y += led.o
@@ -39,7 +39,7 @@ OBJS  := $(addprefix $(obj),$(COBJS-y) $(SOBJS-y))
 SOBJS  := $(addprefix $(obj),$(SOBJS-y))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index dd5b02ecdaa3919fe85abe1e40cf1a68a8a9c85e..cb0126288b4fb50a477eb4d1589212d4e19f6a96 100644 (file)
@@ -27,7 +27,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y += pm9g45.o
 
@@ -36,7 +36,7 @@ OBJS  := $(addprefix $(obj),$(COBJS-y))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index a749e26cce6ccf440941c586650e8ebb13c8791e..73450acf6917b84f67357ba874299630316654ea 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := rpxsuper.o flash.o mii_phy.o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 5c9c33c9fb26f4f1349322872408c2b0d36d0714..d297622fe8b6276fe10c13587b757f322d520e9b 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := rsdproto.o flash.o
 SOBJS  := flash_asm.o
@@ -33,7 +33,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index de8a5b2a0de67d08327122c72a5f46afb25245be..eae0f02fe703ab6ab95f7abc71b38811a7a6da87 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := sacsng.o flash.o clkinit.o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 9b4c886597c6c4e6b93763a0de64c875ed12a608..edc4665bd29b3769bbda438abdaed6de8e367c38 100644 (file)
@@ -26,7 +26,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y        := goni.o onenand.o
 SOBJS  := lowlevel_init.o
@@ -36,7 +36,7 @@ OBJS  := $(addprefix $(obj),$(COBJS-y))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(SOBJS) $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(SOBJS) $(OBJS)
+       $(call cmd_link_o_target, $(SOBJS) $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 90cb2b8f60210f960d71e5020d3291d18fbdd3a0..0c45d02a65620196b42ba6d852d7c7966cd1d67b 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := smdk2400.o flash.o
 SOBJS  := lowlevel_init.o
@@ -33,7 +33,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 5d0cd722d031f209556a697be16b5b86080cd4d6..bda8898115a561c1b5bdef85616696d0aae85998 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := smdk2410.o flash.o
 SOBJS  := lowlevel_init.o
@@ -33,7 +33,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 71302205ebca8cc6144be9e5f7895518c34767dd..40bf57e91f5eed281d60687e43f5e2f848fbd855 100644 (file)
@@ -26,7 +26,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y        := smdk6400.o
 SOBJS  := lowlevel_init.o
@@ -36,7 +36,7 @@ OBJS  := $(addprefix $(obj),$(COBJS-y))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(SOBJS) $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(SOBJS) $(OBJS)
+       $(call cmd_link_o_target, $(SOBJS) $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 808d0dd0c6da757a32b834095afc3e8b580b7df9..61d4b2579cd0fcdf74d0f8357c5e1905da0ea657 100644 (file)
@@ -26,7 +26,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y        := smdkc100.o
 COBJS-$(CONFIG_SAMSUNG_ONENAND)        += onenand.o
@@ -37,7 +37,7 @@ OBJS  := $(addprefix $(obj),$(COBJS-y))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(SOBJS) $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(SOBJS) $(OBJS)
+       $(call cmd_link_o_target, $(SOBJS) $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 49d240c4cac13f426061efe21c1312867aaa7933..d44714018c3653df6e66e24743f702e39568904d 100644 (file)
@@ -38,7 +38,7 @@ CFLAGS += -DBUILDUSER='"$(BUILDUSER)"'
 # TBS: end debugging
 
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o ../common/flash.o ../common/ppc440gx_i2c.o \
        ../common/sb_common.o
@@ -50,7 +50,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index eb149108ac5f43d1420b795045947e5bef951768..e98c9895ef7078a524500bff040239819a88d234 100644 (file)
@@ -37,7 +37,7 @@ CFLAGS += -DBUILDUSER='"$(BUILDUSER)"'
 # TBS: end debugging
 
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o ../common/flash.o ../common/ppc440gx_i2c.o \
        ../common/sb_common.o
@@ -48,7 +48,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index cf07cf40fdb9485240118667e0b22074acd7516d..6dc495c3619cabc3ecc9eabf3c7c696a9580379f 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o flash.o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
similarity index 54%
rename from board/manroland/uc100/u-boot.lds.debug
rename to board/sandpoint/u-boot.lds
index a7caa8d90aa01f08836860982453b5a25e41aba8..59c86278d98e3990312d1635a4e2e6f50da693f7 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * (C) Copyright 2000
+ * (C) Copyright 2001-2007
  * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
  *
  * See file CREDITS for list of people who contributed to this
@@ -27,56 +27,21 @@ OUTPUT_ARCH(powerpc)
 SECTIONS
 {
   /* Read-only sections, merged into text segment: */
-  . = + SIZEOF_HEADERS;
-  .interp : { *(.interp) }
-  .hash          : { *(.hash)          }
-  .dynsym        : { *(.dynsym)                }
-  .dynstr        : { *(.dynstr)                }
-  .rel.text      : { *(.rel.text)              }
-  .rela.text     : { *(.rela.text)     }
-  .rel.data      : { *(.rel.data)              }
-  .rela.data     : { *(.rela.data)     }
-  .rel.rodata    : { *(.rel.rodata)    }
-  .rela.rodata   : { *(.rela.rodata)   }
-  .rel.got       : { *(.rel.got)               }
-  .rela.got      : { *(.rela.got)              }
-  .rel.ctors     : { *(.rel.ctors)     }
-  .rela.ctors    : { *(.rela.ctors)    }
-  .rel.dtors     : { *(.rel.dtors)     }
-  .rela.dtors    : { *(.rela.dtors)    }
-  .rel.bss       : { *(.rel.bss)               }
-  .rela.bss      : { *(.rela.bss)              }
-  .rel.plt       : { *(.rel.plt)               }
-  .rela.plt      : { *(.rela.plt)              }
-  .init          : { *(.init)  }
-  .plt : { *(.plt) }
   .text      :
   {
     /* WARNING - the following is hand-optimized to fit within */
     /* the sector layout of our flash chips!   XXX FIXME XXX   */
 
-    arch/powerpc/cpu/mpc8xx/start.o    (.text)
-    common/dlmalloc.o  (.text)
-    lib/vsprintf.o     (.text)
-    lib/crc32.o                (.text)
+    arch/powerpc/cpu/mpc824x/start.o   (.text*)
+    *(.text.v*printf)
 
-    common/env_embedded.o(.text)
+    . = DEFINED(env_offset) ? env_offset : .;
+    common/env_embedded.o      (.ppcenv*)
 
-    *(.text)
-    *(.got1)
+    *(.text*)
+    . = ALIGN(16);
+    *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
   }
-  _etext = .;
-  PROVIDE (etext = .);
-  .rodata    :
-  {
-    *(.rodata)
-    *(.rodata1)
-    *(.rodata.str1.4)
-    *(.eh_frame)
-  }
-  .fini      : { *(.fini)    } =0
-  .ctors     : { *(.ctors)   }
-  .dtors     : { *(.dtors)   }
 
   /* Read-write section, merged into data segment: */
   . = (. + 0x0FFF) & 0xFFFFF000;
@@ -84,32 +49,30 @@ SECTIONS
   PROVIDE (erotext = .);
   .reloc   :
   {
-    *(.got)
+    KEEP(*(.got))
     _GOT2_TABLE_ = .;
-    *(.got2)
+    KEEP(*(.got2))
     _FIXUP_TABLE_ = .;
-    *(.fixup)
+    KEEP(*(.fixup))
   }
-  __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >>2;
-  __fixup_entries = (. - _FIXUP_TABLE_)>>2;
+  __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >> 2;
+  __fixup_entries = (. - _FIXUP_TABLE_) >> 2;
 
   .data    :
   {
-    *(.data)
-    *(.data1)
-    *(.sdata)
-    *(.sdata2)
-    *(.dynamic)
-    CONSTRUCTORS
+    *(.data*)
+    *(.sdata*)
   }
   _edata  =  .;
   PROVIDE (edata = .);
 
+  . = .;
   __u_boot_cmd_start = .;
   .u_boot_cmd : { *(.u_boot_cmd) }
   __u_boot_cmd_end = .;
 
 
+  . = .;
   __start___ex_table = .;
   __ex_table : { *(__ex_table) }
   __stop___ex_table = .;
@@ -122,12 +85,12 @@ SECTIONS
   __init_end = .;
 
   __bss_start = .;
-  .bss       :
+  .bss (NOLOAD)       :
   {
-   *(.sbss) *(.scommon)
-   *(.dynbss)
-   *(.bss)
+   *(.bss*)
+   *(.sbss*)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
index 95f2ad120d215038e2864e1ac071f6e6ff34f145..2b3b781eea84fdc3828afb4aadae6e2c54ff56f9 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := sbc2410x.o flash.o
 SOBJS  := lowlevel_init.o
@@ -33,7 +33,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 1c60447e85483ac51c5d52c111cc9804538f0649..0f53340312aa390964fff395062deb239e4538bc 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o strataflash.o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 33b4d11058a7cca9780da8efda9e082723fc39a0..4efc410da5aa715b898fcdaf0954c9c8ddc57987 100644 (file)
@@ -96,13 +96,6 @@ int checkboard (void)
 
 /* ------------------------------------------------------------------------- */
 
-phys_size_t initdram (int board_type)
-{
-       return  spd_sdram ();
-}
-
-/* ------------------------------------------------------------------------- */
-
 int testdram (void)
 {
        /* TODO: XXX XXX XXX */
index dcb1907032b5df8d2f89bdcb23506a49bb1446c7..12e4aa6880eed591aade2b9cfdf2d64611b3a39f 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o flash.o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 034a55169c16480a85b3d9e122ed7cd40f28e572..f1d86fc173db5acef5417156e7107ba1cee4be66 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := sbc8260.o flash.o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 454c226a53ef81eaa16e6a70d00767867c56a97e..24c7b9807ddb4bf1e2af5707ed13f3e802c81d4e 100644 (file)
@@ -22,7 +22,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y += $(BOARD).o
 COBJS-$(CONFIG_PCI) += pci.o
@@ -33,7 +33,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 09e5c2e18bd99c035bb7713ed1b7130fcf247749..f68ec8dc3506b31265d2d49cbabafdb14be1930c 100644 (file)
@@ -26,7 +26,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y        += $(BOARD).o
 COBJS-y        += law.o
@@ -38,7 +38,7 @@ OBJS  := $(addprefix $(obj),$(COBJS-y))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(OBJS) $(SOBJS)
index 733979c6190e01d47cafadffeea064b062d0ffb7..272428fbf8027f1bbe7cda993a9cc04be02d328f 100644 (file)
@@ -342,7 +342,7 @@ pci_init_board(void)
                uint pci_clk_sel = porpllsr & MPC85xx_PORDEVSR_PCI1_SPD;
                uint pci_speed = CONFIG_SYS_CLK_FREQ;   /* get_clock_freq() */
 
-               printf ("    PCI host: %d bit, %s MHz, %s, %s\n",
+               printf("PCI: Host, %d bit, %s MHz, %s, %s\n",
                        (pci_32) ? 32 : 64,
                        (pci_speed == 33000000) ? "33" :
                        (pci_speed == 66000000) ? "66" : "unknown",
@@ -353,7 +353,7 @@ pci_init_board(void)
                first_free_busno = fsl_pci_init_port(&pci_info[num++],
                                        &pci1_hose, first_free_busno);
        } else {
-               printf ("    PCI: disabled\n");
+               printf("PCI: disabled\n");
        }
 
        puts("\n");
@@ -368,11 +368,11 @@ pci_init_board(void)
 
        if (pcie_configured && !(devdisr & MPC85xx_DEVDISR_PCIE)){
                SET_STD_PCIE_INFO(pci_info[num], 1);
-               printf ("    PCIE at base address %lx\n", pci_info[num].regs);
+               printf("PCIE: base address %lx\n", pci_info[num].regs);
                first_free_busno = fsl_pci_init_port(&pci_info[num++],
                                        &pcie1_hose, first_free_busno);
        } else {
-               printf ("    PCIE: disabled\n");
+               printf("PCIE: disabled\n");
        }
 
        puts("\n");
index 63997349f27fe5523dd9afad38daab62f9c5a331..a402ee4d4b10ea8d780c5f4bb35f23182f01e823 100644 (file)
@@ -26,7 +26,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y        += $(BOARD).o
 COBJS-y        += law.o
@@ -38,7 +38,7 @@ OBJS  := $(addprefix $(obj),$(COBJS-y))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(OBJS) $(SOBJS)
index c78b0a8280b4271518475cc29d866a232ba8445f..433c132fab676d46572acc2642671a98c8060e71 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y        += $(BOARD).o
 COBJS-y        += law.o
@@ -34,7 +34,7 @@ OBJS  := $(addprefix $(obj),$(COBJS-y))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(OBJS) $(SOBJS)
index d954d2f6f74899c191f209248164e0887009aa9f..5bf2364ee2d7e00a70824eb204ced9585d9a3612 100644 (file)
@@ -221,29 +221,29 @@ void pci_init_board(void)
        if (pcie_configured && !(devdisr & MPC86xx_DEVDISR_PCIEX1)) {
                SET_STD_PCIE_INFO(pci_info[num], 1);
                pcie_ep = fsl_setup_hose(&pcie1_hose, pci_info[num].regs);
-               printf("    PCIE1 connected as %s (base addr %lx)\n",
-                               pcie_ep ? "Endpoint" : "Root Complex",
-                               pci_info[num].regs);
+               printf("PCIE1: connected as %s (base addr %lx)\n",
+                       pcie_ep ? "Endpoint" : "Root Complex",
+                       pci_info[num].regs);
                first_free_busno = fsl_pci_init_port(&pci_info[num++],
                                        &pcie1_hose, first_free_busno);
        } else {
-               puts("    PCIE1: disabled\n");
+               puts("PCIE1: disabled\n");
        }
 #else
-       puts("    PCIE1: disabled\n");
+       puts("PCIE1: disabled\n");
 #endif /* CONFIG_PCIE1 */
 
 #ifdef CONFIG_PCIE2
 
        SET_STD_PCIE_INFO(pci_info[num], 2);
        pcie_ep = fsl_setup_hose(&pcie2_hose, pci_info[num].regs);
-       printf("    PCIE2 connected as %s (base addr %lx)\n",
-                       pcie_ep ? "Endpoint" : "Root Complex",
-                       pci_info[num].regs);
+       printf("PCIE2: connected as %s (base addr %lx)\n",
+               pcie_ep ? "Endpoint" : "Root Complex",
+               pci_info[num].regs);
        first_free_busno = fsl_pci_init_port(&pci_info[num++],
                                &pcie2_hose, first_free_busno);
 #else
-       puts("    PCIE2: disabled\n");
+       puts("PCIE2: disabled\n");
 #endif /* CONFIG_PCIE2 */
 }
 
index 88989bd1c36b3d6248d17a3978127c8ccb33e959..48f5cf69c96523e3b325395d7b0b37f58e6b68ab 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o sc3nand.o
 SOBJS  = init.o
@@ -33,7 +33,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 3bac4776d7f7a75e790f8e10624af90770ecc38a..a980f7687ca3e96101c5376315af23d3443d7edd 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := scb9328.o flash.o
 SOBJS  := lowlevel_init.o
@@ -33,7 +33,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 16ed4cf4138ccbdbb7c09c673ed5bbf9021ad188..23ac9871c7a85b8b38f669c5992905eee51eeba3 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := shannon.o flash.o
 SOBJS  := lowlevel_init.o
@@ -33,7 +33,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 7c34c5e1641a64fd69a670837c85a3f9cd430959..f18aded2ce5110b97887f0d36eb13c879514b6bd 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := $(BOARD).o sdram.o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index aa1510e1cc9c40667ae43261cf27786f99e528eb..bb815078159d7310d332cf23af675616563cf1c8 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o flash.o atm.o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index a9b00cafae086c58c73c0f64e79b1b9467e1840e..0514f5a5119cb0ef8459c19d1d41aa477b6f844f 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * (C) Copyright 2000, 2001, 2002
+ * (C) Copyright 2000-2010
  * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
  *
  * See file CREDITS for list of people who contributed to this
  */
 
 OUTPUT_ARCH(powerpc)
-/* Do we need any of these for elf?
-   __DYNAMIC = 0;    */
+
 SECTIONS
 {
   /* Read-only sections, merged into text segment: */
   . = + SIZEOF_HEADERS;
-  .interp : { *(.interp) }
-  .hash          : { *(.hash)          }
-  .dynsym        : { *(.dynsym)                }
-  .dynstr        : { *(.dynstr)                }
-  .rel.text      : { *(.rel.text)              }
-  .rela.text     : { *(.rela.text)     }
-  .rel.data      : { *(.rel.data)              }
-  .rela.data     : { *(.rela.data)     }
-  .rel.rodata    : { *(.rel.rodata)    }
-  .rela.rodata   : { *(.rela.rodata)   }
-  .rel.got       : { *(.rel.got)               }
-  .rela.got      : { *(.rela.got)              }
-  .rel.ctors     : { *(.rel.ctors)     }
-  .rela.ctors    : { *(.rela.ctors)    }
-  .rel.dtors     : { *(.rel.dtors)     }
-  .rela.dtors    : { *(.rela.dtors)    }
-  .rel.bss       : { *(.rel.bss)               }
-  .rela.bss      : { *(.rela.bss)              }
-  .rel.plt       : { *(.rel.plt)               }
-  .rela.plt      : { *(.rela.plt)              }
-  .init          : { *(.init)  }
-  .plt : { *(.plt) }
   .text      :
   {
     /* WARNING - the following is hand-optimized to fit within */
     /* the sector layout of our flash chips!   XXX FIXME XXX   */
 
-    arch/powerpc/cpu/mpc8xx/start.o    (.text)
-    common/dlmalloc.o  (.text)
-    arch/powerpc/lib/ppcstring.o       (.text)
-    arch/powerpc/cpu/mpc8xx/interrupts.o (.text)
-    arch/powerpc/lib/time.o            (.text)
+    arch/powerpc/cpu/mpc8xx/start.o    (.text*)
+    arch/powerpc/cpu/mpc8xx/traps.o    (.text*)
+    arch/powerpc/cpu/mpc8xx/libmpc8xx.o        (.text*)
+    net/libnet.o                       (.text*)
+    drivers/rtc/librtc.o               (.text*)
+
     . = env_offset;
-    common/env_embedded.o(.text)
+    common/env_embedded.o              (.text*)
 
-    *(.text)
-    *(.got1)
+    *(.text*)
   }
   _etext = .;
   PROVIDE (etext = .);
   .rodata    :
   {
-    *(.eh_frame)
     *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
   }
-  .fini      : { *(.fini)    } =0
-  .ctors     : { *(.ctors)   }
-  .dtors     : { *(.dtors)   }
 
   /* Read-write section, merged into data segment: */
   . = (. + 0x00FF) & 0xFFFFFF00;
@@ -83,23 +56,19 @@ SECTIONS
   PROVIDE (erotext = .);
   .reloc   :
   {
-    *(.got)
+    KEEP(*(.got))
     _GOT2_TABLE_ = .;
-    *(.got2)
+    KEEP(*(.got2))
     _FIXUP_TABLE_ = .;
-    *(.fixup)
+    KEEP(*(.fixup))
   }
   __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >>2;
   __fixup_entries = (. - _FIXUP_TABLE_)>>2;
 
   .data    :
   {
-    *(.data)
-    *(.data1)
-    *(.sdata)
-    *(.sdata2)
-    *(.dynamic)
-    CONSTRUCTORS
+    *(.data*)
+    *(.sdata*)
   }
   _edata  =  .;
   PROVIDE (edata = .);
@@ -125,9 +94,8 @@ SECTIONS
   __bss_start = .;
   .bss (NOLOAD)       :
   {
-   *(.sbss) *(.scommon)
-   *(.dynbss)
-   *(.bss)
+   *(.bss*)
+   *(.sbss*)
    *(COMMON)
    . = ALIGN(4);
   }
index 6ef49c2ce92ddb44d4b365b44271a7c53444a4ac..387107992ce4cfd9c9876f52caad7ea869aa67ff 100644 (file)
@@ -28,7 +28,7 @@ $(shell mkdir -p $(obj)../common)
 $(shell mkdir -p $(obj)../../tqc/tqm8xx)
 endif
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = scm.o flash.o fpga_scm.o ../common/fpga.o \
          ../../tqc/tqm8xx/load_sernum_ethaddr.o
@@ -38,7 +38,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 4e75b6f7a3b11002afe9b54b02efdb19a3726147..c054a3eb076d7231530eed93822039b65bfa499f 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := flash.o smn42.o
 SOBJTS := lowlevel_init.o
@@ -33,7 +33,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJTS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index cf07cf40fdb9485240118667e0b22074acd7516d..6dc495c3619cabc3ecc9eabf3c7c696a9580379f 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o flash.o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 43a8e20f0454a6fcb73b606ca3158df39d2e7869..b4c7a0ed6e225f343b7fc53d2d20986cfcd53301 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * (C) Copyright 2000
+ * (C) Copyright 2000-2010
  * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
  *
  * See file CREDITS for list of people who contributed to this
  */
 
 OUTPUT_ARCH(powerpc)
-/* Do we need any of these for elf?
-   __DYNAMIC = 0;    */
+
 SECTIONS
 {
   /* Read-only sections, merged into text segment: */
   . = + SIZEOF_HEADERS;
-  .interp : { *(.interp) }
-  .hash          : { *(.hash)          }
-  .dynsym        : { *(.dynsym)                }
-  .dynstr        : { *(.dynstr)                }
-  .rel.text      : { *(.rel.text)              }
-  .rela.text     : { *(.rela.text)     }
-  .rel.data      : { *(.rel.data)              }
-  .rela.data     : { *(.rela.data)     }
-  .rel.rodata    : { *(.rel.rodata)    }
-  .rela.rodata   : { *(.rela.rodata)   }
-  .rel.got       : { *(.rel.got)               }
-  .rela.got      : { *(.rela.got)              }
-  .rel.ctors     : { *(.rel.ctors)     }
-  .rela.ctors    : { *(.rela.ctors)    }
-  .rel.dtors     : { *(.rel.dtors)     }
-  .rela.dtors    : { *(.rela.dtors)    }
-  .rel.bss       : { *(.rel.bss)               }
-  .rela.bss      : { *(.rela.bss)              }
-  .rel.plt       : { *(.rel.plt)               }
-  .rela.plt      : { *(.rela.plt)              }
-  .init          : { *(.init)  }
-  .plt : { *(.plt) }
   .text      :
   {
-    arch/powerpc/cpu/mpc8xx/start.o    (.text)
-    common/env_embedded.o(.text)
-    *(.text)
-    *(.got1)
+    arch/powerpc/cpu/mpc8xx/start.o    (.text*)
+    arch/powerpc/cpu/mpc8xx/traps.o    (.text*)
+
+    *(.text*)
   }
   _etext = .;
   PROVIDE (etext = .);
   .rodata    :
   {
-    *(.eh_frame)
     *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
   }
-  .fini      : { *(.fini)    } =0
-  .ctors     : { *(.ctors)   }
-  .dtors     : { *(.dtors)   }
 
   /* Read-write section, merged into data segment: */
   . = (. + 0x0FFF) & 0xFFFFF000;
@@ -74,23 +47,19 @@ SECTIONS
   PROVIDE (erotext = .);
   .reloc   :
   {
-    *(.got)
+    KEEP(*(.got))
     _GOT2_TABLE_ = .;
-    *(.got2)
+    KEEP(*(.got2))
     _FIXUP_TABLE_ = .;
-    *(.fixup)
+    KEEP(*(.fixup))
   }
   __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >>2;
   __fixup_entries = (. - _FIXUP_TABLE_)>>2;
 
   .data    :
   {
-    *(.data)
-    *(.data1)
-    *(.sdata)
-    *(.sdata2)
-    *(.dynamic)
-    CONSTRUCTORS
+    *(.data*)
+    *(.sdata*)
   }
   _edata  =  .;
   PROVIDE (edata = .);
@@ -116,9 +85,8 @@ SECTIONS
   __bss_start = .;
   .bss (NOLOAD)       :
   {
-   *(.sbss) *(.scommon)
-   *(.dynbss)
-   *(.bss)
+   *(.bss*)
+   *(.sbss*)
    *(COMMON)
    . = ALIGN(4);
   }
index cf07cf40fdb9485240118667e0b22074acd7516d..6dc495c3619cabc3ecc9eabf3c7c696a9580379f 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o flash.o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 1c008959fde660460e061062df996b1d67ee7f7d..f8c50cba7267e2665015207263bca39a0def3caa 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * (C) Copyright 2000
+ * (C) Copyright 2000-2010
  * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
  *
  * See file CREDITS for list of people who contributed to this
  */
 
 OUTPUT_ARCH(powerpc)
-/* Do we need any of these for elf?
-   __DYNAMIC = 0;    */
+
 SECTIONS
 {
   /* Read-only sections, merged into text segment: */
   . = + SIZEOF_HEADERS;
-  .interp : { *(.interp) }
-  .hash          : { *(.hash)          }
-  .dynsym        : { *(.dynsym)                }
-  .dynstr        : { *(.dynstr)                }
-  .rel.text      : { *(.rel.text)      }
-  .rela.text     : { *(.rela.text)     }
-  .rel.data      : { *(.rel.data)      }
-  .rela.data     : { *(.rela.data)     }
-  .rel.rodata    : { *(.rel.rodata)    }
-  .rela.rodata   : { *(.rela.rodata)   }
-  .rel.got       : { *(.rel.got)       }
-  .rela.got      : { *(.rela.got)      }
-  .rel.ctors     : { *(.rel.ctors)     }
-  .rela.ctors    : { *(.rela.ctors)    }
-  .rel.dtors     : { *(.rel.dtors)     }
-  .rela.dtors    : { *(.rela.dtors)    }
-  .rel.bss       : { *(.rel.bss)       }
-  .rela.bss      : { *(.rela.bss)      }
-  .rel.plt       : { *(.rel.plt)       }
-  .rela.plt      : { *(.rela.plt)      }
-  .init          : { *(.init)          }
-  .plt : { *(.plt) }
   .text      :
   {
     /* WARNING - the following is hand-optimized to fit within */
     /* the sector layout of our flash chips!   XXX FIXME XXX   */
 
-       arch/powerpc/cpu/mpc8xx/start.o         (.text)
-       arch/powerpc/cpu/mpc8xx/traps.o         (.text)
-       common/dlmalloc.o               (.text)
-       arch/powerpc/lib/ppcstring.o            (.text)
-       lib/vsprintf.o  (.text)
-       lib/crc32.o             (.text)
-       lib/zlib.o              (.text)
-       arch/powerpc/lib/cache.o                (.text)
-       arch/powerpc/lib/time.o         (.text)
-
-    . = DEFINED(env_offset) ? env_offset : .;
-       common/env_embedded.o   (.ppcenv)
+    arch/powerpc/cpu/mpc8xx/start.o    (.text*)
+    arch/powerpc/cpu/mpc8xx/traps.o    (.text*)
 
-    *(.text)
-    *(.got1)
+    *(.text*)
   }
   _etext = .;
   PROVIDE (etext = .);
   .rodata    :
   {
-    *(.eh_frame)
     *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
   }
-  .fini      : { *(.fini)    } =0
-  .ctors     : { *(.ctors)   }
-  .dtors     : { *(.dtors)   }
 
   /* Read-write section, merged into data segment: */
   . = (. + 0x00FF) & 0xFFFFFF00;
@@ -88,23 +50,19 @@ SECTIONS
   PROVIDE (erotext = .);
   .reloc   :
   {
-    *(.got)
+    KEEP(*(.got))
     _GOT2_TABLE_ = .;
-    *(.got2)
+    KEEP(*(.got2))
     _FIXUP_TABLE_ = .;
-    *(.fixup)
+    KEEP(*(.fixup))
   }
   __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >>2;
   __fixup_entries = (. - _FIXUP_TABLE_)>>2;
 
   .data    :
   {
-    *(.data)
-    *(.data1)
-    *(.sdata)
-    *(.sdata2)
-    *(.dynamic)
-    CONSTRUCTORS
+    *(.data*)
+    *(.sdata*)
   }
   _edata  =  .;
   PROVIDE (edata = .);
@@ -130,9 +88,8 @@ SECTIONS
   __bss_start = .;
   .bss (NOLOAD)       :
   {
-   *(.sbss) *(.scommon)
-   *(.dynbss)
-   *(.bss)
+   *(.bss*)
+   *(.sbss*)
    *(COMMON)
    . = ALIGN(4);
   }
index cf07cf40fdb9485240118667e0b22074acd7516d..6dc495c3619cabc3ecc9eabf3c7c696a9580379f 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o flash.o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 1c008959fde660460e061062df996b1d67ee7f7d..fbd901a3c309020d3432a1c19e8fda6d3cb96b67 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * (C) Copyright 2000
+ * (C) Copyright 2000-2010
  * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
  *
  * See file CREDITS for list of people who contributed to this
  */
 
 OUTPUT_ARCH(powerpc)
-/* Do we need any of these for elf?
-   __DYNAMIC = 0;    */
+
 SECTIONS
 {
   /* Read-only sections, merged into text segment: */
   . = + SIZEOF_HEADERS;
-  .interp : { *(.interp) }
-  .hash          : { *(.hash)          }
-  .dynsym        : { *(.dynsym)                }
-  .dynstr        : { *(.dynstr)                }
-  .rel.text      : { *(.rel.text)      }
-  .rela.text     : { *(.rela.text)     }
-  .rel.data      : { *(.rel.data)      }
-  .rela.data     : { *(.rela.data)     }
-  .rel.rodata    : { *(.rel.rodata)    }
-  .rela.rodata   : { *(.rela.rodata)   }
-  .rel.got       : { *(.rel.got)       }
-  .rela.got      : { *(.rela.got)      }
-  .rel.ctors     : { *(.rel.ctors)     }
-  .rela.ctors    : { *(.rela.ctors)    }
-  .rel.dtors     : { *(.rel.dtors)     }
-  .rela.dtors    : { *(.rela.dtors)    }
-  .rel.bss       : { *(.rel.bss)       }
-  .rela.bss      : { *(.rela.bss)      }
-  .rel.plt       : { *(.rel.plt)       }
-  .rela.plt      : { *(.rela.plt)      }
-  .init          : { *(.init)          }
-  .plt : { *(.plt) }
   .text      :
   {
-    /* WARNING - the following is hand-optimized to fit within */
-    /* the sector layout of our flash chips!   XXX FIXME XXX   */
-
-       arch/powerpc/cpu/mpc8xx/start.o         (.text)
-       arch/powerpc/cpu/mpc8xx/traps.o         (.text)
-       common/dlmalloc.o               (.text)
-       arch/powerpc/lib/ppcstring.o            (.text)
-       lib/vsprintf.o  (.text)
-       lib/crc32.o             (.text)
-       lib/zlib.o              (.text)
-       arch/powerpc/lib/cache.o                (.text)
-       arch/powerpc/lib/time.o         (.text)
-
-    . = DEFINED(env_offset) ? env_offset : .;
-       common/env_embedded.o   (.ppcenv)
+    arch/powerpc/cpu/mpc8xx/start.o    (.text*)
+    arch/powerpc/cpu/mpc8xx/traps.o    (.text*)
 
-    *(.text)
-    *(.got1)
+    *(.text*)
   }
   _etext = .;
   PROVIDE (etext = .);
   .rodata    :
   {
-    *(.eh_frame)
     *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
   }
-  .fini      : { *(.fini)    } =0
-  .ctors     : { *(.ctors)   }
-  .dtors     : { *(.dtors)   }
 
   /* Read-write section, merged into data segment: */
   . = (. + 0x00FF) & 0xFFFFFF00;
@@ -88,23 +47,19 @@ SECTIONS
   PROVIDE (erotext = .);
   .reloc   :
   {
-    *(.got)
+    KEEP(*(.got))
     _GOT2_TABLE_ = .;
-    *(.got2)
+    KEEP(*(.got2))
     _FIXUP_TABLE_ = .;
-    *(.fixup)
+    KEEP(*(.fixup))
   }
   __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >>2;
   __fixup_entries = (. - _FIXUP_TABLE_)>>2;
 
   .data    :
   {
-    *(.data)
-    *(.data1)
-    *(.sdata)
-    *(.sdata2)
-    *(.dynamic)
-    CONSTRUCTORS
+    *(.data*)
+    *(.sdata*)
   }
   _edata  =  .;
   PROVIDE (edata = .);
@@ -130,9 +85,8 @@ SECTIONS
   __bss_start = .;
   .bss (NOLOAD)       :
   {
-   *(.sbss) *(.scommon)
-   *(.dynbss)
-   *(.bss)
+   *(.bss*)
+   *(.sbss*)
    *(COMMON)
    . = ALIGN(4);
   }
index 6fae6014073eae9bffcd3ef92e8029ef24b99eed..1ca6377addf58593cd981f5e0859b5aa0a619c27 100644 (file)
@@ -25,7 +25,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 #
 
 COBJS-y        += $(BOARD).o
@@ -40,7 +40,7 @@ OBJS  := $(addprefix $(obj),$(COBJS-y))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(OBJS) $(SOBJS)
index 434d3489801f08a4e55d8d958d822f7fd6616e9e..ec5cf530300797b68aa9be10147260cb94324398 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := $(BOARD).o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 0c48c3aeeccd231704a097d5b930512389fa48ac..d783179fae25607f88de64407af067917701cbe8 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o hpi.o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 3631018116348a2a325c96e5a502497fbdf692d6..fbd901a3c309020d3432a1c19e8fda6d3cb96b67 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * (C) Copyright 2000
+ * (C) Copyright 2000-2010
  * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
  *
  * See file CREDITS for list of people who contributed to this
  */
 
 OUTPUT_ARCH(powerpc)
-/* Do we need any of these for elf?
-   __DYNAMIC = 0;    */
+
 SECTIONS
 {
   /* Read-only sections, merged into text segment: */
   . = + SIZEOF_HEADERS;
-  .interp : { *(.interp) }
-  .hash          : { *(.hash)          }
-  .dynsym        : { *(.dynsym)                }
-  .dynstr        : { *(.dynstr)                }
-  .rel.text      : { *(.rel.text)      }
-  .rela.text     : { *(.rela.text)     }
-  .rel.data      : { *(.rel.data)      }
-  .rela.data     : { *(.rela.data)     }
-  .rel.rodata    : { *(.rel.rodata)    }
-  .rela.rodata   : { *(.rela.rodata)   }
-  .rel.got       : { *(.rel.got)       }
-  .rela.got      : { *(.rela.got)      }
-  .rel.ctors     : { *(.rel.ctors)     }
-  .rela.ctors    : { *(.rela.ctors)    }
-  .rel.dtors     : { *(.rel.dtors)     }
-  .rela.dtors    : { *(.rela.dtors)    }
-  .rel.bss       : { *(.rel.bss)       }
-  .rela.bss      : { *(.rela.bss)      }
-  .rel.plt       : { *(.rel.plt)       }
-  .rela.plt      : { *(.rela.plt)      }
-  .init          : { *(.init)          }
-  .plt : { *(.plt) }
   .text      :
   {
-    /* WARNING - the following is hand-optimized to fit within */
-    /* the sector layout of our flash chips!   XXX FIXME XXX   */
-
-    arch/powerpc/cpu/mpc8xx/start.o            (.text)
-    arch/powerpc/cpu/mpc8xx/traps.o            (.text)
-    common/dlmalloc.o          (.text)
-    arch/powerpc/lib/ppcstring.o               (.text)
-    lib/vsprintf.o     (.text)
-    lib/crc32.o                (.text)
-    lib/zlib.o         (.text)
-    arch/powerpc/lib/cache.o           (.text)
-    arch/powerpc/lib/time.o            (.text)
-
-    . = DEFINED(env_offset) ? env_offset : .;
-    common/env_embedded.o      (.ppcenv)
+    arch/powerpc/cpu/mpc8xx/start.o    (.text*)
+    arch/powerpc/cpu/mpc8xx/traps.o    (.text*)
 
-    *(.text)
-    *(.got1)
+    *(.text*)
   }
   _etext = .;
   PROVIDE (etext = .);
   .rodata    :
   {
-    *(.eh_frame)
     *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
   }
-  .fini      : { *(.fini)    } =0
-  .ctors     : { *(.ctors)   }
-  .dtors     : { *(.dtors)   }
 
   /* Read-write section, merged into data segment: */
   . = (. + 0x00FF) & 0xFFFFFF00;
@@ -88,23 +47,19 @@ SECTIONS
   PROVIDE (erotext = .);
   .reloc   :
   {
-    *(.got)
+    KEEP(*(.got))
     _GOT2_TABLE_ = .;
-    *(.got2)
+    KEEP(*(.got2))
     _FIXUP_TABLE_ = .;
-    *(.fixup)
+    KEEP(*(.fixup))
   }
   __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >>2;
   __fixup_entries = (. - _FIXUP_TABLE_)>>2;
 
   .data    :
   {
-    *(.data)
-    *(.data1)
-    *(.sdata)
-    *(.sdata2)
-    *(.dynamic)
-    CONSTRUCTORS
+    *(.data*)
+    *(.sdata*)
   }
   _edata  =  .;
   PROVIDE (edata = .);
@@ -130,9 +85,8 @@ SECTIONS
   __bss_start = .;
   .bss (NOLOAD)       :
   {
-   *(.sbss) *(.scommon)
-   *(.dynbss)
-   *(.bss)
+   *(.bss*)
+   *(.sbss*)
    *(COMMON)
    . = ALIGN(4);
   }
index cf07cf40fdb9485240118667e0b22074acd7516d..6dc495c3619cabc3ecc9eabf3c7c696a9580379f 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o flash.o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 866777428394f4ee42b683717db7cfd2103ebb8c..b9dd8b719a859d5ba5e477b737a7391600f67331 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * (C) Copyright 2000
+ * (C) Copyright 2000-2010
  * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
  *
  * See file CREDITS for list of people who contributed to this
  */
 
 OUTPUT_ARCH(powerpc)
-/* Do we need any of these for elf?
-   __DYNAMIC = 0;    */
+
 SECTIONS
 {
   /* Read-only sections, merged into text segment: */
   . = + SIZEOF_HEADERS;
-  .interp : { *(.interp) }
-  .hash          : { *(.hash)          }
-  .dynsym        : { *(.dynsym)                }
-  .dynstr        : { *(.dynstr)                }
-  .rel.text      : { *(.rel.text)              }
-  .rela.text     : { *(.rela.text)     }
-  .rel.data      : { *(.rel.data)              }
-  .rela.data     : { *(.rela.data)     }
-  .rel.rodata    : { *(.rel.rodata)    }
-  .rela.rodata   : { *(.rela.rodata)   }
-  .rel.got       : { *(.rel.got)               }
-  .rela.got      : { *(.rela.got)              }
-  .rel.ctors     : { *(.rel.ctors)     }
-  .rela.ctors    : { *(.rela.ctors)    }
-  .rel.dtors     : { *(.rel.dtors)     }
-  .rela.dtors    : { *(.rela.dtors)    }
-  .rel.bss       : { *(.rel.bss)               }
-  .rela.bss      : { *(.rela.bss)              }
-  .rel.plt       : { *(.rel.plt)               }
-  .rela.plt      : { *(.rela.plt)              }
-  .init          : { *(.init)  }
-  .plt : { *(.plt) }
   .text      :
   {
-    arch/powerpc/cpu/mpc8xx/start.o    (.text)
-    common/env_embedded.o(.text)
-    *(.text)
-    *(.got1)
+    /* WARNING - the following is hand-optimized to fit within */
+    /* the sector layout of our flash chips!   XXX FIXME XXX   */
+
+    arch/powerpc/cpu/mpc8xx/start.o    (.text*)
+    arch/powerpc/cpu/mpc8xx/traps.o    (.text*)
+    net/libnet.o                       (.text*)
+    arch/powerpc/cpu/mpc8xx/libmpc8xx.o        (.text*)
+    board/spd8xx/libspd8xx.o           (.text*)
+    *(.text.v*printf)
+
+    . = DEFINED(env_offset) ? env_offset : .;
+    common/env_embedded.o      (.ppcenv*)
+
+    *(.text*)
   }
   _etext = .;
   PROVIDE (etext = .);
   .rodata    :
   {
-    *(.eh_frame)
     *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
   }
-  .fini      : { *(.fini)    } =0
-  .ctors     : { *(.ctors)   }
-  .dtors     : { *(.dtors)   }
 
   /* Read-write section, merged into data segment: */
   . = (. + 0x0FF) & 0xFFFFFF00;
@@ -74,23 +57,19 @@ SECTIONS
   PROVIDE (erotext = .);
   .reloc   :
   {
-    *(.got)
+    KEEP(*(.got))
     _GOT2_TABLE_ = .;
-    *(.got2)
+    KEEP(*(.got2))
     _FIXUP_TABLE_ = .;
-    *(.fixup)
+    KEEP(*(.fixup))
   }
   __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >>2;
   __fixup_entries = (. - _FIXUP_TABLE_)>>2;
 
   .data    :
   {
-    *(.data)
-    *(.data1)
-    *(.sdata)
-    *(.sdata2)
-    *(.dynamic)
-    CONSTRUCTORS
+    *(.data*)
+    *(.sdata*)
   }
   _edata  =  .;
   PROVIDE (edata = .);
@@ -116,9 +95,8 @@ SECTIONS
   __bss_start = .;
   .bss (NOLOAD)       :
   {
-   *(.sbss) *(.scommon)
-   *(.dynbss)
-   *(.bss)
+   *(.bss*)
+   *(.sbss*)
    *(COMMON)
    . = ALIGN(4);
   }
index 4f8959f529222c7069285ef7c5e178f358b1d62b..e0df6c1fe677c4da4d786a122db42437246f2697 100644 (file)
@@ -27,7 +27,7 @@ ifneq ($(OBJTREE),$(SRCTREE))
 $(shell mkdir -p $(obj)board/$(VENDOR)/common)
 endif
 
-LIB    = $(obj)lib$(VENDOR).a
+LIB    = $(obj)lib$(VENDOR).o
 
 COBJS  := spr_misc.o
 SOBJS  := spr_lowlevel_init.o
@@ -37,7 +37,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index b5168ffe8839d7e06a77aa328a4c8aa380f96e95..b9b0fed8af4f8adbefeabe005dc089d574af92a8 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := spear300.o
 SOBJS  :=
@@ -33,7 +33,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index e67e941cf90da50d2b131bdd71132a01a6a70ee6..6dce0936a80e3a20292d2fb0c1e727a8b7a686c8 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := spear310.o
 SOBJS  :=
@@ -33,7 +33,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 1b80586ff13716e2585b2b458704bf9354c06b34..f6bd7dd4c25cab3ce2af8100ed78816cfe1fc385 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := spear320.o
 SOBJS  :=
@@ -33,7 +33,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 1978002fc505b06774171b96df0199387d06d2b2..6b643bfc25c7b6815fb533d954b9fd23063062f7 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := spear600.o
 SOBJS  :=
@@ -33,7 +33,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index b37fe534acc11dce7c04f7b6fc95754a009d79af..3f360dcf29ada5f7c2b1fd17ec413788876a0461 100644 (file)
@@ -27,7 +27,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := nhk8815.o
 SOBJS  := platform.o
@@ -37,7 +37,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB): $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 5a68f11e7d0506bdcebbbddfa3a4c9cd95b07820..5eccfab69ee0d98e40a3f1cf11c00a789a242305 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y        += $(BOARD).o
 COBJS-y        += law.o
@@ -36,7 +36,7 @@ OBJS  := $(addprefix $(obj),$(COBJS-y))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(OBJS) $(SOBJS)
index 9ab41ecd3591198eba27d6dcba40255bffdccd9d..6b47ceb933bb052420061c3f6333ba20a62bbace 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y        += $(BOARD).o
 COBJS-y        += law.o
@@ -35,7 +35,7 @@ OBJS  := $(addprefix $(obj),$(COBJS-y))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(OBJS) $(SOBJS)
index 424ab1cf9e3251575e95a3faf767cfc87b765cf2..ac860c1348f6ba2e8d6ce881e99d95599b203ef9 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 9001767ef7ce93664763596d8360fff065b072fc..684ab81c4a2a1d4144f775fc6f59448634a5b467 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * (C) Copyright 2000-2004
+ * (C) Copyright 2000-2010
  * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
  *
  * See file CREDITS for list of people who contributed to this
  */
 
 OUTPUT_ARCH(powerpc)
-/* Do we need any of these for elf?
-   __DYNAMIC = 0;    */
+
 SECTIONS
 {
   /* Read-only sections, merged into text segment: */
   . = + SIZEOF_HEADERS;
-  .interp      : { *(.interp)          }
-  .hash         : { *(.hash)           }
-  .dynsym       : { *(.dynsym)         }
-  .dynstr       : { *(.dynstr)         }
-  .rel.text     : { *(.rel.text)       }
-  .rela.text    : { *(.rela.text)      }
-  .rel.data     : { *(.rel.data)       }
-  .rela.data    : { *(.rela.data)      }
-  .rel.rodata   : { *(.rel.rodata)     }
-  .rela.rodata  : { *(.rela.rodata)    }
-  .rel.got      : { *(.rel.got)                }
-  .rela.got     : { *(.rela.got)       }
-  .rel.ctors    : { *(.rel.ctors)      }
-  .rela.ctors   : { *(.rela.ctors)     }
-  .rel.dtors    : { *(.rel.dtors)      }
-  .rela.dtors   : { *(.rela.dtors)     }
-  .rel.bss      : { *(.rel.bss)                }
-  .rela.bss     : { *(.rela.bss)       }
-  .rel.plt      : { *(.rel.plt)                }
-  .rela.plt     : { *(.rela.plt)       }
-  .init         : { *(.init)           }
-  .plt         : { *(.plt)             }
   .text        :
   {
-    arch/powerpc/cpu/mpc8xx/start.o            (.text)
-    arch/powerpc/cpu/mpc8xx/traps.o            (.text)
-    common/dlmalloc.o          (.text)
-    arch/powerpc/lib/ppcstring.o               (.text)
-    lib/vsprintf.o     (.text)
-    lib/crc32.o                (.text)
-    lib/zlib.o         (.text)
-    arch/powerpc/lib/cache.o           (.text)
-    arch/powerpc/lib/time.o            (.text)
-
-    . = DEFINED(env_offset) ? env_offset : .;
-    common/env_embedded.o      (.text)
+    arch/powerpc/cpu/mpc8xx/start.o    (.text*)
+    arch/powerpc/cpu/mpc8xx/traps.o    (.text*)
 
-    *(.text)
-    *(.got1)
+    *(.text*)
   }
   _etext = .;
   PROVIDE (etext = .);
   .rodata    :
   {
-    *(.eh_frame)
     *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
   }
-  .fini      : { *(.fini)    } =0
-  .ctors     : { *(.ctors)   }
-  .dtors     : { *(.dtors)   }
 
   /* Read-write section, merged into data segment: */
   . = (. + 0x00FF) & 0xFFFFFF00;
@@ -85,23 +47,19 @@ SECTIONS
   PROVIDE (erotext = .);
   .reloc   :
   {
-    *(.got)
+    KEEP(*(.got))
     _GOT2_TABLE_ = .;
-    *(.got2)
+    KEEP(*(.got2))
     _FIXUP_TABLE_ = .;
-    *(.fixup)
+    KEEP(*(.fixup))
   }
   __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >>2;
   __fixup_entries = (. - _FIXUP_TABLE_)>>2;
 
   .data    :
   {
-    *(.data)
-    *(.data1)
-    *(.sdata)
-    *(.sdata2)
-    *(.dynamic)
-    CONSTRUCTORS
+    *(.data*)
+    *(.sdata*)
   }
   _edata  =  .;
   PROVIDE (edata = .);
@@ -127,9 +85,8 @@ SECTIONS
   __bss_start = .;
   .bss (NOLOAD)       :
   {
-   *(.sbss) *(.scommon)
-   *(.dynbss)
-   *(.bss)
+   *(.bss*)
+   *(.sbss*)
    *(COMMON)
    . = ALIGN(4);
   }
index cf07cf40fdb9485240118667e0b22074acd7516d..6dc495c3619cabc3ecc9eabf3c7c696a9580379f 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o flash.o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 59f1844885d1c1fb862c79925026ae95fadf09c0..6ff4d8c012f96f2011578b34e6ab3865fa8788c4 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * (C) Copyright 2000
+ * (C) Copyright 2000-2010
  * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
  *
  * See file CREDITS for list of people who contributed to this
  */
 
 OUTPUT_ARCH(powerpc)
-/* Do we need any of these for elf?
-   __DYNAMIC = 0;    */
+
 SECTIONS
 {
   /* Read-only sections, merged into text segment: */
   . = + SIZEOF_HEADERS;
-  .interp : { *(.interp) }
-  .hash          : { *(.hash)          }
-  .dynsym        : { *(.dynsym)                }
-  .dynstr        : { *(.dynstr)                }
-  .rel.text      : { *(.rel.text)      }
-  .rela.text     : { *(.rela.text)     }
-  .rel.data      : { *(.rel.data)      }
-  .rela.data     : { *(.rela.data)     }
-  .rel.rodata    : { *(.rel.rodata)    }
-  .rela.rodata   : { *(.rela.rodata)   }
-  .rel.got       : { *(.rel.got)       }
-  .rela.got      : { *(.rela.got)      }
-  .rel.ctors     : { *(.rel.ctors)     }
-  .rela.ctors    : { *(.rela.ctors)    }
-  .rel.dtors     : { *(.rel.dtors)     }
-  .rela.dtors    : { *(.rela.dtors)    }
-  .rel.bss       : { *(.rel.bss)       }
-  .rela.bss      : { *(.rela.bss)      }
-  .rel.plt       : { *(.rel.plt)       }
-  .rela.plt      : { *(.rela.plt)      }
-  .init          : { *(.init)          }
-  .plt : { *(.plt) }
   .text      :
   {
     /* WARNING - the following is hand-optimized to fit within */
     /* the sector layout of our flash chips!   XXX FIXME XXX   */
-
-    arch/powerpc/cpu/mpc8xx/start.o            (.text)
-    arch/powerpc/cpu/mpc8xx/traps.o            (.text)
-    common/dlmalloc.o          (.text)
-    arch/powerpc/lib/ppcstring.o               (.text)
-    lib/vsprintf.o     (.text)
-    lib/crc32.o                (.text)
-    lib/zlib.o         (.text)
-    arch/powerpc/lib/cache.o           (.text)
-    arch/powerpc/lib/time.o            (.text)
+    arch/powerpc/cpu/mpc8xx/start.o    (.text*)
+    arch/powerpc/cpu/mpc8xx/traps.o    (.text*)
+    lib/libgeneric.o                   (.text*)
+    net/libnet.o                       (.text*)
+    arch/powerpc/cpu/mpc8xx/libmpc8xx.o        (.text*)
+    arch/powerpc/lib/libpowerpc.o      (.text*)
+    board/svm_sc8xx/libsvm_sc8xx.o     (.text*)
+    *(.text.*printf)
+    *(.text.do_mem_*)
+    *(.text.flash*)
+    *(.text.run_command)
+    *(.text.main_loop)
+    *(.text.srec_decode)
 
     . = env_offset;
-    common/env_embedded.o      (.ppcenv)
+    common/env_embedded.o              (.ppcenv*)
 
-    *(.text)
-    *(.got1)
+    *(.text*)
   }
   _etext = .;
   PROVIDE (etext = .);
   .rodata    :
   {
-    *(.eh_frame)
     *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
   }
-  .fini      : { *(.fini)    } =0
-  .ctors     : { *(.ctors)   }
-  .dtors     : { *(.dtors)   }
 
   /* Read-write section, merged into data segment: */
   . = (. + 0x00FF) & 0xFFFFFF00;
@@ -88,23 +63,19 @@ SECTIONS
   PROVIDE (erotext = .);
   .reloc   :
   {
-    *(.got)
+    KEEP(*(.got))
     _GOT2_TABLE_ = .;
-    *(.got2)
+    KEEP(*(.got2))
     _FIXUP_TABLE_ = .;
-    *(.fixup)
+    KEEP(*(.fixup))
   }
   __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >>2;
   __fixup_entries = (. - _FIXUP_TABLE_)>>2;
 
   .data    :
   {
-    *(.data)
-    *(.data1)
-    *(.sdata)
-    *(.sdata2)
-    *(.dynamic)
-    CONSTRUCTORS
+    *(.data*)
+    *(.sdata*)
   }
   _edata  =  .;
   PROVIDE (edata = .);
@@ -131,9 +102,8 @@ SECTIONS
   __bss_start = .;
   .bss (NOLOAD)       :
   {
-   *(.sbss) *(.scommon)
-   *(.dynbss)
-   *(.bss)
+   *(.bss*)
+   *(.sbss*)
    *(COMMON)
    . = ALIGN(4);
   }
index 4c11030ed6aae1a2b3caa9ab1aba3d4aa7437e3a..27d85b028de5776851a0708fc08b574b9b2f5198 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := sx1.o
 SOBJS  := lowlevel_init.o
@@ -33,7 +33,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 87d2234ca3885edf9e18b5b4eeaf375926e325f7..30818d25f1527af9c6b9585545f51bcf28e0c294 100644 (file)
@@ -27,7 +27,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y        += jadecpu.o
 SOBJS  := lowlevel_init.o
@@ -37,7 +37,7 @@ OBJS  := $(addprefix $(obj),$(COBJS-y))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index e2bb54673e8b18323bbaa764fbdab51db060e84e..4211b7b53f517a1838bec1b43cda76c2f1362044 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y        := $(BOARD).o
 COBJS-$(CONFIG_CMD_CHIP_CONFIG) += chip_config.o
@@ -34,8 +34,10 @@ SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c)
 OBJS   := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
-$(LIB):        $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+all:   $(LIB) $(SOBJS)
+
+$(LIB):        $(OBJS)
+       $(call cmd_link_o_target, $^)
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 1f6f517260a628cd53f72ba682cd1fae0c3a1a6e..76f1664facee5727096a7aeae8542f658461c28c 100644 (file)
@@ -25,7 +25,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o flash.o vr4131-pci.o
 SOBJS  = lowlevel_init.o
@@ -35,7 +35,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 #########################################################################
 
index f2bd2c247d4ab5ca14d7101a238c5d17fee8988b..cde8168ccf2dc086c02f8494931480e35f5c7fc9 100644 (file)
@@ -27,7 +27,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y        := $(BOARD).o
 
@@ -36,7 +36,7 @@ OBJS  := $(addprefix $(obj),$(COBJS-y))
 SOBJS  := $(addprefix $(obj),$(SOBJS-y))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index bad018aa34d6a4a17abbf33cb5a0ecc6b70591bc..4d7bf14f8b194f7e170c881578fcc09241cea9bc 100644 (file)
@@ -27,7 +27,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y        := $(BOARD).o gpio_cfi_flash.o
 
@@ -36,7 +36,7 @@ OBJS  := $(addprefix $(obj),$(COBJS-y))
 SOBJS  := $(addprefix $(obj),$(SOBJS-y))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index f7971127c826d943e10437e1cc454de844ed04c6..3b4aaace231bc802a673fa82c4ea3441ff2024f1 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := beagle.o
 
@@ -31,7 +31,7 @@ SRCS  := $(COBJS:.o=.c)
 OBJS   := $(addprefix $(obj),$(COBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(OBJS)
index b951bb4ed7fc062b109dfde01507d6b4c07516b1..2ff83567ce57a026f3b80b18755b3e2dfe01fa4a 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := evm.o
 
@@ -31,7 +31,7 @@ SRCS  := $(COBJS:.o=.c)
 OBJS   := $(addprefix $(obj),$(COBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(OBJS)
index cd222dbc16454940c910c53a18d2f67d1f8ca6a0..9281fc2f49beab8cf3c3df58a793354ad35bbf15 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := omap1510innovator.o
 SOBJS  := lowlevel_init.o
@@ -33,7 +33,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 1adcad64e08733dfbb49d9bb3e78a9f0d7b8aff0..4e21a3724ff5fe8d743e0a4d9ecb9a2454b24e64 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := omap1610innovator.o flash.o
 SOBJS  := lowlevel_init.o
@@ -33,7 +33,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index f39eef0adb1642ab9df715de6e4f971c5a2f988b..5174d8959b24797a12d59db945b7ab9772fbdaed 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := omap2420h4.o mem.o sys_info.o
 SOBJS  := lowlevel_init.o
@@ -33,7 +33,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index e9bb0ecd724630b7b63ac3fa0f9c3eae2f40ab5d..e2de898501b6802b35e1a4623fef4678edfdcbf4 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := omap5912osk.o
 SOBJS  := lowlevel_init.o
@@ -33,7 +33,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 0d7ae6145cc2e048d5117e91272eafb24e0885a6..a04f7aa7c25e6aa2bc1c19b2d2853b3104c9c17d 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := omap730p2.o flash.o
 SOBJS  := lowlevel_init.o
@@ -33,7 +33,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 81e54692bb3bf70f4b6b7874e9c9921c0da7560f..21864037327a5674f80ad093a60dc1f46e41e89b 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := panda.o
 
@@ -31,7 +31,7 @@ SRCS  := $(COBJS:.o=.c)
 OBJS   := $(addprefix $(obj),$(COBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(OBJS)
index 2554c7b0813d26fea8b4e3424ad198146d55eae9..bce85342a80cb20aaff0542361036205e82c7896 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := sdp.o
 
@@ -31,7 +31,7 @@ SRCS  := $(COBJS:.o=.c)
 OBJS   := $(addprefix $(obj),$(COBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(OBJS)
index 2ca03dd81fe2d4219581c839df075a46d5ddad03..be4629897a2c31d5a54f59f3ba4e97a078fda7b0 100644 (file)
@@ -30,4 +30,4 @@
 # (mem base + reserved)
 
 # For use with external or internal boots.
-CONFIG_SYS_TEXT_BASE = 0x80e80000
+CONFIG_SYS_TEXT_BASE = 0x80008000
index 2554c7b0813d26fea8b4e3424ad198146d55eae9..bce85342a80cb20aaff0542361036205e82c7896 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := sdp.o
 
@@ -31,7 +31,7 @@ SRCS  := $(COBJS:.o=.c)
 OBJS   := $(addprefix $(obj),$(COBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(OBJS)
index 2446c2ae12ef522797580e6c42a7d7a97b0640b3..03238f0afb308c3055ee488cbd5f68aac2c3be36 100644 (file)
@@ -19,7 +19,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS          += sdb_board.o
 
@@ -32,7 +32,7 @@ SOBJS := $(addprefix $(obj),$(SOBJS))
 all: $(LIB)
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 38600c4e51965fe6ba3b5816a6f8b5ff57af3fc8..3f160b208daf0a313a426dff715032f0a1e087f9 100644 (file)
@@ -26,7 +26,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := devkit8000.o
 
@@ -34,7 +34,7 @@ SRCS  := $(COBJS:.o=.c)
 OBJS   := $(addprefix $(obj),$(COBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(OBJS)
index a8abd7d7811da984b79fdff51b8a7746aeacbe7e..066d9caab478714831ded8c7c8e06297cb9a3d05 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := $(BOARD).o sdram.o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 55c4d99a8f3330fb204f2acb5646fa385e71bfd1..d0e68c31a241b735ea82d21bfe96ff32d36a9813 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := $(BOARD).o cmd_stk52xx.o cmd_tb5200.o cam5200_flash.o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 124b47d22848d9c2b08b133a85c8d77b39831147..4c8922f35f5c69a5203ab0c67487db2a7ab93034 100644 (file)
@@ -440,7 +440,9 @@ static int write_word(flash_info_t * info, ulong dest, ulong data)
 {
        volatile CONFIG_SYS_FLASH_WORD_SIZE *addr2 = (CONFIG_SYS_FLASH_WORD_SIZE *) (info->start[0]);
        volatile CONFIG_SYS_FLASH_WORD_SIZE *dest2 = (CONFIG_SYS_FLASH_WORD_SIZE *) dest;
-       volatile CONFIG_SYS_FLASH_WORD_SIZE *data2 = (CONFIG_SYS_FLASH_WORD_SIZE *) & data;
+       ulong *datap = &data;
+       volatile CONFIG_SYS_FLASH_WORD_SIZE *data2 =
+                       (volatile CONFIG_SYS_FLASH_WORD_SIZE *)datap;
        ulong start;
        int i, flag;
 
@@ -681,7 +683,9 @@ static int write_word_16(flash_info_t * info, ulong dest, ulong data)
 {
        volatile CONFIG_SYS_FLASH_WORD_SIZE *addr2 = (CONFIG_SYS_FLASH_WORD_SIZE *) (info->start[0]);
        volatile CONFIG_SYS_FLASH_WORD_SIZE *dest2 = (CONFIG_SYS_FLASH_WORD_SIZE *) dest;
-       volatile CONFIG_SYS_FLASH_WORD_SIZE *data2 = (CONFIG_SYS_FLASH_WORD_SIZE *) & data;
+       ulong *datap = &data;
+       volatile CONFIG_SYS_FLASH_WORD_SIZE *data2 =
+                       (volatile CONFIG_SYS_FLASH_WORD_SIZE *)datap;
        ulong start;
        int i;
 
index 94ba1e94e922544ec42f2b116a2accc644a77fc2..d5b6df6868fa15fb423fa89d1ae968e04edc0703 100644 (file)
@@ -26,7 +26,7 @@ ifneq ($(OBJTREE),$(SRCTREE))
 $(shell mkdir -p $(obj)../tqm8xx/)
 endif
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o ../tqm8xx/load_sernum_ethaddr.o
 
@@ -35,7 +35,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index c97fe1496d06daa12edc77272c76758874822134..d2a90d538b33e634a291ac3eb4c183f32265bc33 100644 (file)
@@ -26,7 +26,7 @@ ifneq ($(OBJTREE),$(SRCTREE))
 $(shell mkdir -p $(obj)../tqm8xx/)
 endif
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o ../tqm8xx/load_sernum_ethaddr.o nand.o
 
@@ -35,7 +35,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 011e63136bca78d645ef74e166656b652ba66670..bce53a49e255963522b3b81e390eee40ef58a9c8 100644 (file)
@@ -25,7 +25,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y += $(BOARD).o
 COBJS-$(CONFIG_PCI) += pci.o
@@ -36,7 +36,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index adda9d45b793ccca3e2cb7b3fba63ad5adb301e9..a40a89575b29090f238e7059b94427e28561898b 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y        += $(BOARD).o
 COBJS-y        += sdram.o
@@ -38,7 +38,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(OBJS) $(SOBJS)
index 2c3885f23c39f78d5b2d451d7018b7f469009f22..527af6dd2ee84a39dc4bbb2453b1d6f87f029f17 100644 (file)
@@ -298,7 +298,7 @@ int misc_init_r (void)
         */
        set_lbc_or(0, ((-flash_info[1].size) & 0xffff8000) |
                   (CONFIG_SYS_OR0_PRELIM & 0x00007fff));
-       set_lbc_br(0, gd->bd->bi_flashstart |
+       set_lbc_br(0, (gd->bd->bi_flashstart + flash_info[0].size) |
                   (CONFIG_SYS_BR0_PRELIM & 0x00007fff));
 
        /*
@@ -567,7 +567,7 @@ void pci_init_board (void)
        if (!(devdisr & MPC85xx_DEVDISR_PCI1)) {
                SET_STD_PCI_INFO(pci_info[num], 1);
                pcie_ep = fsl_setup_hose(&pci1_hose, pci_info[num].regs);
-               printf ("\n   PCI1:  %d bit, %s MHz, %s, %s, %s\n",
+               printf("PCI1:  %d bit, %s MHz, %s, %s, %s\n",
                        (pci_32) ? 32 : 64,
                        (pci_speed == 33333333) ? "33" :
                        (pci_speed == 66666666) ? "66" : "unknown",
@@ -591,7 +591,7 @@ void pci_init_board (void)
                }
 #endif
        } else {
-               printf("    PCI1: disabled\n");
+               printf("PCI1: disabled\n");
        }
 #else
        setbits_be32(&gur->devdisr, MPC85xx_DEVDISR_PCI1);
@@ -603,12 +603,12 @@ void pci_init_board (void)
        if (pcie_configured && !(devdisr & MPC85xx_DEVDISR_PCIE)) {
                SET_STD_PCIE_INFO(pci_info[num], 1);
                pcie_ep = fsl_setup_hose(&pcie1_hose, pci_info[num].regs);
-               printf("    PCIE1 connected as %s\n",
+               printf("PCIE1: connected as %s\n",
                        pcie_ep ? "Endpoint" : "Root Complex");
                first_free_busno = fsl_pci_init_port(&pci_info[num++],
                                        &pcie1_hose, first_free_busno);
        } else {
-               printf("    PCIE1: disabled\n");
+               printf("PCIE1: disabled\n");
        }
 #else
        setbits_be32(&gur->devdisr, MPC85xx_DEVDISR_PCIE);
index 280982dd412aacc56dc7c71739858c22f21c0cf2..888cf248105920eae5e4d51a0dfb90d5bf04ccb1 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o load_sernum_ethaddr.o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 32a3e2bf02a5d5412011983adff8cc97f6b3ca9d..209d1e00414190e10b08df6cb54ed7bf80e24e6f 100644 (file)
  */
 
 OUTPUT_ARCH(powerpc)
-/* Do we need any of these for elf?
-   __DYNAMIC = 0;    */
+
 SECTIONS
 {
   /* Read-only sections, merged into text segment: */
   . = + SIZEOF_HEADERS;
-  .interp : { *(.interp) }
-  .hash          : { *(.hash)          }
-  .dynsym        : { *(.dynsym)                }
-  .dynstr        : { *(.dynstr)                }
-  .rel.text      : { *(.rel.text)      }
-  .rela.text     : { *(.rela.text)     }
-  .rel.data      : { *(.rel.data)      }
-  .rela.data     : { *(.rela.data)     }
-  .rel.rodata    : { *(.rel.rodata)    }
-  .rela.rodata   : { *(.rela.rodata)   }
-  .rel.got       : { *(.rel.got)       }
-  .rela.got      : { *(.rela.got)      }
-  .rel.ctors     : { *(.rel.ctors)     }
-  .rela.ctors    : { *(.rela.ctors)    }
-  .rel.dtors     : { *(.rel.dtors)     }
-  .rela.dtors    : { *(.rela.dtors)    }
-  .rel.bss       : { *(.rel.bss)       }
-  .rela.bss      : { *(.rela.bss)      }
-  .rel.plt       : { *(.rel.plt)       }
-  .rela.plt      : { *(.rela.plt)      }
-  .init          : { *(.init)          }
-  .plt : { *(.plt) }
   .text      :
   {
     /* WARNING - the following is hand-optimized to fit within */
     /* the sector layout of our flash chips!   XXX FIXME XXX   */
 
-    arch/powerpc/cpu/mpc8xx/start.o            (.text)
-    arch/powerpc/cpu/mpc8xx/traps.o            (.text)
-    common/dlmalloc.o          (.text)
-    arch/powerpc/lib/ppcstring.o               (.text)
-    lib/vsprintf.o     (.text)
-    lib/crc32.o                (.text)
-    lib/zlib.o         (.text)
-    arch/powerpc/lib/cache.o           (.text)
+    arch/powerpc/cpu/mpc8xx/start.o    (.text*)
+    arch/powerpc/cpu/mpc8xx/traps.o    (.text*)
+    arch/powerpc/cpu/mpc8xx/libmpc8xx.o (.text*)
+    arch/powerpc/lib/libpowerpc.o      (.text*)
+    board/tqc/tqm8xx/libtqm8xx.o       (.text*)
+    disk/libdisk.o                     (.text*)
+    drivers/net/libnet.o               (.text*)
+    drivers/pcmcia/libpcmcia.o         (.text*)
+    drivers/rtc/librtc.o               (.text*)
+    drivers/misc/libmisc.o             (.text*)
+    *(.text.print_buffer)
+    *(.text.print_size)
 
     . = DEFINED(env_offset) ? env_offset : .;
-    common/env_embedded.o      (.ppcenv)
+    common/env_embedded.o      (.ppcenv*)
 
-    *(.text)
-    *(.got1)
+    *(.text*)
   }
   _etext = .;
   PROVIDE (etext = .);
   .rodata    :
   {
-    *(.eh_frame)
     *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
   }
-  .fini      : { *(.fini)    } =0
-  .ctors     : { *(.ctors)   }
-  .dtors     : { *(.dtors)   }
 
   /* Read-write section, merged into data segment: */
   . = (. + 0x00FF) & 0xFFFFFF00;
@@ -87,23 +63,19 @@ SECTIONS
   PROVIDE (erotext = .);
   .reloc   :
   {
-    *(.got)
+    KEEP(*(.got))
     _GOT2_TABLE_ = .;
-    *(.got2)
+    KEEP(*(.got2))
     _FIXUP_TABLE_ = .;
-    *(.fixup)
+    KEEP(*(.fixup))
   }
   __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >>2;
   __fixup_entries = (. - _FIXUP_TABLE_)>>2;
 
   .data    :
   {
-    *(.data)
-    *(.data1)
-    *(.sdata)
-    *(.sdata2)
-    *(.dynamic)
-    CONSTRUCTORS
+    *(.data*)
+    *(.sdata*)
   }
   _edata  =  .;
   PROVIDE (edata = .);
@@ -129,9 +101,8 @@ SECTIONS
   __bss_start = .;
   .bss (NOLOAD)       :
   {
-   *(.sbss) *(.scommon)
-   *(.dynbss)
-   *(.bss)
+   *(.bss*)
+   *(.sbss*)
    *(COMMON)
    . = ALIGN(4);
   }
index 0b13dc475ee42417317491d29ae4c180b145de55..82da40c9af3f4af095db969f4ba49b393352bfc1 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := trab.o flash.o vfd.o cmd_trab.o memory.o tsc2000.o auto_update.o
 SOBJS  := lowlevel_init.o
@@ -43,7 +43,7 @@ LOAD_ADDR = 0xc100000
 all:   $(LIB) $(obj)trab_fkt.srec $(obj)trab_fkt.bin
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 $(obj)trab_fkt.srec:   $(OBJS_FKT) $(LIB)
        $(LD) -g -Ttext $(LOAD_ADDR) -o $(<:.o=) -e trab_fkt $^ $(LIB) \
index 060ac890f7c4ab92ca0d56d7bc4ec234d7cd49e7..eac00aede6530d69c5a5d52e15bf7801ed172c57 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := conxs.o eeprom.o
 
@@ -31,7 +31,7 @@ SRCS  := $(COBJS:.o=.c)
 OBJS   := $(addprefix $(obj),$(COBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(OBJS)
index 309e3a3df6b927798f85ca4fc0ee1d9787fef446..9ed8246e5b76811bcb40484eca339c96427de1b1 100644 (file)
@@ -21,7 +21,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := vision2.o
 
@@ -30,7 +30,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 7ad768bc430823c6817676183684135d06e329cb..33c1dcd4dc15240ca80607b68a6597af0485a401 100644 (file)
@@ -28,7 +28,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o flash.o
 
@@ -37,7 +37,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 109cec264056bdd5b0e25d4a5f4601151bfc00ac..9b00eb0994ceac5e4f1b4c9c179f2ec6c8754c74 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o flash.o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 9bdc97fe4eb155e0e8aa59fe89ec5fddfcb7e34d..9f36f53e6514fa3f2172e20de0df80f4588924d8 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * (C) Copyright 2003
+ * (C) Copyright 2003-2010
  * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
  *
  * See file CREDITS for list of people who contributed to this
  */
 
 OUTPUT_ARCH(powerpc)
-/* Do we need any of these for elf?
-   __DYNAMIC = 0;    */
+
 SECTIONS
 {
   /* Read-only sections, merged into text segment: */
   . = + SIZEOF_HEADERS;
-  .interp : { *(.interp) }
-  .hash          : { *(.hash)          }
-  .dynsym        : { *(.dynsym)                }
-  .dynstr        : { *(.dynstr)                }
-  .rel.text      : { *(.rel.text)      }
-  .rela.text     : { *(.rela.text)     }
-  .rel.data      : { *(.rel.data)      }
-  .rela.data     : { *(.rela.data)     }
-  .rel.rodata    : { *(.rel.rodata)    }
-  .rela.rodata   : { *(.rela.rodata)   }
-  .rel.got       : { *(.rel.got)       }
-  .rela.got      : { *(.rela.got)      }
-  .rel.ctors     : { *(.rel.ctors)     }
-  .rela.ctors    : { *(.rela.ctors)    }
-  .rel.dtors     : { *(.rel.dtors)     }
-  .rela.dtors    : { *(.rela.dtors)    }
-  .rel.bss       : { *(.rel.bss)       }
-  .rela.bss      : { *(.rela.bss)      }
-  .rel.plt       : { *(.rel.plt)       }
-  .rela.plt      : { *(.rela.plt)      }
-  .init          : { *(.init)          }
-  .plt : { *(.plt) }
   .text      :
   {
-    /* WARNING - the following is hand-optimized to fit within */
-    /* the sector layout of our flash chips!   XXX FIXME XXX   */
-
-    arch/powerpc/cpu/mpc8xx/start.o            (.text)
-    arch/powerpc/cpu/mpc8xx/traps.o            (.text)
-    common/dlmalloc.o          (.text)
-    arch/powerpc/lib/ppcstring.o               (.text)
-    lib/vsprintf.o     (.text)
-    lib/crc32.o                (.text)
-    lib/zlib.o         (.text)
-    arch/powerpc/lib/cache.o           (.text)
-    arch/powerpc/lib/time.o            (.text)
-
-/*
-    . = env_offset;
-*/
-    common/env_embedded.o      (.ppcenv)
+    arch/powerpc/cpu/mpc8xx/start.o    (.text*)
+    arch/powerpc/cpu/mpc8xx/traps.o    (.text*)
 
-    *(.text)
-    *(.got1)
+    *(.text*)
   }
   _etext = .;
   PROVIDE (etext = .);
   .rodata    :
   {
-    *(.eh_frame)
     *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
   }
-  .fini      : { *(.fini)    } =0
-  .ctors     : { *(.ctors)   }
-  .dtors     : { *(.dtors)   }
 
   /* Read-write section, merged into data segment: */
   . = (. + 0x00FF) & 0xFFFFFF00;
@@ -90,23 +47,19 @@ SECTIONS
   PROVIDE (erotext = .);
   .reloc   :
   {
-    *(.got)
+    KEEP(*(.got))
     _GOT2_TABLE_ = .;
-    *(.got2)
+    KEEP(*(.got2))
     _FIXUP_TABLE_ = .;
-    *(.fixup)
+    KEEP(*(.fixup))
   }
   __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >>2;
   __fixup_entries = (. - _FIXUP_TABLE_)>>2;
 
   .data    :
   {
-    *(.data)
-    *(.data1)
-    *(.sdata)
-    *(.sdata2)
-    *(.dynamic)
-    CONSTRUCTORS
+    *(.data*)
+    *(.sdata*)
   }
   _edata  =  .;
   PROVIDE (edata = .);
@@ -132,9 +85,8 @@ SECTIONS
   __bss_start = .;
   .bss (NOLOAD)       :
   {
-   *(.sbss) *(.scommon)
-   *(.dynbss)
-   *(.bss)
+   *(.bss*)
+   *(.sbss*)
    *(COMMON)
    . = ALIGN(4);
   }
index 0b227dac0f294ab4eedcdfe5c58b0544fcdf8470..d463db4d8a9fc0e341ef081961852a3eae51d7a7 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := $(BOARD).o ethaddr.o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index c95f90eaab82d6797b6c797d1f00ed7a50687b14..4a1b249b4c5bf31c2e8d23b42ea4c6a51e362ce2 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := $(BOARD).o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 0067f056376f18fb43950a93c9db97aa49540890..e16b195c3c8cc9a1e6480ad1232727a58027bafc 100644 (file)
@@ -24,7 +24,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := voiceblue.o
 SOBJS  := setup.o
@@ -40,7 +40,7 @@ LOAD_ADDR = 0x10400000
 all:   $(obj).depend $(LIB) $(obj)eeprom.srec $(obj)eeprom.bin
 
 $(LIB):        $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $^
+       $(call cmd_link_o_target, $^)
 
 $(obj)eeprom_start.o:
        echo "b eeprom" | $(CC) $(AFLAGS) -c -x assembler -o $@ -
index c3599178da7b98a38658d90ae089b2802dc8a1be..f9acf63e9b2507a1d25caba8ec275d1b8a3b1e16 100644 (file)
@@ -21,7 +21,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := vpac270.o
 
@@ -29,7 +29,7 @@ SRCS  := $(COBJS:.o=.c)
 OBJS   := $(addprefix $(obj),$(COBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(OBJS)
index e481bb2880c61a9997e57d3aea25d2e66c2c4cbd..5c94870018eac5e8245a046f0cdd0d96a8143f7e 100644 (file)
@@ -26,7 +26,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o flash.o fpga.o fsboot.o post2.o vpd.o cmd_vpd.o \
          watchdog.o
@@ -37,7 +37,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $^
+       $(call cmd_link_o_target, $^)
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index dcb1907032b5df8d2f89bdcb23506a49bb1446c7..12e4aa6880eed591aade2b9cfdf2d64611b3a39f 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o flash.o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 36dd55dee45b561869345e0f2c6d373d13974114..206ec7054a0cd59ab7fc2df68a417d470a8c6fee 100644 (file)
  */
 
 OUTPUT_ARCH(powerpc)
-/* Do we need any of these for elf?
-   __DYNAMIC = 0;    */
+
 SECTIONS
 {
   /* Read-only sections, merged into text segment: */
   . = + SIZEOF_HEADERS;
-  .interp : { *(.interp) }
-  .hash          : { *(.hash)          }
-  .dynsym        : { *(.dynsym)                }
-  .dynstr        : { *(.dynstr)                }
-  .rel.text      : { *(.rel.text)              }
-  .rela.text     : { *(.rela.text)     }
-  .rel.data      : { *(.rel.data)              }
-  .rela.data     : { *(.rela.data)     }
-  .rel.rodata    : { *(.rel.rodata)    }
-  .rela.rodata   : { *(.rela.rodata)   }
-  .rel.got       : { *(.rel.got)               }
-  .rela.got      : { *(.rela.got)              }
-  .rel.ctors     : { *(.rel.ctors)     }
-  .rela.ctors    : { *(.rela.ctors)    }
-  .rel.dtors     : { *(.rel.dtors)     }
-  .rela.dtors    : { *(.rela.dtors)    }
-  .rel.bss       : { *(.rel.bss)               }
-  .rela.bss      : { *(.rela.bss)              }
-  .rel.plt       : { *(.rel.plt)               }
-  .rela.plt      : { *(.rela.plt)              }
-  .init          : { *(.init)  }
-  .plt : { *(.plt) }
   .text      :
   {
     /* WARNING - the following is hand-optimized to fit within */
     /* the sector layout of our flash chips!   XXX FIXME XXX   */
 
-    arch/powerpc/cpu/mpc8xx/start.o    (.text)
-    common/dlmalloc.o  (.text)
-    arch/powerpc/lib/ppcstring.o       (.text)
-    lib/vsprintf.o     (.text)
-    lib/crc32.o                (.text)
-    lib/zlib.o         (.text)
+    arch/powerpc/cpu/mpc8xx/start.o    (.text*)
+    arch/powerpc/cpu/mpc8xx/traps.o    (.text*)
+    net/libnet.o                       (.text*)
+    board/westel/amx860/libamx860.o    (.text*)
+    *(.text.*printf)
 
     . = env_offset;
-    common/env_embedded.o(.text)
+    common/env_embedded.o              (.text*)
 
-    *(.text)
-    *(.got1)
+    *(.text*)
   }
   _etext = .;
   PROVIDE (etext = .);
   .rodata    :
   {
-    *(.eh_frame)
     *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
   }
-  .fini      : { *(.fini)    } =0
-  .ctors     : { *(.ctors)   }
-  .dtors     : { *(.dtors)   }
 
   /* Read-write section, merged into data segment: */
   . = (. + 0x00FF) & 0xFFFFFF00;
@@ -85,23 +56,19 @@ SECTIONS
   PROVIDE (erotext = .);
   .reloc   :
   {
-    *(.got)
+    KEEP(*(.got))
     _GOT2_TABLE_ = .;
-    *(.got2)
+    KEEP(*(.got2))
     _FIXUP_TABLE_ = .;
-    *(.fixup)
+    KEEP(*(.fixup))
   }
   __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >>2;
   __fixup_entries = (. - _FIXUP_TABLE_)>>2;
 
   .data    :
   {
-    *(.data)
-    *(.data1)
-    *(.sdata)
-    *(.sdata2)
-    *(.dynamic)
-    CONSTRUCTORS
+    *(.data*)
+    *(.sdata*)
   }
   _edata  =  .;
   PROVIDE (edata = .);
@@ -127,9 +94,8 @@ SECTIONS
   __bss_start = .;
   .bss (NOLOAD)       :
   {
-   *(.sbss) *(.scommon)
-   *(.dynbss)
-   *(.bss)
+   *(.bss*)
+   *(.sbss*)
    *(COMMON)
    . = ALIGN(4);
   }
index 554915a6f98d0ac7329e8c28a0d86bcccb92ae54..0a2fe96ff32c7cbd819445c8248cc63f1087c37d 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := xaeniax.o flash.o
 
@@ -31,7 +31,7 @@ SRCS  := $(COBJS:.o=.c)
 OBJS   := $(addprefix $(obj),$(COBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(OBJS)
index 16e0b66218a446a684245b3392ab7835d0e4726c..7604f626bbc98f668c5f9eb4117dd76fb2bbca4f 100644 (file)
@@ -27,7 +27,7 @@ ifneq ($(OBJTREE),$(SRCTREE))
 $(shell mkdir -p $(obj)board/$(VENDOR)/common)
 endif
 
-LIB    = $(obj)lib$(VENDOR).a
+LIB    = $(obj)lib$(VENDOR).o
 
 COBJS-$(CONFIG_FSL_PCI_INIT)   += fsl_8xxx_pci.o
 COBJS-$(CONFIG_MPC8572)                += fsl_8xxx_clk.o
@@ -44,7 +44,7 @@ OBJS  := $(addprefix $(obj),$(COBJS-y))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index f425ceedc45664f90b48e13b3f84b3adb12f6429..4a0965bf08dfcaee9c8c24918c6eb52fc9dfa9e9 100644 (file)
@@ -95,7 +95,7 @@ void pci_init_board(void)
        if (!(devdisr & MPC85xx_DEVDISR_PCI1)) {
                SET_STD_PCI_INFO(pci_info[num], 1);
                pcie_ep = fsl_setup_hose(&pci1_hose, pci_info[num].regs);
-               printf("\n    PCI1: %d bit %s, %s %d MHz, %s, %s\n",
+               printf("PCI1: %d bit %s, %s %d MHz, %s, %s\n",
                        pci_32 ? 32 : 64,
                        pcix ? "PCIX" : "PCI",
                        pci_spd_norm ? ">=" : "<=",
@@ -106,7 +106,7 @@ void pci_init_board(void)
                first_free_busno = fsl_pci_init_port(&pci_info[num++],
                                        &pci1_hose, first_free_busno);
        } else {
-               printf("    PCI1: disabled\n");
+               printf("PCI1: disabled\n");
        }
 #elif defined CONFIG_MPC8548
        /* PCI1 not present on MPC8572 */
@@ -119,12 +119,12 @@ void pci_init_board(void)
        if (pcie_configured && !(devdisr & MPC8xxx_DEVDISR_PCIE1)) {
                SET_STD_PCIE_INFO(pci_info[num], 1);
                pcie_ep = fsl_setup_hose(&pcie1_hose, pci_info[num].regs);
-               printf("    PCIE1 connected as %s\n",
+               printf("PCIE1: connected as %s\n",
                        pcie_ep ? "Endpoint" : "Root Complex");
                first_free_busno = fsl_pci_init_port(&pci_info[num++],
                                        &pcie1_hose, first_free_busno);
        } else {
-               printf("    PCIE1: disabled\n");
+               printf("PCIE1: disabled\n");
        }
 #else
        setbits_be32(&gur->devdisr, MPC8xxx_DEVDISR_PCIE1);
@@ -136,12 +136,12 @@ void pci_init_board(void)
        if (pcie_configured && !(devdisr & MPC8xxx_DEVDISR_PCIE2)) {
                SET_STD_PCIE_INFO(pci_info[num], 2);
                pcie_ep = fsl_setup_hose(&pcie2_hose, pci_info[num].regs);
-               printf("    PCIE2 connected as %s\n",
+               printf("PCIE2: connected as %s\n",
                        pcie_ep ? "Endpoint" : "Root Complex");
                first_free_busno = fsl_pci_init_port(&pci_info[num++],
                                        &pcie2_hose, first_free_busno);
        } else {
-               printf("    PCIE2: disabled\n");
+               printf("PCIE2: disabled\n");
        }
 #else
        setbits_be32(&gur->devdisr, MPC8xxx_DEVDISR_PCIE2);
@@ -153,12 +153,12 @@ void pci_init_board(void)
        if (pcie_configured && !(devdisr & MPC8xxx_DEVDISR_PCIE3)) {
                SET_STD_PCIE_INFO(pci_info[num], 3);
                pcie_ep = fsl_setup_hose(&pcie3_hose, pci_info[num].regs);
-               printf("    PCIE3 connected as %s\n",
+               printf("PCIE3: connected as %s\n",
                        pcie_ep ? "Endpoint" : "Root Complex");
                first_free_busno = fsl_pci_init_port(&pci_info[num++],
                                        &pcie3_hose, first_free_busno);
        } else {
-               printf("    PCIE3: disabled\n");
+               printf("PCIE3: disabled\n");
        }
 #else
        setbits_be32(&gur->devdisr, MPC8xxx_DEVDISR_PCIE3);
index b93f2c3890ef77b66ed5f5a3afa2365c1501963b..5b0ffc29209a37d33567d66b67750008bba7309d 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o
 SOBJS  = init.o
@@ -33,7 +33,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index fea6686e699d6bbd1fb1243bf5c72178e263d3cc..cac32e93d208ede87ae2411493b58da40fec77dc 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y        += $(BOARD).o
 COBJS-y        += ddr.o
@@ -34,7 +34,7 @@ OBJS  := $(addprefix $(obj),$(COBJS-y))
 SOBJS  := $(addprefix $(obj),$(SOBJS-y))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(OBJS) $(SOBJS)
index 02fe8fcd2d31267c8c078b95ad688aefc8d619e6..a774816189fd5bfc2cd187f19a459ee0c6e361e6 100644 (file)
@@ -25,7 +25,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y        += $(BOARD).o
 COBJS-y        += ddr.o
@@ -37,7 +37,7 @@ OBJS  := $(addprefix $(obj),$(COBJS-y))
 SOBJS  := $(addprefix $(obj),$(SOBJS-y))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(OBJS) $(SOBJS)
index 919397c40d5148bc3debcc3e2485c932ad3a066b..86138f99e91aa56d4a241aa84744a0b8780d40ae 100644 (file)
@@ -15,7 +15,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y        += $(BOARD).o
 COBJS-y        += ddr.o
@@ -27,7 +27,7 @@ OBJS  := $(addprefix $(obj),$(COBJS-y))
 SOBJS  := $(addprefix $(obj),$(SOBJS-y))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(OBJS) $(SOBJS)
index 8980a4b3f6aae87a08873aee5243009492aa9123..7bc224c4495a8b6fc14534aa22e2ad180c1cefca 100644 (file)
@@ -9,7 +9,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS-y        += $(BOARD).o
 COBJS-y        += ddr.o
@@ -21,7 +21,7 @@ OBJS  := $(addprefix $(obj),$(COBJS-y))
 SOBJS  := $(addprefix $(obj),$(SOBJS-y))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(OBJS) $(SOBJS)
index 10b47b2ae54cb1436c8b68960685912695055e84..efe64d8e49d654f0c4ed4fa1748515e6c6613769 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $^
+       $(call cmd_link_o_target, $^)
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 4e87e4b5cea68e2cb545aa4e3e60b10db6f6b957..4b8e4f422f2b3c5b5f705aeea4a45ac3fa6405aa 100644 (file)
@@ -33,7 +33,7 @@ INCS          :=
 CFLAGS         += $(INCS)
 HOSTCFLAGS     += $(INCS)
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  += ../../xilinx/ppc405-generic/xilinx_ppc405_generic.o
 
@@ -42,7 +42,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $^
+       $(call cmd_link_o_target, $^)
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 11a8f69343c54dd348b8fffe4d5597f905a0e6d2..d84cf69ab9c35c8344b56d3ea6a367f62320c10c 100644 (file)
@@ -33,7 +33,7 @@ INCS          :=
 CFLAGS         += $(INCS)
 HOSTCFLAGS     += $(INCS)
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  += ../../xilinx/ppc440-generic/xilinx_ppc440_generic.o
 
@@ -44,7 +44,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $^
+       $(call cmd_link_o_target, $^)
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 11e2b304c28208970622f8f27b178c8479e2995e..4e86cc26f944dd6716705e12e9532a21c57620f7 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := xm250.o flash.o
 
@@ -31,7 +31,7 @@ SRCS  := $(COBJS:.o=.c)
 OBJS   := $(addprefix $(obj),$(COBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(OBJS)
index 55fb4c4343f0279dbeeea84ed053844c2c178a17..1ed026523c86fdbeff6fb3c723413704ce048aab 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  = $(BOARD).o update.o
 SOBJS   =
@@ -33,7 +33,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 8d452de63cb8d00e12208261274e3a739ca8ccaa..16eea07de03206681a061ee0b50332ac896f8914 100644 (file)
@@ -26,7 +26,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := zipitz2.o
 
@@ -34,7 +34,7 @@ SRCS  := $(COBJS:.o=.c)
 OBJS   := $(addprefix $(obj),$(COBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(OBJS)
index dc40d9b94a6dd89e249b38cbfa6e5b830fc11afd..9079aad8566d16e67b56e0a6b800bdb8a1a9c8c5 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := $(BOARD).o
 
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 89542356b7c2dd4b439e0989248bb36b71d82f61..3e57e49ba81ba535d7dca73d041869fc7626e971 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)lib$(BOARD).a
+LIB    = $(obj)lib$(BOARD).o
 
 COBJS  := zylonite.o nand.o
 SOBJS  := lowlevel_init.o
@@ -33,7 +33,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
 
 $(LIB):        $(obj).depend $(OBJS) $(SOBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+       $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
        rm -f $(SOBJS) $(OBJS)
index 6c2a6672ff314816a27a6806a76ee0b122cadc8a..22096767e3651537a059d56c9ca847527f971c11 100644 (file)
 #              #define CONFIG_HAS_BAR  1
 #              #define CONFIG_BAZ      64
 #
+# The list should be ordered according to the following fields,
+# from most to least significant:
+#
+#      ARCH, CPU, SoC, Vendor, Target
+#
 # To keep the list sorted, use something like
+#      :.,$! sort -bdf -k2,2 -k3,3 -k6,6 -k5,5 -k1,1
 #
-#      :.,$! sort -f -k2,2 -k3,3 -k6,6 -k5,5 -k1,1
+# To reformat the list, use something like
+#      :.,$! column -t
 #
-# Target       ARCH    CPU             Board name      Vendor          SoC             Options
-###############################################################################################
+# Target                     ARCH        CPU         Board name          Vendor                SoC         Options
+###########################################################################################################
 
-qong           arm     arm1136         -               davedenx        mx31
-mx31ads                arm     arm1136         -               freescale       mx31
-ep7312         arm     arm720t
-impa7          arm     arm720t
-SMN42          arm     arm720t         -               siemens         lpc2292
-evb4510                arm     arm720t         -               -               s3c4510b
-a320evb                arm     arm920t         -               faraday         a320
-cmc_pu2                arm     arm920t         -               -               at91rm9200
-csb637         arm     arm920t         -               -               at91rm9200
-kb9202         arm     arm920t         -               -               at91rm9200
-m501sk         arm     arm920t         -               -               at91rm9200
-mp2usb         arm     arm920t         -               -               at91rm9200
-mx1ads         arm     arm920t         -               -               imx
-mx1fs2         arm     arm920t         -               -               imx
-scb9328                arm     arm920t         -               -               imx
-cm4008         arm     arm920t         -               -               ks8695
-cm41xx         arm     arm920t         -               -               ks8695
-VCMA9          arm     arm920t         vcma9           mpl             s3c24x0
-netstar                arm     arm925t
-meesc          arm     arm926ejs       -               esd             at91
-otc570         arm     arm926ejs       -               esd             at91
-pm9261         arm     arm926ejs       -               ronetix         at91
-pm9263         arm     arm926ejs       -               ronetix         at91
-suen3          arm     arm926ejs       km_arm          keymile         kirkwood
-rd6281a                arm     arm926ejs       -               Marvell         kirkwood
-jadecpu                arm     arm926ejs       jadecpu         syteco          mb86r0x
-mx51evk                arm     armv7           mx51evk         freescale       mx5
-vision2                arm     armv7           vision2         ttcontrol       mx5
-actux1         arm     ixp
-actux2         arm     ixp
-actux3         arm     ixp
-actux4         arm     ixp
-ixdp425                arm     ixp
-balloon3       arm     pxa
-cerf250                arm     pxa
-cradle         arm     pxa
-csb226         arm     pxa
-innokom                arm     pxa
-lubbock                arm     pxa
-palmld         arm     pxa
-palmtc         arm     pxa
-pleb2          arm     pxa
-polaris                arm     pxa             trizepsiv       -               -               trizepsiv:POLARIS
-trizepsiv      arm     pxa
-vpac270_nor_128        arm     pxa             vpac270         -               -               vpac270:NOR,RAM_128M
-vpac270_nor_256        arm     pxa             vpac270         -               -               vpac270:NOR,RAM_256M
-vpac270_ond_256        arm     pxa             vpac270         -               -               vpac270:ONENAND,RAM_256M
-xaeniax                arm     pxa
-xm250          arm     pxa
-zipitz2                arm     pxa
-B2             arm     s3c44b0         -               dave
-assabet                arm     sa1100
-dnp1110                arm     sa1100
-gcplus         arm     sa1100
-lart           arm     sa1100
-shannon                arm     sa1100
-jornada                arm     sa1100
-mimc200                avr32   at32ap          -               mimc            at32ap700x
-ip04           blackfin        blackfin
-eNET           i386    i386            -               -               sc520
-idmr           m68k    mcf52x2
-TASREG         m68k    mcf52x2         tasreg          esd
-M5272C3                m68k    mcf52x2         m5272c3         freescale
-EP2500         m68k    mcf52x2         ep2500          Mercury
-purple         mips    mips
-tb0229         mips    mips
-PCI5441                nios2   nios2           pci5441         psyent
-PK1C20         nios2   nios2           pk1c20          psyent
-P3G4           powerpc 74xx_7xx        evb64260
-PCIPPC2                powerpc 74xx_7xx        pcippc2
-PCIPPC6                powerpc 74xx_7xx        pcippc2
-ppmc7xx                powerpc 74xx_7xx
-ZUMA           powerpc 74xx_7xx        evb64260
-BAB7xx         powerpc 74xx_7xx        bab7xx          eltec
-ELPPC          powerpc 74xx_7xx        elppc           eltec
-CPCI750                powerpc 74xx_7xx        cpci750         esd
-DB64360                powerpc 74xx_7xx        db64360         Marvell
-DB64460                powerpc 74xx_7xx        db64460         Marvell
-p3m7448                powerpc 74xx_7xx        p3mx            prodrive        -       p3mx:P3M7448
-p3m750         powerpc 74xx_7xx        p3mx            prodrive        -       p3mx:P3M750
-aria           powerpc mpc512x         -               davedenx
-PATI           powerpc mpc5xx          pati            mpl
-a4m072         powerpc mpc5xxx         a4m072
-BC3450         powerpc mpc5xxx         bc3450
-canmb          powerpc mpc5xxx
-cm5200         powerpc mpc5xxx
-inka4x0                powerpc mpc5xxx
-ipek01         powerpc mpc5xxx
-jupiter                powerpc mpc5xxx
-munices                powerpc mpc5xxx
-o2dnt          powerpc mpc5xxx
-PM520          powerpc mpc5xxx         pm520
-v38b           powerpc mpc5xxx
-pf5200         powerpc mpc5xxx         -               esd
-hmi1001                powerpc mpc5xxx         -               manroland
-mucmc52                powerpc mpc5xxx         -               manroland
-uc101          powerpc mpc5xxx         -               manroland
-MVSMR          powerpc mpc5xxx         mvsmr           matrix_vision
-aev            powerpc mpc5xxx         tqm5200         tqc
-TB5200         powerpc mpc5xxx         tqm5200         tqc
-lite5200b              powerpc mpc5xxx icecube         -               -       IceCube:MPC5200_DDR,LITE5200B
-lite5200b_PM           powerpc mpc5xxx icecube         -               -       IceCube:MPC5200_DDR,LITE5200B,LITE5200B_PM
-mcc200         powerpc mpc5xxx         mcc200          -               -       mcc200
-mcc200_COM12           powerpc mpc5xxx mcc200          -               -       mcc200:CONSOLE_COM12
-mcc200_highboot                powerpc mpc5xxx mcc200          -               -       mcc200:SYS_TEXT_BASE=0xFFF00000
-mcc200_SDRAM           powerpc mpc5xxx mcc200          -               -       mcc200:MCC200_SDRAM
-prs200         powerpc mpc5xxx         mcc200          -               -       mcc200:PRS200,MCC200_SDRAM
-prs200_DDR             powerpc mpc5xxx mcc200          -               -       mcc200:PRS200
-prs200_highboot                powerpc mpc5xxx mcc200          -               -       mcc200:PRS200,SYS_TEXT_BASE=0xFFF00000,MCC200_SDRAM
-TOP5200                powerpc mpc5xxx         top5200         emk             -       TOP5200:TOP5200
-pcm030         powerpc mpc5xxx         pcm030          phytec          -       pcm030
-cam5200                powerpc mpc5xxx         tqm5200         tqc             -       TQM5200:CAM5200,TQM5200S,TQM5200_B
-fo300          powerpc mpc5xxx         tqm5200         tqc             -       TQM5200:FO300
-MiniFAP                powerpc mpc5xxx         tqm5200         tqc             -       TQM5200:MINIFAP
-TQM5200                powerpc mpc5xxx         tqm5200         tqc             -       TQM5200:
-MVBC_P         powerpc mpc5xxx         mvbc_p          matrix_vision   -       MVBC_P:MVBC_P
-sorcery                powerpc mpc8220
-A3000          powerpc mpc824x         a3000
-barco          powerpc mpc824x
-BMW            powerpc mpc824x         bmw
-CU824          powerpc mpc824x         cu824
-eXalion                powerpc mpc824x         eXalion
-MOUSSE         powerpc mpc824x         mousse
-MUSENKI                powerpc mpc824x         musenki
-MVBLUE         powerpc mpc824x         mvblue
-OXC            powerpc mpc824x         oxc
-PN62           powerpc mpc824x         pn62
-sbc8240                powerpc mpc824x
-utx8245                powerpc mpc824x
-debris         powerpc mpc824x         -               etin
-kvme080                powerpc mpc824x         -               etin
-CPC45          powerpc mpc824x         cpc45           -               -       CPC45
-atc            powerpc mpc8260
-ep8248         powerpc mpc8260         ep8248
-ep8260         powerpc mpc8260
-ep82xxm                powerpc mpc8260
-gw8260         powerpc mpc8260
-hymod          powerpc mpc8260
-IDS8247                powerpc mpc8260         ids8247
-ISPAN          powerpc mpc8260         ispan
-sacsng         powerpc mpc8260
-sbc8260                powerpc mpc8260
-ZPC1900                powerpc mpc8260         zpc1900
-mgcoge         powerpc mpc8260         -               keymile
-SCM            powerpc mpc8260         -               siemens
-TQM8272                powerpc mpc8260         tqm8272         tqc
-CPU86          powerpc mpc8260         cpu86           -               -       CPU86
-CPU87          powerpc mpc8260         cpu87           -               -       CPU87
-PM825          powerpc mpc8260         pm826           -               -       PM826:PCI,SYS_TEXT_BASE=0xFF000000
-PM826          powerpc mpc8260         pm826           -               -       PM826:SYS_TEXT_BASE=0xFF000000
-PM828          powerpc mpc8260         pm828           -               -       PM828
-ep8248E                powerpc mpc8260         ep8248          -       -       ep8248
-Rattler                powerpc mpc8260         rattler         -       -       Rattler
-PQ2FADS                powerpc mpc8260         mpc8260ads      freescale       -       MPC8260ADS:ADSTYPE=CONFIG_SYS_PQ2FADS
-ve8313         powerpc mpc83xx         ve8313
-kmeter1                powerpc mpc83xx         kmeter1         keymile
-MVBLM7         powerpc mpc83xx         mvblm7          matrix_vision
-TQM834x                powerpc mpc83xx         tqm834x         tqc
-sbc8349                powerpc mpc83xx         sbc8349         -               -       sbc8349
-caddy2         powerpc mpc83xx         vme8349         esd             -       vme8349:CADDY2
-vme8349                powerpc mpc83xx         vme8349         esd             -       vme8349
-PM854          powerpc mpc85xx         pm854
-PM856          powerpc mpc85xx         pm856
-P1022DS                powerpc mpc85xx         p1022ds         freescale
-P2020DS                powerpc mpc85xx         p2020ds         freescale
-stxgp3         powerpc mpc85xx         stxgp3          stx
-P4080DS                powerpc mpc85xx         corenet_ds      freescale
-sbc8540                powerpc mpc85xx         sbc8560         -               -       SBC8540
-sbc8548                powerpc mpc85xx         sbc8548         -               -       sbc8548
-sbc8560                powerpc mpc85xx         sbc8560         -               -       sbc8560
-stxssa         powerpc mpc85xx         stxssa          stx             -       stxssa
-TQM8540                powerpc mpc85xx         tqm85xx         tqc             -       TQM85xx:MPC8540,TQM8540=y,HOSTNAME=tqm8540,BOARDNAME="TQM8540"
-TQM8541                powerpc mpc85xx         tqm85xx         tqc             -       TQM85xx:MPC8541,TQM8541=y,HOSTNAME=tqm8541,BOARDNAME="TQM8541"
-TQM8548                powerpc mpc85xx         tqm85xx         tqc             -       TQM85xx:MPC8548,TQM8548=y,HOSTNAME=tqm8548,BOARDNAME="TQM8548"
-TQM8555                powerpc mpc85xx         tqm85xx         tqc             -       TQM85xx:MPC8555,TQM8555=y,HOSTNAME=tqm8555,BOARDNAME="TQM8555"
-TQM8560                powerpc mpc85xx         tqm85xx         tqc             -       TQM85xx:MPC8560,TQM8560=y,HOSTNAME=tqm8560,BOARDNAME="TQM8560"
-Adder          powerpc mpc8xx          adder
-ADS860         powerpc mpc8xx          fads
-c2mon          powerpc mpc8xx
-EP88x          powerpc mpc8xx          ep88x
-ETX094         powerpc mpc8xx          etx094
-FADS823                powerpc mpc8xx          fads
-FLAGADM                powerpc mpc8xx          flagadm
-GEN860T                powerpc mpc8xx          gen860t
-GENIETV                powerpc mpc8xx          genietv
-hermes         powerpc mpc8xx
-ICU862         powerpc mpc8xx          icu862
-IP860          powerpc mpc8xx          ip860
-LANTEC         powerpc mpc8xx          lantec
-lwmon          powerpc mpc8xx
-MBX            powerpc mpc8xx          mbx8xx
-MBX860T                powerpc mpc8xx          mbx8xx
-NX823          powerpc mpc8xx          nx823
-quantum                powerpc mpc8xx
-R360MPI                powerpc mpc8xx          r360mpi
-RBC823         powerpc mpc8xx          rbc823
-rmu            powerpc mpc8xx
-RPXlite                powerpc mpc8xx
-spc1920                powerpc mpc8xx
-v37            powerpc mpc8xx
-MHPC           powerpc mpc8xx          mhpc            eltec
-TOP860         powerpc mpc8xx          top860          emk
-kmsupx4                powerpc mpc8xx          km8xx           keymile
-mgsuvd         powerpc mpc8xx          km8xx           keymile
-KUP4K          powerpc mpc8xx          kup4k           kup
-KUP4X          powerpc mpc8xx          kup4x           kup
-ELPT860                powerpc mpc8xx          elpt860         LEOX
-uc100          powerpc mpc8xx          -               manroland
-IAD210         powerpc mpc8xx          -               siemens
-QS823          powerpc mpc8xx          qs850           snmc
-QS850          powerpc mpc8xx          qs850           snmc
-QS860T         powerpc mpc8xx          qs860t          snmc
-stxxtc         powerpc mpc8xx          stxxtc          stx
-FPS850L                powerpc mpc8xx          tqm8xx          tqc
-FPS860L                powerpc mpc8xx          tqm8xx          tqc
-NSCU           powerpc mpc8xx          tqm8xx          tqc
-SM850          powerpc mpc8xx          tqm8xx          tqc
-TK885D         powerpc mpc8xx          tqm8xx          tqc
-TQM823L                powerpc mpc8xx          tqm8xx          tqc
-TQM823M                powerpc mpc8xx          tqm8xx          tqc
-TQM850L                powerpc mpc8xx          tqm8xx          tqc
-TQM850M                powerpc mpc8xx          tqm8xx          tqc
-TQM855L                powerpc mpc8xx          tqm8xx          tqc
-TQM855M                powerpc mpc8xx          tqm8xx          tqc
-TQM860L                powerpc mpc8xx          tqm8xx          tqc
-TQM860M                powerpc mpc8xx          tqm8xx          tqc
-TQM862L                powerpc mpc8xx          tqm8xx          tqc
-TQM862M                powerpc mpc8xx          tqm8xx          tqc
-TQM866M                powerpc mpc8xx          tqm8xx          tqc
-TQM885D                powerpc mpc8xx          tqm8xx          tqc
-AMX860         powerpc mpc8xx          amx860          westel
-AdderII                powerpc mpc8xx          adder           -               -       Adder:MPC852T
-IVML24         powerpc mpc8xx          ivm             -               -       IVML24:IVML24_16M
-IVMS8          powerpc mpc8xx          ivm             -               -       IVMS8:IVMS8_16M
-NETTA          powerpc mpc8xx          netta           -               -       NETTA
-NETTA2         powerpc mpc8xx          netta2          -               -       NETTA2:NETTA2_VERSION=1
-NETVIA         powerpc mpc8xx          netvia          -               -       NETVIA:NETVIA_VERSION=1
-TTTech         powerpc mpc8xx          tqm8xx          tqc             -       TQM823L:LCD,SHARP_LQ104V7DS01
-wtk            powerpc mpc8xx          tqm8xx          tqc             -       TQM823L:LCD,SHARP_LQ065T9DR51U
-csb272         powerpc ppc4xx
-csb472         powerpc ppc4xx
-ERIC           powerpc ppc4xx          eric
-G2000          powerpc ppc4xx          g2000
-JSE            powerpc ppc4xx          jse
-korat          powerpc ppc4xx
-lwmon5         powerpc ppc4xx
-ML2            powerpc ppc4xx          ml2
-sbc405         powerpc ppc4xx
-sc3            powerpc ppc4xx
-t3corp         powerpc ppc4xx
-W7OLMC         powerpc ppc4xx          w7o
-W7OLMG         powerpc ppc4xx          w7o
-zeus           powerpc ppc4xx
-acadia         powerpc ppc4xx          -               amcc
-bamboo         powerpc ppc4xx          -               amcc
-bubinga                powerpc ppc4xx          -               amcc
-ebony          powerpc ppc4xx          -               amcc
-katmai         powerpc ppc4xx          -               amcc
-luan           powerpc ppc4xx          -               amcc
-makalu         powerpc ppc4xx          -               amcc
-ocotea         powerpc ppc4xx          -               amcc
-redwood                powerpc ppc4xx          -               amcc
-taihu          powerpc ppc4xx          -               amcc
-taishan                powerpc ppc4xx          -               amcc
-walnut         powerpc ppc4xx          walnut          amcc
-yucca          powerpc ppc4xx          -               amcc
-AP1000         powerpc ppc4xx          ap1000          amirix
-CRAYL1         powerpc ppc4xx          L1              cray
-ADCIOP         powerpc ppc4xx          adciop          esd
-APC405         powerpc ppc4xx          apc405          esd
-AR405          powerpc ppc4xx          ar405           esd
-ASH405         powerpc ppc4xx          ash405          esd
-CANBT          powerpc ppc4xx          canbt           esd
-CMS700         powerpc ppc4xx          cms700          esd
-CPCI2DP                powerpc ppc4xx          cpci2dp         esd
-CPCI405                powerpc ppc4xx          cpci405         esd
-DP405          powerpc ppc4xx          dp405           esd
-DU405          powerpc ppc4xx          du405           esd
-DU440          powerpc ppc4xx          du440           esd
-HH405          powerpc ppc4xx          hh405           esd
-HUB405         powerpc ppc4xx          hub405          esd
-OCRTC          powerpc ppc4xx          ocrtc           esd
-PCI405         powerpc ppc4xx          pci405          esd
-PLU405         powerpc ppc4xx          plu405          esd
-PMC405         powerpc ppc4xx          pmc405          esd
-PMC440         powerpc ppc4xx          pmc440          esd
-VOH405         powerpc ppc4xx          voh405          esd
-VOM405         powerpc ppc4xx          vom405          esd
-WUH405         powerpc ppc4xx          wuh405          esd
-neo            powerpc ppc4xx          -               gdsys
-icon           powerpc ppc4xx          -               mosaixtech
-MIP405         powerpc ppc4xx          mip405          mpl
-PIP405         powerpc ppc4xx          pip405          mpl
-hcu4           powerpc ppc4xx          hcu4            netstal
-hcu5           powerpc ppc4xx          hcu5            netstal
-mcu25          powerpc ppc4xx          mcu25           netstal
-alpr           powerpc ppc4xx          -               prodrive
-p3p440         powerpc ppc4xx          -               prodrive
-KAREF          powerpc ppc4xx          karef           sandburst
-acadia_nand            powerpc ppc4xx  acadia          amcc            -       acadia:NAND_U_BOOT=y,SYS_TEXT_BASE=0x01000000
-bamboo_nand            powerpc ppc4xx  bamboo          amcc            -       bamboo:NAND_U_BOOT=y,SYS_TEXT_BASE=0x01000000
-haleakala_nand         powerpc ppc4xx  kilauea         amcc            -       kilauea:NAND_U_BOOT=y,SYS_TEXT_BASE=0x01000000
-kilauea                powerpc ppc4xx          kilauea         amcc            -       kilauea:KILAUEA
-kilauea_nand           powerpc ppc4xx  kilauea         amcc            -       kilauea:NAND_U_BOOT=y,SYS_TEXT_BASE=0x01000000
-rainier                powerpc ppc4xx          sequoia         amcc            -       sequoia:RAINIER
-rainier_nand           powerpc ppc4xx  sequoia         amcc            -       sequoia:RAINIER,NAND_U_BOOT=y,SYS_TEXT_BASE=0x01000000
-rainier_ramboot                powerpc ppc4xx  sequoia         amcc            -       sequoia:RAINIER,SYS_RAMBOOT,SYS_TEXT_BASE=0x01000000,SYS_LDSCRIPT=board/amcc/sequoia/u-boot-ram.lds
-sequoia                powerpc ppc4xx          sequoia         amcc            -       sequoia:SEQUOIA
-sequoia_nand           powerpc ppc4xx  sequoia         amcc            -       sequoia:SEQUOIA,NAND_U_BOOT=y,SYS_TEXT_BASE=0x01000000
-sequoia_ramboot                powerpc ppc4xx  sequoia         amcc            -       sequoia:SEQUOIA,SYS_RAMBOOT,SYS_TEXT_BASE=0x01000000,SYS_LDSCRIPT=board/amcc/sequoia/u-boot-ram.lds
-fx12mm         powerpc ppc4xx          fx12mm          avnet           -       fx12mm:SYS_TEXT_BASE=0x03000000,SYS_LDSCRIPT=$(SRCTREE)/board/xilinx/ppc405-generic/u-boot-ram.lds
-fx12mm_flash           powerpc ppc4xx  fx12mm          avnet           -       fx12mm:SYS_TEXT_BASE=0xFFCB0000,SYS_LDSCRIPT=$(SRCTREE)/board/xilinx/ppc405-generic/u-boot-rom.lds
-intip          powerpc ppc4xx          intip           gdsys           -       intip:INTIB
-MIP405T                powerpc ppc4xx          mip405          mpl             -       MIP405:MIP405T
-ml507          powerpc ppc4xx          ml507           xilinx          -       ml507:SYS_TEXT_BASE=0x04000000,SYS_LDSCRIPT=$(SRCTREE)/board/xilinx/ppc440-generic/u-boot-ram.lds
-ml507_flash            powerpc ppc4xx  ml507           xilinx          -       ml507:SYS_TEXT_BASE=0xFE360000,SYS_LDSCRIPT=$(SRCTREE)/board/xilinx/ppc440-generic/u-boot-rom.lds
-arches         powerpc ppc4xx          canyonlands     amcc            -       canyonlands:ARCHES
-glacier                powerpc ppc4xx          canyonlands     amcc            -       canyonlands:GLACIER
-glacier_nand           powerpc ppc4xx  canyonlands     amcc            -       canyonlands:GLACIER,NAND_U_BOOT=y,SYS_TEXT_BASE=0x01000000
-v5fx30teval            powerpc ppc4xx  v5fx30teval     avnet           -       v5fx30teval:SYS_TEXT_BASE=0x03000000,SYS_LDSCRIPT=$(SRCTREE)/board/xilinx/ppc440-generic/u-boot-ram.lds
-grsim          sparc   leon3           -               gaisler
-PM825_ROMBOOT_BIGFLASH   powerpc  mpc8260  pm826       -               -       PM826:PCI,BOOT_ROM,FLASH_32MB,SYS_TEXT_BASE=0xFF800000
-PM826_ROMBOOT_BIGFLASH   powerpc  mpc8260  pm826       -               -       PM826:BOOT_ROM,FLASH_32MB,SYS_TEXT_BASE=0xFF800000
-imx31_litekit  arm     arm1136         -               logicpd         mx31
-omap2420h4     arm     arm1136         -               ti              omap24xx
-tnetv107x_evm  arm     arm1176         tnetv107xevm    ti              tnetv107x
-armadillo      arm     arm720t
-modnet50       arm     arm720t
-lpc2292sodimm  arm     arm720t         -               -               lpc2292
-eb_cpux9k2     arm     arm920t         -               BuS             at91
-at91rm9200dk   arm     arm920t         -               atmel           at91rm9200
-at91rm9200ek   arm     arm920t         -               atmel           at91
-sbc2410x       arm     arm920t         -               -               s3c24x0
-smdk2400       arm     arm920t         -               samsung         s3c24x0
-smdk2410       arm     arm920t         -               samsung         s3c24x0
-voiceblue      arm     arm925t
-omap1510inn    arm     arm925t         -               ti
-afeb9260       arm     arm926ejs       -               -               at91
-at91cap9adk    arm     arm926ejs       -               atmel           at91
-davinci_dvevm  arm     arm926ejs       dvevm           davinci         davinci
-davinci_sffsdr arm     arm926ejs       sffsdr          davinci         davinci
-davinci_sonata arm     arm926ejs       sonata          davinci         davinci
-da830evm       arm     arm926ejs       da8xxevm        davinci         davinci
-da850evm       arm     arm926ejs       da8xxevm        davinci         davinci
-guruplug       arm     arm926ejs       -               Marvell         kirkwood
-mv88f6281gtw_ge        arm     arm926ejs       -               Marvell         kirkwood
-openrd_base    arm     arm926ejs       -               Marvell         kirkwood
-sheevaplug     arm     arm926ejs       -               Marvell         kirkwood
-imx27lite      arm     arm926ejs       imx27lite       logicpd         mx27
-magnesium      arm     arm926ejs       imx27lite       logicpd         mx27
-omap5912osk    arm     arm926ejs       -               ti              omap
-edminiv2       arm     arm926ejs       -               LaCie           orion5x
-ca9x4_ct_vxp   arm     armv7           vexpress        armltd
-omap3_overo    arm     armv7           overo           -               omap3
-omap3_pandora  arm     armv7           pandora         -               omap3
-omap3_zoom1    arm     armv7           zoom1           logicpd         omap3
-omap3_zoom2    arm     armv7           zoom2           logicpd         omap3
-omap3_beagle   arm     armv7           beagle          ti              omap3
-omap3_evm      arm     armv7           evm             ti              omap3
-omap3_sdp3430  arm     armv7           sdp3430         ti              omap3
-igep0020       arm     armv7           igep0020        isee            omap3
-igep0030       arm     armv7           igep0030        isee            omap3
-am3517_evm     arm     armv7           am3517evm       logicpd         omap3
-devkit8000     arm     armv7           devkit8000      timll           omap3
-omap4_panda    arm     armv7           panda           ti              omap4
-omap4_sdp4430  arm     armv7           sdp4430         ti              omap4
-s5p_goni       arm     armv7           goni            samsung         s5pc1xx
-smdkc100       arm     armv7           smdkc100        samsung         s5pc1xx
-ixdpg425       arm     ixp
-lpd7a400       arm     lh7a40x         lpd7a40x
-lpd7a404       arm     lh7a40x         lpd7a40x
-colibri_pxa270 arm     pxa
-pxa255_idp     arm     pxa
-zylonite       arm     pxa
-atngw100       avr32   at32ap          -               atmel           at32ap700x
-atstk1002      avr32   at32ap          atstk1000       atmel           at32ap700x
-atstk1003      avr32   at32ap          atstk1000       atmel           at32ap700x
-atstk1004      avr32   at32ap          atstk1000       atmel           at32ap700x
-atstk1006      avr32   at32ap          atstk1000       atmel           at32ap700x
-favr-32-ezkit  avr32   at32ap          -               earthlcd        at32ap700x
-hammerhead     avr32   at32ap          -               miromico        at32ap700x
-bct-brettl2    blackfin        blackfin
-bf518f-ezbrd   blackfin        blackfin
-bf526-ezbrd    blackfin        blackfin
-bf527-ezkit    blackfin        blackfin
-bf527-ezkit-v2 blackfin        blackfin        bf527-ezkit     -       -       bf527-ezkit:BF527_EZKIT_REV_2_1
-bf527-sdp      blackfin        blackfin
-bf533-ezkit    blackfin        blackfin
-bf533-stamp    blackfin        blackfin
-bf537-minotaur blackfin        blackfin
-bf537-pnav     blackfin        blackfin
-bf537-srv1     blackfin        blackfin
-bf537-stamp    blackfin        blackfin
-bf538f-ezkit   blackfin        blackfin
-bf548-ezkit    blackfin        blackfin
-bf561-acvilon  blackfin        blackfin
-bf561-ezkit    blackfin        blackfin
-blackstamp     blackfin        blackfin
-blackvme       blackfin        blackfin
-cm-bf527       blackfin        blackfin
-cm-bf533       blackfin        blackfin
-cm-bf537e      blackfin        blackfin
-cm-bf537u      blackfin        blackfin
-cm-bf548       blackfin        blackfin
-cm-bf561       blackfin        blackfin
-ibf-dsp561     blackfin        blackfin
-tcm-bf518      blackfin        blackfin
-tcm-bf537      blackfin        blackfin
-M5208EVBE      m68k    mcf52x2         m5208evbe       freescale
-M5249EVB       m68k    mcf52x2         m5249evb        freescale
-M5253DEMO      m68k    mcf52x2         m5253demo       freescale
-M5253EVBE      m68k    mcf52x2         m5253evbe       freescale
-M5271EVB       m68k    mcf52x2         m5271evb        freescale
-M5275EVB       m68k    mcf52x2         m5275evb        freescale
-M5282EVB       m68k    mcf52x2         m5282evb        freescale
-M53017EVB      m68k    mcf52x2         m53017evb       freescale
-mpc7448hpc2    powerpc 74xx_7xx        mpc7448hpc2     freescale
-EVB64260       powerpc 74xx_7xx        evb64260        -               -       EVB64260
-EVB64260_750CX powerpc 74xx_7xx        evb64260        -               -       EVB64260
-pdm360ng       powerpc mpc512x
-mecp5123       powerpc mpc512x         -               esd
-mpc5121ads     powerpc mpc512x         mpc5121ads      freescale
-mpc5121ads_rev2        powerpc mpc512x         mpc5121ads      freescale       -       mpc5121ads:MPC5121ADS_REV2
-cmi_mpc5xx     powerpc mpc5xx          cmi
-digsy_mtc      powerpc mpc5xxx         digsy_mtc
-motionpro      powerpc mpc5xxx
-cpci5200       powerpc mpc5xxx         -               esd
-mecp5200       powerpc mpc5xxx         -               esd
-icecube_5200   powerpc mpc5xxx         icecube         -               -       IceCube
-icecube_5200_DDR       powerpc mpc5xxx icecube         -               -       IceCube:MPC5200_DDR
-icecube_5200_LOWBOOT   powerpc mpc5xxx icecube         -               -       IceCube:SYS_TEXT_BASE=0xFF000000
-icecube_5200_LOWBOOT08 powerpc mpc5xxx icecube         -               -       IceCube:SYS_TEXT_BASE=0xFF800000
-Lite5200       powerpc mpc5xxx         icecube         -               -       IceCube
-lite5200b_LOWBOOT      powerpc mpc5xxx icecube         -               -       IceCube:MPC5200_DDR,LITE5200B,SYS_TEXT_BASE=0xFF000000
-Lite5200_LOWBOOT       powerpc mpc5xxx icecube         -               -       IceCube:SYS_TEXT_BASE=0xFF000000
-Lite5200_LOWBOOT08     powerpc mpc5xxx icecube         -               -       IceCube:SYS_TEXT_BASE=0xFF800000
-mcc200_COM12_highboot  powerpc mpc5xxx mcc200          -               -       mcc200:CONSOLE_COM12,SYS_TEXT_BASE=0xFFF00000
-mcc200_COM12_SDRAM     powerpc mpc5xxx mcc200          -               -       mcc200:CONSOLE_COM12,MCC200_SDRAM
-mcc200_highboot_SDRAM  powerpc mpc5xxx mcc200          -               -       mcc200:SYS_TEXT_BASE=0xFFF00000,MCC200_SDRAM
-PM520_DDR      powerpc mpc5xxx         pm520           -               -       PM520:MPC5200_DDR
-PM520_ROMBOOT  powerpc mpc5xxx         pm520           -               -       PM520:BOOT_ROM
-prs200_highboot_DDR    powerpc mpc5xxx mcc200          -               -       mcc200:PRS200,SYS_TEXT_BASE=0xFFF00000
-EVAL5200       powerpc mpc5xxx         top5200         emk             -       TOP5200:EVAL5200
-MINI5200       powerpc mpc5xxx         top5200         emk             -       TOP5200:MINI5200
-pcm030_LOWBOOT powerpc mpc5xxx         pcm030          phytec          -       pcm030:SYS_TEXT_BASE=0xFF000000
-cam5200_niosflash      powerpc mpc5xxx tqm5200         tqc             -       TQM5200:CAM5200,TQM5200S,TQM5200_B,CAM5200_NIOSFLASH
-TB5200_B       powerpc mpc5xxx         tqm5200         tqc             -       TB5200:TQM5200_B
-TQM5200S       powerpc mpc5xxx         tqm5200         tqc             -       TQM5200:TQM5200_B,TQM5200S
-TQM5200S_HIGHBOOT      powerpc mpc5xxx tqm5200         tqc             -       TQM5200:TQM5200_B,TQM5200S,SYS_TEXT_BASE=0xFFF00000
-TQM5200_B      powerpc mpc5xxx         tqm5200         tqc             -       TQM5200:TQM5200_B
-TQM5200_B_HIGHBOOT     powerpc mpc5xxx tqm5200         tqc             -       TQM5200:TQM5200_B,SYS_TEXT_BASE=0xFFF00000
-TQM5200_STK100 powerpc mpc5xxx         tqm5200         tqc             -       TQM5200:STK52XX_REV100
-galaxy5200     powerpc mpc5xxx         galaxy5200      -               -       galaxy5200:galaxy5200
-Total5200      powerpc mpc5xxx         total5200       -               -       Total5200:TOTAL5200_REV=1
-Total5200_lowboot      powerpc mpc5xxx total5200       -               -       Total5200:TOTAL5200_REV=1,SYS_TEXT_BASE=0xFE000000
-Total5200_Rev2 powerpc mpc5xxx         total5200       -               -       Total5200:TOTAL5200_REV=2
-Total5200_Rev2_lowboot powerpc mpc5xxx total5200       -               -       Total5200:TOTAL5200_REV=2,SYS_TEXT_BASE=0xFE000000
-Alaska8220     powerpc mpc8220         alaska
-Yukon8220      powerpc mpc8220         alaska
-HIDDEN_DRAGON  powerpc mpc824x         hidden_dragon
-Sandpoint8240  powerpc mpc824x         sandpoint
-Sandpoint8245  powerpc mpc824x         sandpoint
-CPC45_ROMBOOT  powerpc mpc824x         cpc45           -               -       CPC45:BOOT_ROM
-cogent_mpc8260 powerpc mpc8260         cogent
-IPHASE4539     powerpc mpc8260         iphase4539
-muas3001       powerpc mpc8260         muas3001
-ppmc8260       powerpc mpc8260
-RPXsuper       powerpc mpc8260         rpxsuper
-rsdproto       powerpc mpc8260
-MPC8266ADS     powerpc mpc8260         mpc8266ads      freescale
-CPU86_ROMBOOT  powerpc mpc8260         cpu86           -               -       CPU86:BOOT_ROM
-CPU87_ROMBOOT  powerpc mpc8260         cpu87           -               -       CPU87:BOOT_ROM
-ISPAN_REVB     powerpc mpc8260         ispan           -               -       ISPAN:SYS_REV_B
-PM825_BIGFLASH powerpc mpc8260         pm826           -               -       PM826:PCI,FLASH_32MB,SYS_TEXT_BASE=0x40000000
-PM825_ROMBOOT  powerpc mpc8260         pm826           -               -       PM826:PCI,BOOT_ROM,SYS_TEXT_BASE=0xFF800000
-PM826_BIGFLASH powerpc mpc8260         pm826           -               -       PM826:FLASH_32MB,SYS_TEXT_BASE=0x40000000
-PM826_ROMBOOT  powerpc mpc8260         pm826           -               -       PM826:BOOT_ROM,SYS_TEXT_BASE=0xFF800000
-PM828_PCI      powerpc mpc8260         pm828           -               -       PM828:PCI
-PM828_ROMBOOT  powerpc mpc8260         pm828           -               -       PM828:BOOT_ROM,SYS_TEXT_BASE=0xFF800000
-Rattler8248    powerpc mpc8260         rattler         -               -       Rattler:MPC8248
-TQM8255_AA     powerpc mpc8260         tqm8260         tqc             -       TQM8260:MPC8255,300MHz
-TQM8260_AA     powerpc mpc8260         tqm8260         tqc             -       TQM8260:MPC8260,200MHz
-TQM8260_AB     powerpc mpc8260         tqm8260         tqc             -       TQM8260:MPC8260,200MHz,L2_CACHE,BUSMODE_60x
-TQM8260_AC     powerpc mpc8260         tqm8260         tqc             -       TQM8260:MPC8260,200MHz,L2_CACHE,BUSMODE_60x
-TQM8260_AD     powerpc mpc8260         tqm8260         tqc             -       TQM8260:MPC8260,300MHz,BUSMODE_60x
-TQM8260_AE     powerpc mpc8260         tqm8260         tqc             -       TQM8260:MPC8260,266MHz
-TQM8260_AF     powerpc mpc8260         tqm8260         tqc             -       TQM8260:MPC8260,300MHz,BUSMODE_60x
-TQM8260_AG     powerpc mpc8260         tqm8260         tqc             -       TQM8260:MPC8260,300MHz
-TQM8260_AH     powerpc mpc8260         tqm8260         tqc             -       TQM8260:MPC8260,300MHz,L2_CACHE,BUSMODE_60x
-TQM8260_AI     powerpc mpc8260         tqm8260         tqc             -       TQM8260:MPC8260,300MHz,BUSMODE_60x
-TQM8265_AA     powerpc mpc8260         tqm8260         tqc             -       TQM8260:MPC8265,300MHz,BUSMODE_60x
-muas3001_dev   powerpc mpc8260         muas3001        -               -       muas3001:MUAS_DEV_BOARD
-MPC8260ADS     powerpc mpc8260         mpc8260ads      freescale       -       MPC8260ADS:ADSTYPE=CONFIG_SYS_8260ADS
-MPC8272ADS     powerpc mpc8260         mpc8260ads      freescale       -       MPC8260ADS:ADSTYPE=CONFIG_SYS_8272ADS
-PQ2FADS-VR     powerpc mpc8260         mpc8260ads      freescale       -       MPC8260ADS:ADSTYPE=CONFIG_SYS_PQ2FADS,8260_CLKIN=66000000
-PQ2FADS-ZU     powerpc mpc8260         mpc8260ads      freescale       -       MPC8260ADS:ADSTYPE=CONFIG_SYS_PQ2FADS
-PQ2FADS_lowboot        powerpc mpc8260         mpc8260ads      freescale       -       MPC8260ADS:ADSTYPE=CONFIG_SYS_PQ2FADS,SYS_TEXT_BASE=0xFF800000
-VoVPN-GW_66MHz powerpc mpc8260         vovpn-gw        funkwerk        -       VoVPN-GW:CLKIN_66MHz
-MPC8308RDB     powerpc mpc83xx         mpc8308rdb      freescale
-MPC8323ERDB    powerpc mpc83xx         mpc8323erdb     freescale
-MPC8349EMDS    powerpc mpc83xx         mpc8349emds     freescale
-MPC837XERDB    powerpc mpc83xx         mpc837xerdb     freescale
-sbc8349_PCI_33 powerpc mpc83xx         sbc8349         -               -       sbc8349:PCI,PCI_33M
-sbc8349_PCI_66 powerpc mpc83xx         sbc8349         -               -       sbc8349:PCI,PCI_66M
-SIMPC8313_LP   powerpc mpc83xx         simpc8313       sheldon         -       SIMPC8313:NAND_LP
-SIMPC8313_SP   powerpc mpc83xx         simpc8313       sheldon         -       SIMPC8313:NAND_SP
-MPC8313ERDB_33 powerpc mpc83xx         mpc8313erdb     freescale       -       MPC8313ERDB:SYS_33MHZ
-MPC8313ERDB_66 powerpc mpc83xx         mpc8313erdb     freescale       -       MPC8313ERDB:SYS_66MHZ
-MPC8315ERDB    powerpc mpc83xx         mpc8315erdb     freescale       -       MPC8315ERDB
-MPC832XEMDS    powerpc mpc83xx         mpc832xemds     freescale       -       MPC832XEMDS:
-MPC832XEMDS_ATM        powerpc mpc83xx         mpc832xemds     freescale       -       MPC832XEMDS:PQ_MDS_PIB=1,PQ_MDS_PIB_ATM=1
-MPC8349ITX     powerpc mpc83xx         mpc8349itx      freescale       -       MPC8349ITX:MPC8349ITX
-MPC8349ITXGP   powerpc mpc83xx         mpc8349itx      freescale       -       MPC8349ITX:MPC8349ITXGP,SYS_TEXT_BASE=0xFE000000
-MPC8360EMDS    powerpc mpc83xx         mpc8360emds     freescale       -       MPC8360EMDS:
-MPC8360EMDS_ATM        powerpc mpc83xx         mpc8360emds     freescale       -       MPC8360EMDS:PQ_MDS_PIB=1,PQ_MDS_PIB_ATM=1
-MPC8360ERDK    powerpc mpc83xx         mpc8360erdk     freescale       -       MPC8360ERDK
-MPC8360ERDK_33 powerpc mpc83xx         mpc8360erdk     freescale       -       MPC8360ERDK:CLKIN_33MHZ
-MPC8360ERDK_66 powerpc mpc83xx         mpc8360erdk     freescale       -       MPC8360ERDK
-MPC837XEMDS    powerpc mpc83xx         mpc837xemds     freescale       -       MPC837XEMDS
-ATUM8548       powerpc mpc85xx         atum8548
-socrates       powerpc mpc85xx         socrates
-MPC8540ADS     powerpc mpc85xx         mpc8540ads      freescale
-MPC8544DS      powerpc mpc85xx         mpc8544ds       freescale
-MPC8560ADS     powerpc mpc85xx         mpc8560ads      freescale
-MPC8568MDS     powerpc mpc85xx         mpc8568mds      freescale
-xpedite520x    powerpc mpc85xx         -               xes
-xpedite537x    powerpc mpc85xx         -               xes
-xpedite550x    powerpc mpc85xx         -               xes
-sbc8540_33     powerpc mpc85xx         sbc8560         -               -       SBC8540
-sbc8540_66     powerpc mpc85xx         sbc8560         -               -       SBC8540
-sbc8548_PCI_33 powerpc mpc85xx         sbc8548         -               -       sbc8548:PCI,33
-sbc8548_PCI_66 powerpc mpc85xx         sbc8548         -               -       sbc8548:PCI,66
-sbc8560_33     powerpc mpc85xx         sbc8560         -               -       sbc8560
-sbc8560_66     powerpc mpc85xx         sbc8560         -               -       sbc8560
-stxssa_4M      powerpc mpc85xx         stxssa          stx             -       stxssa:STXSSA_4M
-TQM8548_AG     powerpc mpc85xx         tqm85xx         tqc             -       TQM85xx:MPC8548,TQM8548_AG=y,HOSTNAME=tqm8485,BOARDNAME="TQM8548_AG"
-TQM8548_BE     powerpc mpc85xx         tqm85xx         tqc             -       TQM85xx:MPC8548,TQM8548_BE=y,HOSTNAME=tqm8548,BOARDNAME="TQM8548_BE"
-MPC8540EVAL    powerpc mpc85xx         mpc8540eval     -               -       MPC8540EVAL:SYSCLK_66M
-MPC8540EVAL_33 powerpc mpc85xx         mpc8540eval     -               -       MPC8540EVAL
-MPC8540EVAL_66 powerpc mpc85xx         mpc8540eval     -               -       MPC8540EVAL:SYSCLK_66M
-P2020DS_36BIT  powerpc mpc85xx         p2020ds         freescale       -       P2020DS:36BIT
-MPC8536DS      powerpc mpc85xx         mpc8536ds       freescale       -       MPC8536DS
-MPC8536DS_36BIT        powerpc mpc85xx         mpc8536ds       freescale       -       MPC8536DS:36BIT
-MPC8536DS_NAND powerpc mpc85xx         mpc8536ds       freescale       -       MPC8536DS:NAND
-MPC8541CDS     powerpc mpc85xx         mpc8541cds      freescale       -       MPC8541CDS
-MPC8548CDS     powerpc mpc85xx         mpc8548cds      freescale       -       MPC8548CDS
-MPC8555CDS     powerpc mpc85xx         mpc8555cds      freescale       -       MPC8555CDS
-MPC8569MDS     powerpc mpc85xx         mpc8569mds      freescale       -       MPC8569MDS
-MPC8569MDS_ATM powerpc mpc85xx         mpc8569mds      freescale       -       MPC8569MDS:ATM
-MPC8569MDS_NAND        powerpc mpc85xx         mpc8569mds      freescale       -       MPC8569MDS:NAND
-MPC8572DS      powerpc mpc85xx         mpc8572ds       freescale       -       MPC8572DS
-MPC8572DS_36BIT        powerpc mpc85xx         mpc8572ds       freescale       -       MPC8572DS:36BIT
-P1011RDB       powerpc mpc85xx         p1_p2_rdb       freescale       -       P1_P2_RDB:P1011
-P1011RDB_NAND  powerpc mpc85xx         p1_p2_rdb       freescale       -       P1_P2_RDB:P1011,NAND
-P1011RDB_SDCARD        powerpc mpc85xx         p1_p2_rdb       freescale       -       P1_P2_RDB:P1011,SDCARD
-P1020RDB       powerpc mpc85xx         p1_p2_rdb       freescale       -       P1_P2_RDB:P1020RDB
-P1020RDB_NAND  powerpc mpc85xx         p1_p2_rdb       freescale       -       P1_P2_RDB:P1020RDB,NAND
-P1020RDB_SDCARD        powerpc mpc85xx         p1_p2_rdb       freescale       -       P1_P2_RDB:P1020RDB,SDCARD
-P2010RDB       powerpc mpc85xx         p1_p2_rdb       freescale       -       P1_P2_RDB:P2010
-P2010RDB_NAND  powerpc mpc85xx         p1_p2_rdb       freescale       -       P1_P2_RDB:P2010,NAND
-P2010RDB_SDCARD        powerpc mpc85xx         p1_p2_rdb       freescale       -       P1_P2_RDB:P2010,SDCARD
-P2020DS_DDR2   powerpc mpc85xx         p1_p2_rdb       freescale       -       P1_P2_RDB:P2020,DDR2
-P2020RDB       powerpc mpc85xx         p1_p2_rdb       freescale       -       P1_P2_RDB:P2020
-P2020RDB_NAND  powerpc mpc85xx         p1_p2_rdb       freescale       -       P1_P2_RDB:P2020,NAND
-P2020RDB_SDCARD        powerpc mpc85xx         p1_p2_rdb       freescale       -       P1_P2_RDB:P2020,SDCARD
-sbc8641d       powerpc mpc86xx
-MPC8610HPCD    powerpc mpc86xx         mpc8610hpcd     freescale
-xpedite517x    powerpc mpc86xx         -               xes
-MPC8641HPCN    powerpc mpc86xx         mpc8641hpcn     freescale       -       MPC8641HPCN
-cogent_mpc8xx  powerpc mpc8xx          cogent
-ESTEEM192E     powerpc mpc8xx          esteem192e
-FADS850SAR     powerpc mpc8xx          fads
-FADS860T       powerpc mpc8xx          fads
-MPC86xADS      powerpc mpc8xx          fads
-MPC885ADS      powerpc mpc8xx          fads
-RPXClassic     powerpc mpc8xx
-RRvision       powerpc mpc8xx
-SPD823TS       powerpc mpc8xx          spd8xx
-svm_sc8xx      powerpc mpc8xx
-SXNI855T       powerpc mpc8xx          sixnet
-virtlab2       powerpc mpc8xx          tqm8xx          tqc
-Adder87x       powerpc mpc8xx          adder           -               -       Adder
-AdderUSB       powerpc mpc8xx          adder           -               -       Adder
-GEN860T_SC     powerpc mpc8xx          gen860t         -               -       GEN860T:SC
-ICU862_100MHz  powerpc mpc8xx          icu862          -               -       ICU862:100MHz
-IVML24_128     powerpc mpc8xx          ivm             -               -       IVML24:IVML24_32M
-IVML24_256     powerpc mpc8xx          ivm             -               -       IVML24:IVML24_64M
-IVMS8_128      powerpc mpc8xx          ivm             -               -       IVMS8:IVMS8_32M
-IVMS8_256      powerpc mpc8xx          ivm             -               -       IVMS8:IVMS8_64M
-NETTA2_V2      powerpc mpc8xx          netta2          -               -       NETTA2:NETTA2_VERSION=2
-NETTA_6412     powerpc mpc8xx          netta           -               -       NETTA:NETTA_6412=1
-NETTA_ISDN     powerpc mpc8xx          netta           -               -       NETTA:NETTA_ISDN=1
-NETTA_ISDN_6412        powerpc mpc8xx          netta           -               -       NETTA:NETTA_ISDN=1,NETTA_6412=1
-NETTA_SWAPHOOK powerpc mpc8xx          netta           -               -       NETTA:NETTA_SWAPHOOK=1
-NETVIA_V2      powerpc mpc8xx          netvia          -               -       NETVIA:NETVIA_VERSION=2
-TQM823L_LCD    powerpc mpc8xx          tqm8xx          tqc             -       TQM823L:LCD,NEC_NL6448BC20
-NETPHONE       powerpc mpc8xx          netphone        -               -       NETPHONE:NETPHONE_VERSION=1
-NETPHONE_V2    powerpc mpc8xx          netphone        -               -       NETPHONE:NETPHONE_VERSION=2
-RPXlite_DW     powerpc mpc8xx          RPXlite_dw      -               -       RPXlite_DW
-RPXlite_DW_64  powerpc mpc8xx          RPXlite_dw      -               -       RPXlite_DW:RPXlite_64MHz
-RPXlite_DW_64_LCD      powerpc mpc8xx  RPXlite_dw      -               -       RPXlite_DW:RPXlite_64MHz,LCD,NEC_NL6448BC20
-RPXlite_DW_LCD powerpc mpc8xx          RPXlite_dw      -               -       RPXlite_DW:LCD,NEC_NL6448BC20
-RPXlite_DW_NVRAM       powerpc mpc8xx  RPXlite_dw      -               -       RPXlite_DW:ENV_IS_IN_NVRAM
-RPXlite_DW_NVRAM_64    powerpc mpc8xx  RPXlite_dw      -               -       RPXlite_DW:RPXlite_64MHz,ENV_IS_IN_NVRAM
-RPXlite_DW_NVRAM_64_LCD        powerpc mpc8xx  RPXlite_dw      -               -       RPXlite_DW:RPXlite_64MHz,LCD,NEC_NL6448BC20,ENV_IS_IN_NVRAM
-RPXlite_DW_NVRAM_LCD   powerpc mpc8xx  RPXlite_dw      -               -       RPXlite_DW:LCD,NEC_NL6448BC20,ENV_IS_IN_NVRAM
-RRvision_LCD   powerpc mpc8xx          RRvision        -               -       RRvision:LCD,SHARP_LQ104V7DS01
-pcs440ep       powerpc ppc4xx
-quad100hd      powerpc ppc4xx
-CPCI4052       powerpc ppc4xx          cpci405         esd
-CPCI405AB      powerpc ppc4xx          cpci405         esd
-CPCI405DT      powerpc ppc4xx          cpci405         esd
-dlvision       powerpc ppc4xx          -               gdsys
-gdppc440etx    powerpc ppc4xx          -               gdsys
-io             powerpc ppc4xx          405ep           gdsys
-iocon          powerpc ppc4xx          405ep           gdsys
-CPCIISER4      powerpc ppc4xx          cpciiser4       esd
-DASA_SIM       powerpc ppc4xx          dasa_sim        esd
-PMC405DE       powerpc ppc4xx          pmc405de        esd
-METROBOX       powerpc ppc4xx          metrobox        sandburst
-xpedite1000    powerpc ppc4xx          -               xes
-korat_perm     powerpc ppc4xx          korat           -               -       korat:KORAT_PERMANENT
-haleakala      powerpc ppc4xx          kilauea         amcc            -       kilauea:HALEAKALA
-sycamore       powerpc ppc4xx          walnut          amcc            -       walnut
-devconcenter   powerpc ppc4xx          intip           gdsys           -       intip:DEVCONCENTER
-canyonlands    powerpc ppc4xx          canyonlands     amcc            -       canyonlands:CANYONLANDS
-yellowstone    powerpc ppc4xx          yosemite        amcc            -       yosemite:YELLOWSTONE
-yosemite       powerpc ppc4xx          yosemite        amcc            -       yosemite:YOSEMITE
-CATcenter      powerpc ppc4xx          PPChameleonEVB  dave            -       CATcenter:PPCHAMELEON_MODULE_MODEL=1
-CATcenter_25   powerpc ppc4xx          PPChameleonEVB  dave            -       CATcenter:PPCHAMELEON_MODULE_MODEL=1,PPCHAMELEON_CLK_25
-CATcenter_33   powerpc ppc4xx          PPChameleonEVB  dave            -       CATcenter:PPCHAMELEON_MODULE_MODEL=1,PPCHAMELEON_CLK_33
-xilinx-ppc405-generic  powerpc ppc4xx  ppc405-generic  xilinx          -       xilinx-ppc405-generic:SYS_TEXT_BASE=0x04000000,SYS_LDSCRIPT=$(SRCTREE)/board/xilinx/ppc405-generic/u-boot-ram.lds
-xilinx-ppc440-generic  powerpc ppc4xx  ppc440-generic  xilinx          -       xilinx-ppc440-generic:SYS_TEXT_BASE=0x04000000,SYS_LDSCRIPT=$(SRCTREE)/board/xilinx/ppc440-generic/u-boot-ram.lds
-mpc8308_p1m    powerpc mpc83xx
-bluestone      powerpc ppc4xx          -               amcc
-grsim_leon2    sparc   leon2           -               gaisler
-gr_cpci_ax2000 sparc   leon3           -               gaisler
-gr_ep2s60      sparc   leon3           -               gaisler
-gr_xc3s_1500   sparc   leon3           -               gaisler
-icecube_5200_DDR_LOWBOOT    powerpc  mpc5xxx   icecube -               -       IceCube:SYS_TEXT_BASE=0xFF800000,MPC5200_DDR
-MPC832XEMDS_SLAVE    powerpc  mpc83xx  mpc832xemds     freescale       -       MPC832XEMDS:PCI,PCISLAVE
-MPC8360EMDS_SLAVE    powerpc  mpc83xx  mpc8360emds     freescale       -       MPC8360EMDS:PCI,PCISLAVE
-microblaze-generic  microblaze  microblaze  microblaze-generic  xilinx
-digsy_mtc_LOWBOOT  powerpc     mpc5xxx digsy_mtc       -               -       digsy_mtc:SYS_TEXT_BASE=0xFF000000
-digsy_mtc_RAMBOOT  powerpc     mpc5xxx digsy_mtc       -               -       digsy_mtc:SYS_TEXT_BASE=0x00100000
-PPChameleonEVB  powerpc        ppc4xx          PPChameleonEVB  dave
-PM520_ROMBOOT_DDR  powerpc  mpc5xxx    pm520           -               -       PM520:MPC5200_DDR,BOOT_ROM
-galaxy5200_LOWBOOT  powerpc  mpc5xxx   galaxy5200      -               -       galaxy5200:galaxy5200_LOWBOOT
-icecube_5200_DDR_LOWBOOT08  powerpc  mpc5xxx   icecube -               -       IceCube:SYS_TEXT_BASE=0xFF800000,MPC5200_DDR
-mcc200_COM12_highboot_SDRAM  powerpc  mpc5xxx  mcc200  -               -       mcc200:CONSOLE_COM12,SYS_TEXT_BASE=0xFFF00000,MCC200_SDRAM
-linkstation_HGLAN  powerpc  mpc824x    linkstation     -               -       linkstation:HGLAN=1
-PM828_ROMBOOT_PCI  powerpc  mpc8260    pm828           -               -       PM828:PCI,BOOT_ROM,SYS_TEXT_BASE=0xFF800000
-MPC8260ADS_33MHz  powerpc  mpc8260     mpc8260ads      freescale       -       MPC8260ADS:ADSTYPE=CONFIG_SYS_8260ADS,8260_CLKIN=33000000
-MPC8260ADS_33MHz_lowboot  powerpc  mpc8260  mpc8260ads freescale       -       MPC8260ADS:ADSTYPE=CONFIG_SYS_8260ADS,8260_CLKIN=33000000,SYS_TEXT_BASE=0xFF800000
-MPC8260ADS_40MHz  powerpc  mpc8260     mpc8260ads      freescale       -       MPC8260ADS:ADSTYPE=CONFIG_SYS_8260ADS,8260_CLKIN=40000000
-MPC8260ADS_40MHz_lowboot  powerpc  mpc8260  mpc8260ads freescale       -       MPC8260ADS:ADSTYPE=CONFIG_SYS_8260ADS,8260_CLKIN=40000000,SYS_TEXT_BASE=0xFF800000
-MPC8260ADS_lowboot  powerpc  mpc8260   mpc8260ads      freescale       -       MPC8260ADS:ADSTYPE=CONFIG_SYS_8260ADS,SYS_TEXT_BASE=0xFF800000
-MPC8272ADS_lowboot  powerpc  mpc8260   mpc8260ads      freescale       -       MPC8260ADS:ADSTYPE=CONFIG_SYS_8272ADS,SYS_TEXT_BASE=0xFF800000
-PQ2FADS-VR_lowboot  powerpc  mpc8260   mpc8260ads      freescale       -       MPC8260ADS:ADSTYPE=CONFIG_SYS_PQ2FADS,8260_CLKIN=66000000,SYS_TEXT_BASE=0xFF800000
-PQ2FADS-ZU_66MHz  powerpc  mpc8260     mpc8260ads      freescale       -       MPC8260ADS:ADSTYPE=CONFIG_SYS_PQ2FADS,8260_CLKIN=66000000
-PQ2FADS-ZU_66MHz_lowboot  powerpc  mpc8260  mpc8260ads freescale       -       MPC8260ADS:ADSTYPE=CONFIG_SYS_PQ2FADS,8260_CLKIN=66000000,SYS_TEXT_BASE=0xFF800000
-PQ2FADS-ZU_lowboot  powerpc  mpc8260   mpc8260ads      freescale       -       MPC8260ADS:ADSTYPE=CONFIG_SYS_PQ2FADS,SYS_TEXT_BASE=0xFF800000
-MPC8313ERDB_NAND_33  powerpc  mpc83xx  mpc8313erdb     freescale       -       MPC8313ERDB:SYS_33MHZ,NAND_U_BOOT=y,SYS_TEXT_BASE=0x00100000
-MPC8313ERDB_NAND_66  powerpc  mpc83xx  mpc8313erdb     freescale       -       MPC8313ERDB:SYS_66MHZ,NAND_U_BOOT=y,SYS_TEXT_BASE=0x00100000
-MPC8315ERDB_NAND  powerpc  mpc83xx     mpc8315erdb     freescale       -       MPC8315ERDB:NAND
-MPC832XEMDS_HOST_33  powerpc  mpc83xx  mpc832xemds     freescale       -       MPC832XEMDS:PCI,PCI_33M,PQ_MDS_PIB=1
-MPC832XEMDS_HOST_66  powerpc  mpc83xx  mpc832xemds     freescale       -       MPC832XEMDS:PCI,PCI_66M,PQ_MDS_PIB=1
-MPC8349ITX_LOWBOOT  powerpc  mpc83xx   mpc8349itx      freescale       -       MPC8349ITX:MPC8349ITX,SYS_TEXT_BASE=0xFE000000
-MPC8360EMDS_HOST_33  powerpc  mpc83xx  mpc8360emds     freescale       -       MPC8360EMDS:PCI,PCI_33M,PQ_MDS_PIB=1
-MPC8360EMDS_HOST_66  powerpc  mpc83xx  mpc8360emds     freescale       -       MPC8360EMDS:PCI,PCI_66M,PQ_MDS_PIB=1
-MPC837XEMDS_HOST  powerpc  mpc83xx     mpc837xemds     freescale       -       MPC837XEMDS:PCI
-sbc8548_PCI_33_PCIE  powerpc  mpc85xx  sbc8548         -               -       sbc8548:PCI,33,PCIE
-sbc8548_PCI_66_PCIE  powerpc  mpc85xx  sbc8548         -               -       sbc8548:PCI,66,PCIE
-MPC8540EVAL_33_slave  powerpc  mpc85xx mpc8540eval     -               -       MPC8540EVAL:PCI_SLAVE
-MPC8540EVAL_66_slave  powerpc  mpc85xx mpc8540eval     -               -       MPC8540EVAL:SYSCLK_66M,PCI_SLAVE
-MPC8536DS_SDCARD  powerpc  mpc85xx     mpc8536ds       freescale       -       MPC8536DS:SDCARD
-MPC8536DS_SPIFLASH  powerpc  mpc85xx   mpc8536ds       freescale       -       MPC8536DS:SPIFLASH
-MPC8541CDS_legacy  powerpc  mpc85xx    mpc8541cds      freescale       -       MPC8541CDS:LEGACY
-MPC8548CDS_legacy  powerpc  mpc85xx    mpc8548cds      freescale       -       MPC8548CDS:LEGACY
-MPC8555CDS_legacy  powerpc  mpc85xx    mpc8555cds      freescale       -       MPC8555CDS:LEGACY
-P1011RDB_SPIFLASH  powerpc  mpc85xx    p1_p2_rdb       freescale       -       P1_P2_RDB:P1011,SPIFLASH
-P1020RDB_SPIFLASH  powerpc  mpc85xx    p1_p2_rdb       freescale       -       P1_P2_RDB:P1020,SPIFLASH
-P2010RDB_SPIFLASH  powerpc  mpc85xx    p1_p2_rdb       freescale       -       P1_P2_RDB:P2010,SPIFLASH
-P2020RDB_SPIFLASH  powerpc  mpc85xx    p1_p2_rdb       freescale       -       P1_P2_RDB:P2020,SPIFLASH
-MPC8641HPCN_36BIT  powerpc  mpc86xx    mpc8641hpcn     freescale       -       MPC8641HPCN:PHYS_64BIT
-NETTA_6412_SWAPHOOK  powerpc  mpc8xx   netta           -               -       NETTA:NETTA_6412=1,NETTA_SWAPHOOK=1
-NETTA_ISDN_SWAPHOOK  powerpc  mpc8xx   netta           -               -       NETTA:NETTA_ISDN=1,NETTA_SWAPHOOK=1
-NETTA_ISDN_6412_SWAPHOOK  powerpc  mpc8xx  netta       -               -       NETTA:NETTA_ISDN=1,NETTA_6412=1,NETTA_SWAPHOOK=1
-canyonlands_nand  powerpc  ppc4xx      canyonlands     amcc            -       canyonlands:CANYONLANDS,NAND_U_BOOT=y,SYS_TEXT_BASE=0x01000000
-v5fx30teval_flash  powerpc  ppc4xx     v5fx30teval     avnet           -       v5fx30teval:SYS_TEXT_BASE=0xFF1C0000,SYS_LDSCRIPT=$(SRCTREE)/board/xilinx/ppc440-generic/u-boot-rom.lds
-PPChameleonEVB_BA_25  powerpc  ppc4xx  PPChameleonEVB  dave            -       PPChameleonEVB:PPCHAMELEON_MODULE_MODEL=0,PPCHAMELEON_CLK_25
-PPChameleonEVB_BA_33  powerpc  ppc4xx  PPChameleonEVB  dave            -       PPChameleonEVB:PPCHAMELEON_MODULE_MODEL=0,PPCHAMELEON_CLK_33
-PPChameleonEVB_HI_25  powerpc  ppc4xx  PPChameleonEVB  dave            -       PPChameleonEVB:PPCHAMELEON_MODULE_MODEL=2,PPCHAMELEON_CLK_25
-PPChameleonEVB_HI_33  powerpc  ppc4xx  PPChameleonEVB  dave            -       PPChameleonEVB:PPCHAMELEON_MODULE_MODEL=2,PPCHAMELEON_CLK_33
-PPChameleonEVB_ME_25  powerpc  ppc4xx  PPChameleonEVB  dave            -       PPChameleonEVB:PPCHAMELEON_MODULE_MODEL=1,PPCHAMELEON_CLK_25
-PPChameleonEVB_ME_33  powerpc  ppc4xx  PPChameleonEVB  dave            -       PPChameleonEVB:PPCHAMELEON_MODULE_MODEL=1,PPCHAMELEON_CLK_33
-xilinx-ppc405-generic_flash  powerpc  ppc4xx  ppc405-generic  xilinx   -       xilinx-ppc405-generic:SYS_TEXT_BASE=0xFE360000,SYS_LDSCRIPT=$(SRCTREE)/board/xilinx/ppc405-generic/u-boot-rom.lds
-xilinx-ppc440-generic_flash  powerpc  ppc4xx  ppc440-generic  xilinx   -       xilinx-ppc440-generic:SYS_TEXT_BASE=0xFE360000,SYS_LDSCRIPT=$(SRCTREE)/board/xilinx/ppc440-generic/u-boot-rom.lds
-davinci_dm355evm arm   arm926ejs       dm355evm        davinci         davinci
-davinci_dm365evm arm   arm926ejs       dm365evm        davinci         davinci
-davinci_dm6467evm arm  arm926ejs       dm6467evm       davinci         davinci
-davinci_schmoogie arm  arm926ejs       schmoogie       davinci         davinci
-davinci_dm355leopard arm arm926ejs     dm355leopard    davinci         davinci
-bf527-ad7160-eval blackfin     blackfin
-rsk7203        sh      sh2             rsk7203         renesas         -
-mpr2   sh      sh3             mpr2    -       -
-ms7720se       sh      sh3     ms7720se        -       -
-MigoRsh        sh4     MigoR   renesas -   
-ms7750se       sh      sh4     ms7750se        -       -   
-ms7722se       sh      sh4     ms7722se        -       -   
-r2dplus        sh      sh4     r2dplus renesas -   
-r7780mp        sh      sh4     r7780mp renesas -   
-sh7763rdp      sh      sh4     sh7763rdp       renesas -   
-sh7785lcr      sh      sh4     sh7785lcr       renesas -   
-sh7785lcr_32bit        sh  sh4 sh7785lcr       renesas -       sh7785lcr:SH_32BIT=1
-ap325rxa       sh      sh4     ap325rxa        renesas -   
-espt   sh      sh4     espt    -       -
-# Target       ARCH    CPU             Board name      Vendor          SoC             Options
-###############################################################################################
+qong                         arm         arm1136     -                   davedenx       mx31
+mx31ads                      arm         arm1136     -                   freescale      mx31
+imx31_litekit                arm         arm1136     -                   logicpd        mx31
+omap2420h4                   arm         arm1136     -                   ti             omap24xx
+tnetv107x_evm                arm         arm1176     tnetv107xevm        ti             tnetv107x
+armadillo                    arm         arm720t
+ep7312                       arm         arm720t
+impa7                        arm         arm720t
+modnet50                     arm         arm720t
+lpc2292sodimm                arm         arm720t     -                   -              lpc2292
+SMN42                        arm         arm720t     -                   siemens        lpc2292
+evb4510                      arm         arm720t     -                   -              s3c4510b
+a320evb                      arm         arm920t     -                   faraday        a320
+at91rm9200ek                 arm         arm920t     -                   atmel          at91
+eb_cpux9k2                   arm         arm920t     -                   BuS            at91
+cmc_pu2                      arm         arm920t     -                   -              at91rm9200
+csb637                       arm         arm920t     -                   -              at91rm9200
+kb9202                       arm         arm920t     -                   -              at91rm9200
+m501sk                       arm         arm920t     -                   -              at91rm9200
+mp2usb                       arm         arm920t     -                   -              at91rm9200
+at91rm9200dk                 arm         arm920t     -                   atmel          at91rm9200
+mx1ads                       arm         arm920t     -                   -              imx
+mx1fs2                       arm         arm920t     -                   -              imx
+scb9328                      arm         arm920t     -                   -              imx
+cm4008                       arm         arm920t     -                   -              ks8695
+cm41xx                       arm         arm920t     -                   -              ks8695
+sbc2410x                     arm         arm920t     -                   -              s3c24x0
+VCMA9                        arm         arm920t     vcma9               mpl            s3c24x0
+smdk2400                     arm         arm920t     -                   samsung        s3c24x0
+smdk2410                     arm         arm920t     -                   samsung        s3c24x0
+netstar                      arm         arm925t
+voiceblue                    arm         arm925t
+omap1510inn                  arm         arm925t     -                   ti
+afeb9260                     arm         arm926ejs   -                   -              at91
+at91cap9adk                  arm         arm926ejs   -                   atmel          at91
+meesc                        arm         arm926ejs   -                   esd            at91
+otc570                       arm         arm926ejs   -                   esd            at91
+pm9261                       arm         arm926ejs   -                   ronetix        at91
+pm9263                       arm         arm926ejs   -                   ronetix        at91
+da830evm                     arm         arm926ejs   da8xxevm            davinci        davinci
+da850evm                     arm         arm926ejs   da8xxevm            davinci        davinci
+davinci_dm355evm             arm         arm926ejs   dm355evm            davinci        davinci
+davinci_dm355leopard         arm         arm926ejs   dm355leopard        davinci        davinci
+davinci_dm365evm             arm         arm926ejs   dm365evm            davinci        davinci
+davinci_dm6467evm            arm         arm926ejs   dm6467evm           davinci        davinci
+davinci_dvevm                arm         arm926ejs   dvevm               davinci        davinci
+davinci_schmoogie            arm         arm926ejs   schmoogie           davinci        davinci
+davinci_sffsdr               arm         arm926ejs   sffsdr              davinci        davinci
+davinci_sonata               arm         arm926ejs   sonata              davinci        davinci
+suen3                        arm         arm926ejs   km_arm              keymile        kirkwood
+guruplug                     arm         arm926ejs   -                   Marvell        kirkwood
+mv88f6281gtw_ge              arm         arm926ejs   -                   Marvell        kirkwood
+openrd_base                  arm         arm926ejs   -                   Marvell        kirkwood
+rd6281a                      arm         arm926ejs   -                   Marvell        kirkwood
+sheevaplug                   arm         arm926ejs   -                   Marvell        kirkwood
+dockstar                     arm         arm926ejs   -                   Seagate        kirkwood
+jadecpu                      arm         arm926ejs   jadecpu             syteco         mb86r0x
+imx27lite                    arm         arm926ejs   imx27lite           logicpd        mx27
+magnesium                    arm         arm926ejs   imx27lite           logicpd        mx27
+omap5912osk                  arm         arm926ejs   -                   ti             omap
+edminiv2                     arm         arm926ejs   -                   LaCie          orion5x
+ca9x4_ct_vxp                 arm         armv7       vexpress            armltd
+mx51evk                      arm         armv7       mx51evk             freescale      mx5
+vision2                      arm         armv7       vision2             ttcontrol      mx5
+omap3_overo                  arm         armv7       overo               -              omap3
+omap3_pandora                arm         armv7       pandora             -              omap3
+igep0020                     arm         armv7       igep0020            isee           omap3
+igep0030                     arm         armv7       igep0030            isee           omap3
+am3517_evm                   arm         armv7       am3517evm           logicpd        omap3
+omap3_zoom1                  arm         armv7       zoom1               logicpd        omap3
+omap3_zoom2                  arm         armv7       zoom2               logicpd        omap3
+omap3_beagle                 arm         armv7       beagle              ti             omap3
+omap3_evm                    arm         armv7       evm                 ti             omap3
+omap3_sdp3430                arm         armv7       sdp3430             ti             omap3
+devkit8000                   arm         armv7       devkit8000          timll          omap3
+omap4_panda                  arm         armv7       panda               ti             omap4
+omap4_sdp4430                arm         armv7       sdp4430             ti             omap4
+s5p_goni                     arm         armv7       goni                samsung        s5pc1xx
+smdkc100                     arm         armv7       smdkc100            samsung        s5pc1xx
+actux1                       arm         ixp
+actux2                       arm         ixp
+actux3                       arm         ixp
+actux4                       arm         ixp
+ixdp425                      arm         ixp
+ixdpg425                     arm         ixp
+lpd7a400                     arm         lh7a40x     lpd7a40x
+lpd7a404                     arm         lh7a40x     lpd7a40x
+balloon3                     arm         pxa
+cerf250                      arm         pxa
+colibri_pxa270               arm         pxa
+cradle                       arm         pxa
+csb226                       arm         pxa
+innokom                      arm         pxa
+lubbock                      arm         pxa
+palmld                       arm         pxa
+palmtc                       arm         pxa
+pleb2                        arm         pxa
+polaris                      arm         pxa         trizepsiv           -              -           trizepsiv:POLARIS
+pxa255_idp                   arm         pxa
+trizepsiv                    arm         pxa
+vpac270_nor_128              arm         pxa         vpac270             -              -           vpac270:NOR,RAM_128M
+vpac270_nor_256              arm         pxa         vpac270             -              -           vpac270:NOR,RAM_256M
+vpac270_ond_256              arm         pxa         vpac270             -              -           vpac270:ONENAND,RAM_256M
+xaeniax                      arm         pxa
+xm250                        arm         pxa
+zipitz2                      arm         pxa
+zylonite                     arm         pxa
+B2                           arm         s3c44b0     -                   dave
+assabet                      arm         sa1100
+dnp1110                      arm         sa1100
+gcplus                       arm         sa1100
+jornada                      arm         sa1100
+lart                         arm         sa1100
+shannon                      arm         sa1100
+atngw100                     avr32       at32ap      -                   atmel          at32ap700x
+atstk1002                    avr32       at32ap      atstk1000           atmel          at32ap700x
+atstk1003                    avr32       at32ap      atstk1000           atmel          at32ap700x
+atstk1004                    avr32       at32ap      atstk1000           atmel          at32ap700x
+atstk1006                    avr32       at32ap      atstk1000           atmel          at32ap700x
+favr-32-ezkit                avr32       at32ap      -                   earthlcd       at32ap700x
+mimc200                      avr32       at32ap      -                   mimc           at32ap700x
+hammerhead                   avr32       at32ap      -                   miromico       at32ap700x
+bct-brettl2                  blackfin    blackfin
+bf518f-ezbrd                 blackfin    blackfin
+bf526-ezbrd                  blackfin    blackfin
+bf527-ad7160-eval            blackfin    blackfin
+bf527-ezkit                  blackfin    blackfin
+bf527-ezkit-v2               blackfin    blackfin    bf527-ezkit         -              -           bf527-ezkit:BF527_EZKIT_REV_2_1
+bf527-sdp                    blackfin    blackfin
+bf533-ezkit                  blackfin    blackfin
+bf533-stamp                  blackfin    blackfin
+bf537-minotaur               blackfin    blackfin
+bf537-pnav                   blackfin    blackfin
+bf537-srv1                   blackfin    blackfin
+bf537-stamp                  blackfin    blackfin
+bf538f-ezkit                 blackfin    blackfin
+bf548-ezkit                  blackfin    blackfin
+bf561-acvilon                blackfin    blackfin
+bf561-ezkit                  blackfin    blackfin
+blackstamp                   blackfin    blackfin
+blackvme                     blackfin    blackfin
+cm-bf527                     blackfin    blackfin
+cm-bf533                     blackfin    blackfin
+cm-bf537e                    blackfin    blackfin
+cm-bf537u                    blackfin    blackfin
+cm-bf548                     blackfin    blackfin
+cm-bf561                     blackfin    blackfin
+ibf-dsp561                   blackfin    blackfin
+ip04                         blackfin    blackfin
+tcm-bf518                    blackfin    blackfin
+tcm-bf537                    blackfin    blackfin
+eNET                         i386        i386        -                   -              sc520
+idmr                         m68k        mcf52x2
+TASREG                       m68k        mcf52x2     tasreg              esd
+M5208EVBE                    m68k        mcf52x2     m5208evbe           freescale
+M5249EVB                     m68k        mcf52x2     m5249evb            freescale
+M5253DEMO                    m68k        mcf52x2     m5253demo           freescale
+M5253EVBE                    m68k        mcf52x2     m5253evbe           freescale
+M5271EVB                     m68k        mcf52x2     m5271evb            freescale
+M5272C3                      m68k        mcf52x2     m5272c3             freescale
+M5275EVB                     m68k        mcf52x2     m5275evb            freescale
+M5282EVB                     m68k        mcf52x2     m5282evb            freescale
+M53017EVB                    m68k        mcf52x2     m53017evb           freescale
+EP2500                       m68k        mcf52x2     ep2500              Mercury
+microblaze-generic           microblaze  microblaze  microblaze-generic  xilinx
+purple                       mips        mips
+tb0229                       mips        mips
+PCI5441                      nios2       nios2       pci5441             psyent
+PK1C20                       nios2       nios2       pk1c20              psyent
+EVB64260                     powerpc     74xx_7xx    evb64260            -              -           EVB64260
+EVB64260_750CX               powerpc     74xx_7xx    evb64260            -              -           EVB64260
+P3G4                         powerpc     74xx_7xx    evb64260
+PCIPPC2                      powerpc     74xx_7xx    pcippc2
+PCIPPC6                      powerpc     74xx_7xx    pcippc2
+ppmc7xx                      powerpc     74xx_7xx
+ZUMA                         powerpc     74xx_7xx    evb64260
+BAB7xx                       powerpc     74xx_7xx    bab7xx              eltec
+ELPPC                        powerpc     74xx_7xx    elppc               eltec
+CPCI750                      powerpc     74xx_7xx    cpci750             esd
+mpc7448hpc2                  powerpc     74xx_7xx    mpc7448hpc2         freescale
+DB64360                      powerpc     74xx_7xx    db64360             Marvell
+DB64460                      powerpc     74xx_7xx    db64460             Marvell
+p3m7448                      powerpc     74xx_7xx    p3mx                prodrive       -           p3mx:P3M7448
+p3m750                       powerpc     74xx_7xx    p3mx                prodrive       -           p3mx:P3M750
+pdm360ng                     powerpc     mpc512x
+aria                         powerpc     mpc512x     -                   davedenx
+mecp5123                     powerpc     mpc512x     -                   esd
+mpc5121ads                   powerpc     mpc512x     mpc5121ads          freescale
+mpc5121ads_rev2              powerpc     mpc512x     mpc5121ads          freescale      -           mpc5121ads:MPC5121ADS_REV2
+cmi_mpc5xx                   powerpc     mpc5xx      cmi
+PATI                         powerpc     mpc5xx      pati                mpl
+a4m072                       powerpc     mpc5xxx     a4m072
+BC3450                       powerpc     mpc5xxx     bc3450
+canmb                        powerpc     mpc5xxx
+cm5200                       powerpc     mpc5xxx
+digsy_mtc                    powerpc     mpc5xxx     digsy_mtc
+digsy_mtc_LOWBOOT            powerpc     mpc5xxx     digsy_mtc           -              -           digsy_mtc:SYS_TEXT_BASE=0xFF000000
+digsy_mtc_RAMBOOT            powerpc     mpc5xxx     digsy_mtc           -              -           digsy_mtc:SYS_TEXT_BASE=0x00100000
+galaxy5200                   powerpc     mpc5xxx     galaxy5200          -              -           galaxy5200:galaxy5200
+galaxy5200_LOWBOOT           powerpc     mpc5xxx     galaxy5200          -              -           galaxy5200:galaxy5200_LOWBOOT
+icecube_5200                 powerpc     mpc5xxx     icecube             -              -           IceCube
+icecube_5200_DDR             powerpc     mpc5xxx     icecube             -              -           IceCube:MPC5200_DDR
+icecube_5200_DDR_LOWBOOT     powerpc     mpc5xxx     icecube             -              -           IceCube:SYS_TEXT_BASE=0xFF800000,MPC5200_DDR
+icecube_5200_DDR_LOWBOOT08   powerpc     mpc5xxx     icecube             -              -           IceCube:SYS_TEXT_BASE=0xFF800000,MPC5200_DDR
+icecube_5200_LOWBOOT         powerpc     mpc5xxx     icecube             -              -           IceCube:SYS_TEXT_BASE=0xFF000000
+icecube_5200_LOWBOOT08       powerpc     mpc5xxx     icecube             -              -           IceCube:SYS_TEXT_BASE=0xFF800000
+inka4x0                      powerpc     mpc5xxx
+ipek01                       powerpc     mpc5xxx
+jupiter                      powerpc     mpc5xxx
+Lite5200                     powerpc     mpc5xxx     icecube             -              -           IceCube
+lite5200b                    powerpc     mpc5xxx     icecube             -              -           IceCube:MPC5200_DDR,LITE5200B
+lite5200b_LOWBOOT            powerpc     mpc5xxx     icecube             -              -           IceCube:MPC5200_DDR,LITE5200B,SYS_TEXT_BASE=0xFF000000
+lite5200b_PM                 powerpc     mpc5xxx     icecube             -              -           IceCube:MPC5200_DDR,LITE5200B,LITE5200B_PM
+Lite5200_LOWBOOT             powerpc     mpc5xxx     icecube             -              -           IceCube:SYS_TEXT_BASE=0xFF000000
+Lite5200_LOWBOOT08           powerpc     mpc5xxx     icecube             -              -           IceCube:SYS_TEXT_BASE=0xFF800000
+mcc200                       powerpc     mpc5xxx     mcc200              -              -           mcc200
+mcc200_COM12                 powerpc     mpc5xxx     mcc200              -              -           mcc200:CONSOLE_COM12
+mcc200_COM12_highboot        powerpc     mpc5xxx     mcc200              -              -           mcc200:CONSOLE_COM12,SYS_TEXT_BASE=0xFFF00000
+mcc200_COM12_highboot_SDRAM  powerpc     mpc5xxx     mcc200              -              -           mcc200:CONSOLE_COM12,SYS_TEXT_BASE=0xFFF00000,MCC200_SDRAM
+mcc200_COM12_SDRAM           powerpc     mpc5xxx     mcc200              -              -           mcc200:CONSOLE_COM12,MCC200_SDRAM
+mcc200_highboot              powerpc     mpc5xxx     mcc200              -              -           mcc200:SYS_TEXT_BASE=0xFFF00000
+mcc200_highboot_SDRAM        powerpc     mpc5xxx     mcc200              -              -           mcc200:SYS_TEXT_BASE=0xFFF00000,MCC200_SDRAM
+mcc200_SDRAM                 powerpc     mpc5xxx     mcc200              -              -           mcc200:MCC200_SDRAM
+motionpro                    powerpc     mpc5xxx
+munices                      powerpc     mpc5xxx
+o2dnt                        powerpc     mpc5xxx
+PM520                        powerpc     mpc5xxx     pm520
+PM520_DDR                    powerpc     mpc5xxx     pm520               -              -           PM520:MPC5200_DDR
+PM520_ROMBOOT                powerpc     mpc5xxx     pm520               -              -           PM520:BOOT_ROM
+PM520_ROMBOOT_DDR            powerpc     mpc5xxx     pm520               -              -           PM520:MPC5200_DDR,BOOT_ROM
+prs200                       powerpc     mpc5xxx     mcc200              -              -           mcc200:PRS200,MCC200_SDRAM
+prs200_DDR                   powerpc     mpc5xxx     mcc200              -              -           mcc200:PRS200
+prs200_highboot              powerpc     mpc5xxx     mcc200              -              -           mcc200:PRS200,SYS_TEXT_BASE=0xFFF00000,MCC200_SDRAM
+prs200_highboot_DDR          powerpc     mpc5xxx     mcc200              -              -           mcc200:PRS200,SYS_TEXT_BASE=0xFFF00000
+Total5200                    powerpc     mpc5xxx     total5200           -              -           Total5200:TOTAL5200_REV=1
+Total5200_lowboot            powerpc     mpc5xxx     total5200           -              -           Total5200:TOTAL5200_REV=1,SYS_TEXT_BASE=0xFE000000
+Total5200_Rev2               powerpc     mpc5xxx     total5200           -              -           Total5200:TOTAL5200_REV=2
+Total5200_Rev2_lowboot       powerpc     mpc5xxx     total5200           -              -           Total5200:TOTAL5200_REV=2,SYS_TEXT_BASE=0xFE000000
+v38b                         powerpc     mpc5xxx
+EVAL5200                     powerpc     mpc5xxx     top5200             emk            -           TOP5200:EVAL5200
+MINI5200                     powerpc     mpc5xxx     top5200             emk            -           TOP5200:MINI5200
+TOP5200                      powerpc     mpc5xxx     top5200             emk            -           TOP5200:TOP5200
+cpci5200                     powerpc     mpc5xxx     -                   esd
+mecp5200                     powerpc     mpc5xxx     -                   esd
+pf5200                       powerpc     mpc5xxx     -                   esd
+hmi1001                      powerpc     mpc5xxx     -                   manroland
+mucmc52                      powerpc     mpc5xxx     -                   manroland
+uc101                        powerpc     mpc5xxx     -                   manroland
+MVBC_P                       powerpc     mpc5xxx     mvbc_p              matrix_vision  -           MVBC_P:MVBC_P
+MVSMR                        powerpc     mpc5xxx     mvsmr               matrix_vision
+pcm030                       powerpc     mpc5xxx     pcm030              phytec         -           pcm030
+pcm030_LOWBOOT               powerpc     mpc5xxx     pcm030              phytec         -           pcm030:SYS_TEXT_BASE=0xFF000000
+aev                          powerpc     mpc5xxx     tqm5200             tqc
+cam5200                      powerpc     mpc5xxx     tqm5200             tqc            -           TQM5200:CAM5200,TQM5200S,TQM5200_B
+cam5200_niosflash            powerpc     mpc5xxx     tqm5200             tqc            -           TQM5200:CAM5200,TQM5200S,TQM5200_B,CAM5200_NIOSFLASH
+fo300                        powerpc     mpc5xxx     tqm5200             tqc            -           TQM5200:FO300
+MiniFAP                      powerpc     mpc5xxx     tqm5200             tqc            -           TQM5200:MINIFAP
+TB5200                       powerpc     mpc5xxx     tqm5200             tqc
+TB5200_B                     powerpc     mpc5xxx     tqm5200             tqc            -           TB5200:TQM5200_B
+TQM5200                      powerpc     mpc5xxx     tqm5200             tqc            -           TQM5200:
+TQM5200_B                    powerpc     mpc5xxx     tqm5200             tqc            -           TQM5200:TQM5200_B
+TQM5200_B_HIGHBOOT           powerpc     mpc5xxx     tqm5200             tqc            -           TQM5200:TQM5200_B,SYS_TEXT_BASE=0xFFF00000
+TQM5200S                     powerpc     mpc5xxx     tqm5200             tqc            -           TQM5200:TQM5200_B,TQM5200S
+TQM5200S_HIGHBOOT            powerpc     mpc5xxx     tqm5200             tqc            -           TQM5200:TQM5200_B,TQM5200S,SYS_TEXT_BASE=0xFFF00000
+TQM5200_STK100               powerpc     mpc5xxx     tqm5200             tqc            -           TQM5200:STK52XX_REV100
+Alaska8220                   powerpc     mpc8220     alaska
+sorcery                      powerpc     mpc8220
+Yukon8220                    powerpc     mpc8220     alaska
+A3000                        powerpc     mpc824x     a3000
+BMW                          powerpc     mpc824x     bmw
+CPC45                        powerpc     mpc824x     cpc45               -              -           CPC45
+CPC45_ROMBOOT                powerpc     mpc824x     cpc45               -              -           CPC45:BOOT_ROM
+CU824                        powerpc     mpc824x     cu824
+eXalion                      powerpc     mpc824x     eXalion
+HIDDEN_DRAGON                powerpc     mpc824x     hidden_dragon
+linkstation_HGLAN            powerpc     mpc824x     linkstation         -              -           linkstation:HGLAN=1
+MOUSSE                       powerpc     mpc824x     mousse
+MUSENKI                      powerpc     mpc824x     musenki
+MVBLUE                       powerpc     mpc824x     mvblue
+OXC                          powerpc     mpc824x     oxc
+PN62                         powerpc     mpc824x     pn62
+Sandpoint8240                powerpc     mpc824x     sandpoint
+Sandpoint8245                powerpc     mpc824x     sandpoint
+sbc8240                      powerpc     mpc824x
+utx8245                      powerpc     mpc824x
+debris                       powerpc     mpc824x     -                   etin
+kvme080                      powerpc     mpc824x     -                   etin
+atc                          powerpc     mpc8260
+cogent_mpc8260               powerpc     mpc8260     cogent
+CPU86                        powerpc     mpc8260     cpu86               -              -           CPU86
+CPU86_ROMBOOT                powerpc     mpc8260     cpu86               -              -           CPU86:BOOT_ROM
+CPU87                        powerpc     mpc8260     cpu87               -              -           CPU87
+CPU87_ROMBOOT                powerpc     mpc8260     cpu87               -              -           CPU87:BOOT_ROM
+ep8248                       powerpc     mpc8260     ep8248
+ep8248E                      powerpc     mpc8260     ep8248              -              -           ep8248
+ep8260                       powerpc     mpc8260
+ep82xxm                      powerpc     mpc8260
+gw8260                       powerpc     mpc8260
+hymod                        powerpc     mpc8260
+IDS8247                      powerpc     mpc8260     ids8247
+IPHASE4539                   powerpc     mpc8260     iphase4539
+ISPAN                        powerpc     mpc8260     ispan
+ISPAN_REVB                   powerpc     mpc8260     ispan               -              -           ISPAN:SYS_REV_B
+muas3001                     powerpc     mpc8260     muas3001
+muas3001_dev                 powerpc     mpc8260     muas3001            -              -           muas3001:MUAS_DEV_BOARD
+PM825                        powerpc     mpc8260     pm826               -              -           PM826:PCI,SYS_TEXT_BASE=0xFF000000
+PM825_BIGFLASH               powerpc     mpc8260     pm826               -              -           PM826:PCI,FLASH_32MB,SYS_TEXT_BASE=0x40000000
+PM825_ROMBOOT                powerpc     mpc8260     pm826               -              -           PM826:PCI,BOOT_ROM,SYS_TEXT_BASE=0xFF800000
+PM825_ROMBOOT_BIGFLASH       powerpc     mpc8260     pm826               -              -           PM826:PCI,BOOT_ROM,FLASH_32MB,SYS_TEXT_BASE=0xFF800000
+PM826                        powerpc     mpc8260     pm826               -              -           PM826:SYS_TEXT_BASE=0xFF000000
+PM826_BIGFLASH               powerpc     mpc8260     pm826               -              -           PM826:FLASH_32MB,SYS_TEXT_BASE=0x40000000
+PM826_ROMBOOT                powerpc     mpc8260     pm826               -              -           PM826:BOOT_ROM,SYS_TEXT_BASE=0xFF800000
+PM826_ROMBOOT_BIGFLASH       powerpc     mpc8260     pm826               -              -           PM826:BOOT_ROM,FLASH_32MB,SYS_TEXT_BASE=0xFF800000
+PM828                        powerpc     mpc8260     pm828               -              -           PM828
+PM828_PCI                    powerpc     mpc8260     pm828               -              -           PM828:PCI
+PM828_ROMBOOT                powerpc     mpc8260     pm828               -              -           PM828:BOOT_ROM,SYS_TEXT_BASE=0xFF800000
+PM828_ROMBOOT_PCI            powerpc     mpc8260     pm828               -              -           PM828:PCI,BOOT_ROM,SYS_TEXT_BASE=0xFF800000
+ppmc8260                     powerpc     mpc8260
+Rattler                      powerpc     mpc8260     rattler             -              -           Rattler
+Rattler8248                  powerpc     mpc8260     rattler             -              -           Rattler:MPC8248
+RPXsuper                     powerpc     mpc8260     rpxsuper
+rsdproto                     powerpc     mpc8260
+sacsng                       powerpc     mpc8260
+sbc8260                      powerpc     mpc8260
+ZPC1900                      powerpc     mpc8260     zpc1900
+MPC8260ADS                   powerpc     mpc8260     mpc8260ads          freescale      -           MPC8260ADS:ADSTYPE=CONFIG_SYS_8260ADS
+MPC8260ADS_33MHz             powerpc     mpc8260     mpc8260ads          freescale      -           MPC8260ADS:ADSTYPE=CONFIG_SYS_8260ADS,8260_CLKIN=33000000
+MPC8260ADS_33MHz_lowboot     powerpc     mpc8260     mpc8260ads          freescale      -           MPC8260ADS:ADSTYPE=CONFIG_SYS_8260ADS,8260_CLKIN=33000000,SYS_TEXT_BASE=0xFF800000
+MPC8260ADS_40MHz             powerpc     mpc8260     mpc8260ads          freescale      -           MPC8260ADS:ADSTYPE=CONFIG_SYS_8260ADS,8260_CLKIN=40000000
+MPC8260ADS_40MHz_lowboot     powerpc     mpc8260     mpc8260ads          freescale      -           MPC8260ADS:ADSTYPE=CONFIG_SYS_8260ADS,8260_CLKIN=40000000,SYS_TEXT_BASE=0xFF800000
+MPC8260ADS_lowboot           powerpc     mpc8260     mpc8260ads          freescale      -           MPC8260ADS:ADSTYPE=CONFIG_SYS_8260ADS,SYS_TEXT_BASE=0xFF800000
+MPC8266ADS                   powerpc     mpc8260     mpc8266ads          freescale
+MPC8272ADS                   powerpc     mpc8260     mpc8260ads          freescale      -           MPC8260ADS:ADSTYPE=CONFIG_SYS_8272ADS
+MPC8272ADS_lowboot           powerpc     mpc8260     mpc8260ads          freescale      -           MPC8260ADS:ADSTYPE=CONFIG_SYS_8272ADS,SYS_TEXT_BASE=0xFF800000
+PQ2FADS                      powerpc     mpc8260     mpc8260ads          freescale      -           MPC8260ADS:ADSTYPE=CONFIG_SYS_PQ2FADS
+PQ2FADS_lowboot              powerpc     mpc8260     mpc8260ads          freescale      -           MPC8260ADS:ADSTYPE=CONFIG_SYS_PQ2FADS,SYS_TEXT_BASE=0xFF800000
+PQ2FADS-VR                   powerpc     mpc8260     mpc8260ads          freescale      -           MPC8260ADS:ADSTYPE=CONFIG_SYS_PQ2FADS,8260_CLKIN=66000000
+PQ2FADS-VR_lowboot           powerpc     mpc8260     mpc8260ads          freescale      -           MPC8260ADS:ADSTYPE=CONFIG_SYS_PQ2FADS,8260_CLKIN=66000000,SYS_TEXT_BASE=0xFF800000
+PQ2FADS-ZU                   powerpc     mpc8260     mpc8260ads          freescale      -           MPC8260ADS:ADSTYPE=CONFIG_SYS_PQ2FADS
+PQ2FADS-ZU_66MHz             powerpc     mpc8260     mpc8260ads          freescale      -           MPC8260ADS:ADSTYPE=CONFIG_SYS_PQ2FADS,8260_CLKIN=66000000
+PQ2FADS-ZU_66MHz_lowboot     powerpc     mpc8260     mpc8260ads          freescale      -           MPC8260ADS:ADSTYPE=CONFIG_SYS_PQ2FADS,8260_CLKIN=66000000,SYS_TEXT_BASE=0xFF800000
+PQ2FADS-ZU_lowboot           powerpc     mpc8260     mpc8260ads          freescale      -           MPC8260ADS:ADSTYPE=CONFIG_SYS_PQ2FADS,SYS_TEXT_BASE=0xFF800000
+VoVPN-GW_66MHz               powerpc     mpc8260     vovpn-gw            funkwerk       -           VoVPN-GW:CLKIN_66MHz
+mgcoge                       powerpc     mpc8260     -                   keymile
+SCM                          powerpc     mpc8260     -                   siemens
+TQM8255_AA                   powerpc     mpc8260     tqm8260             tqc            -           TQM8260:MPC8255,300MHz
+TQM8260_AA                   powerpc     mpc8260     tqm8260             tqc            -           TQM8260:MPC8260,200MHz
+TQM8260_AB                   powerpc     mpc8260     tqm8260             tqc            -           TQM8260:MPC8260,200MHz,L2_CACHE,BUSMODE_60x
+TQM8260_AC                   powerpc     mpc8260     tqm8260             tqc            -           TQM8260:MPC8260,200MHz,L2_CACHE,BUSMODE_60x
+TQM8260_AD                   powerpc     mpc8260     tqm8260             tqc            -           TQM8260:MPC8260,300MHz,BUSMODE_60x
+TQM8260_AE                   powerpc     mpc8260     tqm8260             tqc            -           TQM8260:MPC8260,266MHz
+TQM8260_AF                   powerpc     mpc8260     tqm8260             tqc            -           TQM8260:MPC8260,300MHz,BUSMODE_60x
+TQM8260_AG                   powerpc     mpc8260     tqm8260             tqc            -           TQM8260:MPC8260,300MHz
+TQM8260_AH                   powerpc     mpc8260     tqm8260             tqc            -           TQM8260:MPC8260,300MHz,L2_CACHE,BUSMODE_60x
+TQM8260_AI                   powerpc     mpc8260     tqm8260             tqc            -           TQM8260:MPC8260,300MHz,BUSMODE_60x
+TQM8265_AA                   powerpc     mpc8260     tqm8260             tqc            -           TQM8260:MPC8265,300MHz,BUSMODE_60x
+TQM8272                      powerpc     mpc8260     tqm8272             tqc
+mpc8308_p1m                  powerpc     mpc83xx
+sbc8349                      powerpc     mpc83xx     sbc8349             -              -           sbc8349
+sbc8349_PCI_33               powerpc     mpc83xx     sbc8349             -              -           sbc8349:PCI,PCI_33M
+sbc8349_PCI_66               powerpc     mpc83xx     sbc8349             -              -           sbc8349:PCI,PCI_66M
+ve8313                       powerpc     mpc83xx     ve8313
+caddy2                       powerpc     mpc83xx     vme8349             esd            -           vme8349:CADDY2
+vme8349                      powerpc     mpc83xx     vme8349             esd            -           vme8349
+MPC8308RDB                   powerpc     mpc83xx     mpc8308rdb          freescale
+MPC8313ERDB_33               powerpc     mpc83xx     mpc8313erdb         freescale      -           MPC8313ERDB:SYS_33MHZ
+MPC8313ERDB_66               powerpc     mpc83xx     mpc8313erdb         freescale      -           MPC8313ERDB:SYS_66MHZ
+MPC8313ERDB_NAND_33          powerpc     mpc83xx     mpc8313erdb         freescale      -           MPC8313ERDB:SYS_33MHZ,NAND_U_BOOT,SYS_TEXT_BASE=0x00100000
+MPC8313ERDB_NAND_66          powerpc     mpc83xx     mpc8313erdb         freescale      -           MPC8313ERDB:SYS_66MHZ,NAND_U_BOOT,SYS_TEXT_BASE=0x00100000
+MPC8315ERDB                  powerpc     mpc83xx     mpc8315erdb         freescale      -           MPC8315ERDB
+MPC8315ERDB_NAND             powerpc     mpc83xx     mpc8315erdb         freescale      -           MPC8315ERDB:NAND
+MPC8323ERDB                  powerpc     mpc83xx     mpc8323erdb         freescale
+MPC832XEMDS                  powerpc     mpc83xx     mpc832xemds         freescale      -           MPC832XEMDS:
+MPC832XEMDS_ATM              powerpc     mpc83xx     mpc832xemds         freescale      -           MPC832XEMDS:PQ_MDS_PIB=1,PQ_MDS_PIB_ATM=1
+MPC832XEMDS_HOST_33          powerpc     mpc83xx     mpc832xemds         freescale      -           MPC832XEMDS:PCI,PCI_33M,PQ_MDS_PIB=1
+MPC832XEMDS_HOST_66          powerpc     mpc83xx     mpc832xemds         freescale      -           MPC832XEMDS:PCI,PCI_66M,PQ_MDS_PIB=1
+MPC832XEMDS_SLAVE            powerpc     mpc83xx     mpc832xemds         freescale      -           MPC832XEMDS:PCI,PCISLAVE
+MPC8349EMDS                  powerpc     mpc83xx     mpc8349emds         freescale
+MPC8349ITX                   powerpc     mpc83xx     mpc8349itx          freescale      -           MPC8349ITX:MPC8349ITX
+MPC8349ITXGP                 powerpc     mpc83xx     mpc8349itx          freescale      -           MPC8349ITX:MPC8349ITXGP,SYS_TEXT_BASE=0xFE000000
+MPC8349ITX_LOWBOOT           powerpc     mpc83xx     mpc8349itx          freescale      -           MPC8349ITX:MPC8349ITX,SYS_TEXT_BASE=0xFE000000
+MPC8360EMDS                  powerpc     mpc83xx     mpc8360emds         freescale      -           MPC8360EMDS:
+MPC8360EMDS_ATM              powerpc     mpc83xx     mpc8360emds         freescale      -           MPC8360EMDS:PQ_MDS_PIB=1,PQ_MDS_PIB_ATM=1
+MPC8360EMDS_HOST_33          powerpc     mpc83xx     mpc8360emds         freescale      -           MPC8360EMDS:PCI,PCI_33M,PQ_MDS_PIB=1
+MPC8360EMDS_HOST_66          powerpc     mpc83xx     mpc8360emds         freescale      -           MPC8360EMDS:PCI,PCI_66M,PQ_MDS_PIB=1
+MPC8360EMDS_SLAVE            powerpc     mpc83xx     mpc8360emds         freescale      -           MPC8360EMDS:PCI,PCISLAVE
+MPC8360ERDK                  powerpc     mpc83xx     mpc8360erdk         freescale      -           MPC8360ERDK
+MPC8360ERDK_33               powerpc     mpc83xx     mpc8360erdk         freescale      -           MPC8360ERDK:CLKIN_33MHZ
+MPC8360ERDK_66               powerpc     mpc83xx     mpc8360erdk         freescale      -           MPC8360ERDK
+MPC837XEMDS                  powerpc     mpc83xx     mpc837xemds         freescale      -           MPC837XEMDS
+MPC837XEMDS_HOST             powerpc     mpc83xx     mpc837xemds         freescale      -           MPC837XEMDS:PCI
+MPC837XERDB                  powerpc     mpc83xx     mpc837xerdb         freescale
+kmeter1                      powerpc     mpc83xx     kmeter1             keymile
+MVBLM7                       powerpc     mpc83xx     mvblm7              matrix_vision
+SIMPC8313_LP                 powerpc     mpc83xx     simpc8313           sheldon        -           SIMPC8313:NAND_LP
+SIMPC8313_SP                 powerpc     mpc83xx     simpc8313           sheldon        -           SIMPC8313:NAND_SP
+TQM834x                      powerpc     mpc83xx     tqm834x             tqc
+ATUM8548                     powerpc     mpc85xx     atum8548
+MPC8540EVAL                  powerpc     mpc85xx     mpc8540eval         -              -           MPC8540EVAL:SYSCLK_66M
+MPC8540EVAL_33               powerpc     mpc85xx     mpc8540eval         -              -           MPC8540EVAL
+MPC8540EVAL_33_slave         powerpc     mpc85xx     mpc8540eval         -              -           MPC8540EVAL:PCI_SLAVE
+MPC8540EVAL_66               powerpc     mpc85xx     mpc8540eval         -              -           MPC8540EVAL:SYSCLK_66M
+MPC8540EVAL_66_slave         powerpc     mpc85xx     mpc8540eval         -              -           MPC8540EVAL:SYSCLK_66M,PCI_SLAVE
+PM854                        powerpc     mpc85xx     pm854
+PM856                        powerpc     mpc85xx     pm856
+sbc8540                      powerpc     mpc85xx     sbc8560             -              -           SBC8540
+sbc8540_33                   powerpc     mpc85xx     sbc8560             -              -           SBC8540
+sbc8540_66                   powerpc     mpc85xx     sbc8560             -              -           SBC8540
+sbc8548                      powerpc     mpc85xx     sbc8548             -              -           sbc8548
+sbc8548_PCI_33               powerpc     mpc85xx     sbc8548             -              -           sbc8548:PCI,33
+sbc8548_PCI_33_PCIE          powerpc     mpc85xx     sbc8548             -              -           sbc8548:PCI,33,PCIE
+sbc8548_PCI_66               powerpc     mpc85xx     sbc8548             -              -           sbc8548:PCI,66
+sbc8548_PCI_66_PCIE          powerpc     mpc85xx     sbc8548             -              -           sbc8548:PCI,66,PCIE
+sbc8560                      powerpc     mpc85xx     sbc8560             -              -           sbc8560
+sbc8560_33                   powerpc     mpc85xx     sbc8560             -              -           sbc8560
+sbc8560_66                   powerpc     mpc85xx     sbc8560             -              -           sbc8560
+socrates                     powerpc     mpc85xx     socrates
+MPC8536DS                    powerpc     mpc85xx     mpc8536ds           freescale      -           MPC8536DS
+MPC8536DS_36BIT              powerpc     mpc85xx     mpc8536ds           freescale      -           MPC8536DS:36BIT
+MPC8536DS_NAND               powerpc     mpc85xx     mpc8536ds           freescale      -           MPC8536DS:NAND
+MPC8536DS_SDCARD             powerpc     mpc85xx     mpc8536ds           freescale      -           MPC8536DS:SDCARD
+MPC8536DS_SPIFLASH           powerpc     mpc85xx     mpc8536ds           freescale      -           MPC8536DS:SPIFLASH
+MPC8540ADS                   powerpc     mpc85xx     mpc8540ads          freescale
+MPC8541CDS                   powerpc     mpc85xx     mpc8541cds          freescale      -           MPC8541CDS
+MPC8541CDS_legacy            powerpc     mpc85xx     mpc8541cds          freescale      -           MPC8541CDS:LEGACY
+MPC8544DS                    powerpc     mpc85xx     mpc8544ds           freescale
+MPC8548CDS                   powerpc     mpc85xx     mpc8548cds          freescale      -           MPC8548CDS
+MPC8548CDS_legacy            powerpc     mpc85xx     mpc8548cds          freescale      -           MPC8548CDS:LEGACY
+MPC8555CDS                   powerpc     mpc85xx     mpc8555cds          freescale      -           MPC8555CDS
+MPC8555CDS_legacy            powerpc     mpc85xx     mpc8555cds          freescale      -           MPC8555CDS:LEGACY
+MPC8560ADS                   powerpc     mpc85xx     mpc8560ads          freescale
+MPC8568MDS                   powerpc     mpc85xx     mpc8568mds          freescale
+MPC8569MDS                   powerpc     mpc85xx     mpc8569mds          freescale      -           MPC8569MDS
+MPC8569MDS_ATM               powerpc     mpc85xx     mpc8569mds          freescale      -           MPC8569MDS:ATM
+MPC8569MDS_NAND              powerpc     mpc85xx     mpc8569mds          freescale      -           MPC8569MDS:NAND
+MPC8572DS                    powerpc     mpc85xx     mpc8572ds           freescale      -           MPC8572DS
+MPC8572DS_36BIT              powerpc     mpc85xx     mpc8572ds           freescale      -           MPC8572DS:36BIT
+P1011RDB                     powerpc     mpc85xx     p1_p2_rdb           freescale      -           P1_P2_RDB:P1011
+P1011RDB_NAND                powerpc     mpc85xx     p1_p2_rdb           freescale      -           P1_P2_RDB:P1011,NAND
+P1011RDB_SDCARD              powerpc     mpc85xx     p1_p2_rdb           freescale      -           P1_P2_RDB:P1011,SDCARD
+P1011RDB_SPIFLASH            powerpc     mpc85xx     p1_p2_rdb           freescale      -           P1_P2_RDB:P1011,SPIFLASH
+P1020RDB                     powerpc     mpc85xx     p1_p2_rdb           freescale      -           P1_P2_RDB:P1020RDB
+P1020RDB_NAND                powerpc     mpc85xx     p1_p2_rdb           freescale      -           P1_P2_RDB:P1020RDB,NAND
+P1020RDB_SDCARD              powerpc     mpc85xx     p1_p2_rdb           freescale      -           P1_P2_RDB:P1020RDB,SDCARD
+P1020RDB_SPIFLASH            powerpc     mpc85xx     p1_p2_rdb           freescale      -           P1_P2_RDB:P1020,SPIFLASH
+P1022DS                      powerpc     mpc85xx     p1022ds             freescale
+P2010RDB                     powerpc     mpc85xx     p1_p2_rdb           freescale      -           P1_P2_RDB:P2010
+P2010RDB_NAND                powerpc     mpc85xx     p1_p2_rdb           freescale      -           P1_P2_RDB:P2010,NAND
+P2010RDB_SDCARD              powerpc     mpc85xx     p1_p2_rdb           freescale      -           P1_P2_RDB:P2010,SDCARD
+P2010RDB_SPIFLASH            powerpc     mpc85xx     p1_p2_rdb           freescale      -           P1_P2_RDB:P2010,SPIFLASH
+P2020DS                      powerpc     mpc85xx     p2020ds             freescale
+P2020DS_36BIT                powerpc     mpc85xx     p2020ds             freescale      -           P2020DS:36BIT
+P2020DS_DDR2                 powerpc     mpc85xx     p2020ds             freescale      -           P2020DS:DDR2
+P2020RDB                     powerpc     mpc85xx     p1_p2_rdb           freescale      -           P1_P2_RDB:P2020
+P2020RDB_NAND                powerpc     mpc85xx     p1_p2_rdb           freescale      -           P1_P2_RDB:P2020,NAND
+P2020RDB_SDCARD              powerpc     mpc85xx     p1_p2_rdb           freescale      -           P1_P2_RDB:P2020,SDCARD
+P2020RDB_SPIFLASH            powerpc     mpc85xx     p1_p2_rdb           freescale      -           P1_P2_RDB:P2020,SPIFLASH
+P4080DS                      powerpc     mpc85xx     corenet_ds          freescale
+stxgp3                       powerpc     mpc85xx     stxgp3              stx
+stxssa                       powerpc     mpc85xx     stxssa              stx            -           stxssa
+stxssa_4M                    powerpc     mpc85xx     stxssa              stx            -           stxssa:STXSSA_4M
+TQM8540                      powerpc     mpc85xx     tqm85xx             tqc            -           TQM85xx:MPC8540,TQM8540=y,HOSTNAME=tqm8540,BOARDNAME="TQM8540"
+TQM8541                      powerpc     mpc85xx     tqm85xx             tqc            -           TQM85xx:MPC8541,TQM8541=y,HOSTNAME=tqm8541,BOARDNAME="TQM8541"
+TQM8548                      powerpc     mpc85xx     tqm85xx             tqc            -           TQM85xx:MPC8548,TQM8548=y,HOSTNAME=tqm8548,BOARDNAME="TQM8548"
+TQM8548_AG                   powerpc     mpc85xx     tqm85xx             tqc            -           TQM85xx:MPC8548,TQM8548_AG=y,HOSTNAME=tqm8485,BOARDNAME="TQM8548_AG"
+TQM8548_BE                   powerpc     mpc85xx     tqm85xx             tqc            -           TQM85xx:MPC8548,TQM8548_BE=y,HOSTNAME=tqm8548,BOARDNAME="TQM8548_BE"
+TQM8555                      powerpc     mpc85xx     tqm85xx             tqc            -           TQM85xx:MPC8555,TQM8555=y,HOSTNAME=tqm8555,BOARDNAME="TQM8555"
+TQM8560                      powerpc     mpc85xx     tqm85xx             tqc            -           TQM85xx:MPC8560,TQM8560=y,HOSTNAME=tqm8560,BOARDNAME="TQM8560"
+xpedite520x                  powerpc     mpc85xx     -                   xes
+xpedite537x                  powerpc     mpc85xx     -                   xes
+xpedite550x                  powerpc     mpc85xx     -                   xes
+sbc8641d                     powerpc     mpc86xx
+MPC8610HPCD                  powerpc     mpc86xx     mpc8610hpcd         freescale
+MPC8641HPCN                  powerpc     mpc86xx     mpc8641hpcn         freescale      -           MPC8641HPCN
+MPC8641HPCN_36BIT            powerpc     mpc86xx     mpc8641hpcn         freescale      -           MPC8641HPCN:PHYS_64BIT
+xpedite517x                  powerpc     mpc86xx     -                   xes
+Adder                        powerpc     mpc8xx      adder
+Adder87x                     powerpc     mpc8xx      adder               -              -           Adder
+AdderII                      powerpc     mpc8xx      adder               -              -           Adder:MPC852T
+AdderUSB                     powerpc     mpc8xx      adder               -              -           Adder
+ADS860                       powerpc     mpc8xx      fads
+c2mon                        powerpc     mpc8xx
+cogent_mpc8xx                powerpc     mpc8xx      cogent
+EP88x                        powerpc     mpc8xx      ep88x
+ESTEEM192E                   powerpc     mpc8xx      esteem192e
+ETX094                       powerpc     mpc8xx      etx094
+FADS823                      powerpc     mpc8xx      fads
+FADS850SAR                   powerpc     mpc8xx      fads
+FADS860T                     powerpc     mpc8xx      fads
+FLAGADM                      powerpc     mpc8xx      flagadm
+GEN860T                      powerpc     mpc8xx      gen860t
+GEN860T_SC                   powerpc     mpc8xx      gen860t             -              -           GEN860T:SC
+GENIETV                      powerpc     mpc8xx      genietv
+hermes                       powerpc     mpc8xx
+ICU862                       powerpc     mpc8xx      icu862
+ICU862_100MHz                powerpc     mpc8xx      icu862              -              -           ICU862:100MHz
+IP860                        powerpc     mpc8xx      ip860
+IVML24                       powerpc     mpc8xx      ivm                 -              -           IVML24:IVML24_16M
+IVML24_128                   powerpc     mpc8xx      ivm                 -              -           IVML24:IVML24_32M
+IVML24_256                   powerpc     mpc8xx      ivm                 -              -           IVML24:IVML24_64M
+IVMS8                        powerpc     mpc8xx      ivm                 -              -           IVMS8:IVMS8_16M
+IVMS8_128                    powerpc     mpc8xx      ivm                 -              -           IVMS8:IVMS8_32M
+IVMS8_256                    powerpc     mpc8xx      ivm                 -              -           IVMS8:IVMS8_64M
+LANTEC                       powerpc     mpc8xx      lantec
+lwmon                        powerpc     mpc8xx
+MBX                          powerpc     mpc8xx      mbx8xx
+MBX860T                      powerpc     mpc8xx      mbx8xx
+MPC86xADS                    powerpc     mpc8xx      fads
+MPC885ADS                    powerpc     mpc8xx      fads
+NETPHONE                     powerpc     mpc8xx      netphone            -              -           NETPHONE:NETPHONE_VERSION=1
+NETPHONE_V2                  powerpc     mpc8xx      netphone            -              -           NETPHONE:NETPHONE_VERSION=2
+NETTA                        powerpc     mpc8xx      netta               -              -           NETTA
+NETTA2                       powerpc     mpc8xx      netta2              -              -           NETTA2:NETTA2_VERSION=1
+NETTA2_V2                    powerpc     mpc8xx      netta2              -              -           NETTA2:NETTA2_VERSION=2
+NETTA_6412                   powerpc     mpc8xx      netta               -              -           NETTA:NETTA_6412=1
+NETTA_6412_SWAPHOOK          powerpc     mpc8xx      netta               -              -           NETTA:NETTA_6412=1,NETTA_SWAPHOOK=1
+NETTA_ISDN                   powerpc     mpc8xx      netta               -              -           NETTA:NETTA_ISDN=1
+NETTA_ISDN_6412              powerpc     mpc8xx      netta               -              -           NETTA:NETTA_ISDN=1,NETTA_6412=1
+NETTA_ISDN_6412_SWAPHOOK     powerpc     mpc8xx      netta               -              -           NETTA:NETTA_ISDN=1,NETTA_6412=1,NETTA_SWAPHOOK=1
+NETTA_ISDN_SWAPHOOK          powerpc     mpc8xx      netta               -              -           NETTA:NETTA_ISDN=1,NETTA_SWAPHOOK=1
+NETTA_SWAPHOOK               powerpc     mpc8xx      netta               -              -           NETTA:NETTA_SWAPHOOK=1
+NETVIA                       powerpc     mpc8xx      netvia              -              -           NETVIA:NETVIA_VERSION=1
+NETVIA_V2                    powerpc     mpc8xx      netvia              -              -           NETVIA:NETVIA_VERSION=2
+NX823                        powerpc     mpc8xx      nx823
+quantum                      powerpc     mpc8xx
+R360MPI                      powerpc     mpc8xx      r360mpi
+RBC823                       powerpc     mpc8xx      rbc823
+rmu                          powerpc     mpc8xx
+RPXClassic                   powerpc     mpc8xx
+RPXlite                      powerpc     mpc8xx
+RPXlite_DW                   powerpc     mpc8xx      RPXlite_dw          -              -           RPXlite_DW
+RPXlite_DW_64                powerpc     mpc8xx      RPXlite_dw          -              -           RPXlite_DW:RPXlite_64MHz
+RPXlite_DW_64_LCD            powerpc     mpc8xx      RPXlite_dw          -              -           RPXlite_DW:RPXlite_64MHz,LCD,NEC_NL6448BC20
+RPXlite_DW_LCD               powerpc     mpc8xx      RPXlite_dw          -              -           RPXlite_DW:LCD,NEC_NL6448BC20
+RPXlite_DW_NVRAM             powerpc     mpc8xx      RPXlite_dw          -              -           RPXlite_DW:ENV_IS_IN_NVRAM
+RPXlite_DW_NVRAM_64          powerpc     mpc8xx      RPXlite_dw          -              -           RPXlite_DW:RPXlite_64MHz,ENV_IS_IN_NVRAM
+RPXlite_DW_NVRAM_64_LCD      powerpc     mpc8xx      RPXlite_dw          -              -           RPXlite_DW:RPXlite_64MHz,LCD,NEC_NL6448BC20,ENV_IS_IN_NVRAM
+RPXlite_DW_NVRAM_LCD         powerpc     mpc8xx      RPXlite_dw          -              -           RPXlite_DW:LCD,NEC_NL6448BC20,ENV_IS_IN_NVRAM
+RRvision                     powerpc     mpc8xx
+RRvision_LCD                 powerpc     mpc8xx      RRvision            -              -           RRvision:LCD,SHARP_LQ104V7DS01
+spc1920                      powerpc     mpc8xx
+SPD823TS                     powerpc     mpc8xx      spd8xx
+svm_sc8xx                    powerpc     mpc8xx
+SXNI855T                     powerpc     mpc8xx      sixnet
+v37                          powerpc     mpc8xx
+MHPC                         powerpc     mpc8xx      mhpc                eltec
+TOP860                       powerpc     mpc8xx      top860              emk
+kmsupx4                      powerpc     mpc8xx      km8xx               keymile
+mgsuvd                       powerpc     mpc8xx      km8xx               keymile
+KUP4K                        powerpc     mpc8xx      kup4k               kup
+KUP4X                        powerpc     mpc8xx      kup4x               kup
+ELPT860                      powerpc     mpc8xx      elpt860             LEOX
+uc100                        powerpc     mpc8xx      -                   manroland
+IAD210                       powerpc     mpc8xx      -                   siemens
+QS823                        powerpc     mpc8xx      qs850               snmc
+QS850                        powerpc     mpc8xx      qs850               snmc
+QS860T                       powerpc     mpc8xx      qs860t              snmc
+stxxtc                       powerpc     mpc8xx      stxxtc              stx
+FPS850L                      powerpc     mpc8xx      tqm8xx              tqc
+FPS860L                      powerpc     mpc8xx      tqm8xx              tqc
+NSCU                         powerpc     mpc8xx      tqm8xx              tqc
+SM850                        powerpc     mpc8xx      tqm8xx              tqc
+TK885D                       powerpc     mpc8xx      tqm8xx              tqc
+TQM823L                      powerpc     mpc8xx      tqm8xx              tqc
+TQM823L_LCD                  powerpc     mpc8xx      tqm8xx              tqc            -           TQM823L:LCD,NEC_NL6448BC20
+TQM823M                      powerpc     mpc8xx      tqm8xx              tqc
+TQM850L                      powerpc     mpc8xx      tqm8xx              tqc
+TQM850M                      powerpc     mpc8xx      tqm8xx              tqc
+TQM855L                      powerpc     mpc8xx      tqm8xx              tqc
+TQM855M                      powerpc     mpc8xx      tqm8xx              tqc
+TQM860L                      powerpc     mpc8xx      tqm8xx              tqc
+TQM860M                      powerpc     mpc8xx      tqm8xx              tqc
+TQM862L                      powerpc     mpc8xx      tqm8xx              tqc
+TQM862M                      powerpc     mpc8xx      tqm8xx              tqc
+TQM866M                      powerpc     mpc8xx      tqm8xx              tqc
+TQM885D                      powerpc     mpc8xx      tqm8xx              tqc
+TTTech                       powerpc     mpc8xx      tqm8xx              tqc            -           TQM823L:LCD,SHARP_LQ104V7DS01
+virtlab2                     powerpc     mpc8xx      tqm8xx              tqc
+wtk                          powerpc     mpc8xx      tqm8xx              tqc            -           TQM823L:LCD,SHARP_LQ065T9DR51U
+AMX860                       powerpc     mpc8xx      amx860              westel
+csb272                       powerpc     ppc4xx
+csb472                       powerpc     ppc4xx
+G2000                        powerpc     ppc4xx      g2000
+JSE                          powerpc     ppc4xx      jse
+korat                        powerpc     ppc4xx
+korat_perm                   powerpc     ppc4xx      korat               -              -           korat:KORAT_PERMANENT
+lwmon5                       powerpc     ppc4xx
+ML2                          powerpc     ppc4xx      ml2
+pcs440ep                     powerpc     ppc4xx
+quad100hd                    powerpc     ppc4xx
+sbc405                       powerpc     ppc4xx
+sc3                          powerpc     ppc4xx
+t3corp                       powerpc     ppc4xx
+W7OLMC                       powerpc     ppc4xx      w7o
+W7OLMG                       powerpc     ppc4xx      w7o
+zeus                         powerpc     ppc4xx
+acadia                       powerpc     ppc4xx      -                   amcc
+acadia_nand                  powerpc     ppc4xx      acadia              amcc           -           acadia:NAND_U_BOOT,SYS_TEXT_BASE=0x01000000
+arches                       powerpc     ppc4xx      canyonlands         amcc           -           canyonlands:ARCHES
+bamboo                       powerpc     ppc4xx      -                   amcc
+bamboo_nand                  powerpc     ppc4xx      bamboo              amcc           -           bamboo:NAND_U_BOOT,SYS_TEXT_BASE=0x01000000
+bluestone                    powerpc     ppc4xx      -                   amcc
+bubinga                      powerpc     ppc4xx      -                   amcc
+canyonlands                  powerpc     ppc4xx      canyonlands         amcc           -           canyonlands:CANYONLANDS
+canyonlands_nand             powerpc     ppc4xx      canyonlands         amcc           -           canyonlands:CANYONLANDS,NAND_U_BOOT,SYS_TEXT_BASE=0x01000000
+ebony                        powerpc     ppc4xx      -                   amcc
+glacier                      powerpc     ppc4xx      canyonlands         amcc           -           canyonlands:GLACIER
+glacier_nand                 powerpc     ppc4xx      canyonlands         amcc           -           canyonlands:GLACIER,NAND_U_BOOT,SYS_TEXT_BASE=0x01000000
+haleakala                    powerpc     ppc4xx      kilauea             amcc           -           kilauea:HALEAKALA
+haleakala_nand               powerpc     ppc4xx      kilauea             amcc           -           kilauea:NAND_U_BOOT,SYS_TEXT_BASE=0x01000000
+katmai                       powerpc     ppc4xx      -                   amcc
+kilauea                      powerpc     ppc4xx      kilauea             amcc           -           kilauea:KILAUEA
+kilauea_nand                 powerpc     ppc4xx      kilauea             amcc           -           kilauea:NAND_U_BOOT,SYS_TEXT_BASE=0x01000000
+luan                         powerpc     ppc4xx      -                   amcc
+makalu                       powerpc     ppc4xx      -                   amcc
+ocotea                       powerpc     ppc4xx      -                   amcc
+rainier                      powerpc     ppc4xx      sequoia             amcc           -           sequoia:RAINIER
+rainier_nand                 powerpc     ppc4xx      sequoia             amcc           -           sequoia:RAINIER,NAND_U_BOOT,SYS_TEXT_BASE=0x01000000
+rainier_ramboot              powerpc     ppc4xx      sequoia             amcc           -           sequoia:RAINIER,SYS_RAMBOOT,SYS_TEXT_BASE=0x01000000,SYS_LDSCRIPT=board/amcc/sequoia/u-boot-ram.lds
+redwood                      powerpc     ppc4xx      -                   amcc
+sequoia                      powerpc     ppc4xx      sequoia             amcc           -           sequoia:SEQUOIA
+sequoia_nand                 powerpc     ppc4xx      sequoia             amcc           -           sequoia:SEQUOIA,NAND_U_BOOT,SYS_TEXT_BASE=0x01000000
+sequoia_ramboot              powerpc     ppc4xx      sequoia             amcc           -           sequoia:SEQUOIA,SYS_RAMBOOT,SYS_TEXT_BASE=0x01000000,SYS_LDSCRIPT=board/amcc/sequoia/u-boot-ram.lds
+sycamore                     powerpc     ppc4xx      walnut              amcc           -           walnut
+taihu                        powerpc     ppc4xx      -                   amcc
+taishan                      powerpc     ppc4xx      -                   amcc
+walnut                       powerpc     ppc4xx      walnut              amcc
+yellowstone                  powerpc     ppc4xx      yosemite            amcc           -           yosemite:YELLOWSTONE
+yosemite                     powerpc     ppc4xx      yosemite            amcc           -           yosemite:YOSEMITE
+yucca                        powerpc     ppc4xx      -                   amcc
+AP1000                       powerpc     ppc4xx      ap1000              amirix
+fx12mm                       powerpc     ppc4xx      fx12mm              avnet          -           fx12mm:SYS_TEXT_BASE=0x03000000,SYS_LDSCRIPT=$(SRCTREE)/board/xilinx/ppc405-generic/u-boot-ram.lds
+fx12mm_flash                 powerpc     ppc4xx      fx12mm              avnet          -           fx12mm:SYS_TEXT_BASE=0xFFCB0000,SYS_LDSCRIPT=$(SRCTREE)/board/xilinx/ppc405-generic/u-boot-rom.lds
+v5fx30teval                  powerpc     ppc4xx      v5fx30teval         avnet          -           v5fx30teval:SYS_TEXT_BASE=0x03000000,SYS_LDSCRIPT=$(SRCTREE)/board/xilinx/ppc440-generic/u-boot-ram.lds
+v5fx30teval_flash            powerpc     ppc4xx      v5fx30teval         avnet          -           v5fx30teval:SYS_TEXT_BASE=0xFF1C0000,SYS_LDSCRIPT=$(SRCTREE)/board/xilinx/ppc440-generic/u-boot-rom.lds
+CRAYL1                       powerpc     ppc4xx      L1                  cray
+CATcenter                    powerpc     ppc4xx      PPChameleonEVB      dave           -           CATcenter:PPCHAMELEON_MODULE_MODEL=1
+CATcenter_25                 powerpc     ppc4xx      PPChameleonEVB      dave           -           CATcenter:PPCHAMELEON_MODULE_MODEL=1,PPCHAMELEON_CLK_25
+CATcenter_33                 powerpc     ppc4xx      PPChameleonEVB      dave           -           CATcenter:PPCHAMELEON_MODULE_MODEL=1,PPCHAMELEON_CLK_33
+PPChameleonEVB               powerpc     ppc4xx      PPChameleonEVB      dave
+PPChameleonEVB_BA_25         powerpc     ppc4xx      PPChameleonEVB      dave           -           PPChameleonEVB:PPCHAMELEON_MODULE_MODEL=0,PPCHAMELEON_CLK_25
+PPChameleonEVB_BA_33         powerpc     ppc4xx      PPChameleonEVB      dave           -           PPChameleonEVB:PPCHAMELEON_MODULE_MODEL=0,PPCHAMELEON_CLK_33
+PPChameleonEVB_HI_25         powerpc     ppc4xx      PPChameleonEVB      dave           -           PPChameleonEVB:PPCHAMELEON_MODULE_MODEL=2,PPCHAMELEON_CLK_25
+PPChameleonEVB_HI_33         powerpc     ppc4xx      PPChameleonEVB      dave           -           PPChameleonEVB:PPCHAMELEON_MODULE_MODEL=2,PPCHAMELEON_CLK_33
+PPChameleonEVB_ME_25         powerpc     ppc4xx      PPChameleonEVB      dave           -           PPChameleonEVB:PPCHAMELEON_MODULE_MODEL=1,PPCHAMELEON_CLK_25
+PPChameleonEVB_ME_33         powerpc     ppc4xx      PPChameleonEVB      dave           -           PPChameleonEVB:PPCHAMELEON_MODULE_MODEL=1,PPCHAMELEON_CLK_33
+ADCIOP                       powerpc     ppc4xx      adciop              esd
+APC405                       powerpc     ppc4xx      apc405              esd
+AR405                        powerpc     ppc4xx      ar405               esd
+ASH405                       powerpc     ppc4xx      ash405              esd
+CANBT                        powerpc     ppc4xx      canbt               esd
+CMS700                       powerpc     ppc4xx      cms700              esd
+CPCI2DP                      powerpc     ppc4xx      cpci2dp             esd
+CPCI405                      powerpc     ppc4xx      cpci405             esd
+CPCI4052                     powerpc     ppc4xx      cpci405             esd
+CPCI405AB                    powerpc     ppc4xx      cpci405             esd
+CPCI405DT                    powerpc     ppc4xx      cpci405             esd
+CPCIISER4                    powerpc     ppc4xx      cpciiser4           esd
+DASA_SIM                     powerpc     ppc4xx      dasa_sim            esd
+DP405                        powerpc     ppc4xx      dp405               esd
+DU405                        powerpc     ppc4xx      du405               esd
+DU440                        powerpc     ppc4xx      du440               esd
+HH405                        powerpc     ppc4xx      hh405               esd
+HUB405                       powerpc     ppc4xx      hub405              esd
+OCRTC                        powerpc     ppc4xx      ocrtc               esd
+PCI405                       powerpc     ppc4xx      pci405              esd
+PLU405                       powerpc     ppc4xx      plu405              esd
+PMC405                       powerpc     ppc4xx      pmc405              esd
+PMC405DE                     powerpc     ppc4xx      pmc405de            esd
+PMC440                       powerpc     ppc4xx      pmc440              esd
+VOH405                       powerpc     ppc4xx      voh405              esd
+VOM405                       powerpc     ppc4xx      vom405              esd
+WUH405                       powerpc     ppc4xx      wuh405              esd
+devconcenter                 powerpc     ppc4xx      intip               gdsys          -           intip:DEVCONCENTER
+dlvision                     powerpc     ppc4xx      -                   gdsys
+gdppc440etx                  powerpc     ppc4xx      -                   gdsys
+intip                        powerpc     ppc4xx      intip               gdsys          -           intip:INTIB
+io                           powerpc     ppc4xx      405ep               gdsys
+iocon                        powerpc     ppc4xx      405ep               gdsys
+neo                          powerpc     ppc4xx      -                   gdsys
+icon                         powerpc     ppc4xx      -                   mosaixtech
+MIP405                       powerpc     ppc4xx      mip405              mpl
+MIP405T                      powerpc     ppc4xx      mip405              mpl            -           MIP405:MIP405T
+PIP405                       powerpc     ppc4xx      pip405              mpl
+hcu4                         powerpc     ppc4xx      hcu4                netstal
+hcu5                         powerpc     ppc4xx      hcu5                netstal
+mcu25                        powerpc     ppc4xx      mcu25               netstal
+alpr                         powerpc     ppc4xx      -                   prodrive
+p3p440                       powerpc     ppc4xx      -                   prodrive
+KAREF                        powerpc     ppc4xx      karef               sandburst
+METROBOX                     powerpc     ppc4xx      metrobox            sandburst
+xpedite1000                  powerpc     ppc4xx      -                   xes
+ml507                        powerpc     ppc4xx      ml507               xilinx         -           ml507:SYS_TEXT_BASE=0x04000000,SYS_LDSCRIPT=$(SRCTREE)/board/xilinx/ppc440-generic/u-boot-ram.lds
+ml507_flash                  powerpc     ppc4xx      ml507               xilinx         -           ml507:SYS_TEXT_BASE=0xFE360000,SYS_LDSCRIPT=$(SRCTREE)/board/xilinx/ppc440-generic/u-boot-rom.lds
+xilinx-ppc405-generic        powerpc     ppc4xx      ppc405-generic      xilinx         -           xilinx-ppc405-generic:SYS_TEXT_BASE=0x04000000,SYS_LDSCRIPT=$(SRCTREE)/board/xilinx/ppc405-generic/u-boot-ram.lds
+xilinx-ppc405-generic_flash  powerpc     ppc4xx      ppc405-generic      xilinx         -           xilinx-ppc405-generic:SYS_TEXT_BASE=0xFE360000,SYS_LDSCRIPT=$(SRCTREE)/board/xilinx/ppc405-generic/u-boot-rom.lds
+xilinx-ppc440-generic        powerpc     ppc4xx      ppc440-generic      xilinx         -           xilinx-ppc440-generic:SYS_TEXT_BASE=0x04000000,SYS_LDSCRIPT=$(SRCTREE)/board/xilinx/ppc440-generic/u-boot-ram.lds
+xilinx-ppc440-generic_flash  powerpc     ppc4xx      ppc440-generic      xilinx         -           xilinx-ppc440-generic:SYS_TEXT_BASE=0xFE360000,SYS_LDSCRIPT=$(SRCTREE)/board/xilinx/ppc440-generic/u-boot-rom.lds
+rsk7203                      sh          sh2         rsk7203             renesas        -
+mpr2                         sh          sh3         mpr2                -              -
+ms7720se                     sh          sh3         ms7720se            -              -
+espt                         sh          sh4         espt                -              -
+ms7722se                     sh          sh4         ms7722se            -              -
+ms7750se                     sh          sh4         ms7750se            -              -
+ap325rxa                     sh          sh4         ap325rxa            renesas        -
+r2dplus                      sh          sh4         r2dplus             renesas        -
+r7780mp                      sh          sh4         r7780mp             renesas        -
+sh7763rdp                    sh          sh4         sh7763rdp           renesas        -
+sh7785lcr                    sh          sh4         sh7785lcr           renesas        -
+sh7785lcr_32bit              sh          sh4         sh7785lcr           renesas        -           sh7785lcr:SH_32BIT=1
+MigoRsh                      sh4         MigoR       renesas             -
+grsim_leon2                  sparc       leon2       -                   gaisler
+gr_cpci_ax2000               sparc       leon3       -                   gaisler
+gr_ep2s60                    sparc       leon3       -                   gaisler
+grsim                        sparc       leon3       -                   gaisler
+gr_xc3s_1500                 sparc       leon3       -                   gaisler
+# Target                     ARCH        CPU         Board name          Vendor                SoC         Options
+########################################################################################################################
index 2c3707308be78ea225f12d8cd7af45853497b6bb..abea91cb7775f84ee76abdf08b815722abc5f662 100644 (file)
@@ -23,9 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)libcommon.a
-
-AOBJS  =
+LIB    = $(obj)libcommon.o
 
 # core
 COBJS-y += main.o
@@ -52,9 +50,9 @@ COBJS-y += cmd_version.o
 COBJS-y += env_common.o
 COBJS-$(CONFIG_ENV_IS_IN_DATAFLASH) += env_dataflash.o
 COBJS-$(CONFIG_ENV_IS_IN_EEPROM) += env_eeprom.o
-COBJS-$(CONFIG_ENV_IS_EMBEDDED) += env_embedded.o
+XCOBJS-$(CONFIG_ENV_IS_EMBEDDED) += env_embedded.o
 COBJS-$(CONFIG_ENV_IS_IN_EEPROM) += env_embedded.o
-COBJS-$(CONFIG_ENV_IS_IN_FLASH) += env_embedded.o
+XCOBJS-$(CONFIG_ENV_IS_IN_FLASH) += env_embedded.o
 COBJS-$(CONFIG_ENV_IS_IN_NVRAM) += env_embedded.o
 COBJS-$(CONFIG_ENV_IS_IN_FLASH) += env_flash.o
 COBJS-$(CONFIG_ENV_IS_IN_MG_DISK) += env_mgdisk.o
@@ -169,15 +167,17 @@ COBJS-$(CONFIG_USB_KEYBOARD) += usb_kbd.o
 
 
 COBJS  := $(sort $(COBJS-y))
-SRCS   := $(AOBJS:.o=.S) $(COBJS:.o=.c)
-OBJS   := $(addprefix $(obj),$(AOBJS) $(COBJS))
+XCOBJS := $(sort $(XCOBJS-y))
+SRCS   := $(COBJS:.o=.c) $(XCOBJS:.o=.c)
+OBJS   := $(addprefix $(obj),$(COBJS))
+XOBJS  := $(addprefix $(obj),$(XCOBJS))
 
 CPPFLAGS += -I..
 
-all:   $(LIB) $(AOBJS)
+all:   $(LIB) $(XOBJS)
 
 $(LIB): $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 $(obj)env_embedded.o: $(src)env_embedded.c $(obj)../tools/envcrc
        $(CC) $(AFLAGS) -Wa,--no-warn \
index 3fd8abc157f98f4f67326a90ceea5acbe6a77d25..dcc93c19bd5b7139c4de6181cf2f2a5bba87cc57 100644 (file)
@@ -545,8 +545,7 @@ int envmatch (uchar *s1, int i2)
 static int do_env_default(cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
 {
        if ((argc != 2) || (strcmp(argv[1], "-f") != 0)) {
-               cmd_usage(cmdtp);
-               return 1;
+               return cmd_usage(cmdtp);
        }
        set_default_env("## Resetting to default environment\n");
        return 0;
@@ -633,15 +632,13 @@ static int do_env_export(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv
                                sep = '\n';
                                break;
                        default:
-                               cmd_usage(cmdtp);
-                               return 1;
+                               return cmd_usage(cmdtp);
                        }
                }
        }
 
        if (argc < 1) {
-               cmd_usage(cmdtp);
-               return 1;
+               return cmd_usage(cmdtp);
        }
 
        addr = (char *)simple_strtoul(argv[0], NULL, 16);
@@ -744,15 +741,13 @@ static int do_env_import(cmd_tbl_t * cmdtp, int flag, int argc, char * const arg
                                del = 1;
                                break;
                        default:
-                               cmd_usage(cmdtp);
-                               return 1;
+                               return cmd_usage(cmdtp);
                        }
                }
        }
 
        if (argc < 1) {
-               cmd_usage(cmdtp);
-               return 1;
+               return cmd_usage(cmdtp);
        }
 
        if (!fmt)
@@ -848,6 +843,9 @@ static int do_env (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
        cmd_tbl_t *cp;
 
+       if (argc < 2)
+               return cmd_usage(cmdtp);
+
        /* drop initial "env" arg */
        argc--;
        argv++;
@@ -857,8 +855,7 @@ static int do_env (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
        if (cp)
                return cp->cmd(cmdtp, flag, argc, argv);
 
-       cmd_usage(cmdtp);
-       return 1;
+       return cmd_usage(cmdtp);
 }
 
 U_BOOT_CMD(
index ccf5adaaad6b13d8cd77e62ed1ea5d5e46ec5e7d..92631ea2dd72db998eb99b3b390f130dc8d2c48b 100644 (file)
@@ -104,68 +104,6 @@ void pciinfo(int BusNum, int ShortPCIListing)
     }
 }
 
-static char *pci_classes_str(u8 class)
-{
-       switch (class) {
-       case PCI_CLASS_NOT_DEFINED:
-               return "Build before PCI Rev2.0";
-               break;
-       case PCI_BASE_CLASS_STORAGE:
-               return "Mass storage controller";
-               break;
-       case PCI_BASE_CLASS_NETWORK:
-               return "Network controller";
-               break;
-       case PCI_BASE_CLASS_DISPLAY:
-               return "Display controller";
-               break;
-       case PCI_BASE_CLASS_MULTIMEDIA:
-               return "Multimedia device";
-               break;
-       case PCI_BASE_CLASS_MEMORY:
-               return "Memory controller";
-               break;
-       case PCI_BASE_CLASS_BRIDGE:
-               return "Bridge device";
-               break;
-       case PCI_BASE_CLASS_COMMUNICATION:
-               return "Simple comm. controller";
-               break;
-       case PCI_BASE_CLASS_SYSTEM:
-               return "Base system peripheral";
-               break;
-       case PCI_BASE_CLASS_INPUT:
-               return "Input device";
-               break;
-       case PCI_BASE_CLASS_DOCKING:
-               return "Docking station";
-               break;
-       case PCI_BASE_CLASS_PROCESSOR:
-               return "Processor";
-               break;
-       case PCI_BASE_CLASS_SERIAL:
-               return "Serial bus controller";
-               break;
-       case PCI_BASE_CLASS_INTELLIGENT:
-               return "Intelligent controller";
-               break;
-       case PCI_BASE_CLASS_SATELLITE:
-               return "Satellite controller";
-               break;
-       case PCI_BASE_CLASS_CRYPT:
-               return "Cryptographic device";
-               break;
-       case PCI_BASE_CLASS_SIGNAL_PROCESSING:
-               return "DSP";
-               break;
-       case PCI_CLASS_OTHERS:
-               return "Does not fit any class";
-               break;
-       default:
-       return  "???";
-               break;
-       };
-}
 
 /*
  * Subroutine:  pci_header_show_brief
@@ -190,7 +128,7 @@ void pci_header_show_brief(pci_dev_t dev)
 
        printf("0x%.4x     0x%.4x     %-23s 0x%.2x\n",
               vendor, device,
-              pci_classes_str(class), subclass);
+              pci_class_str(class), subclass);
 }
 
 /*
@@ -225,7 +163,7 @@ void pci_header_show(pci_dev_t dev)
        PRINT ("  status register =             0x%.4x\n", word, PCI_STATUS);
        PRINT ("  revision ID =                 0x%.2x\n", byte, PCI_REVISION_ID);
        PRINT2("  class code =                  0x%.2x (%s)\n", byte, PCI_CLASS_CODE,
-                                                               pci_classes_str);
+                                                               pci_class_str);
        PRINT ("  sub class code =              0x%.2x\n", byte, PCI_CLASS_SUB_CODE);
        PRINT ("  programming interface =       0x%.2x\n", byte, PCI_CLASS_PROG);
        PRINT ("  cache line =                  0x%.2x\n", byte, PCI_CACHE_LINE_SIZE);
index 0020eacf5c46fe8d8da0617e4c449df03ad9e757..0b1a3fbf9b18a15a8212252a8e0c54254321b027 100644 (file)
@@ -108,6 +108,8 @@ cmd_tbl_t *find_cmd_tbl (const char *cmd, cmd_tbl_t *table, int table_len)
        int len;
        int n_found = 0;
 
+       if (!cmd)
+               return NULL;
        /*
         * Some commands allow length modifiers (like "cp.b");
         * compare command name only until first dot.
index 4871f4b0990457a47732abe3c51f3f54a132f2e3..e9bab09b8eac7c0ec4900a3685f15a807b448c31 100644 (file)
@@ -1511,6 +1511,13 @@ void *sbrk(ptrdiff_t increment)
        ulong old = mem_malloc_brk;
        ulong new = old + increment;
 
+       /*
+        * if we are giving memory back make sure we clear it out since
+        * we set MORECORE_CLEARS to 1
+        */
+       if (increment < 0)
+               memset((void *)new, 0, -increment);
+
        if ((new < mem_malloc_start) || (new > mem_malloc_end))
                return (void *)MORECORE_FAILURE;
 
index 3d7fceb099d4ee3913eb99c720e23249801fc78b..7c9392c86fb932ef95c8d1989f1eeb8fc1f1c3a3 100644 (file)
@@ -29,6 +29,7 @@
 #include <linux/stddef.h>
 #include <malloc.h>
 #include <mmc.h>
+#include <search.h>
 #include <errno.h>
 
 /* references to names in env_common.c */
index a597b24dcb35213c00eabedc73481219015bffe8..47c6a7066543d14ec01253b6067ee8266856abd2 100644 (file)
@@ -272,7 +272,7 @@ int saveenv(void)
        u32 saved_size, saved_offset;
        char *saved_buffer = NULL;
        u32 sector = 1;
-       int ret;
+       int ret = 1;
        env_t   env_new;
        char    *res;
        ssize_t len;
@@ -293,7 +293,6 @@ int saveenv(void)
                saved_offset = CONFIG_ENV_OFFSET + CONFIG_ENV_SIZE;
                saved_buffer = malloc(saved_size);
                if (!saved_buffer) {
-                       ret = 1;
                        goto done;
                }
                ret = spi_flash_read(env_flash, saved_offset,
index 5829afd2ad045ee830341a0b2d4f5c2d3bbe370e..6c98e5b07a47269789935160ff8912da21bd034c 100644 (file)
@@ -954,7 +954,7 @@ static void of_bus_default_count_cells(void *blob, int parentoffset,
        if (addrc) {
                prop = fdt_getprop(blob, parentoffset, "#address-cells", NULL);
                if (prop)
-                       *addrc = be32_to_cpup(prop);
+                       *addrc = be32_to_cpup((u32 *)prop);
                else
                        *addrc = 2;
        }
@@ -962,7 +962,7 @@ static void of_bus_default_count_cells(void *blob, int parentoffset,
        if (sizec) {
                prop = fdt_getprop(blob, parentoffset, "#size-cells", NULL);
                if (prop)
-                       *sizec = be32_to_cpup(prop);
+                       *sizec = be32_to_cpup((u32 *)prop);
                else
                        *sizec = 1;
        }
index ce8e5f2dff510799c2db8c50548a320af8e88c49..c6d6f7b12c61454d18559cf32bda1b5a0c07523e 100644 (file)
--- a/config.mk
+++ b/config.mk
@@ -12,7 +12,7 @@
 #
 # This program is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 # GNU General Public License for more details.
 #
 # You should have received a copy of the GNU General Public License
@@ -53,7 +53,7 @@ HOSTSTRIP     = strip
 #
 # Mac OS X / Darwin's C preprocessor is Apple specific.  It
 # generates numerous errors and warnings.  We want to bypass it
-# and use GNU C's cpp.  To do this we pass the -traditional-cpp
+# and use GNU C's cpp. To do this we pass the -traditional-cpp
 # option to the compiler.  Note that the -traditional-cpp flag
 # DOES NOT have the same semantics as GNU C's flag, all it does
 # is invoke the GNU preprocessor in stock ANSI/ISO C fashion.
@@ -259,3 +259,10 @@ $(obj)%.s: %.c
                -o $@ $< -c -S
 
 #########################################################################
+
+# If the list of objects to link is empty, just create an empty built-in.o
+cmd_link_o_target = $(if $(strip $1),\
+                     $(LD) -r -o $@ $1 ,\
+                     rm -f $@; $(AR) rcs $@ )
+
+#########################################################################
index 128db77df69ff36a6165365d2b30100a04ff4d64..17266a2eb67a663c42a8989fb693c005f1cbc475 100644 (file)
@@ -25,7 +25,7 @@ include $(TOPDIR)/config.mk
 
 #CFLAGS += -DET_DEBUG -DDEBUG
 
-LIB    = $(obj)libdisk.a
+LIB    = $(obj)libdisk.o
 
 COBJS-y += part.o
 COBJS-$(CONFIG_MAC_PARTITION)   += part_mac.o
@@ -41,7 +41,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 all:   $(LIB)
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 506f0d4327283b9c883a13f05f121b65cef33c54..0204372a2f484ebf1d1894b1af31f65461e1d285 100644 (file)
@@ -21,6 +21,8 @@ Currently the following boards are supported:
 
 * TI DA830 EVM
 
+* TI DA850 EVM
+
 * DM355 based Leopard board
 
 * DM644x based schmoogie board
@@ -57,6 +59,11 @@ make
 make da830evm_config
 make
 
+* TI DA850 EVM:
+
+make da850evm_config
+make
+
 * DM355 based Leopard board:
 
 make davinci_dm355leopard_config
@@ -88,6 +95,20 @@ into the RAM.
 The programmers and UBL are always released as part of any standard TI
 software release associated with an SOC.
 
+Environment Variables
+=====================
+
+The DA850 EVM allows the user to specify the maximum cpu clock allowed by the
+silicon, in Hz, via an environment variable "maxcpuclk".
+
+The maximum clock rate allowed depends on the silicon populated on the EVM.
+Please make sure you understand the restrictions placed on this clock in the
+device specific datasheet before setting up this variable. This information is
+passed to the Linux kernel using the ATAG_REVISION atag.
+
+If "maxcpuclk" is not defined, the configuration CONFIG_DA850_EVM_MAX_CPU_CLK
+is used to obtain this information.
+
 Links
 =====
 
@@ -114,3 +135,7 @@ http://www.spectrumdigital.com/product_info.php?cPath=103&products_id=222
 6) TI DA830 EVM
 http://focus.ti.com/apps/docs/gencontent.tsp?appId=1&contentId=52385
 http://www.spectrumdigital.com/product_info.php?cPath=37&products_id=214
+
+7) TI DA850 EVM
+http://focus.ti.com/docs/prod/folders/print/omap-l138.html
+http://www.logicpd.com/products/development-kits/zoom-omap-l138-evm-development-kit
index 42865593bd773a185cf31e33806b6e63f7348880..8f98b60cbbd3c3c3c50467aabb204e7c6de38013 100644 (file)
@@ -11,7 +11,9 @@ easily if here is something they might want to dig for...
 
 Board  Arch    CPU     removed     Commit      last known maintainer/contact
 =============================================================================
-VoVPN-GW_100MHz        powerpc MPC8260 - 2010-10-24    Juergen Selent <j.selent@elmeg.de>
+barco  powerpc MPC8245 -         2010-11-23    Marc Leeman <marc.leeman@barco.com>
+ERIC   powerpc 405GP   d9ba451   2010-11-21    Swen Anderson <sand@peppercon.de>
+VoVPN-GW_100MHz        powerpc MPC8260 26fe3d2 2010-10-24      Juergen Selent <j.selent@elmeg.de>
 NC650  powerpc MPC852  333d86d   2010-10-19    Wolfgang Denk <wd@denx.de>
 CP850  powerpc MPC852  333d86d   2010-10-19    Wolfgang Denk <wd@denx.de>
 logodl ARM     PXA2xx  059e778   2010-10-18    August Hoeraendl <august.hoerandl@gmx.at>
index feba4da758975086a52a1fe2ca317e00f726b80c..d94a144292948e774c3ee0b1549d961efa45cf6c 100644 (file)
@@ -1,6 +1,6 @@
 include $(TOPDIR)/config.mk
 
-LIB := $(obj)libatibiosemu.a
+LIB := $(obj)libatibiosemu.o
 
 X86DIR  = x86emu
 
@@ -28,7 +28,7 @@ CPPFLAGS += $(EXTRA_CFLAGS)
 all:   $(LIB)
 
 $(LIB): $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 64dcf4e24549bd6f824dedce80d0f7b821318689..e27175bb4b52630a31beb27fc0c5e95eae8bd6a2 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    := $(obj)libblock.a
+LIB    := $(obj)libblock.o
 
 COBJS-$(CONFIG_SCSI_AHCI) += ahci.o
 COBJS-$(CONFIG_ATA_PIIX) += ata_piix.o
@@ -45,7 +45,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 all:   $(LIB)
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 36d99f9b111f8b7561527c12303353c72bd2b815..9d945a042a93e9d09386451576bd8a96d2487825 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    := $(obj)libdma.a
+LIB    := $(obj)libdma.o
 
 COBJS-$(CONFIG_FSLDMAFEC) += MCD_tasksInit.o MCD_dmaApi.o MCD_tasks.o
 COBJS-$(CONFIG_FSL_DMA) += fsl_dma.o
@@ -35,7 +35,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 all:   $(LIB)
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 9ecdc5ef109c4d8a1a9a3f29c0da33a466f5edb2..b48f623c180364f600d45edf5cb584d1f3c32041 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    := $(obj)libfpga.a
+LIB    := $(obj)libfpga.o
 
 ifdef CONFIG_FPGA
 COBJS-y += fpga.o
@@ -47,7 +47,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 all:   $(LIB)
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index a0f455223b379aee85410bf6e551fbdcee14e236..398024c7bc3bfceaefe4e0dc31f012aa99ac435e 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    := $(obj)libgpio.a
+LIB    := $(obj)libgpio.o
 
 COBJS-$(CONFIG_AT91_GPIO)      += at91_gpio.o
 COBJS-$(CONFIG_KIRKWOOD_GPIO)  += kw_gpio.o
@@ -38,7 +38,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 all:   $(LIB)
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 
 #########################################################################
index 59302fa4d2d10d4c87b5e35dbef6fceabbeaa214..f04cd6983ea233a50a4198dad2fc2feaa7b3aca7 100644 (file)
@@ -28,7 +28,7 @@ include $(TOPDIR)/config.mk
 
 #CFLAGS += -DDEBUG
 
-LIB    = $(obj)libhwmon.a
+LIB    = $(obj)libhwmon.o
 
 COBJS-$(CONFIG_DTT_ADM1021) += adm1021.o
 COBJS-$(CONFIG_DTT_ADT7460) += adt7460.o
@@ -47,7 +47,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 all:   $(LIB)
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 8921ff914e1a79e829f75a3576ae73454225f078..052fe360c075a0a8e22ada68951b0b2fe2c0b466 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    := $(obj)libi2c.a
+LIB    := $(obj)libi2c.o
 
 COBJS-$(CONFIG_BFIN_TWI_I2C) += bfin-twi_i2c.o
 COBJS-$(CONFIG_DRIVER_DAVINCI_I2C) += davinci_i2c.o
@@ -48,7 +48,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 all:   $(LIB)
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 9a144073999d71ef9b6a16bc9dc969c6bdef27f8..1f4dad35b53dcd26892e5586d62781dc17fb0541 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    := $(obj)libinput.a
+LIB    := $(obj)libinput.o
 
 COBJS-$(CONFIG_I8042_KBD) += i8042.o
 ifdef CONFIG_PS2KBD
@@ -38,7 +38,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 all:   $(LIB)
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 5d668f8222b10379a898c911445f6c05f2ca5e4b..a76bd4e58aa7bbdc40384fbe2eb6b940def0ad0b 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    := $(obj)libmisc.a
+LIB    := $(obj)libmisc.o
 
 COBJS-$(CONFIG_ALI152X) += ali512x.o
 COBJS-$(CONFIG_DS4510)  += ds4510.o
@@ -42,7 +42,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 all:   $(LIB)
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 2ead6344868483b5123a1bccd3d0a6402c18d1ca..68afd30ef0264c369e1cd0829aef72892aa2850b 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    := $(obj)libmmc.a
+LIB    := $(obj)libmmc.o
 
 COBJS-$(CONFIG_ATMEL_MCI) += atmel_mci.o
 COBJS-$(CONFIG_BFIN_SDH) += bfin_sdh.o
@@ -43,7 +43,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 all:   $(LIB)
 
 $(LIB): $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index c7f76209f33cbe8a6ca23d490bf31958c121ec4c..6f2280abff91af577644e0249a175702d477524e 100644 (file)
@@ -31,6 +31,9 @@
 #include <asm/io.h>
 #include <asm/arch/mmc_host_def.h>
 
+/* If we fail after 1 second wait, something is really bad */
+#define MAX_RETRY_MS   1000
+
 static int mmc_read_data(hsmmc_t *mmc_base, char *buf, unsigned int size);
 static int mmc_write_data(hsmmc_t *mmc_base, const char *buf, unsigned int siz);
 static struct mmc hsmmc_dev[2];
@@ -70,18 +73,29 @@ unsigned char mmc_board_init(hsmmc_t *mmc_base)
 
 void mmc_init_stream(hsmmc_t *mmc_base)
 {
+       ulong start;
 
        writel(readl(&mmc_base->con) | INIT_INITSTREAM, &mmc_base->con);
 
        writel(MMC_CMD0, &mmc_base->cmd);
-       while (!(readl(&mmc_base->stat) & CC_MASK))
-               ;
+       start = get_timer(0);
+       while (!(readl(&mmc_base->stat) & CC_MASK)) {
+               if (get_timer(0) - start > MAX_RETRY_MS) {
+                       printf("%s: timedout waiting for cc!\n", __func__);
+                       return;
+               }
+       }
        writel(CC_MASK, &mmc_base->stat)
                ;
        writel(MMC_CMD0, &mmc_base->cmd)
                ;
-       while (!(readl(&mmc_base->stat) & CC_MASK))
-               ;
+       start = get_timer(0);
+       while (!(readl(&mmc_base->stat) & CC_MASK)) {
+               if (get_timer(0) - start > MAX_RETRY_MS) {
+                       printf("%s: timedout waiting for cc2!\n", __func__);
+                       return;
+               }
+       }
        writel(readl(&mmc_base->con) & ~INIT_INITSTREAM, &mmc_base->con);
 }
 
@@ -91,16 +105,28 @@ static int mmc_init_setup(struct mmc *mmc)
        hsmmc_t *mmc_base = (hsmmc_t *)mmc->priv;
        unsigned int reg_val;
        unsigned int dsor;
+       ulong start;
 
        mmc_board_init(mmc_base);
 
        writel(readl(&mmc_base->sysconfig) | MMC_SOFTRESET,
                &mmc_base->sysconfig);
-       while ((readl(&mmc_base->sysstatus) & RESETDONE) == 0)
-               ;
+       start = get_timer(0);
+       while ((readl(&mmc_base->sysstatus) & RESETDONE) == 0) {
+               if (get_timer(0) - start > MAX_RETRY_MS) {
+                       printf("%s: timedout waiting for cc2!\n", __func__);
+                       return TIMEOUT;
+               }
+       }
        writel(readl(&mmc_base->sysctl) | SOFTRESETALL, &mmc_base->sysctl);
-       while ((readl(&mmc_base->sysctl) & SOFTRESETALL) != 0x0)
-               ;
+       start = get_timer(0);
+       while ((readl(&mmc_base->sysctl) & SOFTRESETALL) != 0x0) {
+               if (get_timer(0) - start > MAX_RETRY_MS) {
+                       printf("%s: timedout waiting for softresetall!\n",
+                               __func__);
+                       return TIMEOUT;
+               }
+       }
        writel(DTW_1_BITMODE | SDBP_PWROFF | SDVS_3V0, &mmc_base->hctl);
        writel(readl(&mmc_base->capa) | VS30_3V0SUP | VS18_1V8SUP,
                &mmc_base->capa);
@@ -116,8 +142,13 @@ static int mmc_init_setup(struct mmc *mmc)
                (ICE_STOP | DTO_15THDTO | CEN_DISABLE));
        mmc_reg_out(&mmc_base->sysctl, ICE_MASK | CLKD_MASK,
                (dsor << CLKD_OFFSET) | ICE_OSCILLATE);
-       while ((readl(&mmc_base->sysctl) & ICS_MASK) == ICS_NOTREADY)
-               ;
+       start = get_timer(0);
+       while ((readl(&mmc_base->sysctl) & ICS_MASK) == ICS_NOTREADY) {
+               if (get_timer(0) - start > MAX_RETRY_MS) {
+                       printf("%s: timedout waiting for ics!\n", __func__);
+                       return TIMEOUT;
+               }
+       }
        writel(readl(&mmc_base->sysctl) | CEN_ENABLE, &mmc_base->sysctl);
 
        writel(readl(&mmc_base->hctl) | SDBP_PWRON, &mmc_base->hctl);
@@ -137,14 +168,23 @@ static int mmc_send_cmd(struct mmc *mmc, struct mmc_cmd *cmd,
 {
        hsmmc_t *mmc_base = (hsmmc_t *)mmc->priv;
        unsigned int flags, mmc_stat;
-       unsigned int retry = 0x100000;
+       ulong start;
 
-
-       while ((readl(&mmc_base->pstate) & DATI_MASK) == DATI_CMDDIS)
-               ;
+       start = get_timer(0);
+       while ((readl(&mmc_base->pstate) & DATI_MASK) == DATI_CMDDIS) {
+               if (get_timer(0) - start > MAX_RETRY_MS) {
+                       printf("%s: timedout waiting for cmddis!\n", __func__);
+                       return TIMEOUT;
+               }
+       }
        writel(0xFFFFFFFF, &mmc_base->stat);
-       while (readl(&mmc_base->stat))
-               ;
+       start = get_timer(0);
+       while (readl(&mmc_base->stat)) {
+               if (get_timer(0) - start > MAX_RETRY_MS) {
+                       printf("%s: timedout waiting for stat!\n", __func__);
+                       return TIMEOUT;
+               }
+       }
        /*
         * CMDREG
         * CMDIDX[13:8] : Command index
@@ -200,15 +240,14 @@ static int mmc_send_cmd(struct mmc *mmc, struct mmc_cmd *cmd,
        writel(cmd->cmdarg, &mmc_base->arg);
        writel((cmd->cmdidx << 24) | flags, &mmc_base->cmd);
 
+       start = get_timer(0);
        do {
                mmc_stat = readl(&mmc_base->stat);
-               retry--;
-       } while ((mmc_stat == 0) && (retry > 0));
-
-       if (retry == 0) {
-               printf("%s : timeout: No status update\n", __func__);
-               return TIMEOUT;
-       }
+               if (get_timer(0) - start > MAX_RETRY_MS) {
+                       printf("%s : timeout: No status update\n", __func__);
+                       return TIMEOUT;
+               }
+       } while (!mmc_stat);
 
        if ((mmc_stat & IE_CTO) != 0)
                return TIMEOUT;
@@ -253,8 +292,14 @@ static int mmc_read_data(hsmmc_t *mmc_base, char *buf, unsigned int size)
        count /= 4;
 
        while (size) {
+               ulong start = get_timer(0);
                do {
                        mmc_stat = readl(&mmc_base->stat);
+                       if (get_timer(0) - start > MAX_RETRY_MS) {
+                               printf("%s: timedout waiting for status!\n",
+                                               __func__);
+                               return TIMEOUT;
+                       }
                } while (mmc_stat == 0);
 
                if ((mmc_stat & ERRI_MASK) != 0)
@@ -298,8 +343,14 @@ static int mmc_write_data(hsmmc_t *mmc_base, const char *buf, unsigned int size)
        count /= 4;
 
        while (size) {
+               ulong start = get_timer(0);
                do {
                        mmc_stat = readl(&mmc_base->stat);
+                       if (get_timer(0) - start > MAX_RETRY_MS) {
+                               printf("%s: timedout waiting for status!\n",
+                                               __func__);
+                               return TIMEOUT;
+                       }
                } while (mmc_stat == 0);
 
                if ((mmc_stat & ERRI_MASK) != 0)
@@ -334,6 +385,7 @@ static void mmc_set_ios(struct mmc *mmc)
 {
        hsmmc_t *mmc_base = (hsmmc_t *)mmc->priv;
        unsigned int dsor = 0;
+       ulong start;
 
        /* configue bus width */
        switch (mmc->bus_width) {
@@ -372,8 +424,13 @@ static void mmc_set_ios(struct mmc *mmc)
        mmc_reg_out(&mmc_base->sysctl, ICE_MASK | CLKD_MASK,
                                (dsor << CLKD_OFFSET) | ICE_OSCILLATE);
 
-       while ((readl(&mmc_base->sysctl) & ICS_MASK) == ICS_NOTREADY)
-               ;
+       start = get_timer(0);
+       while ((readl(&mmc_base->sysctl) & ICS_MASK) == ICS_NOTREADY) {
+               if (get_timer(0) - start > MAX_RETRY_MS) {
+                       printf("%s: timedout waiting for ics!\n", __func__);
+                       return;
+               }
+       }
        writel(readl(&mmc_base->sysctl) | CEN_ENABLE, &mmc_base->sysctl);
 }
 
index cbf6f156b459732d0f37429733e207e661ea29c0..999431c3c0df590c7b4dfa6318bdd6b49ffffe88 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    := $(obj)libmtd.a
+LIB    := $(obj)libmtd.o
 
 COBJS-$(CONFIG_MTD_DEVICE) += mtdcore.o
 COBJS-$(CONFIG_MTD_PARTITIONS) += mtdpart.o
@@ -43,7 +43,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 all:   $(LIB)
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index c92c7a7a490cd8c7fa45fec2c7091ecbcdebb010..39c235ebc2641978efa45bc69b28c0d2af63e3c8 100644 (file)
@@ -1837,7 +1837,7 @@ static void flash_fixup_stm(flash_info_t *info, struct cfi_qry *qry)
  * The following code cannot be run from FLASH!
  *
  */
-ulong flash_get_size (phys_addr_t base, int banknum, unsigned long max_size)
+ulong flash_get_size (phys_addr_t base, int banknum)
 {
        flash_info_t *info = &flash_info[banknum];
        int i, j;
@@ -1849,6 +1849,7 @@ ulong flash_get_size (phys_addr_t base, int banknum, unsigned long max_size)
        int erase_region_size;
        int erase_region_count;
        struct cfi_qry qry;
+       unsigned long max_size;
 
        memset(&qry, 0, sizeof(qry));
 
@@ -1929,6 +1930,7 @@ ulong flash_get_size (phys_addr_t base, int banknum, unsigned long max_size)
                info->size = 1 << qry.dev_size;
                /* multiply the size by the number of chips */
                info->size *= size_ratio;
+               max_size = cfi_flash_bank_size(banknum);
                if (max_size && (info->size > max_size)) {
                        debug("[truncated from %ldMiB]", info->size >> 20);
                        info->size = max_size;
@@ -2043,8 +2045,7 @@ unsigned long flash_init (void)
                flash_info[i].flash_id = FLASH_UNKNOWN;
 
                if (!flash_detect_legacy(cfi_flash_bank_addr(i), i))
-                       flash_get_size(cfi_flash_bank_addr(i), i,
-                                       cfi_flash_bank_size(i));
+                       flash_get_size(cfi_flash_bank_addr(i), i);
                size += flash_info[i].size;
                if (flash_info[i].flash_id == FLASH_UNKNOWN) {
 #ifndef CONFIG_SYS_FLASH_QUIET_TEST
index 28f27da7a71aa8e1a2f4883bd8b722ba44c87156..8b598f6bfef8769964fa149fb2526a48d394f613 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    := $(obj)libnand.a
+LIB    := $(obj)libnand.o
 
 ifdef CONFIG_CMD_NAND
 COBJS-y += nand.o
@@ -59,7 +59,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 all:   $(LIB)
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 3ca13a979c7e6d7aaa0b80ac12a9a464475b5d25..0729e0c9c02a5d00c250f4fa92f6b1eb8a49a5c4 100644 (file)
@@ -201,6 +201,8 @@ int board_nand_init(struct nand_chip *nand)
 #ifndef CONFIG_NAND_SPL
        nand->write_buf  = ndfc_write_buf;
        nand->verify_buf = ndfc_verify_buf;
+
+       chip++;
 #else
        /*
         * Setup EBC (CS0 only right now)
@@ -211,7 +213,5 @@ int board_nand_init(struct nand_chip *nand)
        mtebc(PB0AP, CONFIG_SYS_EBC_PB0AP);
 #endif
 
-       chip++;
-
        return 0;
 }
index 2571df016385a440f6d20d442a0d969feabdc292..b984bd4a2beb11eb529c127f62fa7dfe491b209b 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    := $(obj)libonenand.a
+LIB    := $(obj)libonenand.o
 
 COBJS-$(CONFIG_CMD_ONENAND)    := onenand_uboot.o onenand_base.o onenand_bbt.o
 COBJS-$(CONFIG_SAMSUNG_ONENAND)        += samsung.o
@@ -35,7 +35,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 all:   $(LIB)
 
 $(LIB): $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 4f11b363137a4b0a4dffb68cba0de1124d258276..3d607c06d39f5075b62091aa6d8bc4d3dc937ac7 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    := $(obj)libspi_flash.a
+LIB    := $(obj)libspi_flash.o
 
 COBJS-$(CONFIG_SPI_FLASH)      += spi_flash.o
 COBJS-$(CONFIG_SPI_FLASH_ATMEL)        += atmel.o
@@ -32,6 +32,7 @@ COBJS-$(CONFIG_SPI_FLASH_SPANSION)    += spansion.o
 COBJS-$(CONFIG_SPI_FLASH_SST)  += sst.o
 COBJS-$(CONFIG_SPI_FLASH_STMICRO)      += stmicro.o
 COBJS-$(CONFIG_SPI_FLASH_WINBOND)      += winbond.o
+COBJS-$(CONFIG_SPI_FRAM_RAMTRON)       += ramtron.o
 COBJS-$(CONFIG_SPI_M95XXX) += eeprom_m95xxx.o
 
 COBJS  := $(COBJS-y)
@@ -41,7 +42,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 all:   $(LIB)
 
 $(LIB): $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
diff --git a/drivers/mtd/spi/ramtron.c b/drivers/mtd/spi/ramtron.c
new file mode 100644 (file)
index 0000000..171390d
--- /dev/null
@@ -0,0 +1,319 @@
+/*
+ * (C) Copyright 2010
+ * Reinhard Meyer, EMK Elektronik, reinhard.meyer@emk-elektronik.de
+ *
+ * See file CREDITS for list of people who contributed to this
+ * project.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ */
+
+/*
+ * Note: RAMTRON SPI FRAMs are ferroelectric, nonvolatile RAMs
+ * with an interface identical to SPI flash devices.
+ * However since they behave like RAM there are no delays or
+ * busy polls required. They can sustain read or write at the
+ * allowed SPI bus speed, which can be 40 MHz for some devices.
+ *
+ * Unfortunately some RAMTRON devices do not have a means of
+ * identifying them. They will leave the SO line undriven when
+ * the READ-ID command is issued. It is therefore mandatory
+ * that the MISO line has a proper pull-up, so that READ-ID
+ * will return a row of 0xff. This 0xff pseudo-id will cause
+ * probes by all vendor specific functions that are designed
+ * to handle it. If the MISO line is not pulled up, READ-ID
+ * could return any random noise, even mimicking another
+ * device.
+ *
+ * We use CONFIG_SPI_FRAM_RAMTRON_NON_JEDEC
+ * to define which device will be assumed after a simple status
+ * register verify. This method is prone to false positive
+ * detection and should therefore be the last to be tried.
+ * Enter it in the last position in the table in spi_flash.c!
+ *
+ * The define CONFIG_SPI_FRAM_RAMTRON_NON_JEDEC both activates
+ * compilation of the special handler and defines the device
+ * to assume.
+ */
+
+#include <common.h>
+#include <malloc.h>
+#include <spi_flash.h>
+#include "spi_flash_internal.h"
+
+/* RAMTRON commands common to all devices */
+#define CMD_RAMTRON_WREN       0x06    /* Write Enable */
+#define CMD_RAMTRON_WRDI       0x04    /* Write Disable */
+#define CMD_RAMTRON_RDSR       0x05    /* Read Status Register */
+#define CMD_RAMTRON_WRSR       0x01    /* Write Status Register */
+#define CMD_RAMTRON_READ       0x03    /* Read Data Bytes */
+#define CMD_RAMTRON_WRITE      0x02    /* Write Data Bytes */
+/* not all have those: */
+#define CMD_RAMTRON_FSTRD      0x0b    /* Fast Read (for compatibility - not used here) */
+#define CMD_RAMTRON_SLEEP      0xb9    /* Enter Sleep Mode */
+#define CMD_RAMTRON_RDID       0x9f    /* Read ID */
+#define CMD_RAMTRON_SNR                0xc3    /* Read Serial Number */
+
+/*
+ * Properties of supported FRAMs
+ * Note: speed is currently not used because we have no method to deliver that
+ * value to the upper layers
+ */
+struct ramtron_spi_fram_params {
+       u32     size;           /* size in bytes */
+       u8      addr_len;       /* number of address bytes */
+       u8      merge_cmd;      /* some address bits are in the command byte */
+       u8      id1;            /* device ID 1 (family, density) */
+       u8      id2;            /* device ID 2 (sub, rev, rsvd) */
+       u32     speed;          /* max. SPI clock in Hz */
+       const char *name;       /* name for display and/or matching */
+};
+
+struct ramtron_spi_fram {
+       struct spi_flash flash;
+       const struct ramtron_spi_fram_params *params;
+};
+
+static inline struct ramtron_spi_fram *to_ramtron_spi_fram(struct spi_flash
+                                                            *flash)
+{
+       return container_of(flash, struct ramtron_spi_fram, flash);
+}
+
+/*
+ * table describing supported FRAM chips:
+ * chips without RDID command must have the values 0xff for id1 and id2
+ */
+static const struct ramtron_spi_fram_params ramtron_spi_fram_table[] = {
+       {
+               .size = 32*1024,
+               .addr_len = 2,
+               .merge_cmd = 0,
+               .id1 = 0x22,
+               .id2 = 0x00,
+               .speed = 40000000,
+               .name = "FM25V02",
+       },
+       {
+               .size = 32*1024,
+               .addr_len = 2,
+               .merge_cmd = 0,
+               .id1 = 0x22,
+               .id2 = 0x01,
+               .speed = 40000000,
+               .name = "FM25VN02",
+       },
+       {
+               .size = 64*1024,
+               .addr_len = 2,
+               .merge_cmd = 0,
+               .id1 = 0x23,
+               .id2 = 0x00,
+               .speed = 40000000,
+               .name = "FM25V05",
+       },
+       {
+               .size = 64*1024,
+               .addr_len = 2,
+               .merge_cmd = 0,
+               .id1 = 0x23,
+               .id2 = 0x01,
+               .speed = 40000000,
+               .name = "FM25VN05",
+       },
+       {
+               .size = 128*1024,
+               .addr_len = 3,
+               .merge_cmd = 0,
+               .id1 = 0x24,
+               .id2 = 0x00,
+               .speed = 40000000,
+               .name = "FM25V10",
+       },
+       {
+               .size = 128*1024,
+               .addr_len = 3,
+               .merge_cmd = 0,
+               .id1 = 0x24,
+               .id2 = 0x01,
+               .speed = 40000000,
+               .name = "FM25VN10",
+       },
+#ifdef CONFIG_SPI_FRAM_RAMTRON_NON_JEDEC
+       {
+               .size = 256*1024,
+               .addr_len = 3,
+               .merge_cmd = 0,
+               .id1 = 0xff,
+               .id2 = 0xff,
+               .speed = 40000000,
+               .name = "FM25H20",
+       },
+#endif
+};
+
+static int ramtron_common(struct spi_flash *flash,
+               u32 offset, size_t len, void *buf, u8 command)
+{
+       struct ramtron_spi_fram *sn = to_ramtron_spi_fram(flash);
+       u8 cmd[4];
+       int cmd_len;
+       int ret;
+
+       if (sn->params->addr_len == 3 && sn->params->merge_cmd == 0) {
+               cmd[0] = command;
+               cmd[1] = offset >> 16;
+               cmd[2] = offset >> 8;
+               cmd[3] = offset;
+               cmd_len = 4;
+       } else if (sn->params->addr_len == 2 && sn->params->merge_cmd == 0) {
+               cmd[0] = command;
+               cmd[1] = offset >> 8;
+               cmd[2] = offset;
+               cmd_len = 3;
+       } else {
+               printf("SF: unsupported addr_len or merge_cmd\n");
+               return -1;
+       }
+
+       /* claim the bus */
+       ret = spi_claim_bus(flash->spi);
+       if (ret) {
+               debug("SF: Unable to claim SPI bus\n");
+               return ret;
+       }
+
+       if (command == CMD_RAMTRON_WRITE) {
+               /* send WREN */
+               ret = spi_flash_cmd(flash->spi, CMD_RAMTRON_WREN, NULL, 0);
+               if (ret < 0) {
+                       debug("SF: Enabling Write failed\n");
+                       goto releasebus;
+               }
+       }
+
+       /* do the transaction */
+       if (command == CMD_RAMTRON_WRITE)
+               ret = spi_flash_cmd_write(flash->spi, cmd, cmd_len, buf, len);
+       else
+               ret = spi_flash_cmd_read(flash->spi, cmd, cmd_len, buf, len);
+       if (ret < 0)
+               debug("SF: Transaction failed\n");
+
+releasebus:
+       /* release the bus */
+       spi_release_bus(flash->spi);
+       return ret;
+}
+
+static int ramtron_read(struct spi_flash *flash,
+               u32 offset, size_t len, void *buf)
+{
+       return ramtron_common(flash, offset, len, buf,
+               CMD_RAMTRON_READ);
+}
+
+static int ramtron_write(struct spi_flash *flash,
+               u32 offset, size_t len, const void *buf)
+{
+       return ramtron_common(flash, offset, len, (void *)buf,
+               CMD_RAMTRON_WRITE);
+}
+
+int ramtron_erase(struct spi_flash *flash, u32 offset, size_t len)
+{
+       debug("SF: Erase of RAMTRON FRAMs is pointless\n");
+       return -1;
+}
+
+/*
+ * nore: we are called here with idcode pointing to the first non-0x7f byte
+ * already!
+ */
+struct spi_flash *spi_fram_probe_ramtron(struct spi_slave *spi, u8 *idcode)
+{
+       const struct ramtron_spi_fram_params *params;
+       struct ramtron_spi_fram *sn;
+       unsigned int i;
+#ifdef CONFIG_SPI_FRAM_RAMTRON_NON_JEDEC
+       int ret;
+       u8 sr;
+#endif
+
+       /* NOTE: the bus has been claimed before this function is called! */
+       switch (idcode[0]) {
+       case 0xc2:
+               /* JEDEC conformant RAMTRON id */
+               for (i = 0; i < ARRAY_SIZE(ramtron_spi_fram_table); i++) {
+                       params = &ramtron_spi_fram_table[i];
+                       if (idcode[1] == params->id1 && idcode[2] == params->id2)
+                               goto found;
+               }
+               break;
+#ifdef CONFIG_SPI_FRAM_RAMTRON_NON_JEDEC
+       case 0xff:
+               /*
+                * probably open MISO line, pulled up.
+                * We COULD have a non JEDEC conformant FRAM here,
+                * read the status register to verify
+                */
+               ret = spi_flash_cmd(spi, CMD_RAMTRON_RDSR, &sr, 1);
+               if (ret)
+                       return NULL;
+
+               /* Bits 5,4,0 are fixed 0 for all devices */
+               if ((sr & 0x31) != 0x00)
+                       return NULL;
+               /* now find the device */
+               for (i = 0; i < ARRAY_SIZE(ramtron_spi_fram_table); i++) {
+                       params = &ramtron_spi_fram_table[i];
+                       if (!strcmp(params->name, CONFIG_SPI_FRAM_RAMTRON_NON_JEDEC))
+                               goto found;
+               }
+               debug("SF: Unsupported non-JEDEC RAMTRON device "
+                       CONFIG_SPI_FRAM_RAMTRON_NON_JEDEC "\n");
+               break;
+#endif
+       default:
+               break;
+       }
+
+       /* arriving here means no method has found a device we can handle */
+       debug("SF/ramtron: unsupported device id0=%02x id1=%02x id2=%02x\n",
+               idcode[0], idcode[1], idcode[2]);
+       return NULL;
+
+found:
+       sn = malloc(sizeof(*sn));
+       if (!sn) {
+               debug("SF: Failed to allocate memory\n");
+               return NULL;
+       }
+
+       sn->params = params;
+       sn->flash.spi = spi;
+       sn->flash.name = params->name;
+
+       sn->flash.write = ramtron_write;
+       sn->flash.read = ramtron_read;
+       sn->flash.erase = ramtron_erase;
+       sn->flash.size = params->size;
+
+       printf("SF: Detected %s with size ", params->name);
+       print_size(sn->flash.size, "\n");
+
+       return &sn->flash;
+}
index b4ba1dda51dc4fee48116841f702d17787e11787..ab02ef3e04db5d09916d2a65aaaefc5aaa37a7d6 100644 (file)
@@ -145,11 +145,19 @@ static const struct {
 #endif
 #ifdef CONFIG_SPI_FLASH_WINBOND
        { 0, 0xef, spi_flash_probe_winbond, },
+#endif
+#ifdef CONFIG_SPI_FRAM_RAMTRON
+       { 6, 0xc2, spi_fram_probe_ramtron, },
+# undef IDCODE_CONT_LEN
+# define IDCODE_CONT_LEN 6
 #endif
        /* Keep it sorted by best detection */
 #ifdef CONFIG_SPI_FLASH_STMICRO
        { 0, 0xff, spi_flash_probe_stmicro, },
 #endif
+#ifdef CONFIG_SPI_FRAM_RAMTRON_NON_JEDEC
+       { 0, 0xff, spi_fram_probe_ramtron, },
+#endif
 };
 #define IDCODE_LEN (IDCODE_CONT_LEN + IDCODE_PART_LEN)
 
index 08546fbb03895a8f1ffd358bb417ea48622482a6..9bc43dd21e17eba88c154f79b464f4b17d81579c 100644 (file)
@@ -50,3 +50,4 @@ struct spi_flash *spi_flash_probe_macronix(struct spi_slave *spi, u8 *idcode);
 struct spi_flash *spi_flash_probe_sst(struct spi_slave *spi, u8 *idcode);
 struct spi_flash *spi_flash_probe_stmicro(struct spi_slave *spi, u8 *idcode);
 struct spi_flash *spi_flash_probe_winbond(struct spi_slave *spi, u8 *idcode);
+struct spi_flash *spi_fram_probe_ramtron(struct spi_slave *spi, u8 *idcode);
index 8bd82c353df94d7e5d7c9e9ffea84b72567f78e3..b2e601439d88cb5a543376750ca6293b91cb5cfa 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    := $(obj)libubi.a
+LIB    := $(obj)libubi.o
 
 ifdef CONFIG_CMD_UBI
 COBJS-y += build.o vtbl.o vmt.o upd.o kapi.o eba.o io.o wl.o scan.o crc32.o
@@ -39,7 +39,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 all:   $(LIB)
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 79eb66b26748f6b0bdcb51807e978321b6eecf04..b605eea7d2d71e8772932510158bef1ded592b69 100644 (file)
 
 include $(TOPDIR)/config.mk
 
-LIB    := $(obj)libnet.a
+LIB    := $(obj)libnet.o
 
 COBJS-$(CONFIG_DRIVER_3C589) += 3c589.o
 COBJS-$(CONFIG_PPC4xx_EMAC) += 4xx_enet.o
 COBJS-$(CONFIG_ALTERA_TSE) += altera_tse.o
 COBJS-$(CONFIG_DRIVER_AT91EMAC) += at91_emac.o
 COBJS-$(CONFIG_DRIVER_AX88180) += ax88180.o
-COBJS-$(CONFIG_BCM570x) += bcm570x.o bcm570x_autoneg.o 5701rls.o
+COBJS-$(CONFIG_BCM570x) += bcm570x.o
+COBJS-$(CONFIG_BCM570x) += bcm570x_autoneg.o
+COBJS-$(CONFIG_BCM570x) += 5701rls.o
 COBJS-$(CONFIG_BFIN_MAC) += bfin_mac.o
 COBJS-$(CONFIG_CS8900) += cs8900.o
 COBJS-$(CONFIG_TULIP) += dc2114x.o
@@ -72,7 +74,9 @@ COBJS-$(CONFIG_DRIVER_S3C4510_ETH) += s3c4510b_eth.o
 COBJS-$(CONFIG_SH_ETHER) += sh_eth.o
 COBJS-$(CONFIG_SMC91111) += smc91111.o
 COBJS-$(CONFIG_SMC911X) += smc911x.o
-COBJS-$(CONFIG_TIGON3) += tigon3.o bcm570x_autoneg.o 5701rls.o
+COBJS-$(CONFIG_TIGON3) += tigon3.o
+COBJS-$(CONFIG_TIGON3) += bcm570x_autoneg.o
+COBJS-$(CONFIG_TIGON3) += 5701rls.o
 COBJS-$(CONFIG_DRIVER_TI_EMAC) += davinci_emac.o
 COBJS-$(CONFIG_TSEC_ENET) += tsec.o
 COBJS-$(CONFIG_TSI108_ETH) += tsi108_eth.o
@@ -80,14 +84,14 @@ COBJS-$(CONFIG_ULI526X) += uli526x.o
 COBJS-$(CONFIG_VSC7385_ENET) += vsc7385.o
 COBJS-$(CONFIG_XILINX_EMACLITE) += xilinx_emaclite.o
 
-COBJS  := $(COBJS-y)
+COBJS  := $(sort $(COBJS-y))
 SRCS   := $(COBJS:.o=.c)
 OBJS   := $(addprefix $(obj),$(COBJS))
 
 all:   $(LIB)
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 5ae53e816b1b0d9629105e94fd599d60f26bf999..51e7c19e03d418d26f9e6d5c9d6d2dc106b04b00 100644 (file)
@@ -280,6 +280,12 @@ int dc21x4x_initialize(bd_t *bis)
 
                dev = (struct eth_device*) malloc(sizeof *dev);
 
+               if (!dev) {
+                       printf("Can not allocalte memory of dc21x4x\n");
+                       break;
+               }
+               memset(dev, 0, sizeof(*dev));
+
 #ifdef CONFIG_TULIP_FIX_DAVICOM
                sprintf(dev->name, "Davicom#%d", card_number);
 #else
index 2825342ff5290980ba9dc4ce554c8d6c25b7a950..5f390bddbdb481b8bb810bf86ad393a36af94e5b 100644 (file)
@@ -5018,6 +5018,7 @@ TRANSMIT - Transmit a frame
 static int
 e1000_transmit(struct eth_device *nic, volatile void *packet, int length)
 {
+       void * nv_packet = (void *)packet;
        struct e1000_hw *hw = nic->priv;
        struct e1000_tx_desc *txp;
        int i = 0;
@@ -5025,7 +5026,7 @@ e1000_transmit(struct eth_device *nic, volatile void *packet, int length)
        txp = tx_base + tx_tail;
        tx_tail = (tx_tail + 1) % 8;
 
-       txp->buffer_addr = cpu_to_le64(virt_to_bus(hw->pdev, packet));
+       txp->buffer_addr = cpu_to_le64(virt_to_bus(hw->pdev, nv_packet));
        txp->lower.data = cpu_to_le32(hw->txd_cmd | length);
        txp->upper.data = 0;
        E1000_WRITE_REG(hw, TDT, tx_tail);
@@ -5177,7 +5178,21 @@ e1000_initialize(bd_t * bis)
                }
 
                nic = (struct eth_device *) malloc(sizeof (*nic));
+               if (!nic) {
+                       printf("Error: e1000 - Can not alloc memory\n");
+                       return 0;
+               }
+
                hw = (struct e1000_hw *) malloc(sizeof (*hw));
+               if (!hw) {
+                       free(nic);
+                       printf("Error: e1000 - Can not alloc memory\n");
+                       return 0;
+               }
+
+               memset(nic, 0, sizeof(*nic));
+               memset(hw, 0, sizeof(*hw));
+
                hw->pdev = devno;
                nic->priv = hw;
 
index 22e14e3814deeadf854b0b09d4494d4038c5b360..ae0e0d458209c4406fee32a3a0e50b29a57171e2 100644 (file)
@@ -450,6 +450,11 @@ int eepro100_initialize (bd_t * bis)
                }
 
                dev = (struct eth_device *) malloc (sizeof *dev);
+               if (!dev) {
+                       printf("eepro100: Can not allocate memory\n");
+                       break;
+               }
+               memset(dev, 0, sizeof(*dev));
 
                sprintf (dev->name, "i82559#%d", card_number);
                dev->priv = (void *) devno; /* this have to come before bus_to_phys() */
index 3f09c2b65263c324c5bc3d2cd14bd21ce45641e0..c17f9379bf93a3ff663395f0f3b56c8aa5fa60c9 100644 (file)
@@ -710,6 +710,7 @@ static int fec_probe(bd_t *bd)
                puts("fec_mxc: not enough malloc memory\n");
                return -ENOMEM;
        }
+       memset(edev, 0, sizeof(*edev));
        edev->priv = fec;
        edev->init = fec_init;
        edev->send = fec_send;
index 79bc4d9d26b10df0e8cf6f5448d520782ef4c318..6c322269464cf45cd489c0b1bc1b212ea6f29147 100644 (file)
@@ -24,6 +24,8 @@
  * MA 02111-1307 USA
  */
 
+/* #define DEBUG */
+
 #include <common.h>
 #include <command.h>
 #include <net.h>
@@ -33,8 +35,6 @@
 #include <ambapp.h>
 #include <asm/leon.h>
 
-/* #define DEBUG */
-
 #include "greth.h"
 
 /* Default to 3s timeout on autonegotiation */
 #define GRETH_PHY_TIMEOUT_MS 3000
 #endif
 
+/* Default to PHY adrress 0 not not specified */
+#ifdef CONFIG_SYS_GRLIB_GRETH_PHYADDR
+#define GRETH_PHY_ADR_DEFAULT CONFIG_SYS_GRLIB_GRETH_PHYADDR
+#else
+#define GRETH_PHY_ADR_DEFAULT 0
+#endif
+
 /* ByPass Cache when reading regs */
 #define GRETH_REGLOAD(addr)            SPARC_NOCACHE_READ(addr)
 /* Write-through cache ==> no bypassing needed on writes */
-#define GRETH_REGSAVE(addr,data)       (*(unsigned int *)(addr) = (data))
+#define GRETH_REGSAVE(addr,data) (*(volatile unsigned int *)(addr) = (data))
 #define GRETH_REGORIN(addr,data) GRETH_REGSAVE(addr,GRETH_REGLOAD(addr)|data)
 #define GRETH_REGANDIN(addr,data) GRETH_REGSAVE(addr,GRETH_REGLOAD(addr)&data)
 
@@ -102,12 +109,12 @@ typedef struct {
 } greth_priv;
 
 /* Read MII register 'addr' from core 'regs' */
-static int read_mii(int addr, volatile greth_regs * regs)
+static int read_mii(int phyaddr, int regaddr, volatile greth_regs * regs)
 {
        while (GRETH_REGLOAD(&regs->mdio) & GRETH_MII_BUSY) {
        }
 
-       GRETH_REGSAVE(&regs->mdio, (0 << 11) | ((addr & 0x1F) << 6) | 2);
+       GRETH_REGSAVE(&regs->mdio, ((phyaddr & 0x1F) << 11) | ((regaddr & 0x1F) << 6) | 2);
 
        while (GRETH_REGLOAD(&regs->mdio) & GRETH_MII_BUSY) {
        }
@@ -119,14 +126,14 @@ static int read_mii(int addr, volatile greth_regs * regs)
        }
 }
 
-static void write_mii(int addr, int data, volatile greth_regs * regs)
+static void write_mii(int phyaddr, int regaddr, int data, volatile greth_regs * regs)
 {
        while (GRETH_REGLOAD(&regs->mdio) & GRETH_MII_BUSY) {
        }
 
        GRETH_REGSAVE(&regs->mdio,
-                     ((data & 0xFFFF) << 16) | (0 << 11) | ((addr & 0x1F) << 6)
-                     | 1);
+                     ((data & 0xFFFF) << 16) | ((phyaddr & 0x1F) << 11) |
+                     ((regaddr & 0x1F) << 6) | 1);
 
        while (GRETH_REGLOAD(&regs->mdio) & GRETH_MII_BUSY) {
        }
@@ -142,11 +149,18 @@ int greth_init(struct eth_device *dev, bd_t * bis)
 
        greth_priv *greth = dev->priv;
        greth_regs *regs = greth->regs;
-#ifdef DEBUG
-       printf("greth_init\n");
-#endif
 
-       GRETH_REGSAVE(&regs->control, 0);
+       debug("greth_init\n");
+
+       /* Reset core */
+       GRETH_REGSAVE(&regs->control, (GRETH_RESET | (greth->gb << 8) |
+               (greth->sp << 7) | (greth->fd << 4)));
+
+       /* Wait for Reset to complete */
+       while ( GRETH_REGLOAD(&regs->control) & GRETH_RESET) ;
+
+       GRETH_REGSAVE(&regs->control,
+               ((greth->gb << 8) | (greth->sp << 7) | (greth->fd << 4)));
 
        if (!greth->rxbd_base) {
 
@@ -154,7 +168,7 @@ int greth_init(struct eth_device *dev, bd_t * bis)
                greth->rxbd_base = (greth_bd *)
                    memalign(0x1000, GRETH_RXBD_CNT * sizeof(greth_bd));
                greth->txbd_base = (greth_bd *)
-                   memalign(0x1000, GRETH_RXBD_CNT * sizeof(greth_bd));
+                   memalign(0x1000, GRETH_TXBD_CNT * sizeof(greth_bd));
 
                /* allocate buffers to all descriptors  */
                greth->rxbuf_base =
@@ -186,7 +200,7 @@ int greth_init(struct eth_device *dev, bd_t * bis)
        for (i = 0; i < GRETH_TXBD_CNT; i++) {
                greth->txbd_base[i].addr = 0;
                /* enable desciptor & set wrap bit if last descriptor */
-               if (i >= (GRETH_RXBD_CNT - 1)) {
+               if (i >= (GRETH_TXBD_CNT - 1)) {
                        greth->txbd_base[i].stat = GRETH_BD_WR;
                } else {
                        greth->txbd_base[i].stat = 0;
@@ -201,9 +215,7 @@ int greth_init(struct eth_device *dev, bd_t * bis)
 
        /* Enable Transmitter, GRETH will now scan descriptors for packets
         * to transmitt */
-#ifdef DEBUG
-       printf("greth_init: enabling receiver\n");
-#endif
+       debug("greth_init: enabling receiver\n");
        GRETH_REGORIN(&regs->control, GRETH_RXEN);
 
        return 0;
@@ -219,6 +231,26 @@ int greth_init_phy(greth_priv * dev, bd_t * bis)
        greth_regs *regs = dev->regs;
        int tmp, tmp1, tmp2, i;
        unsigned int start, timeout;
+       int phyaddr = GRETH_PHY_ADR_DEFAULT;
+
+#ifndef CONFIG_SYS_GRLIB_GRETH_PHYADDR
+       /* If BSP doesn't provide a hardcoded PHY address the driver will
+        * try to autodetect PHY address by stopping the search on the first
+        * PHY address which has REG0 implemented.
+        */
+       for (i=0; i<32; i++) {
+               tmp = read_mii(i, 0, regs);
+               if ( (tmp != 0) && (tmp != 0xffff) ) {
+                       phyaddr = i;
+                       break;
+               }
+       }
+#endif
+
+       /* Save PHY Address */
+       dev->phyaddr = phyaddr;
+
+       debug("GRETH PHY ADDRESS: %d\n", phyaddr);
 
        /* X msecs to ticks */
        timeout = usec2ticks(GRETH_PHY_TIMEOUT_MS * 1000);
@@ -230,17 +262,21 @@ int greth_init_phy(greth_priv * dev, bd_t * bis)
 
        /* get phy control register default values */
 
-       while ((tmp = read_mii(0, regs)) & 0x8000) {
-               if (get_timer(start) > timeout)
+       while ((tmp = read_mii(phyaddr, 0, regs)) & 0x8000) {
+               if (get_timer(start) > timeout) {
+                       debug("greth_init_phy: PHY read 1 failed\n");
                        return 1;       /* Fail */
+               }
        }
 
        /* reset PHY and wait for completion */
-       write_mii(0, 0x8000 | tmp, regs);
+       write_mii(phyaddr, 0, 0x8000 | tmp, regs);
 
-       while (((tmp = read_mii(0, regs))) & 0x8000) {
-               if (get_timer(start) > timeout)
+       while (((tmp = read_mii(phyaddr, 0, regs))) & 0x8000) {
+               if (get_timer(start) > timeout) {
+                       debug("greth_init_phy: PHY read 2 failed\n");
                        return 1;       /* Fail */
+               }
        }
 
        /* Check if PHY is autoneg capable and then determine operating
@@ -251,16 +287,16 @@ int greth_init_phy(greth_priv * dev, bd_t * bis)
        dev->sp = 0;
        dev->auto_neg = 0;
        if (!((tmp >> 12) & 1)) {
-               write_mii(0, 0, regs);
+               write_mii(phyaddr, 0, 0, regs);
        } else {
                /* wait for auto negotiation to complete and then check operating mode */
                dev->auto_neg = 1;
                i = 0;
-               while (!(((tmp = read_mii(1, regs)) >> 5) & 1)) {
+               while (!(((tmp = read_mii(phyaddr, 1, regs)) >> 5) & 1)) {
                        if (get_timer(start) > timeout) {
                                printf("Auto negotiation timed out. "
                                       "Selecting default config\n");
-                               tmp = read_mii(0, regs);
+                               tmp = read_mii(phyaddr, 0, regs);
                                dev->gb = ((tmp >> 6) & 1)
                                    && !((tmp >> 13) & 1);
                                dev->sp = !((tmp >> 6) & 1)
@@ -270,8 +306,8 @@ int greth_init_phy(greth_priv * dev, bd_t * bis)
                        }
                }
                if ((tmp >> 8) & 1) {
-                       tmp1 = read_mii(9, regs);
-                       tmp2 = read_mii(10, regs);
+                       tmp1 = read_mii(phyaddr, 9, regs);
+                       tmp2 = read_mii(phyaddr, 10, regs);
                        if ((tmp1 & GRETH_MII_EXTADV_1000FD) &&
                            (tmp2 & GRETH_MII_EXTPRT_1000FD)) {
                                dev->gb = 1;
@@ -284,8 +320,8 @@ int greth_init_phy(greth_priv * dev, bd_t * bis)
                        }
                }
                if ((dev->gb == 0) || ((dev->gb == 1) && (dev->gbit_mac == 0))) {
-                       tmp1 = read_mii(4, regs);
-                       tmp2 = read_mii(5, regs);
+                       tmp1 = read_mii(phyaddr, 4, regs);
+                       tmp2 = read_mii(phyaddr, 5, regs);
                        if ((tmp1 & GRETH_MII_100TXFD) &&
                            (tmp2 & GRETH_MII_100TXFD)) {
                                dev->sp = 1;
@@ -302,28 +338,24 @@ int greth_init_phy(greth_priv * dev, bd_t * bis)
                        if ((dev->gb == 1) && (dev->gbit_mac == 0)) {
                                dev->gb = 0;
                                dev->fd = 0;
-                               write_mii(0, dev->sp << 13, regs);
+                               write_mii(phyaddr, 0, dev->sp << 13, regs);
                        }
                }
 
        }
       auto_neg_done:
-#ifdef DEBUG
-       printf("%s GRETH Ethermac at [0x%x] irq %d. Running \
+       debug("%s GRETH Ethermac at [0x%x] irq %d. Running \
                %d Mbps %s duplex\n", dev->gbit_mac ? "10/100/1000" : "10/100", (unsigned int)(regs), (unsigned int)(dev->irq), dev->gb ? 1000 : (dev->sp ? 100 : 10), dev->fd ? "full" : "half");
-#endif
        /* Read out PHY info if extended registers are available */
        if (tmp & 1) {
-               tmp1 = read_mii(2, regs);
-               tmp2 = read_mii(3, regs);
+               tmp1 = read_mii(phyaddr, 2, regs);
+               tmp2 = read_mii(phyaddr, 3, regs);
                tmp1 = (tmp1 << 6) | ((tmp2 >> 10) & 0x3F);
                tmp = tmp2 & 0xF;
 
                tmp2 = (tmp2 >> 4) & 0x3F;
-#ifdef DEBUG
-               printf("PHY: Vendor %x   Device %x    Revision %d\n", tmp1,
+               debug("PHY: Vendor %x   Device %x    Revision %d\n", tmp1,
                       tmp2, tmp);
-#endif
        } else {
                printf("PHY info not available\n");
        }
@@ -340,9 +372,9 @@ void greth_halt(struct eth_device *dev)
        greth_priv *greth;
        greth_regs *regs;
        int i;
-#ifdef DEBUG
-       printf("greth_halt\n");
-#endif
+
+       debug("greth_halt\n");
+
        if (!dev || !dev->priv)
                return;
 
@@ -378,9 +410,9 @@ int greth_send(struct eth_device *dev, volatile void *eth_data, int data_length)
        greth_bd *txbd;
        void *txbuf;
        unsigned int status;
-#ifdef DEBUG
-       printf("greth_send\n");
-#endif
+
+       debug("greth_send\n");
+
        /* send data, wait for data to be sent, then return */
        if (((unsigned int)eth_data & (GRETH_BUF_ALIGN - 1))
            && !greth->gbit_mac) {
@@ -389,9 +421,6 @@ int greth_send(struct eth_device *dev, volatile void *eth_data, int data_length)
                 */
                if (!greth->txbuf) {
                        greth->txbuf = malloc(GRETH_RXBUF_SIZE);
-#ifdef DEBUG
-                       printf("GRETH: allocated aligned tx-buf\n");
-#endif
                }
 
                txbuf = greth->txbuf;
@@ -457,9 +486,7 @@ int greth_recv(struct eth_device *dev)
        unsigned char *d;
        int enable = 0;
        int i;
-#ifdef DEBUG
-/*     printf("greth_recv\n"); */
-#endif
+
        /* Receive One packet only, but clear as many error packets as there are
         * available.
         */
@@ -476,10 +503,9 @@ int greth_recv(struct eth_device *dev)
                if (status & GRETH_BD_EN) {
                        goto done;
                }
-#ifdef DEBUG
-               printf("greth_recv: packet 0x%lx, 0x%lx, len: %d\n",
+
+               debug("greth_recv: packet 0x%lx, 0x%lx, len: %d\n",
                       (unsigned int)rxbd, status, status & GRETH_BD_LEN);
-#endif
 
                /* Check status for errors.
                 */
@@ -507,19 +533,18 @@ int greth_recv(struct eth_device *dev)
                        for (i = 0; i < GRETH_RXBD_CNT; i++) {
                                printf("[%d]: Stat=0x%lx, Addr=0x%lx\n", i,
                                       GRETH_REGLOAD(&greth->rxbd_base[i].stat),
-                                      GRETH_REGLOAD(&greth->rxbd_base[i].
-                                                    addr));
+                                      GRETH_REGLOAD(&greth->rxbd_base[i].addr));
                        }
                } else {
                        /* Process the incoming packet. */
                        len = status & GRETH_BD_LEN;
                        d = (char *)rxbd->addr;
-#ifdef DEBUG
-                       printf
+
+                       debug
                            ("greth_recv: new packet, length: %d. data: %x %x %x %x %x %x %x %x\n",
                             len, d[0], d[1], d[2], d[3], d[4], d[5], d[6],
                             d[7]);
-#endif
+
                        /* flush all data cache to make sure we're not reading old packet data */
                        sparc_dcache_flush_all();
 
@@ -545,7 +570,7 @@ int greth_recv(struct eth_device *dev)
                     (unsigned int)greth->rxbd_max) ? greth->
                    rxbd_base : (greth->rxbd_curr + 1);
 
-       };
+       }
 
        if (enable) {
                GRETH_REGORIN(&regs->control, GRETH_RXEN);
@@ -567,10 +592,9 @@ void greth_set_hwaddr(greth_priv * greth, unsigned char *mac)
        greth->regs->esa_msb = (mac[0] << 8) | mac[1];
        greth->regs->esa_lsb =
            (mac[2] << 24) | (mac[3] << 16) | (mac[4] << 8) | mac[5];
-#ifdef DEBUG
-       printf("GRETH: New MAC address: %02x:%02x:%02x:%02x:%02x:%02x\n",
+
+       debug("GRETH: New MAC address: %02x:%02x:%02x:%02x:%02x:%02x\n",
               mac[0], mac[1], mac[2], mac[3], mac[4], mac[5]);
-#endif
 }
 
 int greth_initialize(bd_t * bis)
@@ -581,9 +605,9 @@ int greth_initialize(bd_t * bis)
        int i;
        char *addr_str, *end;
        unsigned char addr[6];
-#ifdef DEBUG
-       printf("Scanning for GRETH\n");
-#endif
+
+       debug("Scanning for GRETH\n");
+
        /* Find Device & IRQ via AMBA Plug&Play information */
        if (ambapp_apb_first(VENDOR_GAISLER, GAISLER_ETHMAC, &apbdev) != 1) {
                return -1;      /* GRETH not found */
@@ -596,9 +620,7 @@ int greth_initialize(bd_t * bis)
 
        greth->regs = (greth_regs *) apbdev.address;
        greth->irq = apbdev.irq;
-#ifdef DEBUG
-       printf("Found GRETH at 0x%lx, irq %d\n", greth->regs, greth->irq);
-#endif
+       debug("Found GRETH at 0x%lx, irq %d\n", greth->regs, greth->irq);
        dev->priv = (void *)greth;
        dev->iobase = (unsigned int)greth->regs;
        dev->init = greth_init;
@@ -622,14 +644,15 @@ int greth_initialize(bd_t * bis)
 
        /* Make descriptor string */
        if (greth->gbit_mac) {
-               sprintf(dev->name, "GRETH 10/100/GB");
+               sprintf(dev->name, "GRETH_10/100/GB");
        } else {
-               sprintf(dev->name, "GRETH 10/100");
+               sprintf(dev->name, "GRETH_10/100");
        }
 
        /* initiate PHY, select speed/duplex depending on connected PHY */
        if (greth_init_phy(greth, bis)) {
                /* Failed to init PHY (timedout) */
+               debug("GRETH[0x%08x]: Failed to init PHY\n", greth->regs);
                return -1;
        }
 
@@ -658,5 +681,6 @@ int greth_initialize(bd_t * bis)
        /* set and remember MAC address */
        greth_set_hwaddr(greth, addr);
 
+       debug("GRETH[0x%08x]: Initialized successfully\n", greth->regs);
        return 0;
 }
index e09da1d2ae429108973cb61c06d9cb161a7800ca..14b2d355c15e07d5336445808bc79321e276f6c5 100644 (file)
@@ -321,6 +321,11 @@ natsemi_initialize(bd_t * bis)
                }
 
                dev = (struct eth_device *) malloc(sizeof *dev);
+               if (!dev) {
+                       printf("natsemi: Can not allocate memory\n");
+                       break;
+               }
+               memset(dev, 0, sizeof(*dev));
 
                sprintf(dev->name, "dp83815#%d", card_number);
                dev->iobase = bus_to_phys(iobase);
index 198f73dee695074486704523f365d5f4906212f7..45402cc0ec3d7ed8ed79f1c88d058ff22ebfe49a 100644 (file)
@@ -340,6 +340,11 @@ ns8382x_initialize(bd_t * bis)
                }
 
                dev = (struct eth_device *) malloc(sizeof *dev);
+               if (!dev) {
+                       printf("ns8382x: Can not allocate memory\n");
+                       break;
+               }
+               memset(dev, 0, sizeof(*dev));
 
                sprintf(dev->name, "dp8382x#%d", card_number);
                dev->iobase = bus_to_phys(iobase);
index 99b69429e9da4721b313f8a8714afa587893f801..e994cb690197f722f50ef03f6fd2c8c2035e11f0 100644 (file)
@@ -187,6 +187,11 @@ int pcnet_initialize (bd_t * bis)
                 * Allocate and pre-fill the device structure.
                 */
                dev = (struct eth_device *) malloc (sizeof *dev);
+               if (!dev) {
+                       printf("pcnet: Can not allocate memory\n");
+                       break;
+               }
+               memset(dev, 0, sizeof(*dev));
                dev->priv = (void *) devbusfn;
                sprintf (dev->name, "pcnet#%d", dev_nr);
 
index 3b92614ac74436e4162c14597e45074dd14b9c4a..bba890189a2c7bfdc1ba8afcfc104f3c99b1a5f2 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    := $(obj)libphy.a
+LIB    := $(obj)libphy.o
 
 COBJS-$(CONFIG_BITBANGMII) += miiphybb.o
 COBJS-$(CONFIG_MV88E61XX_SWITCH) += mv88e61xx.o
@@ -35,7 +35,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 all:   $(LIB)
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index db8a727c89987c93376bc1f5526c956726d0c56a..c2779db0a5c20cadd55265e163feb671ce8445c6 100644 (file)
@@ -220,6 +220,11 @@ int rtl8139_initialize(bd_t *bis)
                debug ("rtl8139: REALTEK RTL8139 @0x%x\n", iobase);
 
                dev = (struct eth_device *)malloc(sizeof *dev);
+               if (!dev) {
+                       printf("Can not allocate memory of rtl8139\n");
+                       break;
+               }
+               memset(dev, 0, sizeof(*dev));
 
                sprintf (dev->name, "RTL8139#%d", card_number);
 
index e45d1a52212d5739c096dcc1b105d5816666f128..b81dcad2ce5f92c9454732c5d0089ff0974dc1e4 100644 (file)
@@ -894,7 +894,12 @@ int rtl8169_initialize(bd_t *bis)
                debug ("rtl8169: REALTEK RTL8169 @0x%x\n", iobase);
 
                dev = (struct eth_device *)malloc(sizeof *dev);
+               if (!dev) {
+                       printf("Can not allocate memory of rtl8169\n");
+                       break;
+               }
 
+               memset(dev, 0, sizeof(*dev));
                sprintf (dev->name, "RTL8169#%d", card_number);
 
                dev->priv = (void *) devno;
index 079354aaff361dd9f18301b3fc2a7d7e7466be98..f100ec1a50e8d571236994d73865f399dfcc5722 100644 (file)
@@ -731,7 +731,11 @@ int tsi108_eth_initialize (bd_t * bis)
 
        for (index = 0; index < CONFIG_TSI108_ETH_NUM_PORTS; index++) {
                dev = (struct eth_device *)malloc(sizeof(struct eth_device));
-
+               if (!dev) {
+                       printf("tsi108: Can not allocate memory\n");
+                       break;
+               }
+               memset(dev, 0, sizeof(*dev));
                sprintf (dev->name, "TSI108_eth%d", index);
 
                dev->iobase = ETH_BASE + (index * ETH_PORT_OFFSET);
index d626d68cb097c278b403c772ffcd45213e9fdc1d..a4624e1734df9977fe210eb57e13dcf7a6698ad8 100644 (file)
@@ -225,6 +225,11 @@ int uli526x_initialize(bd_t *bis)
                iobase &= ~0xf;
 
                dev = (struct eth_device *)malloc(sizeof *dev);
+               if (!dev) {
+                       printf("uli526x: Can not allocate memory\n");
+                       break;
+               }
+               memset(dev, 0, sizeof(*dev));
                sprintf(dev->name, "uli526x#%d", card_number);
                db = (struct uli526x_board_info *)
                        malloc(sizeof(struct uli526x_board_info));
index 0c4fa802a3bfb60acad2330205d037b2b599cb58..ee0c64d1354bcb771e184d87712fab8875853234 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    := $(obj)libpci.a
+LIB    := $(obj)libpci.o
 
 COBJS-$(CONFIG_FSL_PCI_INIT) += fsl_pci_init.o
 COBJS-$(CONFIG_PCI) += pci.o pci_auto.o pci_indirect.o
@@ -41,7 +41,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 all:   $(LIB)
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 1f021036e5f00040b0a2826664e890d2b92fb78b..5b34dcbb0fe9dac70feee9594e393832e2634d65 100644 (file)
@@ -391,11 +391,11 @@ void fsl_pci_init(struct pci_controller *hose, u32 cfg_addr, u32 cfg_data)
         * 1 == pci agent or pcie end-point
         */
        if (!temp8) {
-               printf("               Scanning PCI bus %02x\n",
+               debug("           Scanning PCI bus %02x\n",
                        hose->current_busno);
                hose->last_busno = pci_hose_scan_bus(hose, hose->current_busno);
        } else {
-               debug("               Not scanning PCI bus %02x. PI=%x\n",
+               debug("           Not scanning PCI bus %02x. PI=%x\n",
                        hose->current_busno, temp8);
                hose->last_busno = hose->current_busno;
        }
@@ -441,6 +441,8 @@ int fsl_pci_init_port(struct fsl_pci_info *pci_info,
 {
        volatile ccsr_fsl_pci_t *pci;
        struct pci_region *r;
+       pci_dev_t dev = PCI_BDF(busno,0,0);
+       u8 pcie_cap;
 
        pci = (ccsr_fsl_pci_t *) pci_info->regs;
 
@@ -479,8 +481,10 @@ int fsl_pci_init_port(struct fsl_pci_info *pci_info,
                hose->last_busno = hose->first_busno;
        }
 
-       printf("    PCIE%x on bus %02x - %02x\n", pci_info->pci_num,
-                       hose->first_busno, hose->last_busno);
+       pci_hose_read_config_byte(hose, dev, FSL_PCIE_CAP_ID, &pcie_cap);
+       printf("PCI%s%x: Bus %02x - %02x\n", pcie_cap == PCI_CAP_ID_EXP ?
+               "E" : "", pci_info->pci_num,
+               hose->first_busno, hose->last_busno);
 
        return(hose->last_busno + 1);
 }
index 848746f1ed2ea4b20a7c5ae012aebc2ed9f42a02..702ac6782600a3a9529024b9009a83fa936781ea 100644 (file)
@@ -510,6 +510,71 @@ void pci_cfgfunc_do_nothing(struct pci_controller *hose,
 extern int pciauto_config_device(struct pci_controller *hose, pci_dev_t dev);
 extern void pciauto_config_init(struct pci_controller *hose);
 
+#if defined(CONFIG_CMD_PCI) || defined(CONFIG_PCI_SCAN_SHOW)
+const char * pci_class_str(u8 class)
+{
+       switch (class) {
+       case PCI_CLASS_NOT_DEFINED:
+               return "Build before PCI Rev2.0";
+               break;
+       case PCI_BASE_CLASS_STORAGE:
+               return "Mass storage controller";
+               break;
+       case PCI_BASE_CLASS_NETWORK:
+               return "Network controller";
+               break;
+       case PCI_BASE_CLASS_DISPLAY:
+               return "Display controller";
+               break;
+       case PCI_BASE_CLASS_MULTIMEDIA:
+               return "Multimedia device";
+               break;
+       case PCI_BASE_CLASS_MEMORY:
+               return "Memory controller";
+               break;
+       case PCI_BASE_CLASS_BRIDGE:
+               return "Bridge device";
+               break;
+       case PCI_BASE_CLASS_COMMUNICATION:
+               return "Simple comm. controller";
+               break;
+       case PCI_BASE_CLASS_SYSTEM:
+               return "Base system peripheral";
+               break;
+       case PCI_BASE_CLASS_INPUT:
+               return "Input device";
+               break;
+       case PCI_BASE_CLASS_DOCKING:
+               return "Docking station";
+               break;
+       case PCI_BASE_CLASS_PROCESSOR:
+               return "Processor";
+               break;
+       case PCI_BASE_CLASS_SERIAL:
+               return "Serial bus controller";
+               break;
+       case PCI_BASE_CLASS_INTELLIGENT:
+               return "Intelligent controller";
+               break;
+       case PCI_BASE_CLASS_SATELLITE:
+               return "Satellite controller";
+               break;
+       case PCI_BASE_CLASS_CRYPT:
+               return "Cryptographic device";
+               break;
+       case PCI_BASE_CLASS_SIGNAL_PROCESSING:
+               return "DSP";
+               break;
+       case PCI_CLASS_OTHERS:
+               return "Does not fit any class";
+               break;
+       default:
+       return  "???";
+               break;
+       };
+}
+#endif /* CONFIG_CMD_PCI || CONFIG_PCI_SCAN_SHOW */
+
 int __pci_skip_dev(struct pci_controller *hose, pci_dev_t dev)
 {
        /*
@@ -551,6 +616,9 @@ int pci_hose_scan_bus(struct pci_controller *hose, int bus)
        unsigned char header_type;
        struct pci_config_table *cfg;
        pci_dev_t dev;
+#ifdef CONFIG_PCI_SCAN_SHOW
+       static int indent = 0;
+#endif
 
        sub_bus = bus;
 
@@ -568,44 +636,50 @@ int pci_hose_scan_bus(struct pci_controller *hose, int bus)
 
                pci_hose_read_config_word(hose, dev, PCI_VENDOR_ID, &vendor);
 
-               if (vendor != 0xffff && vendor != 0x0000) {
+               if (vendor == 0xffff || vendor == 0x0000)
+                       continue;
+
+               if (!PCI_FUNC(dev))
+                       found_multi = header_type & 0x80;
 
-                       if (!PCI_FUNC(dev))
-                               found_multi = header_type & 0x80;
+               debug ("PCI Scan: Found Bus %d, Device %d, Function %d\n",
+                       PCI_BUS(dev), PCI_DEV(dev), PCI_FUNC(dev) );
 
-                       debug ("PCI Scan: Found Bus %d, Device %d, Function %d\n",
-                               PCI_BUS(dev), PCI_DEV(dev), PCI_FUNC(dev) );
+               pci_hose_read_config_word(hose, dev, PCI_DEVICE_ID, &device);
+               pci_hose_read_config_word(hose, dev, PCI_CLASS_DEVICE, &class);
 
-                       pci_hose_read_config_word(hose, dev, PCI_DEVICE_ID, &device);
-                       pci_hose_read_config_word(hose, dev, PCI_CLASS_DEVICE, &class);
+#ifdef CONFIG_PCI_SCAN_SHOW
+               indent++;
 
-                       cfg = pci_find_config(hose, class, vendor, device,
-                                             PCI_BUS(dev), PCI_DEV(dev), PCI_FUNC(dev));
-                       if (cfg) {
-                               cfg->config_device(hose, dev, cfg);
-                               sub_bus = max(sub_bus, hose->current_busno);
+               /* Print leading space, including bus indentation */
+               printf("%*c", indent + 1, ' ');
+
+               if (pci_print_dev(hose, dev)) {
+                       printf("%02x:%02x.%-*x - %04x:%04x - %s\n",
+                              PCI_BUS(dev), PCI_DEV(dev), 6 - indent, PCI_FUNC(dev),
+                              vendor, device, pci_class_str(class >> 8));
+               }
+#endif
+
+               cfg = pci_find_config(hose, class, vendor, device,
+                                     PCI_BUS(dev), PCI_DEV(dev), PCI_FUNC(dev));
+               if (cfg) {
+                       cfg->config_device(hose, dev, cfg);
+                       sub_bus = max(sub_bus, hose->current_busno);
 #ifdef CONFIG_PCI_PNP
-                       } else {
-                               int n = pciauto_config_device(hose, dev);
+               } else {
+                       int n = pciauto_config_device(hose, dev);
 
-                               sub_bus = max(sub_bus, n);
+                       sub_bus = max(sub_bus, n);
 #endif
-                       }
-                       if (hose->fixup_irq)
-                               hose->fixup_irq(hose, dev);
+               }
 
 #ifdef CONFIG_PCI_SCAN_SHOW
-                       if (pci_print_dev(hose, dev)) {
-                               unsigned char int_line;
-
-                               pci_hose_read_config_byte(hose, dev, PCI_INTERRUPT_LINE,
-                                                         &int_line);
-                               printf("        %02x  %02x  %04x  %04x  %04x  %02x\n",
-                                      PCI_BUS(dev), PCI_DEV(dev), vendor, device, class,
-                                      int_line);
-                       }
+               indent--;
 #endif
-               }
+
+               if (hose->fixup_irq)
+                       hose->fixup_irq(hose, dev);
        }
 
        return sub_bus;
index 627e8a07929c7bf2ff3ec26a5036068cf79d8d2b..c568bf9bc7d8aad02d3c387db55fa371219612d6 100644 (file)
@@ -94,7 +94,8 @@ unsigned int __get_pci_config_dword (u32 addr)
                             ".section __ex_table,\"a\"\n"
                             "       .align 2\n"
                             "       .long 1b,3b\n"
-                            ".text":"=r"(retval):"r"(addr));
+                            ".section .text.__get_pci_config_dword"
+                               : "=r"(retval) : "r"(addr));
 
        return (retval);
 }
index babe3ecad767e52ed9fe9a1c09c0fc0a0cfe7f87..03495087dc96815c5039fd37404a78e17c740ee4 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    := $(obj)libpcmcia.a
+LIB    := $(obj)libpcmcia.o
 
 COBJS-$(CONFIG_I82365) += i82365.o
 COBJS-$(CONFIG_8xx) += mpc8xx_pcmcia.o
@@ -40,7 +40,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 all:   $(LIB)
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index db5317383790f393337ad999b3ef0a58e801db46..c9ba1aef86c9578a80946697baf0181e26c3d8eb 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    := $(obj)libpower.a
+LIB    := $(obj)libpower.o
 
 COBJS-$(CONFIG_TWL4030_POWER)  += twl4030.o
 COBJS-$(CONFIG_TWL6030_POWER)  += twl6030.o
@@ -35,7 +35,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 all:   $(LIB)
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 
 #########################################################################
index 18fe9ce614a64fcf5f69025f5e191a46b2255ac4..ef4bdf8b24e7c7435ba722eedcbf265133fd3bfd 100644 (file)
@@ -22,9 +22,9 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    := $(obj)qe.a
+LIB    := $(obj)libqe.o
 
-COBJS-$(CONFIG_OF_LIBFDT) += fdt.o
+COBJS-$(and $(CONFIG_QE),$(CONFIG_OF_LIBFDT)) += fdt.o
 COBJS-$(CONFIG_QE) += qe.o uccf.o uec.o uec_phy.o
 
 COBJS  := $(COBJS-y)
@@ -34,7 +34,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 all:   $(LIB)
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index d7c7d13cab535ccfbf6785352c2312ad00c9fcea..73e9060d572d64be28a474ddb5214bd61aa117ce 100644 (file)
@@ -74,7 +74,6 @@ error:
 
 void ft_qe_setup(void *blob)
 {
-#ifdef CONFIG_QE
        do_fixup_by_prop_u32(blob, "device_type", "qe", 4,
                "bus-frequency", gd->qe_clk, 1);
        do_fixup_by_prop_u32(blob, "device_type", "qe", 4,
@@ -88,5 +87,4 @@ void ft_qe_setup(void *blob)
        do_fixup_by_compat_u32(blob, "fsl,qe-gtm",
                "clock-frequency", gd->qe_clk / 2, 1);
        fdt_fixup_qe_firmware(blob);
-#endif
 }
index 98734db77f6f93cdfe015f8cdeef7bf42e638200..f810fca0907b33bc40846dff5bb7ae60fc556366 100644 (file)
@@ -25,7 +25,7 @@ include $(TOPDIR)/config.mk
 
 #CFLAGS += -DDEBUG
 
-LIB    = $(obj)librtc.a
+LIB    = $(obj)librtc.o
 
 COBJS-$(CONFIG_RTC_AT91SAM9_RTT) += at91sam9_rtt.o
 COBJS-$(CONFIG_RTC_BFIN) += bfin_rtc.o
@@ -71,7 +71,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 all:   $(LIB)
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 6d45a8ef5540591f94ce45fb61d7ea417889bec4..7d221fc40d970b9b3fd2d34cf06b6c89973b8af0 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    := $(obj)libserial.a
+LIB    := $(obj)libserial.o
 
 COBJS-$(CONFIG_ALTERA_UART) += altera_uart.o
 COBJS-$(CONFIG_ALTERA_JTAG_UART) += altera_jtag_uart.o
@@ -64,7 +64,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 all:   $(LIB)
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index dfcbb8b46f48ca93e97088bfdccb6bc56b0fe3c8..117ab1988d264f166732601c4cf0474273a127ed 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    := $(obj)libspi.a
+LIB    := $(obj)libspi.o
 
 COBJS-$(CONFIG_ALTERA_SPI) += altera_spi.o
 COBJS-$(CONFIG_ATMEL_DATAFLASH_SPI) += atmel_dataflash_spi.o
@@ -44,7 +44,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 all:   $(LIB)
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 0b059f312bd355221b265a31f33a388c385b8360..6c9a987e8f620d5c1d6a9d418aaa61bb4eda5346 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    := $(obj)libtws.a
+LIB    := $(obj)libtws.o
 
 COBJS-$(CONFIG_SOFT_TWS) += soft_tws.o
 
@@ -34,7 +34,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 all:   $(LIB)
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 8e6b26e2610d986f83e898cb07432d3ddd82b4b7..f1378173910e31f1335f9127dd479510f826955c 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    := $(obj)libusb_gadget.a
+LIB    := $(obj)libusb_gadget.o
 
 # new USB gadget layer dependencies
 ifdef CONFIG_USB_ETHER
@@ -48,7 +48,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 all:   $(LIB)
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 0e7c9db9dcb7d132ebc469ee45f27888d98fa250..51b2494328241167be357fe7c9335d6917a6fc84 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    := $(obj)libusb_host.a
+LIB    := $(obj)libusb_host.o
 
 # ohci
 COBJS-$(CONFIG_USB_OHCI_NEW) += ohci-hcd.o
@@ -54,7 +54,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 all:   $(LIB)
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 982f96e8b8ff242d7617389f5181abab4238b3fe..6eb38a4131f0ed83c905f21af4237b3bfbb2b5a8 100644 (file)
@@ -25,6 +25,7 @@
 #include <usb.h>
 #include <asm/io.h>
 #include <malloc.h>
+#include <watchdog.h>
 
 #include "ehci.h"
 
@@ -229,7 +230,7 @@ static int ehci_reset(void)
        int ret = 0;
 
        cmd = ehci_readl(&hcor->or_usbcmd);
-       cmd |= CMD_RESET;
+       cmd = (cmd & ~CMD_RUN) | CMD_RESET;
        ehci_writel(&hcor->or_usbcmd, cmd);
        ret = handshake((uint32_t *)&hcor->or_usbcmd, CMD_RESET, 0, 250 * 1000);
        if (ret < 0) {
@@ -452,6 +453,7 @@ ehci_submit_async(struct usb_device *dev, unsigned long pipe, void *buffer,
                token = hc32_to_cpu(vtd->qt_token);
                if (!(token & 0x80))
                        break;
+               WATCHDOG_RESET();
        } while (get_timer(ts) < CONFIG_SYS_HZ);
 
        /* Disable async schedule. */
@@ -491,6 +493,8 @@ ehci_submit_async(struct usb_device *dev, unsigned long pipe, void *buffer,
                        break;
                default:
                        dev->status = USB_ST_CRC_ERR;
+                       if ((token & 0x40) == 0x40)
+                               dev->status |= USB_ST_STALLED;
                        break;
                }
                dev->act_len = length - ((token >> 16) & 0x7fff);
index 946a0a07efa7ba69e796d680897bbfa4fb2981bf..11799199871ed8ab9e794f9badcc5da7912f67eb 100644 (file)
@@ -34,7 +34,6 @@ int ehci_hcd_init(void)
        hccr = (struct ehci_hccr *)(CONFIG_SYS_PPC4XX_USB_ADDR);
        hcor = (struct ehci_hcor *)((uint32_t) hccr +
                HC_LENGTH(ehci_readl(&hccr->cr_capbase)));
-       usb_dev_init();
        return 0;
 }
 
index 7d23e06a58c24eecff08ee2783554282277e31ef..20b5503c901978cf681d26d15dbac62257ce9276 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    := $(obj)libusb_musb.a
+LIB    := $(obj)libusb_musb.o
 
 COBJS-$(CONFIG_MUSB_HCD) += musb_hcd.o musb_core.o
 COBJS-$(CONFIG_MUSB_UDC) += musb_udc.o musb_core.o
@@ -40,7 +40,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 all:   $(LIB)
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index f09e55fd4c30b3b38d9a2f78a40347e46fa7d8bb..55475709f5ddc456a7d3d490154dcb206c9d87a6 100644 (file)
@@ -20,7 +20,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    := $(obj)libusb_phy.a
+LIB    := $(obj)libusb_phy.o
 
 COBJS-$(CONFIG_TWL4030_USB) += twl4030.o
 
@@ -31,7 +31,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 all:   $(LIB)
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 5b7b2612686393eda7b3cc6bcdd2bbc19e90cccb..83274c3d7e939404d7e65ecf06f14521e20920dc 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    := $(obj)libvideo.a
+LIB    := $(obj)libvideo.o
 
 COBJS-$(CONFIG_ATI_RADEON_FB) += ati_radeon_fb.o videomodes.o
 COBJS-$(CONFIG_ATMEL_LCD) += atmel_lcdfb.o
@@ -48,7 +48,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 all:   $(LIB)
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 200968de4e251d1c5399761b670fc25e657257d0..6ab4d52d9c652372215ff31a6ab2b6e93bbe12df 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    := $(obj)libwatchdog.a
+LIB    := $(obj)libwatchdog.o
 
 COBJS-$(CONFIG_AT91SAM9_WATCHDOG) += at91sam9_wdt.o
 
@@ -34,7 +34,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 all:   $(LIB)
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index c2dd514d9391cc9d65a3b74a679b54bdc1375569..c1dfdce581d8f1823754ab8089ac1b304c52eb58 100644 (file)
@@ -50,7 +50,7 @@ BIN  = $(addsuffix .bin,$(ELF))
 
 COBJS  := $(ELF:=.o)
 
-LIB    = $(obj)libstubs.a
+LIB    = $(obj)libstubs.o
 
 LIBAOBJS-$(ARCH)     :=
 LIBAOBJS-$(CPU)      :=
@@ -91,7 +91,7 @@ all:  $(obj).depend $(OBJS) $(LIB) $(SREC) $(BIN) $(ELF)
 
 #########################################################################
 $(LIB):        $(obj).depend $(LIBOBJS)
-               $(AR) $(ARFLAGS) $@ $(LIBOBJS)
+       $(call cmd_link_o_target, $(LIBOBJS))
 
 $(ELF):
 $(obj)%:       $(obj)%.o $(LIB)
index 7b6cc0ad3e50a69f090db72616f9aa7ef36d700d..5f419329a595e644435435c1d62525169b3542c8 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)libcramfs.a
+LIB    = $(obj)libcramfs.o
 
 AOBJS  =
 COBJS-$(CONFIG_CMD_CRAMFS) := cramfs.o
@@ -37,7 +37,7 @@ OBJS  := $(addprefix $(obj),$(AOBJS) $(COBJS-y))
 all:   $(LIB) $(AOBJS)
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 
 #########################################################################
index 712e348395bed3108fbc75cdff78e04b169b842b..3c65d252f582cb597754e7dfd5e6032a65453236 100644 (file)
@@ -27,7 +27,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)libext2fs.a
+LIB    = $(obj)libext2fs.o
 
 AOBJS  =
 COBJS-$(CONFIG_CMD_EXT2) := ext2fs.o dev.o
@@ -40,7 +40,7 @@ OBJS  := $(addprefix $(obj),$(AOBJS) $(COBJS-y))
 all:   $(LIB) $(AOBJS)
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index b711460f3a83b9ff0846c4dd599ea9ac1cc35d22..bc459662ea3268b2d0d599a0fb7cccefa61e74d6 100644 (file)
@@ -21,7 +21,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)libfat.a
+LIB    = $(obj)libfat.o
 
 AOBJS  =
 COBJS-$(CONFIG_CMD_FAT)        := fat.o file.o
@@ -32,7 +32,7 @@ OBJS  := $(addprefix $(obj),$(AOBJS) $(COBJS-y))
 all:   $(LIB) $(AOBJS)
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 
 #########################################################################
index fce2032bddc1b1bc09bffb66e021a957ee702d13..9cd4d91742a08f52b3b5eae4e532fb1f8e63806f 100644 (file)
@@ -28,7 +28,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)libfdos.a
+LIB    = $(obj)libfdos.o
 
 AOBJS  =
 COBJS-$(CONFIG_CMD_FDOS) := fat.o vfat.o dev.o fdos.o fs.o subdir.o
@@ -41,7 +41,7 @@ OBJS  := $(addprefix $(obj),$(AOBJS) $(COBJS-y))
 all:   $(LIB) $(AOBJS)
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 
 #########################################################################
index 7c9fb41b8d64c2698eca4c5dd683cb5eebdf6a65..6db6145d2dd1bc497a46536a0f6f39970249e7c3 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)libjffs2.a
+LIB    = $(obj)libjffs2.o
 
 AOBJS  =
 ifdef CONFIG_CMD_JFFS2
@@ -44,7 +44,7 @@ OBJS  := $(addprefix $(obj),$(AOBJS) $(COBJS))
 all:   $(LIB) $(AOBJS)
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 
 #########################################################################
index 9cef8ee91076723a71b86089a4c60c40fb031952..495759c8ca04ccbfef1ed8fece3b7b95c9921da2 100644 (file)
@@ -27,7 +27,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)libreiserfs.a
+LIB    = $(obj)libreiserfs.o
 
 AOBJS  =
 COBJS-$(CONFIG_CMD_REISER) := reiserfs.o dev.o mode_string.o
@@ -40,7 +40,7 @@ OBJS  := $(addprefix $(obj),$(AOBJS) $(COBJS-y))
 all:   $(LIB) $(AOBJS)
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 8328843fe12a0a52cc6246d1ca5bfa31a0ce48e2..ccffe85ee1fc4edde080a8d577780446ae31865c 100644 (file)
@@ -27,7 +27,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)libubifs.a
+LIB    = $(obj)libubifs.o
 
 COBJS-$(CONFIG_CMD_UBIFS) := ubifs.o io.o super.o sb.o master.o lpt.o
 COBJS-$(CONFIG_CMD_UBIFS) += lpt_commit.o scan.o lprops.o
@@ -40,7 +40,7 @@ OBJS  := $(addprefix $(obj),$(AOBJS) $(COBJS-y))
 all:   $(LIB) $(AOBJS)
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index a2ef5e22f67b6eade8ed593a26a53eff4b2913fa..7753cfcf3737d9bc95758bcd6592f076591ffc4b 100644 (file)
@@ -19,7 +19,7 @@
 #EXTRA_COMPILE_FLAGS = -DYAFFS_IGNORE_TAGS_ECC
 include $(TOPDIR)/config.mk
 
-LIB = $(obj)libyaffs2.a
+LIB = $(obj)libyaffs2.o
 
 COBJS-$(CONFIG_YAFFS2) := \
        yaffscfg.o yaffs_ecc.o yaffsfs.o yaffs_guts.o yaffs_packedtags1.o \
@@ -36,7 +36,7 @@ CFLAGS +=    -DCONFIG_YAFFS_DIRECT -DCONFIG_YAFFS_SHORT_NAMES_IN_RAM -DCONFIG_YA
 all:  $(LIB)
 
 $(LIB): $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 .PHONY: clean distclean
 clean:
index 9e5490d1df436c9cb60131bff995bd672b1577b0..ffaab796186b4ac939a0e177e94da39f83afc098 100644 (file)
 
 #define CONFIG_SPD_EEPROM      1       /* use SPD EEPROM for setup    */
 
+/*
+ * I2C
+ */
+#define CONFIG_HARD_I2C                        /* I2C with hardware support    */
+#define CONFIG_PPC4XX_I2C              /* use PPC4xx driver            */
+#define CONFIG_SYS_I2C_SLAVE   0x7F
+#define CONFIG_SYS_I2C_SPEED   400000
+
 /*
  * Miscellaneous configurable options
  */
index b27ef64fbe4cc3db19b0da03f9347a521d269f18..be9238e5201ad4c32678b3fc0c624487ecd8d947 100644 (file)
@@ -77,7 +77,7 @@
 #define CONFIG_CMD_EEPROM
 
 #undef CONFIG_CMD_NET
-
+#undef CONFIG_CMD_NFS
 
 #undef CONFIG_WATCHDOG                 /* watchdog disabled            */
 
index ac70d158e7eb4a03887b639138ec279803e68ede..0b75a4ed2f1fae2066ca60020dde16f9d4676325 100644 (file)
@@ -76,6 +76,7 @@
 #define CONFIG_PPCHAMELEONEVB  1       /* ...on a PPChameleonEVB board */
 
 #define        CONFIG_SYS_TEXT_BASE    0xFFFB0000      /* Reserve 320 kB for Monitor */
+#define CONFIG_SYS_LDSCRIPT    "board/dave/PPChameleonEVB/u-boot.lds"
 
 #define CONFIG_BOARD_EARLY_INIT_F 1    /* call board_early_init_f()    */
 #define CONFIG_MISC_INIT_R     1       /* call misc_init_r()           */
index 99ace67a2f3fa07957aa462f6efbee435c3abc1e..afe8d6ef2c74702ee58c7f5e232ce243b256ce0d 100644 (file)
@@ -78,7 +78,7 @@
 #define CONFIG_CMD_EEPROM
 
 #undef CONFIG_CMD_NET
-
+#undef CONFIG_CMD_NFS
 
 #undef CONFIG_WATCHDOG                 /* watchdog disabled            */
 
index ecdf93ffc0742d2d411f403ccdcdedb4bc300f4a..f6e265281e6e2e4ea6bb42991819d0d738e2f298 100644 (file)
@@ -65,6 +65,7 @@
 #define CONFIG_CMD_EEPROM
 
 #undef CONFIG_CMD_NET
+#undef CONFIG_CMD_NFS
 
 #undef CONFIG_WATCHDOG                 /* watchdog disabled            */
 
diff --git a/include/configs/ERIC.h b/include/configs/ERIC.h
deleted file mode 100644 (file)
index 8a0f850..0000000
+++ /dev/null
@@ -1,369 +0,0 @@
-/*
- * (C) Copyright 2001
- * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
- *
- * See file CREDITS for list of people who contributed to this
- * project.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.         See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
- */
-
-/*
- * board/config.h - configuration options, board specific
- */
-
-#ifndef __CONFIG_H
-#define __CONFIG_H
-
-/*
- * High Level Configuration Options
- * (easy to change)
- */
-
-#define CONFIG_405GP           1       /* This is a PPC405 CPU         */
-#define CONFIG_4xx             1       /* ...member of PPC4xx family   */
-#define CONFIG_ERIC            1       /* ...on a ERIC board   */
-
-#define        CONFIG_SYS_TEXT_BASE    0xFFFC0000
-
-#define        CONFIG_BOARD_EARLY_INIT_F 1     /* run board_early_init_f() */
-
-#define CONFIG_SYS_CLK_FREQ    33333333 /* external frequency to pll   */
-
-#if 1
-#define CONFIG_ENV_IS_IN_FLASH 1       /* use FLASH for environment vars       */
-#endif
-#if 0
-#define CONFIG_ENV_IS_IN_NVRAM 1       /* use NVRAM for environment vars       */
-#endif
-#if 0
-#define CONFIG_ENV_IS_IN_EEPROM        1       /* use I2C RTC X1240 for environment vars */
-#define CONFIG_ENV_OFFSET              0x000   /* environment starts at the beginning of the EEPROM */
-#define CONFIG_ENV_SIZE                0x800   /* 2048 bytes may be used for env vars */
-#endif                                 /* total size of a X1240 is 2048 bytes */
-
-#define CONFIG_HARD_I2C                1       /* I2C with hardware support */
-#define CONFIG_PPC4XX_I2C              /* use PPC4xx driver            */
-#define CONFIG_SYS_I2C_SPEED           400000  /* I2C speed and slave address */
-#define CONFIG_SYS_I2C_SLAVE           0x7F
-
-#define CONFIG_SYS_I2C_EEPROM_ADDR     0x57    /* X1240 has two I2C slave addresses, one for EEPROM */
-#define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 2       /* address length for the eeprom */
-#define CONFIG_I2C_RTC         1       /* we have a Xicor X1240 RTC */
-#define CONFIG_SYS_I2C_RTC_ADDR        0x6F    /*                                and one for RTC */
-
-#ifdef CONFIG_ENV_IS_IN_FLASH
-#undef CONFIG_ENV_IS_IN_NVRAM
-#undef CONFIG_ENV_IS_IN_EEPROM
-#else
-#ifdef CONFIG_ENV_IS_IN_NVRAM
-#undef CONFIG_ENV_IS_IN_FLASH
-#undef CONFIG_ENV_IS_IN_EEPROM
-#else
-#ifdef CONFIG_ENV_IS_IN_EEPROM
-#undef CONFIG_ENV_IS_IN_NVRAM
-#undef CONFIG_ENV_IS_IN_FLASH
-#endif
-#endif
-#endif
-
-#define CONFIG_BAUDRATE                115200
-#define CONFIG_BOOTDELAY       3       /* autoboot after 3 seconds     */
-
-#if 1
-#define CONFIG_BOOTCOMMAND     "bootm ffc00000" /* autoboot command    */
-#else
-#define CONFIG_BOOTCOMMAND     "bootp" /* autoboot command             */
-#endif
-
-#define CONFIG_BOOTARGS                "console=ttyS0,115200 root=/dev/nfs "   \
-                               "nfsroot=192.168.1.2:/eric_root_devel " \
-                               "ip=192.168.1.22:192.168.1.2"
-
-#define CONFIG_LOADS_ECHO      1       /* echo on for serial download  */
-#define CONFIG_SYS_LOADS_BAUD_CHANGE   1       /* allow baudrate change        */
-
-#define CONFIG_PPC4xx_EMAC
-#define CONFIG_MII             1       /* MII PHY management           */
-#define CONFIG_PHY_ADDR                1       /* PHY address                  */
-#define CONFIG_NET_MULTI
-
-
-/*
- * BOOTP options
- */
-#define CONFIG_BOOTP_BOOTFILESIZE
-#define CONFIG_BOOTP_BOOTPATH
-#define CONFIG_BOOTP_GATEWAY
-#define CONFIG_BOOTP_HOSTNAME
-
-
-/*
- * Command line configuration.
- */
-#include <config_cmd_default.h>
-
-#define CONFIG_CMD_PCI
-#define CONFIG_CMD_IRQ
-#define CONFIG_CMD_SAVEENV
-#define CONFIG_CMD_FLASH
-
-
-#undef CONFIG_WATCHDOG                 /* watchdog disabled            */
-
-/*
- * Miscellaneous configurable options
- */
-#undef CONFIG_SYS_LONGHELP                     /* undef to save memory         */
-#define CONFIG_SYS_PROMPT      "=> "           /* Monitor Command Prompt       */
-#if defined(CONFIG_CMD_KGDB)
-#define CONFIG_SYS_CBSIZE      1024            /* Console I/O Buffer Size      */
-#else
-#define CONFIG_SYS_CBSIZE      256             /* Console I/O Buffer Size      */
-#endif
-#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16) /* Print Buffer Size */
-#define CONFIG_SYS_MAXARGS     16              /* max number of command args   */
-#define CONFIG_SYS_BARGSIZE    CONFIG_SYS_CBSIZE       /* Boot Argument Buffer Size    */
-
-#define CONFIG_SYS_MEMTEST_START       0x0400000       /* memtest works on     */
-#define CONFIG_SYS_MEMTEST_END         0x0C00000       /* 4 ... 12 MB in DRAM  */
-
-#define CONFIG_CONS_INDEX      1
-#define CONFIG_SYS_NS16550
-#define CONFIG_SYS_NS16550_SERIAL
-#define CONFIG_SYS_NS16550_REG_SIZE    1
-#define CONFIG_SYS_NS16550_CLK         get_serial_clock()
-
-#define         CONFIG_SYS_EXT_SERIAL_CLOCK     14318180
-
-/* The following table includes the supported baudrates */
-#define CONFIG_SYS_BAUDRATE_TABLE      \
-       { 300, 600, 1200, 2400, 4800, 9600, 19200, 38400,     \
-        57600, 115200, 230400, 460800, 921600 }
-
-#define CONFIG_SYS_LOAD_ADDR           0x100000        /* default load address */
-#define CONFIG_SYS_EXTBDINFO           1       /* To use extended board_into (bd_t) */
-
-#define CONFIG_SYS_HZ          1000            /* decrementer freq: 1 ms ticks */
-
-/*-----------------------------------------------------------------------
- * PCI stuff
- *-----------------------------------------------------------------------
- */
-#define PCI_HOST_ADAPTER 0              /* configure ar pci adapter     */
-#define PCI_HOST_FORCE  1               /* configure as pci host        */
-#define PCI_HOST_AUTO   2               /* detected via arbiter enable  */
-
-#define CONFIG_PCI                     /* include pci support          */
-#define CONFIG_PCI_HOST        PCI_HOST_FORCE  /* select pci host function     */
-#undef  CONFIG_PCI_PNP                 /* no pci plug-and-play         */
-                                       /* resource configuration       */
-
-#define CONFIG_SYS_PCI_SUBSYS_VENDORID 0x1743  /* PCI Vendor ID: Peppercon AG  */
-#define CONFIG_SYS_PCI_SUBSYS_DEVICEID 0x0405  /* PCI Device ID: 405GP         */
-#define CONFIG_SYS_PCI_PTM1LA  0xFFFC0000      /* point to flash               */
-#define CONFIG_SYS_PCI_PTM1MS  0xFFFFF001      /* 4kB, enable hard-wired to 1  */
-#define CONFIG_SYS_PCI_PTM1PCI 0x00000000      /* Host: use this pci address   */
-#define CONFIG_SYS_PCI_PTM2LA  0x00000000      /* disabled                     */
-#define CONFIG_SYS_PCI_PTM2MS  0x00000000      /* disabled                     */
-#define CONFIG_SYS_PCI_PTM2PCI 0x04000000      /* Host: use this pci address   */
-
-/*-----------------------------------------------------------------------
- * External peripheral base address
- *-----------------------------------------------------------------------
- */
-/*     Bank 0 - Flash/SRAM            0xFF000000 16MB  16 Bit */
-/*     Bank 1 - NVRAM/RTC             0xF0000000  1MB   8 Bit */
-/*     Bank 2 - A/D converter         0xF0100000  1MB   8 Bit */
-/*     Bank 3 - Ethernet PHY Reset    0xF0200000  1MB   8 Bit */
-/*     Bank 4 - PC-MIP PRSNT1#        0xF0300000  1MB   8 Bit */
-/*     Bank 5 - PC-MIP PRSNT2#        0xF0400000  1MB   8 Bit */
-/*     Bank 6 - CPU LED0              0xF0500000  1MB   8 Bit */
-/*     Bank 7 - CPU LED1              0xF0600000  1MB   8 Bit */
-
-/* ----------------------------------------------------------------------- */
-/*  Memory Bank 0 (Flash) initialization */
-/* ----------------------------------------------------------------------- */
-#define CS0_AP 0x9B015480
-#define CS0_CR 0xFF87A000 /*  BAS=0xFF8,BS=(8MB),BU=0x3(R/W), BW=(16 bits) */
-/* ----------------------------------------------------------------------- */
-/*  Memory Bank 1 (NVRAM/RTC) initialization */
-/* ----------------------------------------------------------------------- */
-#define CS1_AP 0x02815480 /* WT=1, OEN=0x1,WBN=0x1,WBF=0x1,TH=0x2,RE=0, */
-#define CS1_CR 0xF0018000 /* BAS=0xF00,BS=(1MB),BU=0x3(R/W), BW=(8 bits) */
- /* ----------------------------------------------------------------------- */
- /*  Memory Bank 2 (A/D converter) initialization */
- /* ----------------------------------------------------------------------- */
-#define CS2_AP 0x02815480 /* WT=1, OEN=0x1,WBN=0x1,WBF=0x1,TH=0x2,RE=0, */
-#define CS2_CR 0xF0118000 /* BAS=0xF01,BS=(1MB),BU=0x3(R/W), BW=(8 bits) */
-/* ----------------------------------------------------------------------- */
-/*  Memory Bank 3 (Ethernet PHY Reset) initialization */
-/* ----------------------------------------------------------------------- */
-#define CS3_AP 0x02815480 /* WT=1, OEN=0x1,WBN=0x1,WBF=0x1,TH=0x2,RE=0, */
-#define CS3_CR 0xF0218000 /* BAS=0xF01,BS=(1MB),BU=0x3(R/W), BW=(8 bits) */
-/* ----------------------------------------------------------------------- */
-/*  Memory Bank 4 (PC-MIP PRSNT1#) initialization */
-/* ----------------------------------------------------------------------- */
-#define CS4_AP 0x02815480 /* WT=1, OEN=0x1,WBN=0x1,WBF=0x1,TH=0x2,RE=0, */
-#define CS4_CR 0xF0318000 /* BAS=0xF01,BS=(1MB),BU=0x3(R/W), BW=(8 bits) */
-/* ----------------------------------------------------------------------- */
-/*  Memory Bank 5 (PC-MIP PRSNT2#) initialization */
-/* ----------------------------------------------------------------------- */
-#define CS5_AP 0x02815480 /* WT=1, OEN=0x1,WBN=0x1,WBF=0x1,TH=0x2,RE=0, */
-#define CS5_CR 0xF0418000 /* BAS=0xF01,BS=(1MB),BU=0x3(R/W), BW=(8 bits) */
-/* ----------------------------------------------------------------------- */
-/*  Memory Bank 6 (CPU LED0) initialization */
-/* ----------------------------------------------------------------------- */
-#define CS6_AP 0x02815480 /* WT=1, OEN=0x1,WBN=0x1,WBF=0x1,TH=0x2,RE=0, */
-#define CS6_CR 0xF0518000 /* BAS=0xF01,BS=(1MB),BU=0x3(R/W), BW=(8 bits) */
-/* ----------------------------------------------------------------------- */
-/*  Memory Bank 7 (CPU LED1) initialization */
-/* ----------------------------------------------------------------------- */
-#define CS7_AP 0x02815480 /* WT=1, OEN=0x1,WBN=0x1,WBF=0x1,TH=0x2,RE=0, */
-#define CS7_CR 0xF0618000 /* BAS=0xF01,BS=(1MB),BU=0x3(R/W), BW=(8 bits) */
-
-#define CONFIG_SYS_NVRAM_REG_BASE_ADDR  0xF0000000
-#define CONFIG_SYS_RTC_REG_BASE_ADDR    (0xF0000000 + 0x7F8)
-#define CONFIG_SYS_ADC_REG_BASE_ADDR    0xF0100000
-#define CONFIG_SYS_PHYRES_REG_BASE_ADDR 0xF0200000
-#define CONFIG_SYS_PRSNT1_REG_BASE_ADDR 0xF0300000
-#define CONFIG_SYS_PRSNT2_REG_BASE_ADDR 0xF0400000
-#define CONFIG_SYS_LED0_REG_BASE_ADDR   0xF0500000
-#define CONFIG_SYS_LED1_REG_BASE_ADDR   0xF0600000
-
-
-/*  SDRAM CONFIG */
-#define CONFIG_SYS_SDRAM_MANUALLY    1
-#define CONFIG_SYS_SDRAM_SINGLE_BANK 1
-
-#ifdef CONFIG_SYS_SDRAM_MANUALLY
-/*-----------------------------------------------------------------------
- * Set MB0CF for bank 0. (0-32MB) Address Mode 4 since 12x8(2)
- *----------------------------------------------------------------------*/
-#define MB0CF  0x00062001 /*  32MB @ 0 */
-/*-----------------------------------------------------------------------
- * Set MB1CF for bank 1. (32MB-64MB) Address Mode 4 since 12x8(2)
- *----------------------------------------------------------------------*/
-#ifdef CONFIG_SYS_SDRAM_SINGLE_BANK
-#define MB1CF  0x0 /*  0MB @ 32MB */
-#else
-#define MB1CF  0x02062001 /*  32MB @ 32MB */
-#endif
-/*-----------------------------------------------------------------------
- * Set MB2CF for bank 2. off
- *----------------------------------------------------------------------*/
-#define MB2CF  0x0 /*  0MB */
-/*-----------------------------------------------------------------------
- * Set MB3CF for bank 3. off
- *----------------------------------------------------------------------*/
-#define MB3CF  0x0 /*  0MB */
-
-#define SDTR_100    0x0086400D
-#define RTR_100     0x05F0
-#define SDTR_66     0x00854006 /* orig U-Boot-wallnut says 0x00854006 */
-#define RTR_66      0x03f8
-
-#endif   /* CONFIG_SYS_SDRAM_MANUALLY */
-
-
-/*-----------------------------------------------------------------------
- * Start addresses for the final memory configuration
- * (Set up by the startup code)
- * Please note that CONFIG_SYS_SDRAM_BASE _must_ start at 0
- */
-#define CONFIG_SYS_SDRAM_BASE          0x00000000
-#define CONFIG_SYS_SDRAM_SIZE          32
-#define CONFIG_SYS_FLASH_BASE          0xFF800000      /* 8 MByte Flash */
-#define CONFIG_SYS_MONITOR_BASE        0xFFFE0000      /* last 128kByte within Flash */
-/*#define CONFIG_SYS_MONITOR_LEN               (192 * 1024)*/  /* Reserve 196 kB for Monitor   */
-#define CONFIG_SYS_MONITOR_LEN         (128 * 1024)    /* Reserve 128 kB for Monitor   */
-#define CONFIG_SYS_MALLOC_LEN          (128 * 1024)    /* Reserve 128 kB for malloc()  */
-
-/*
- * For booting Linux, the board info and command line data
- * have to be in the first 8 MB of memory, since this is
- * the maximum mapped by the Linux kernel during initialization.
- */
-#define CONFIG_SYS_BOOTMAPSZ           (8 << 20)       /* Initial Memory map for Linux */
-/*-----------------------------------------------------------------------
- * FLASH organization
- */
-#define CONFIG_SYS_MAX_FLASH_BANKS     1       /* max number of memory banks           */
-#define CONFIG_SYS_MAX_FLASH_SECT      64      /* max number of sectors on one chip    */
-#define CONFIG_SYS_FLASH_16BIT         1       /* Rom 16 bit data bus                  */
-
-#define CONFIG_SYS_FLASH_ERASE_TOUT    120000  /* Timeout for Flash Erase (in ms)      */
-#define CONFIG_SYS_FLASH_WRITE_TOUT    500     /* Timeout for Flash Write (in ms)      */
-
-/* BEG ENVIRONNEMENT FLASH */
-#ifdef CONFIG_ENV_IS_IN_FLASH
-#define CONFIG_ENV_SECT_SIZE       (128*1024)
-
-#if 0  /* force ENV to be NOT embedded */
-#define CONFIG_ENV_ADDR            0xfffa0000
-#else  /* force ENV to be embedded */
-#define        CONFIG_ENV_SIZE         (2 * 1024) /* Total Size of Environment Sector 2k */
-#define CONFIG_ENV_ADDR            (CONFIG_SYS_MONITOR_BASE + CONFIG_SYS_MONITOR_LEN - CONFIG_ENV_SIZE - 0x10) /* let space for reset vector */
-/* #define CONFIG_ENV_ADDR            (CONFIG_SYS_MONITOR_BASE)*/
-#define CONFIG_ENV_OFFSET          (CONFIG_ENV_ADDR - CONFIG_SYS_FLASH_BASE)
-#endif
-
-#endif
-/* END ENVIRONNEMENT FLASH */
-/*-----------------------------------------------------------------------
- * NVRAM organization
- */
-#define CONFIG_SYS_NVRAM_BASE_ADDR     CONFIG_SYS_NVRAM_REG_BASE_ADDR  /* NVRAM base address   */
-#define CONFIG_SYS_NVRAM_SIZE          0x7F8           /* NVRAM size 2kByte - 8 Byte for RTC */
-
-#ifdef CONFIG_ENV_IS_IN_NVRAM
-#define CONFIG_ENV_SIZE                0x7F8           /* Size of Environment vars     */
-#define CONFIG_ENV_ADDR                \
-       (CONFIG_SYS_NVRAM_BASE_ADDR+CONFIG_SYS_NVRAM_SIZE-CONFIG_ENV_SIZE)      /* Env  */
-#endif
-
-/*
- * Init Memory Controller:
- *
- * BR0/1 and OR0/1 (FLASH)
- */
-
-#define FLASH_BASE0_PRELIM     0xFF800000      /* FLASH bank #0 8MB    */
-#define FLASH_BASE1_PRELIM     0               /* FLASH bank #1        */
-
-
-/* Configuration Port location */
-/*  #define CONFIG_PORT_ADDR   0xF0000500 */
-
-/*-----------------------------------------------------------------------
- * Definitions for initial stack pointer and data area (in DPRAM)
- */
-#define CONFIG_SYS_INIT_RAM_ADDR       0x00df0000  /* inside of SDRAM                 */
-#define CONFIG_SYS_INIT_RAM_SIZE       0x0f00  /* Size of used area in RAM            */
-#define CONFIG_SYS_GBL_DATA_OFFSET     (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
-#define CONFIG_SYS_INIT_SP_OFFSET      CONFIG_SYS_GBL_DATA_OFFSET
-
-/*-----------------------------------------------------------------------
- * Definitions for Serial Presence Detect EEPROM address
- * (to get SDRAM settings)
- */
-#define SPD_EEPROM_ADDRESS      0x50
-
-#if defined(CONFIG_CMD_KGDB)
-#define CONFIG_KGDB_BAUDRATE   230400  /* speed to run kgdb serial port */
-#define CONFIG_KGDB_SER_INDEX  2       /* which serial port to use */
-#endif
-#endif /* __CONFIG_H */
index 3fda551a0bd9ed35c43f8572f250612150116982..9a68b1ca46f7996a46eeccdafb80de33eaa4e9a9 100644 (file)
@@ -43,6 +43,7 @@
 #define CONFIG_SYS_GT_6426x        GT_64260 /* with a 64260 system controller */
 
 #define        CONFIG_SYS_TEXT_BASE    0xfff00000
+#define        CONFIG_SYS_LDSCRIPT     "board/evb64260/u-boot.lds"
 
 #define CONFIG_BAUDRATE                38400   /* console baudrate = 38400     */
 
index c684cb847886f6736a76a36a2f85310459c53895..44ae48d60befe5be0d3d26131c6413419c6f8b36 100644 (file)
  */
 
 
-#define CONFIG_WINBOND_83C553  1       /*has a winbond bridge                  */
+/* #define CONFIG_WINBOND_83C553       1       / *has a winbond bridge                 */
 #define CONFIG_SYS_USE_WINBOND_IDE     0       /*use winbond 83c553 internal IDE ctrlr */
 #define CONFIG_SYS_WINBOND_ISA_CFG_ADDR    0x80005800  /*pci-isa bridge config addr    */
 #define CONFIG_SYS_WINBOND_IDE_CFG_ADDR    0x80005900  /*ide config addr               */
index ed783876efbbefc6fed17a1815475222634cbf86..1e96b9e10e2ece436df65e758d7b8626d3f21164 100644 (file)
@@ -88,6 +88,7 @@
 #define CONFIG_CMD_JFFS2
 
 #undef CONFIG_CMD_NET
+#undef CONFIG_CMD_NFS
 #undef CONFIG_CMD_RTC
 #undef CONFIG_CMD_PCI
 #undef CONFIG_CMD_I2C
 
 #define CONFIG_SPD_EEPROM      1       /* use SPD EEPROM for setup    */
 
+/*
+ * I2C
+ */
+#define CONFIG_HARD_I2C                        /* I2C with hardware support    */
+#define CONFIG_PPC4XX_I2C              /* use PPC4xx driver            */
+#define CONFIG_SYS_I2C_SLAVE   0x7F
+#define CONFIG_SYS_I2C_SPEED   400000
+
 /*
  * Miscellaneous configurable options
  */
index 1201133e2b0bf06a8c03d5702799c739d7a406d4..92c54d0ec1e0400924b121026a70a57d54187524 100644 (file)
 #define CONFIG_MPC8313         1
 #define CONFIG_MPC8313ERDB     1
 
+#define CONFIG_SYS_NAND_U_BOOT_SIZE  (512 << 10)
+#define CONFIG_SYS_NAND_U_BOOT_DST   0x00100000
+#define CONFIG_SYS_NAND_U_BOOT_START 0x00100100
+#define CONFIG_SYS_NAND_U_BOOT_OFFS  16384
+#define CONFIG_SYS_NAND_U_BOOT_RELOC 0x00010000
+#define CONFIG_SYS_NAND_U_BOOT_RELOC_SP (CONFIG_SYS_NAND_U_BOOT_RELOC + 0x10000)
+
+#ifdef CONFIG_NAND_U_BOOT
+#define CONFIG_SYS_TEXT_BASE   0x00100000 /* CONFIG_SYS_NAND_U_BOOT_DST */
+#define CONFIG_SYS_TEXT_BASE_SPL 0xfff00000
+#ifdef CONFIG_NAND_SPL
+#define CONFIG_SYS_MONITOR_BASE        CONFIG_SYS_TEXT_BASE_SPL /* start of monitor */
+#endif /* CONFIG_NAND_SPL */
+#endif /* CONFIG_NAND_U_BOOT */
+
 #ifndef CONFIG_SYS_TEXT_BASE
 #define CONFIG_SYS_TEXT_BASE   0xFE000000
 #endif
 
+#ifndef CONFIG_SYS_MONITOR_BASE
+#define CONFIG_SYS_MONITOR_BASE        CONFIG_SYS_TEXT_BASE    /* start of monitor */
+#endif
+
 #define CONFIG_PCI
 #define CONFIG_FSL_ELBC 1
 
 #define CONFIG_SYS_FLASH_ERASE_TOUT    60000   /* Flash Erase Timeout (ms) */
 #define CONFIG_SYS_FLASH_WRITE_TOUT    500     /* Flash Write Timeout (ms) */
 
-#define CONFIG_SYS_MONITOR_BASE        CONFIG_SYS_TEXT_BASE    /* start of monitor */
-
 #if (CONFIG_SYS_MONITOR_BASE < CONFIG_SYS_FLASH_BASE) && !defined(CONFIG_NAND_SPL)
 #define CONFIG_SYS_RAMBOOT
 #endif
 #define CONFIG_NAND_FSL_ELBC 1
 #define CONFIG_SYS_NAND_BLOCK_SIZE 16384
 
-#define CONFIG_SYS_NAND_U_BOOT_SIZE  (512 << 10)
-#define CONFIG_SYS_NAND_U_BOOT_DST   0x00100000
-#define CONFIG_SYS_NAND_U_BOOT_START 0x00100100
-#define CONFIG_SYS_NAND_U_BOOT_OFFS  16384
-#define CONFIG_SYS_NAND_U_BOOT_RELOC 0x00010000
-#define CONFIG_SYS_NAND_U_BOOT_RELOC_SP (CONFIG_SYS_NAND_U_BOOT_RELOC + 0x10000)
 
 #define CONFIG_SYS_NAND_BR_PRELIM      ( CONFIG_SYS_NAND_BASE \
                                | (2<<BR_DECC_SHIFT)    /* Use HW ECC */ \
index 6476c4c430459a9b6980751be2024d2481415d6c..a0cfd000f23727f649f8f7b405bae28f4d34ff36 100644 (file)
 #ifndef __CONFIG_H
 #define __CONFIG_H
 
-#ifdef CONFIG_NAND
-#define CONFIG_NAND_U_BOOT             1
-#define CONFIG_SYS_TEXT_BASE   0x00100000
-#endif
+#define CONFIG_SYS_NAND_U_BOOT_SIZE  (512 << 10)
+#define CONFIG_SYS_NAND_U_BOOT_DST   0x00100000
+#define CONFIG_SYS_NAND_U_BOOT_START 0x00100100
+#define CONFIG_SYS_NAND_U_BOOT_OFFS  16384
+#define CONFIG_SYS_NAND_U_BOOT_RELOC 0x00010000
+
+#ifdef CONFIG_NAND_U_BOOT
+#define CONFIG_SYS_TEXT_BASE   0x00100000 /* CONFIG_SYS_NAND_U_BOOT_DST */
+#define CONFIG_SYS_TEXT_BASE_SPL 0xfff00000
+#ifdef CONFIG_NAND_SPL
+#define CONFIG_SYS_MONITOR_BASE        CONFIG_SYS_TEXT_BASE_SPL /* start of monitor */
+#endif /* CONFIG_NAND_SPL */
+#endif /* CONFIG_NAND_U_BOOT */
 
 #ifndef CONFIG_SYS_TEXT_BASE
 #define CONFIG_SYS_TEXT_BASE   0xFE000000
 #endif
 
+#ifndef CONFIG_SYS_MONITOR_BASE
+#define CONFIG_SYS_MONITOR_BASE        CONFIG_SYS_TEXT_BASE    /* start of monitor */
+#endif
+
 /*
  * High Level Configuration Options
  */
 /*
  * The reserved memory
  */
-#define CONFIG_SYS_MONITOR_BASE        CONFIG_SYS_TEXT_BASE /* start of monitor */
-
 #define CONFIG_SYS_MONITOR_LEN         (384 * 1024) /* Reserve 384 kB for Mon */
 #define CONFIG_SYS_MALLOC_LEN          (512 * 1024) /* Reserved for malloc */
 
index 8410bb77ebcf58e9042c7581e44d700e0ce0f8cf..850665a041f984ca859b22ce849e79551b6253ae 100644 (file)
 #ifdef CONFIG_NAND
 #define CONFIG_NAND_U_BOOT             1
 #define CONFIG_RAMBOOT_NAND            1
+#ifdef CONFIG_NAND_SPL
+#define CONFIG_SYS_TEXT_BASE_SPL 0xfff00000
+#define CONFIG_SYS_MONITOR_BASE        CONFIG_SYS_TEXT_BASE_SPL /* start of monitor */
+#else
 #define CONFIG_SYS_TEXT_BASE   0xf8f82000
+#endif /* CONFIG_NAND_SPL */
 #endif
 
 #ifdef CONFIG_SDCARD
 #define CONFIG_SYS_TEXT_BASE   0xeff80000
 #endif
 
+#ifndef CONFIG_SYS_MONITOR_BASE
+#define CONFIG_SYS_MONITOR_BASE        CONFIG_SYS_TEXT_BASE    /* start of monitor */
+#endif
+
 /* High Level Configuration Options */
 #define CONFIG_BOOKE           1       /* BOOKE */
 #define CONFIG_E500            1       /* BOOKE e500 family */
 #define CONFIG_SYS_FLASH_ERASE_TOUT    60000   /* Flash Erase Timeout (ms) */
 #define CONFIG_SYS_FLASH_WRITE_TOUT    500     /* Flash Write Timeout (ms) */
 
-#define CONFIG_SYS_MONITOR_BASE        CONFIG_SYS_TEXT_BASE    /* start of monitor */
-
 #if defined(CONFIG_SYS_SPL) || defined(CONFIG_RAMBOOT_NAND) \
        || defined(CONFIG_RAMBOOT_SDCARD) || defined(CONFIG_RAMBOOT_SPIFLASH)
 #define CONFIG_SYS_RAMBOOT
index 6a15da50c8254e690833cc8ba502eb8faf0e3bf9..c7973b46a258a5236c443a2f5813a3083f17a743 100644 (file)
@@ -65,13 +65,22 @@ extern unsigned long get_clock_freq(void);
 #ifdef CONFIG_NAND
 #define CONFIG_NAND_U_BOOT             1
 #define CONFIG_RAMBOOT_NAND            1
+#ifdef CONFIG_NAND_SPL
+#define CONFIG_SYS_TEXT_BASE_SPL 0xfff00000
+#define CONFIG_SYS_MONITOR_BASE        CONFIG_SYS_TEXT_BASE_SPL /* start of monitor */
+#else
 #define CONFIG_SYS_TEXT_BASE   0xf8f82000
 #endif
+#endif
 
 #ifndef CONFIG_SYS_TEXT_BASE
 #define CONFIG_SYS_TEXT_BASE   0xfff80000
 #endif
 
+#ifndef CONFIG_SYS_MONITOR_BASE
+#define CONFIG_SYS_MONITOR_BASE        CONFIG_SYS_TEXT_BASE    /* start of monitor */
+#endif
+
 /*
  * Only possible on E500 Version 2 or newer cores.
  */
@@ -194,8 +203,6 @@ extern unsigned long get_clock_freq(void);
 #define CONFIG_SYS_FLASH_ERASE_TOUT    60000   /* Flash Erase Timeout (ms) */
 #define CONFIG_SYS_FLASH_WRITE_TOUT    500     /* Flash Write Timeout (ms) */
 
-#define CONFIG_SYS_MONITOR_BASE        CONFIG_SYS_TEXT_BASE    /* start of monitor */
-
 #if defined(CONFIG_SYS_SPL) || defined(CONFIG_RAMBOOT_NAND)
 #define CONFIG_SYS_RAMBOOT
 #else
@@ -488,6 +495,7 @@ extern unsigned long get_clock_freq(void);
 
 #undef CONFIG_EEPRO100
 #undef CONFIG_TULIP
+#define CONFIG_E1000                   /* Define e1000 pci Ethernet card */
 
 #undef CONFIG_PCI_SCAN_SHOW            /* show pci devices on startup */
 
index f949cc2b6f43f011782a8aaf5a99911e5360c81d..692c8115e18a9453a507becef832277cf73631cc 100644 (file)
 #undef CONFIG_EEPRO100
 #undef CONFIG_TULIP
 #undef CONFIG_RTL8139
+#define CONFIG_E1000                   /* Define e1000 pci Ethernet card */
 
 #ifndef CONFIG_PCI_PNP
        #define PCI_ENET0_IOADDR        CONFIG_SYS_PCIE3_IO_BUS
index 3aed447e17aa10c13527efddd5d073cae5fd73a9..5674636a3aa8706ed63e1a48890092dcfe0666f8 100644 (file)
@@ -44,6 +44,7 @@
 #define MVBLUE_BOARD_LYNX      2
 
 #define        CONFIG_SYS_TEXT_BASE    0xFFF00000
+#define CONFIG_SYS_LDSCRIPT    "board/mvblue/u-boot.lds"
 
 #if 0
 #define ERR_LED(code)  do { if (code) \
index 04f0f0bc53e4b43ef7fbf234b4aff5cd15235d64..88339ac0a890dcc55e6757d5b0b7f6b4b3cef723 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * (C) Copyright 2000-2004
+ * (C) Copyright 2000-2010
  * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
  *
  * See file CREDITS for list of people who contributed to this
 #define CONFIG_ENV_SECT_SIZE   0x10000
 
 #define        CONFIG_ENV_ADDR         (CONFIG_SYS_FLASH_BASE + 0x60000)
-#define CONFIG_ENV_OFFSET              0
 #define        CONFIG_ENV_SIZE         0x4000
 
 #define CONFIG_ENV_ADDR_REDUND (CONFIG_SYS_FLASH_BASE + 0x70000)
-#define CONFIG_ENV_OFFSET_REDUND       0
 #define CONFIG_ENV_SIZE_REDUND CONFIG_ENV_SIZE
 
 /*-----------------------------------------------------------------------
index 795c0f61fe6dadf95eabbc728b588f2d93d5d879..bdc93b6f11b104688cdb6fefb04a9f5c46d27f4a 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * (C) Copyright 2000-2004
+ * (C) Copyright 2000-2010
  * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
  *
  * See file CREDITS for list of people who contributed to this
 #define CONFIG_ENV_SECT_SIZE   0x10000
 
 #define        CONFIG_ENV_ADDR         (CONFIG_SYS_FLASH_BASE + 0x60000)
-#define CONFIG_ENV_OFFSET              0
 #define        CONFIG_ENV_SIZE         0x4000
 
 #define CONFIG_ENV_ADDR_REDUND (CONFIG_SYS_FLASH_BASE + 0x70000)
-#define CONFIG_ENV_OFFSET_REDUND       0
 #define CONFIG_ENV_SIZE_REDUND CONFIG_ENV_SIZE
 
 /*-----------------------------------------------------------------------
index a92e3a6261ad091b06ffc7dbb4f02e7278edb6c4..3494b7acdfe938e8b2cb2407a1b0665ffdf373b9 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * (C) Copyright 2000
+ * (C) Copyright 2000-2010
  * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
  *
  * See file CREDITS for list of people who contributed to this
 #define CONFIG_ENV_SECT_SIZE   0x10000
 
 #define        CONFIG_ENV_ADDR         (CONFIG_SYS_FLASH_BASE + 0x60000)
-#define CONFIG_ENV_OFFSET              0
 #define        CONFIG_ENV_SIZE         0x4000
 
 #define CONFIG_ENV_ADDR_REDUND (CONFIG_SYS_FLASH_BASE + 0x70000)
-#define CONFIG_ENV_OFFSET_REDUND       0
 #define CONFIG_ENV_SIZE_REDUND CONFIG_ENV_SIZE
 
 /*-----------------------------------------------------------------------
index 6c8579f9ec1b2361350bb758075baba9ba6e662c..b411fc8bb7e5015d2c592ddb0a4b28707fcc8a1b 100644 (file)
 #define CONFIG_NET_MULTI
 #define CONFIG_PCI_PNP                 /* do pci plug-and-play */
 #define CONFIG_PCI_SCAN_SHOW           /* show pci devices on startup */
+#define CONFIG_E1000                   /* Define e1000 pci Ethernet card */
 #endif
 
 /* SATA */
index b99f383ec1e58681986b6a9cc9171ded16281f9f..610f3ed299845c11b5ad3b7b52f3bd6dcf295061 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright 2009 Freescale Semiconductor, Inc.
+ * Copyright 2009-2010 Freescale Semiconductor, Inc.
  *
  * See file CREDITS for list of people who contributed to this
  * project.
 #ifdef CONFIG_NAND
 #define CONFIG_NAND_U_BOOT             1
 #define CONFIG_RAMBOOT_NAND            1
+#ifdef CONFIG_NAND_SPL
+#define CONFIG_SYS_TEXT_BASE_SPL 0xfff00000
+#define CONFIG_SYS_MONITOR_BASE        CONFIG_SYS_TEXT_BASE_SPL /* start of monitor */
+#else
 #define CONFIG_SYS_TEXT_BASE           0xf8f82000
+#endif /* CONFIG_NAND_SPL */
 #endif
 
 #ifdef CONFIG_SDCARD
 #define CONFIG_SYS_TEXT_BASE           0xeff80000
 #endif
 
+#ifndef CONFIG_SYS_MONITOR_BASE
+#define CONFIG_SYS_MONITOR_BASE        CONFIG_SYS_TEXT_BASE    /* start of monitor */
+#endif
+
 /* High Level Configuration Options */
 #define CONFIG_BOOKE           1       /* BOOKE */
 #define CONFIG_E500            1       /* BOOKE e500 family */
@@ -192,8 +201,6 @@ extern unsigned long get_board_sys_clk(unsigned long dummy);
 #define CONFIG_SYS_FLASH_ERASE_TOUT    60000   /* Flash Erase Timeout (ms) */
 #define CONFIG_SYS_FLASH_WRITE_TOUT    500     /* Flash Write Timeout (ms) */
 
-#define CONFIG_SYS_MONITOR_BASE        CONFIG_SYS_TEXT_BASE    /* start of monitor */
-
 #if defined(CONFIG_SYS_SPL) || defined(CONFIG_RAMBOOT_NAND) \
        || defined(CONFIG_RAMBOOT_SDCARD) || defined(CONFIG_RAMBOOT_SPIFLASH)
 #define CONFIG_SYS_RAMBOOT
@@ -343,6 +350,7 @@ extern unsigned long get_board_sys_clk(unsigned long dummy);
 #define CONFIG_SYS_EEPROM_BUS_NUM      1
 
 #define CONFIG_RTC_DS1337
+#define CONFIG_SYS_RTC_DS1337_NOOSC
 #define CONFIG_SYS_I2C_RTC_ADDR                0x68
 /*
  * General PCI
index 5e7b81f0a2bb40f2328ca21481c38315e7d47377..21b48e9c46bca6d873d901d93b0ed2e710fd7489 100644 (file)
 #define CONFIG_SYS_NUM_FM2_10GEC       1
 #define CONFIG_NUM_DDR_CONTROLLERS     2
 
+#define CONFIG_ICS307_REFCLK_HZ                33333000  /* ICS307 ref clk freq */
+
 #define CONFIG_SYS_P4080_ERRATUM_CPU22
 #define CONFIG_SYS_P4080_ERRATUM_SERDES8
 
-#ifndef CONFIG_SYS_TEXT_BASE
-#define CONFIG_SYS_TEXT_BASE   0xeff80000
-#endif
-
 #include "corenet_ds.h"
index a14bd0e65d322296c035e4889aa4cef22dd7007e..195925ac5cfd127158199520d8fcbbea5af02e72 100644 (file)
@@ -76,6 +76,7 @@
 #define CONFIG_PPCHAMELEONEVB  1       /* ...on a PPChameleonEVB board */
 
 #define        CONFIG_SYS_TEXT_BASE    0xFFFB0000      /* Reserve 320 kB for Monitor */
+#define CONFIG_SYS_LDSCRIPT    "board/dave/PPChameleonEVB/u-boot.lds"
 
 #define CONFIG_BOARD_EARLY_INIT_F 1    /* call board_early_init_f()    */
 #define CONFIG_MISC_INIT_R     1       /* call misc_init_r()           */
index 30a8e41e62a1ba539c1e9fa77cdd0dca497afd4e..339e02b5ee365055b68926f3eae5b53a2c5c07f2 100644 (file)
 #define CONFIG_MPC831x                 1
 #define CONFIG_MPC8313                 1
 
-#ifndef CONFIG_SYS_TEXT_BASE
-#define CONFIG_SYS_TEXT_BASE   0x00100000
+#define CONFIG_SYS_NAND_U_BOOT_SIZE    (512 << 10)
+#define CONFIG_SYS_NAND_U_BOOT_DST     0x00100000
+#define CONFIG_SYS_NAND_U_BOOT_START   0x00100100
+#define CONFIG_SYS_NAND_U_BOOT_RELOC   0x00010000
+#define CONFIG_SYS_NAND_U_BOOT_RELOC_SP (CONFIG_SYS_NAND_U_BOOT_RELOC + 0x10000)
+
+#define CONFIG_SYS_TEXT_BASE   0x00100000 /* CONFIG_SYS_NAND_U_BOOT_DST */
+#define CONFIG_SYS_TEXT_BASE_SPL 0xfff00000
+
+#ifdef CONFIG_NAND_SPL
+#define CONFIG_SYS_MONITOR_BASE        CONFIG_SYS_TEXT_BASE_SPL /* start of monitor */
+#else
+#define CONFIG_SYS_MONITOR_BASE        CONFIG_SYS_TEXT_BASE    /* start of monitor */
 #endif
 
 #define CONFIG_PCI
  */
 #define CONFIG_SYS_NO_FLASH
 
-#define CONFIG_SYS_MONITOR_BASE        CONFIG_SYS_TEXT_BASE    /* start of monitor */
-
 #if !defined(CONFIG_NAND_SPL)
 #define CONFIG_SYS_RAMBOOT
 #endif
 #define CONFIG_CMD_NAND                1
 #define CONFIG_NAND_FSL_ELBC           1
 
-#define CONFIG_SYS_NAND_U_BOOT_SIZE    (512 << 10)
-#define CONFIG_SYS_NAND_U_BOOT_DST     0x00100000
-#define CONFIG_SYS_NAND_U_BOOT_START   0x00100100
-#define CONFIG_SYS_NAND_U_BOOT_RELOC   0x00010000
-#define CONFIG_SYS_NAND_U_BOOT_RELOC_SP (CONFIG_SYS_NAND_U_BOOT_RELOC + 0x10000)
-
 #define CONFIG_SYS_NAND_BR_PRELIM      ( CONFIG_SYS_NAND_BASE \
                                        | (2<<BR_DECC_SHIFT)    /* Use HW ECC */ \
                                        | BR_PS_8               /* Port Size = 8 bit */ \
index f98414160db5e2a483538a83e9916dada74b17ea..524a3e0690c1ff6c9fdfdb1d9f76d9e79ed941d6 100644 (file)
@@ -40,6 +40,7 @@
 #define CONFIG_SANDPOINT       1
 
 #define        CONFIG_SYS_TEXT_BASE    0xFFF00000
+#define CONFIG_SYS_LDSCRIPT    "board/sandpoint/u-boot.lds"
 
 #if 0
 #define USE_DINK32             1
  */
 
 
-#define CONFIG_WINBOND_83C553  1       /*has a winbond bridge                  */
+/* #define CONFIG_WINBOND_83C553       1       / *has a winbond bridge                 */
 #define CONFIG_SYS_USE_WINBOND_IDE     0       /*use winbond 83c553 internal IDE ctrlr */
 #define CONFIG_SYS_WINBOND_ISA_CFG_ADDR    0x80005800  /*pci-isa bridge config addr    */
 #define CONFIG_SYS_WINBOND_IDE_CFG_ADDR    0x80005900  /*ide config addr               */
index b47adcc3a9d54968787248403d5c9918b3d0a970..87aa4fdac392229599669e900c43742675f5983f 100644 (file)
@@ -40,6 +40,7 @@
 #define CONFIG_SANDPOINT       1
 
 #define        CONFIG_SYS_TEXT_BASE    0xFFF00000
+#define CONFIG_SYS_LDSCRIPT    "board/sandpoint/u-boot.lds"
 
 #if 0
 #define USE_DINK32             1
  */
 
 
-#define CONFIG_WINBOND_83C553  1       /*has a winbond bridge                  */
+/* #define CONFIG_WINBOND_83C553       1       / *has a winbond bridge                 */
 #define CONFIG_SYS_USE_WINBOND_IDE     0       /*use winbond 83c553 internal IDE ctrlr */
 #define CONFIG_SYS_WINBOND_ISA_CFG_ADDR    0x80005800  /*pci-isa bridge config addr    */
 #define CONFIG_SYS_WINBOND_IDE_CFG_ADDR    0x80005900  /*ide config addr               */
index c11fe8a3557658d3216fbd728c6aa95b1b39bc8e..c2f6b8a7b391d7e0e19563dcbc8355df4da47e08 100644 (file)
 /* use CFI flash driver */
 #define CONFIG_SYS_FLASH_CFI           1       /* Flash is CFI conformant */
 #define CONFIG_FLASH_CFI_DRIVER        1       /* Use the common driver */
+#define CONFIG_FLASH_CFI_MTD           /* with MTD support */
 #define CONFIG_SYS_FLASH_BANKS_LIST    { CONFIG_SYS_BOOTCS_START }
 #define CONFIG_SYS_MAX_FLASH_BANKS     1       /* max num of flash banks
                                           (= chip selects) */
 /* Dynamic MTD partition support */
 #define CONFIG_CMD_MTDPARTS
 #define CONFIG_MTD_DEVICE              /* needed for mtdparts commands */
-#define CONFIG_FLASH_CFI_MTD
 #define MTDIDS_DEFAULT         "nor0=TQM5200-0"
 
 #ifdef CONFIG_STK52XX
index 9a9ba8890771410f12c5e45911d362f29ee6ea70..70e8f07ba79280f561e066056e826ddb5d5fd630 100644 (file)
 #define CONFIG_DRIVER_OMAP34XX_I2C     1
 
 #undef CONFIG_CMD_NET
+#undef CONFIG_CMD_NFS
 /*
  * Board NAND Info.
  */
@@ -330,4 +331,10 @@ extern unsigned int boot_flash_sec;
 extern unsigned int boot_flash_type;
 #endif
 
+#define CONFIG_SYS_SDRAM_BASE          PHYS_SDRAM_1
+#define CONFIG_SYS_INIT_RAM_ADDR       0x4020f800
+#define CONFIG_SYS_INIT_RAM_SIZE       0x800
+#define CONFIG_SYS_INIT_SP_ADDR                (CONFIG_SYS_INIT_RAM_ADDR + \
+                                        CONFIG_SYS_INIT_RAM_SIZE - \
+                                        GENERATED_GBL_DATA_SIZE)
 #endif /* __CONFIG_H */
index 63e6d6e5834dbeb1b5dca713c21f9419da0bbc7b..b604b52023d07850ad627c34e8311c6dbb4a7896 100644 (file)
@@ -62,6 +62,7 @@
 #include <config_cmd_default.h>
 
 #undef CONFIG_CMD_NET
+#undef CONFIG_CMD_NFS
 #undef CONFIG_CMD_ENV
 #undef CONFIG_CMD_IMLS
 #define        CONFIG_CMD_USB
diff --git a/include/configs/barco.h b/include/configs/barco.h
deleted file mode 100644 (file)
index dcba0cb..0000000
+++ /dev/null
@@ -1,364 +0,0 @@
-/********************************************************************
- *
- * Unless otherwise specified, Copyright (C) 2004-2005 Barco Control Rooms
- *
- * $Source: /home/services/cvs/firmware/ppc/u-boot-1.1.2/include/configs/barco.h,v $
- * $Revision: 1.2 $
- * $Author: mleeman $
- * $Date: 2005/02/21 12:48:58 $
- *
- * Last ChangeLog Entry
- * $Log: barco.h,v $
- * Revision 1.2  2005/02/21 12:48:58  mleeman
- * update of copyright years (feedback wd)
- *
- * Revision 1.1  2005/02/14 09:29:25  mleeman
- * moved barcohydra.h to barco.h
- *
- * Revision 1.4  2005/02/09 12:56:23  mleeman
- * add generic header to track changes in sources
- *
- *
- *******************************************************************/
-
-/*
- * (C) Copyright 2001, 2002
- * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
- *
- * See file CREDITS for list of people who contributed to this
- * project.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
- */
-
-/* ------------------------------------------------------------------------- */
-
-/*
- * board/config.h - configuration options, board specific
- */
-
-#ifndef __CONFIG_H
-#define __CONFIG_H
-
-/*
- * High Level Configuration Options
- * (easy to change)
- */
-
-#define CONFIG_MPC824X         1
-#define CONFIG_MPC8245         1
-#define CONFIG_BARCOBCD_STREAMING      1
-
-#define        CONFIG_SYS_TEXT_BASE    0xFFF00000
-
-#undef USE_DINK32
-
-#define CONFIG_CONS_INDEX     3               /* set to '3' for on-chip DUART */
-#define CONFIG_BAUDRATE                9600
-#define CONFIG_DRAM_SPEED      100             /* MHz                          */
-
-#define CONFIG_BOOTARGS "mem=32M"
-
-
-/*
- * BOOTP options
- */
-#define CONFIG_BOOTP_SUBNETMASK
-#define CONFIG_BOOTP_GATEWAY
-#define CONFIG_BOOTP_HOSTNAME
-#define CONFIG_BOOTP_BOOTPATH
-#define CONFIG_BOOTP_BOOTFILESIZE
-#define CONFIG_BOOTP_DNS
-
-
-/*
- * Command line configuration.
- */
-#include <config_cmd_default.h>
-
-#define CONFIG_CMD_ELF
-#define CONFIG_CMD_I2C
-#define CONFIG_CMD_EEPROM
-#define CONFIG_CMD_PCI
-
-#undef CONFIG_CMD_NET
-
-
-#define CONFIG_HUSH_PARSER     1 /* use "hush" command parser */
-#define CONFIG_BOOTDELAY       1
-#define CONFIG_BOOTCOMMAND     "boot_default"
-
-/*
- * Miscellaneous configurable options
- */
-#define CONFIG_SYS_LONGHELP            1               /* undef to save memory         */
-#define CONFIG_SYS_PROMPT              "=> "           /* Monitor Command Prompt       */
-#define CONFIG_SYS_CBSIZE              256             /* Console I/O Buffer Size      */
-#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16)     /* Print Buffer Size    */
-#define CONFIG_SYS_MAXARGS             16              /* max number of command args   */
-#define CONFIG_SYS_BARGSIZE            CONFIG_SYS_CBSIZE       /* Boot Argument Buffer Size    */
-#define CONFIG_SYS_LOAD_ADDR           0x00100000      /* default load address         */
-#define CONFIG_SYS_HZ                  1000            /* decrementer freq: 1 ms ticks */
-
-
-/*-----------------------------------------------------------------------
- * PCI stuff
- *-----------------------------------------------------------------------
- */
-#define CONFIG_PCI                             /* include pci support          */
-#undef CONFIG_PCI_PNP
-
-#define PCI_ENET0_IOADDR       0x80000000
-#define PCI_ENET0_MEMADDR      0x80000000
-#define        PCI_ENET1_IOADDR        0x81000000
-#define        PCI_ENET1_MEMADDR       0x81000000
-
-
-/*-----------------------------------------------------------------------
- * Start addresses for the final memory configuration
- * (Set up by the startup code)
- * Please note that CONFIG_SYS_SDRAM_BASE _must_ start at 0
- */
-#define CONFIG_SYS_SDRAM_BASE          0x00000000
-#define CONFIG_SYS_MAX_RAM_SIZE        0x02000000
-
-#define CONFIG_LOGBUFFER
-#ifdef CONFIG_LOGBUFFER
-#define CONFIG_SYS_STDOUT_ADDR         0x1FFC000
-#define CONFIG_SYS_POST_WORD_ADDR      \
-               (CONFIG_SYS_SDRAM_BASE + CONFIG_SYS_MAX_RAM_SIZE - 4)
-#else
-#define CONFIG_SYS_STDOUT_ADDR         0x2B9000
-#endif
-
-#define CONFIG_SYS_RESET_ADDRESS       0xFFF00100
-
-#if defined (USE_DINK32)
-#define CONFIG_SYS_MONITOR_LEN         0x00030000
-#define CONFIG_SYS_MONITOR_BASE        0x00090000
-#define CONFIG_SYS_RAMBOOT             1
-#define CONFIG_SYS_INIT_RAM_ADDR       (CONFIG_SYS_MONITOR_BASE + CONFIG_SYS_MONITOR_LEN)
-#define CONFIG_SYS_INIT_RAM_SIZE       0x10000
-#define CONFIG_SYS_GBL_DATA_OFFSET     (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
-#define CONFIG_SYS_INIT_SP_OFFSET      CONFIG_SYS_GBL_DATA_OFFSET
-#else
-#undef CONFIG_SYS_RAMBOOT
-#define CONFIG_SYS_MONITOR_LEN         0x00030000
-#define CONFIG_SYS_MONITOR_BASE        CONFIG_SYS_TEXT_BASE
-
-
-#define CONFIG_SYS_INIT_RAM_ADDR       0x40000000
-#define CONFIG_SYS_INIT_RAM_SIZE       0x1000
-#define CONFIG_SYS_GBL_DATA_OFFSET     (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
-
-#endif
-
-#define CONFIG_SYS_FLASH_BASE          0xFFF00000
-#define CONFIG_SYS_FLASH_SIZE          (8 * 1024 * 1024)       /* Unity has onboard 1MByte flash */
-#define CONFIG_ENV_IS_IN_FLASH 1
-#define CONFIG_ENV_OFFSET              0x000047A4      /* Offset of Environment Sector */
-#define CONFIG_ENV_SIZE                0x00002000      /* Total Size of Environment Sector */
-/* #define ENV_CRC             0x8BF6F24B      XXX - FIXME: gets defined automatically */
-
-#define CONFIG_SYS_MALLOC_LEN          (512 << 10)     /* Reserve 512 kB for malloc()  */
-
-#define CONFIG_SYS_MEMTEST_START       0x00000000      /* memtest works on             */
-#define CONFIG_SYS_MEMTEST_END         0x04000000      /* 0 ... 32 MB in DRAM          */
-
-#define CONFIG_SYS_EUMB_ADDR           0xFDF00000
-
-#define CONFIG_SYS_FLASH_RANGE_BASE    0xFFC00000      /* flash memory address range   */
-#define CONFIG_SYS_FLASH_RANGE_SIZE    0x00400000
-#define FLASH_BASE0_PRELIM     0xFFF00000      /* sandpoint flash              */
-#define FLASH_BASE1_PRELIM     0xFF000000      /* PMC onboard flash            */
-
-/*
- * select i2c support configuration
- *
- * Supported configurations are {none, software, hardware} drivers.
- * If the software driver is chosen, there are some additional
- * configuration items that the driver uses to drive the port pins.
- */
-#define CONFIG_HARD_I2C                1               /* To enable I2C support        */
-#undef  CONFIG_SOFT_I2C                                /* I2C bit-banged               */
-#define CONFIG_SYS_I2C_SPEED           400000          /* I2C speed and slave address  */
-#define CONFIG_SYS_I2C_SLAVE           0x7F
-
-#ifdef CONFIG_SOFT_I2C
-#error "Soft I2C is not configured properly.  Please review!"
-#define I2C_PORT               3               /* Port A=0, B=1, C=2, D=3 */
-#define I2C_ACTIVE             (iop->pdir |=  0x00010000)
-#define I2C_TRISTATE           (iop->pdir &= ~0x00010000)
-#define I2C_READ               ((iop->pdat & 0x00010000) != 0)
-#define I2C_SDA(bit)           if(bit) iop->pdat |=  0x00010000; \
-                               else    iop->pdat &= ~0x00010000
-#define I2C_SCL(bit)           if(bit) iop->pdat |=  0x00020000; \
-                               else    iop->pdat &= ~0x00020000
-#define I2C_DELAY              udelay(5)       /* 1/4 I2C clock duration */
-#endif /* CONFIG_SOFT_I2C */
-
-#define CONFIG_SYS_I2C_EEPROM_ADDR     0x57            /* EEPROM IS24C02               */
-#define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1               /* Bytes of address             */
-#define CONFIG_SYS_EEPROM_PAGE_WRITE_BITS      3
-#define CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS  10      /* and takes up to 10 msec */
-
-#define CONFIG_SYS_BAUDRATE_TABLE      { 9600, 19200, 38400, 57600, 115200 }
-#define CONFIG_SYS_FLASH_BANKS         { FLASH_BASE0_PRELIM , FLASH_BASE1_PRELIM }
-#define CONFIG_SYS_DBUS_SIZE2          1
-
-/*-----------------------------------------------------------------------
- * Definitions for initial stack pointer and data area (in DPRAM)
- */
-
-
- /*
- * NS16550 Configuration (internal DUART)
- */
- /*
- * Low Level Configuration Settings
- * (address mappings, register initial values, etc.)
- * You should know what you are doing if you make changes here.
- */
-
-#define CONFIG_SYS_CLK_FREQ  33333333  /* external frequency to pll */
-
-#define CONFIG_SYS_ROMNAL              0x0F    /*rom/flash next access time            */
-#define CONFIG_SYS_ROMFAL              0x1E    /*rom/flash access time                 */
-
-#define CONFIG_SYS_REFINT      0x8F    /* no of clock cycles between CBR refresh cycles */
-
-/* the following are for SDRAM only*/
-#define CONFIG_SYS_BSTOPRE     0x25C   /* Burst To Precharge, sets open page interval */
-#define CONFIG_SYS_REFREC              8       /* Refresh to activate interval         */
-#define CONFIG_SYS_RDLAT               4       /* data latency from read command       */
-#define CONFIG_SYS_PRETOACT            3       /* Precharge to activate interval       */
-#define CONFIG_SYS_ACTTOPRE            5       /* Activate to Precharge interval       */
-#define CONFIG_SYS_ACTORW              2       /* Activate to R/W                      */
-#define CONFIG_SYS_SDMODE_CAS_LAT      3       /* SDMODE CAS latency                   */
-#define CONFIG_SYS_SDMODE_WRAP         0       /* SDMODE wrap type                     */
-
-#define CONFIG_SYS_REGISTERD_TYPE_BUFFER   1
-#define CONFIG_SYS_EXTROM 0
-#define CONFIG_SYS_REGDIMM 0
-
-
-/* memory bank settings*/
-/*
- * only bits 20-29 are actually used from these vales to set the
- * start/end address the upper two bits will be 0, and the lower 20
- * bits will be set to 0x00000 for a start address, or 0xfffff for an
- * end address
- */
-#define CONFIG_SYS_BANK0_START         0x00000000
-#define CONFIG_SYS_BANK0_END           0x01FFFFFF
-#define CONFIG_SYS_BANK0_ENABLE        1
-#define CONFIG_SYS_BANK1_START         0x02000000
-#define CONFIG_SYS_BANK1_END           0x02ffffff
-#define CONFIG_SYS_BANK1_ENABLE        0
-#define CONFIG_SYS_BANK2_START         0x03f00000
-#define CONFIG_SYS_BANK2_END           0x03ffffff
-#define CONFIG_SYS_BANK2_ENABLE        0
-#define CONFIG_SYS_BANK3_START         0x04000000
-#define CONFIG_SYS_BANK3_END           0x04ffffff
-#define CONFIG_SYS_BANK3_ENABLE        0
-#define CONFIG_SYS_BANK4_START         0x05000000
-#define CONFIG_SYS_BANK4_END           0x05FFFFFF
-#define CONFIG_SYS_BANK4_ENABLE        0
-#define CONFIG_SYS_BANK5_START         0x06000000
-#define CONFIG_SYS_BANK5_END           0x06FFFFFF
-#define CONFIG_SYS_BANK5_ENABLE        0
-#define CONFIG_SYS_BANK6_START         0x07000000
-#define CONFIG_SYS_BANK6_END           0x07FFFFFF
-#define CONFIG_SYS_BANK6_ENABLE        0
-#define CONFIG_SYS_BANK7_START         0x08000000
-#define CONFIG_SYS_BANK7_END           0x08FFFFFF
-#define CONFIG_SYS_BANK7_ENABLE        0
-/*
- * Memory bank enable bitmask, specifying which of the banks defined above
- are actually present. MSB is for bank #7, LSB is for bank #0.
- */
-#define CONFIG_SYS_BANK_ENABLE         0x01
-
-#define CONFIG_SYS_ODCR                0xff    /* configures line driver impedances,   */
-                                       /* see 8240 book for bit definitions    */
-#define CONFIG_SYS_PGMAX               0x32    /* how long the 8240 retains the        */
-                                       /* currently accessed page in memory    */
-                                       /* see 8240 book for details            */
-
-/* SDRAM 0 - 256MB */
-#define CONFIG_SYS_IBAT0L      (CONFIG_SYS_SDRAM_BASE | BATL_PP_10 | BATL_MEMCOHERENCE)
-#define CONFIG_SYS_IBAT0U      (CONFIG_SYS_SDRAM_BASE | BATU_BL_256M | BATU_VS | BATU_VP)
-
-/* stack in DCACHE @ 1GB (no backing mem) */
-#if defined(USE_DINK32)
-#define CONFIG_SYS_IBAT1L      (0x40000000 | BATL_PP_00 )
-#define CONFIG_SYS_IBAT1U      (0x40000000 | BATU_BL_128K )
-#else
-#define CONFIG_SYS_IBAT1L      (CONFIG_SYS_INIT_RAM_ADDR | BATL_PP_10 | BATL_MEMCOHERENCE)
-#define CONFIG_SYS_IBAT1U      (CONFIG_SYS_INIT_RAM_ADDR | BATU_BL_128K | BATU_VS | BATU_VP)
-#endif
-
-/* PCI memory */
-#define CONFIG_SYS_IBAT2L      (0x80000000 | BATL_PP_10 | BATL_CACHEINHIBIT)
-#define CONFIG_SYS_IBAT2U      (0x80000000 | BATU_BL_256M | BATU_VS | BATU_VP)
-
-/* Flash, config addrs, etc */
-#define CONFIG_SYS_IBAT3L      (0xF0000000 | BATL_PP_10 | BATL_CACHEINHIBIT)
-#define CONFIG_SYS_IBAT3U      (0xF0000000 | BATU_BL_256M | BATU_VS | BATU_VP)
-
-#define CONFIG_SYS_DBAT0L      CONFIG_SYS_IBAT0L
-#define CONFIG_SYS_DBAT0U      CONFIG_SYS_IBAT0U
-#define CONFIG_SYS_DBAT1L      CONFIG_SYS_IBAT1L
-#define CONFIG_SYS_DBAT1U      CONFIG_SYS_IBAT1U
-#define CONFIG_SYS_DBAT2L      CONFIG_SYS_IBAT2L
-#define CONFIG_SYS_DBAT2U      CONFIG_SYS_IBAT2U
-#define CONFIG_SYS_DBAT3L      CONFIG_SYS_IBAT3L
-#define CONFIG_SYS_DBAT3U      CONFIG_SYS_IBAT3U
-
-/*
- * For booting Linux, the board info and command line data
- * have to be in the first 8 MB of memory, since this is
- * the maximum mapped by the Linux kernel during initialization.
- */
-#define CONFIG_SYS_BOOTMAPSZ           (8 << 20)       /* Initial Memory map for Linux */
-/*-----------------------------------------------------------------------
- * FLASH organization
- */
-#define CONFIG_SYS_MAX_FLASH_BANKS     1       /* max number of memory banks           */
-#define CONFIG_SYS_MAX_FLASH_SECT      20      /* max number of sectors on one chip    */
-
-#define CONFIG_SYS_FLASH_ERASE_TOUT    120000  /* Timeout for Flash Erase (in ms)      */
-#define CONFIG_SYS_FLASH_WRITE_TOUT    500     /* Timeout for Flash Write (in ms)      */
-
-#define CONFIG_SYS_FLASH_CHECKSUM
-
-/*-----------------------------------------------------------------------
- * Cache Configuration
- */
-#define CONFIG_SYS_CACHELINE_SIZE      32      /* For MPC8240 CPU                      */
-#if defined(CONFIG_CMD_KGDB)
-#  define CONFIG_SYS_CACHELINE_SHIFT   5       /* log base 2 of the above value */
-#endif
-
-/* values according to the manual */
-
-#define CONFIG_DRAM_50MHZ      1
-#define CONFIG_SDRAM_50MHZ
-
-#define CONFIG_DISK_SPINUP_TIME 1000000
-
-
-#endif /* __CONFIG_H */
index 608ab9f41a4dfe8047b0cf9963b986a13301cdb5..fa72c7f10f3fcb72affbd7997a16bd3ce2dc091d 100644 (file)
  * it linked after the configuration sector.
  */
 # define LDS_BOARD_TEXT \
-       arch/blackfin/cpu/traps.o            (.text .text.*); \
-       arch/blackfin/cpu/interrupt.o        (.text .text.*); \
-       arch/blackfin/cpu/serial.o           (.text .text.*); \
-       common/dlmalloc.o               (.text .text.*); \
-       lib/crc32.o             (.text .text.*); \
+       arch/blackfin/lib/libblackfin.o (.text*); \
+       arch/blackfin/cpu/libblackfin.o (.text*); \
        . = DEFINED(env_offset) ? env_offset : .; \
-       common/env_embedded.o           (.text .text.*);
+       common/env_embedded.o (.text*);
 #endif
 
 
index 03bc811036fa1eb3a56c6fb4cd4063e7aa0b7fb6..bf0f063dc010bd29ff9a1ca90a6212de7f56b865 100644 (file)
  * it linked after the configuration sector.
  */
 # define LDS_BOARD_TEXT \
-       arch/blackfin/cpu/traps.o               (.text .text.*); \
-       arch/blackfin/cpu/interrupt.o   (.text .text.*); \
-       arch/blackfin/cpu/serial.o              (.text .text.*); \
-       common/dlmalloc.o               (.text .text.*); \
-       lib/crc32.o             (.text .text.*); \
+       arch/blackfin/lib/libblackfin.o (.text*); \
+       arch/blackfin/cpu/libblackfin.o (.text*); \
        . = DEFINED(env_offset) ? env_offset : .; \
-       common/env_embedded.o           (.text .text.*);
+       common/env_embedded.o (.text*);
 #endif
 
 
index 730ae279b6c183e6565a32afe1259dca03ee4d4c..da4f2f2f52ef3c0eb2534845d657ab87e211d429 100644 (file)
  * it linked after the configuration sector.
  */
 # define LDS_BOARD_TEXT \
-       arch/blackfin/cpu/traps.o               (.text .text.*); \
-       arch/blackfin/cpu/interrupt.o   (.text .text.*); \
-       arch/blackfin/cpu/serial.o              (.text .text.*); \
-       common/dlmalloc.o               (.text .text.*); \
-       lib/crc32.o             (.text .text.*); \
+       arch/blackfin/lib/libblackfin.o (.text*); \
+       arch/blackfin/cpu/libblackfin.o (.text*); \
        . = DEFINED(env_offset) ? env_offset : .; \
-       common/env_embedded.o           (.text .text.*);
+       common/env_embedded.o (.text*);
 #endif
 
 
index 22d31508eb98a380b738fdf8ad47a31ff2b8ddb9..2d1930c3665e367a996ba1521b905ac4ab0ad030 100644 (file)
  * it linked after the configuration sector.
  */
 # define LDS_BOARD_TEXT \
-       arch/blackfin/cpu/traps.o               (.text .text.*); \
-       arch/blackfin/cpu/interrupt.o   (.text .text.*); \
-       arch/blackfin/cpu/serial.o              (.text .text.*); \
-       common/dlmalloc.o               (.text .text.*); \
-       lib/crc32.o             (.text .text.*); \
+       arch/blackfin/lib/libblackfin.o (.text*); \
+       arch/blackfin/cpu/libblackfin.o (.text*); \
        . = DEFINED(env_offset) ? env_offset : .; \
-       common/env_embedded.o           (.text .text.*);
+       common/env_embedded.o (.text*);
 #endif
 
 
index 04ba2101716e13d53b6b80a35c7106e0d4d3bca1..2469c6a0f2228a4e38e988c21614134200ff5765 100644 (file)
  * it linked after the configuration sector.
  */
 # define LDS_BOARD_TEXT \
-       arch/blackfin/cpu/traps.o               (.text .text.*); \
-       arch/blackfin/cpu/interrupt.o   (.text .text.*); \
-       arch/blackfin/cpu/serial.o              (.text .text.*); \
-       common/dlmalloc.o               (.text .text.*); \
-       lib/crc32.o             (.text .text.*); \
+       arch/blackfin/lib/libblackfin.o (.text*); \
+       arch/blackfin/cpu/libblackfin.o (.text*); \
        . = DEFINED(env_offset) ? env_offset : .; \
-       common/env_embedded.o           (.text .text.*);
+       common/env_embedded.o (.text*);
 #endif
 
 
index 1557e14f5237a219091c262507353a842044f54c..7b020e67fec91b5a38d6b796745e4b9975a36499 100644 (file)
  * it linked after the configuration sector.
  */
 # define LDS_BOARD_TEXT \
-       arch/blackfin/cpu/traps.o               (.text .text.*); \
-       arch/blackfin/cpu/interrupt.o   (.text .text.*); \
-       arch/blackfin/cpu/serial.o              (.text .text.*); \
-       common/dlmalloc.o               (.text .text.*); \
-       lib/crc32.o             (.text .text.*); \
-       lib/zlib.o              (.text .text.*); \
-       board/bf561-ezkit/bf561-ezkit.o (.text .text.*); \
+       arch/blackfin/lib/libblackfin.o (.text*); \
+       arch/blackfin/cpu/libblackfin.o (.text*); \
        . = DEFINED(env_offset) ? env_offset : .; \
-       common/env_embedded.o           (.text .text.*);
+       common/env_embedded.o (.text*);
 #endif
 
 
index df3fe48f65585102484207fbc7a7708853ee76a7..c3de96a38065807e3af86e280bc571fb8613985e 100644 (file)
  * it linked after the configuration sector.
  */
 # define LDS_BOARD_TEXT \
-       arch/blackfin/cpu/traps.o               (.text .text.*); \
-       arch/blackfin/cpu/interrupt.o   (.text .text.*); \
-       arch/blackfin/cpu/serial.o              (.text .text.*); \
-       common/dlmalloc.o               (.text .text.*); \
-       lib/crc32.o             (.text .text.*); \
+       arch/blackfin/lib/libblackfin.o (.text*); \
+       arch/blackfin/cpu/libblackfin.o (.text*); \
        . = DEFINED(env_offset) ? env_offset : .; \
-       common/env_embedded.o           (.text .text.*);
+       common/env_embedded.o (.text*);
 #endif
 
 
index e5b0ecfc5e9c5c2ad1bcf5a95a7ff31a127dbe0e..e60ebf20f0a18de3849836f13ed7ca240fa3f446 100644 (file)
  * it linked after the configuration sector.
  */
 # define LDS_BOARD_TEXT \
-       arch/blackfin/cpu/traps.o               (.text .text.*); \
-       arch/blackfin/cpu/interrupt.o   (.text .text.*); \
-       arch/blackfin/cpu/serial.o              (.text .text.*); \
-       common/dlmalloc.o               (.text .text.*); \
-       lib/crc32.o             (.text .text.*); \
+       arch/blackfin/lib/libblackfin.o (.text*); \
+       arch/blackfin/cpu/libblackfin.o (.text*); \
        . = DEFINED(env_offset) ? env_offset : .; \
-       common/env_embedded.o           (.text .text.*);
+       common/env_embedded.o (.text*);
 #endif
 
 
index 198f3423e8ddca0a9599ff0b4ac8259d39be52f8..329e4e36012e4403f3cc69b6b92c0ba20dbb1dd9 100644 (file)
@@ -62,6 +62,7 @@
 #include <config_cmd_default.h>
 
 #undef CONFIG_CMD_NET          /* disabeled - causes compile errors */
+#undef CONFIG_CMD_NFS
 
 #define CONFIG_CMD_MEMORY
 #define CONFIG_CMD_LOADB
index d77af0defdff24fe8618d67251aa7cfbc1946f4d..2997f52a7522a72703519c4cec0a962e4e188778 100644 (file)
 #define CONFIG_CMD_KGDB
 
 #undef CONFIG_CMD_NET
-
+#undef CONFIG_CMD_NFS
 
 #ifdef DEBUG
 #define CONFIG_BOOTDELAY       -1      /* autoboot disabled            */
index 3ee4a40a3eadb61a5b8791164bc0b381b58ade48..58aa88b7b0ddf83e34b92ed69615f3e272cafff5 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * (C) Copyright 2000
+ * (C) Copyright 2000-2010
  * Murray Jensen <Murray.Jensen@cmst.csiro.au>
  *
  * See file CREDITS for list of people who contributed to this
@@ -80,7 +80,7 @@
 #define CONFIG_CMD_I2C
 
 #undef CONFIG_CMD_NET
-
+#undef CONFIG_CMD_NFS
 
 #if 0
 #define CONFIG_BOOTDELAY       -1      /* autoboot disabled            */
index 2ac59e54b61ad516f1dbb427e678c519cf886e4f..454a30a040c4528c1af9e90729e4f08b747d31db 100644 (file)
 #define CONFIG_FSL_CORENET             /* Freescale CoreNet platform */
 #define CONFIG_MP                      /* support multiple processors */
 
+#ifndef CONFIG_SYS_TEXT_BASE
+#define CONFIG_SYS_TEXT_BASE   0xeff80000
+#endif
+
 #define CONFIG_SYS_FSL_CPC             /* Corenet Platform Cache */
 #define CONFIG_SYS_NUM_CPC             CONFIG_NUM_DDR_CONTROLLERS
 #define CONFIG_FSL_ELBC                        /* Has Enhanced localbus controller */
@@ -64,7 +68,6 @@
 #endif
 
 #define CONFIG_SYS_CLK_FREQ    get_board_sys_clk() /* sysclk for MPC85xx */
-#define CONFIG_ICS307_REFCLK_HZ        33333000  /* ICS307 clock chip ref freq */
 
 /*
  * These can be toggled for performance analysis, otherwise use default.
 #define CONFIG_CMD_MII
 #define CONFIG_CMD_PING
 #define CONFIG_CMD_SETEXPR
+#define CONFIG_CMD_DHCP
 
 #ifdef CONFIG_PCI
 #define CONFIG_CMD_PCI
index 1feada926321272f1206cf40dba86496ff147b79..bcf8ee04da17cd203606ae8c7ce9319290f4c771 100644 (file)
@@ -47,8 +47,7 @@
  * Memory Info
  */
 #define CONFIG_SYS_MALLOC_LEN  (0x10000 + 1*1024*1024) /* malloc() len */
-#define PHYS_SDRAM_1           DAVINCI_DDR_EMIF_DATA_BASE /* DDR Start */
-#define PHYS_SDRAM_1_SIZE      (64 << 20) /* SDRAM size 64MB */
+#define PHYS_SDRAM_1                   0xc0000000 /* SDRAM Start */
 #define CONFIG_SYS_MEMTEST_START       PHYS_SDRAM_1 /* memtest start addr */
 #define CONFIG_SYS_MEMTEST_END         (PHYS_SDRAM_1 + 16*1024*1024) /* 16MB test */
 #define CONFIG_NR_DRAM_BANKS   1 /* we have 1 bank of DRAM */
 #define CONFIG_SYS_ALE_MASK            0x8
 #define CONFIG_SYS_MAX_NAND_DEVICE     1 /* Max number of NAND devices */
 #define NAND_MAX_CHIPS                 1
-#define DEF_BOOTM                      ""
 #endif
 
 #ifdef CONFIG_USE_NOR
        "mtdparts=davinci_nand.1:" PART_BOOT PART_PARAMS PART_KERNEL PART_REST
 #endif
 
+#define CONFIG_MAX_RAM_BANK_SIZE (512 << 20) /* max size from SPRS586*/
+
+/* additions for new relocation code, must be added to all boards */
+#define CONFIG_SYS_SDRAM_BASE          PHYS_SDRAM_1
+#define CONFIG_SYS_INIT_SP_ADDR                \
+       (CONFIG_SYS_SDRAM_BASE + 0x1000 - GENERATED_GBL_DATA_SIZE)
+
 #endif /* __CONFIG_H */
index 7b04be05b9be408af3991fb99a47db2b738b7c5f..4224258a9a47b54f234f40557cabe6a9f525bf7e 100644 (file)
@@ -99,7 +99,6 @@
 #undef CONFIG_SYS_NAND_HW_ECC
 #define CONFIG_SYS_MAX_NAND_DEVICE     1 /* Max number of NAND devices */
 #define NAND_MAX_CHIPS                 1
-#define DEF_BOOTM                      ""
 #endif
 
 /*
  */
 #define LINUX_BOOT_PARAM_ADDR  (PHYS_SDRAM_1 + 0x100)
 #define CONFIG_CMDLINE_TAG
+#define CONFIG_REVISION_TAG
 #define CONFIG_SETUP_MEMORY_TAGS
 #define CONFIG_BOOTARGS                \
        "mem=32M console=ttyS2,115200n8 root=/dev/mtdblock2 rw noinitrd ip=dhcp"
index 8a6905241c74d1979ecde5448f0227998d774bfb..90f8e7ce6a3acaaf828d36b4c0f8b1fd963cc888 100644 (file)
 #define MTDPARTS_DEFAULT       \
        "mtdparts=davinci_nand.0:" PART_BOOT PART_KERNEL PART_REST
 
+#define CONFIG_MAX_RAM_BANK_SIZE       (256 << 20)     /* 256 MB */
+
+#define CONFIG_SYS_SDRAM_BASE          PHYS_SDRAM_1
+#define CONFIG_SYS_INIT_SP_ADDR                \
+       (CONFIG_SYS_SDRAM_BASE + 0x1000 - GENERATED_GBL_DATA_SIZE)
+
 #endif /* __CONFIG_H */
index c9530327c65f9b7d22818f8ab1edbddbb0f7411f..b44b2ea7ac618e57bc04b7c73ce8763888ab5cc2 100644 (file)
 #define MTDPARTS_DEFAULT       \
        "mtdparts=davinci_nand.0:" PART_BOOT PART_KERNEL PART_REST
 
+#define CONFIG_MAX_RAM_BANK_SIZE       (256 << 20)     /* 256 MB */
+
+#define CONFIG_SYS_SDRAM_BASE          PHYS_SDRAM_1
+#define CONFIG_SYS_INIT_SP_ADDR                \
+       (CONFIG_SYS_SDRAM_BASE + 0x1000 - GENERATED_GBL_DATA_SIZE)
+
 #endif /* __CONFIG_H */
index b78fe83867182a8e68fbe21fee10965b54467e7a..a36e13823d156dcc1bf1be1478059ee4f3e1e08e 100644 (file)
 #define MTDPARTS_DEFAULT       \
        "mtdparts=davinci_nand.0:" PART_BOOT PART_KERNEL PART_REST
 
+#define CONFIG_MAX_RAM_BANK_SIZE       (256 << 20)     /* 256 MB */
+
+#define CONFIG_SYS_SDRAM_BASE          PHYS_SDRAM_1
+#define CONFIG_SYS_INIT_SP_ADDR                \
+       (CONFIG_SYS_SDRAM_BASE + 0x1000 - GENERATED_GBL_DATA_SIZE)
+
 #endif /* __CONFIG_H */
index 186726d3a6759944e790d1ced74a95a52c416ae9..e1b1db16e19052a4e3869c0be3d17499d2c3d541 100644 (file)
 #define CONFIG_SYS_NAND_HW_ECC
 #define CONFIG_SYS_MAX_NAND_DEVICE     1       /* Max number of NAND devices */
 #define CONFIG_ENV_OFFSET              0x0     /* Block 0--not used by bootcode */
-#define DEF_BOOTM              ""
 #elif defined(CONFIG_SYS_USE_NOR)
 #ifdef CONFIG_NOR_UART_BOOT
 #define CONFIG_SKIP_LOWLEVEL_INIT      /* U-Boot is loaded by a bootloader */
index 0dc89ef41e2c2b329105c255a323ced809380843..f0eeb90e9df1cc7d585d55aeb8e5bea408a57375 100644 (file)
 #define CONFIG_SYS_NAND_HW_ECC
 #define CONFIG_SYS_MAX_NAND_DEVICE     1       /* Max number of NAND devices */
 #define CONFIG_ENV_OFFSET              0x0     /* Block 0--not used by bootcode */
-#define DEF_BOOTM              ""
 #elif defined(CONFIG_SYS_USE_NOR)
 #ifdef CONFIG_NOR_UART_BOOT
 #define CONFIG_SKIP_LOWLEVEL_INIT      /* U-Boot is loaded by a bootloader */
index fa7a6c7d8e12060406dcaf8536622ff959ac8966..d898b777a76ef920a0f9e854663305e8bbb94b3a 100644 (file)
@@ -308,6 +308,10 @@ extern unsigned int boot_flash_type;
 #endif
 
 #define CONFIG_SYS_SDRAM_BASE          PHYS_SDRAM_1
-#define CONFIG_SYS_INIT_SP_ADDR        (LOW_LEVEL_SRAM_STACK - CONFIG_SYS_GBL_DATA_SIZE)
+#define CONFIG_SYS_INIT_RAM_ADDR        0x4020f800
+#define CONFIG_SYS_INIT_RAM_SIZE        0x800
+#define CONFIG_SYS_INIT_SP_ADDR         (CONFIG_SYS_INIT_RAM_ADDR + \
+                                                        CONFIG_SYS_INIT_RAM_SIZE - \
+                                                        GENERATED_GBL_DATA_SIZE)
 
 #endif /* __CONFIG_H */
diff --git a/include/configs/dockstar.h b/include/configs/dockstar.h
new file mode 100644 (file)
index 0000000..249f93b
--- /dev/null
@@ -0,0 +1,125 @@
+/*
+ * Copyright (C) 2010  Eric C. Cooper <ecc@cmu.edu>
+ *
+ * Based on sheevaplug.h originally written by
+ * Prafulla Wadaskar <prafulla@marvell.com>
+ * (C) Copyright 2009
+ * Marvell Semiconductor <www.marvell.com>
+ *
+ * See file CREDITS for list of people who contributed to this
+ * project.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301 USA
+ */
+
+#ifndef _CONFIG_DOCKSTAR_H
+#define _CONFIG_DOCKSTAR_H
+
+/*
+ * Version number information
+ */
+#define CONFIG_IDENT_STRING    "\nSeagate FreeAgent DockStar"
+
+/*
+ * High Level Configuration Options (easy to change)
+ */
+#define CONFIG_FEROCEON_88FR131        1       /* CPU Core subversion */
+#define CONFIG_KIRKWOOD                1       /* SOC Family Name */
+#define CONFIG_KW88F6281       1       /* SOC Name */
+#define CONFIG_MACH_DOCKSTAR   /* Machine type */
+#define CONFIG_SKIP_LOWLEVEL_INIT      /* disable board lowlevel_init */
+
+/*
+ * Commands configuration
+ */
+#define CONFIG_SYS_NO_FLASH            /* Declare no flash (NOR/SPI) */
+#include <config_cmd_default.h>
+#define CONFIG_CMD_DHCP
+#define CONFIG_CMD_ENV
+#define CONFIG_CMD_MII
+#define CONFIG_CMD_NAND
+#define CONFIG_CMD_PING
+#define CONFIG_CMD_USB
+/*
+ * mv-common.h should be defined after CMD configs since it used them
+ * to enable certain macros
+ */
+#include "mv-common.h"
+
+#undef CONFIG_SYS_PROMPT       /* previously defined in mv-common.h */
+#define CONFIG_SYS_PROMPT      "DockStar> "    /* Command Prompt */
+
+/*
+ *  Environment variables configurations
+ */
+#ifdef CONFIG_CMD_NAND
+#define CONFIG_ENV_IS_IN_NAND          1
+#define CONFIG_ENV_SECT_SIZE           0x20000 /* 128K */
+#else
+#define CONFIG_ENV_IS_NOWHERE          1       /* if env in SDRAM */
+#endif
+/*
+ * max 4k env size is enough, but in case of nand
+ * it has to be rounded to sector size
+ */
+#define CONFIG_ENV_SIZE                        0x20000 /* 128k */
+#define CONFIG_ENV_ADDR                        0x60000
+#define CONFIG_ENV_OFFSET              0x60000 /* env starts here */
+
+/*
+ * Default environment variables
+ */
+#define CONFIG_BOOTCOMMAND \
+       "setenv bootargs ${console} ${mtdparts} ${bootargs_root}; "     \
+       "ubi part root; " \
+       "ubifsmount root; " \
+       "ubifsload 0x800000 ${kernel}; " \
+       "ubifsload 0x1100000 ${initrd}; " \
+       "bootm 0x800000 0x1100000"
+
+#define CONFIG_MTDPARTS                "mtdparts=orion_nand:1m(uboot),-(root)\0"
+
+#define CONFIG_EXTRA_ENV_SETTINGS \
+       "console=console=ttyS0,115200\0" \
+       "mtdids=nand0=orion_nand\0" \
+       "mtdparts="CONFIG_MTDPARTS \
+       "kernel=/boot/uImage\0" \
+       "initrd=/boot/uInitrd\0" \
+       "bootargs_root=ubi.mtd=1 root=ubi0:root rootfstype=ubifs ro\0"
+
+/*
+ * Ethernet Driver configuration
+ */
+#ifdef CONFIG_CMD_NET
+#define CONFIG_MVGBE_PORTS     {1, 0}  /* enable port 0 only */
+#define CONFIG_PHY_BASE_ADR    0
+#endif /* CONFIG_CMD_NET */
+
+/*
+ * File system
+ */
+#define CONFIG_CMD_EXT2
+#define CONFIG_CMD_FAT
+#define CONFIG_CMD_JFFS2
+#define CONFIG_CMD_UBI
+#define CONFIG_CMD_UBIFS
+#define CONFIG_RBTREE
+#define CONFIG_MTD_DEVICE               /* needed for mtdparts commands */
+#define CONFIG_MTD_PARTITIONS
+#define CONFIG_CMD_MTDPARTS
+#define CONFIG_LZO
+
+#endif /* _CONFIG_DOCKSTAR_H */
index cd856ac79c3870c3c6b8d239f9372c127e012078..e2dbbb151b8ef4f8711462ae2887b9c83deb71b0 100644 (file)
  * it linked after the configuration sector.
  */
 # define LDS_BOARD_TEXT \
-       arch/blackfin/cpu/traps.o               (.text .text.*); \
-       arch/blackfin/cpu/interrupt.o   (.text .text.*); \
-       arch/blackfin/cpu/serial.o              (.text .text.*); \
-       common/dlmalloc.o               (.text .text.*); \
-       lib/crc32.o             (.text .text.*); \
-       lib/zlib.o              (.text .text.*); \
-       board/ibf-dsp561/ibf-dsp561.o   (.text .text.*); \
+       arch/blackfin/lib/libblackfin.o (.text*); \
+       arch/blackfin/cpu/libblackfin.o (.text*); \
        . = DEFINED(env_offset) ? env_offset : .; \
-       common/env_embedded.o           (.text .text.*);
+       common/env_embedded.o (.text*);
 #endif
 
 
index d61793c33d82f47fd6440f514c89e9a2d145450f..1325bfa0177147cdaa2252ee4163f767fce37e74 100644 (file)
 #define CONFIG_MTD_DEVICE
 
 #undef CONFIG_CMD_NET          /* bootp, tftpboot, rarpboot    */
+#undef CONFIG_CMD_NFS          /* nfs                          */
 #undef CONFIG_CMD_FLASH                /* flinfo, erase, protect       */
 #undef CONFIG_CMD_IMLS         /* List all found images        */
 
index ccc71c96c0a076a9795df5e3c5c5aba12b9ac1bc..e3bd264a80bab29e20264d2a64f93cf267890bab 100644 (file)
  * CONFIG_SYS_KWD_CONFIG should be defined in board specific header file
  */
 #ifndef CONFIG_SYS_KWD_CONFIG
-#define        CONFIG_SYS_KWD_CONFIG   $(SRCTREE)/$(CONFIG_BOARDDIR)/kwbimage.cfg 
+#define        CONFIG_SYS_KWD_CONFIG   $(SRCTREE)/$(CONFIG_BOARDDIR)/kwbimage.cfg
 #endif /* CONFIG_SYS_KWD_CONFIG */
 
-/* 
+/*
  * CONFIG_SYS_TEXT_BASE can be defined in board specific header file, if needed
  */
 #ifndef CONFIG_SYS_TEXT_BASE
index f1cdc4019eb7bfeffbaf4485ff46c5687891c6cf..b56b273875499d4332230756d147ccbde0a935db 100644 (file)
 #define CONFIG_CMD_USB
 
 #undef CONFIG_CMD_NET
-
+#undef CONFIG_CMD_NFS
 
 /*
  * Autobooting
index de0121e3e6557b0d2e3a1f7a92abdc7715d72919..0a761639ddd3803b386c66509492f360bc8109fa 100644 (file)
 #define CONFIG_KIRKWOOD_RGMII_PAD_1V8  /* Set RGMII Pad voltage to 1.8V */
 #define CONFIG_KIRKWOOD_PCIE_INIT       /* Enable PCIE Port0 for kernel */
 
-/* 
+/*
  * By default kwbimage.cfg from board specific folder is used
  * If for some board, different configuration file need to be used,
  * CONFIG_SYS_KWD_CONFIG should be defined in board specific header file
  */
 #ifndef CONFIG_SYS_KWD_CONFIG
-#define        CONFIG_SYS_KWD_CONFIG   $(SRCTREE)/$(CONFIG_BOARDDIR)/kwbimage.cfg 
+#define        CONFIG_SYS_KWD_CONFIG   $(SRCTREE)/$(CONFIG_BOARDDIR)/kwbimage.cfg
 #endif /* CONFIG_SYS_KWD_CONFIG */
 
-/* 
+/*
  * CONFIG_SYS_TEXT_BASE can be defined in board specific header file, if needed
  */
 #ifndef CONFIG_SYS_TEXT_BASE
 #define CONFIG_CONSOLE_INFO_QUIET      /* some code reduction */
 #define CONFIG_ARCH_CPU_INIT   /* call arch_cpu_init() */
 #define CONFIG_ARCH_MISC_INIT  /* call arch_misc_init() */
-#define CONFIG_BOARD_EARLY_INIT_F /* call board_init_f for early inits */ 
+#define CONFIG_BOARD_EARLY_INIT_F /* call board_init_f for early inits */
 #define CONFIG_DISPLAY_CPUINFO /* Display cpu info */
 #define CONFIG_NR_DRAM_BANKS   4
 #define CONFIG_STACKSIZE       0x00100000      /* regular stack- 1M */
index 076dd5a8afaa5b08b81107fb0560486f0baa3274..56363f762b040e84864585fe7a761d3d4a120464 100644 (file)
 #define PISMO1_NAND_SIZE               GPMC_SIZE_128M
 #define PISMO1_ONEN_SIZE               GPMC_SIZE_128M
 
-#define CONFIG_SYS_MAX_FLASH_SECT      520     /* max number of sectors on */
-                                               /* one chip */
-#define CONFIG_SYS_MAX_FLASH_BANKS     2       /* max number of flash banks */
 #define CONFIG_SYS_MONITOR_LEN         (256 << 10)     /* Reserve 2 sectors */
 
 #define CONFIG_SYS_FLASH_BASE          boot_flash_base
 #define CONFIG_ENV_OFFSET              boot_flash_off
 #define CONFIG_ENV_ADDR                        SMNAND_ENV_OFFSET
 
-/*-----------------------------------------------------------------------
- * CFI FLASH driver setup
- */
-/* timeout values are in ticks */
-#define CONFIG_SYS_FLASH_ERASE_TOUT    (100 * CONFIG_SYS_HZ)
-#define CONFIG_SYS_FLASH_WRITE_TOUT    (100 * CONFIG_SYS_HZ)
-
-/* Flash banks JFFS2 should use */
-#define CONFIG_SYS_MAX_MTD_BANKS       (CONFIG_SYS_MAX_FLASH_BANKS + \
-                                       CONFIG_SYS_MAX_NAND_DEVICE)
-#define CONFIG_SYS_JFFS2_MEM_NAND
-/* use flash_info[2] */
-#define CONFIG_SYS_JFFS2_FIRST_BANK    CONFIG_SYS_MAX_FLASH_BANKS
-#define CONFIG_SYS_JFFS2_NUM_BANKS     1
-
 #ifndef __ASSEMBLY__
 extern unsigned int boot_flash_base;
 extern volatile unsigned int boot_flash_env_addr;
index aeb45c6b675fe3b80ee25b96b006406042d3cad3..5bdb3fd9ed9efa61d6339b649f8fffd061d55b97 100644 (file)
 #define PISMO1_NAND_SIZE               GPMC_SIZE_128M
 #define PISMO1_ONEN_SIZE               GPMC_SIZE_128M
 
-#define CONFIG_SYS_MAX_FLASH_SECT      520     /* max number of sectors */
-                                               /* on one chip */
-#define CONFIG_SYS_MAX_FLASH_BANKS     2       /* max number of flash banks */
 #define CONFIG_SYS_MONITOR_LEN         (256 << 10)     /* Reserve 2 sectors */
 
 #define CONFIG_SYS_FLASH_BASE          boot_flash_base
 #define CONFIG_ENV_OFFSET              boot_flash_off
 #define CONFIG_ENV_ADDR                        boot_flash_env_addr
 
-/*-----------------------------------------------------------------------
- * CFI FLASH driver setup
- */
-/* timeout values are in ticks */
-#define CONFIG_SYS_FLASH_ERASE_TOUT    (100 * CONFIG_SYS_HZ)
-#define CONFIG_SYS_FLASH_WRITE_TOUT    (100 * CONFIG_SYS_HZ)
-
-/* Flash banks JFFS2 should use */
-#define CONFIG_SYS_MAX_MTD_BANKS       (CONFIG_SYS_MAX_FLASH_BANKS + \
-                                       CONFIG_SYS_MAX_NAND_DEVICE)
-#define CONFIG_SYS_JFFS2_MEM_NAND
-/* use flash_info[2] */
-#define CONFIG_SYS_JFFS2_FIRST_BANK    CONFIG_SYS_MAX_FLASH_BANKS
-#define CONFIG_SYS_JFFS2_NUM_BANKS     1
-
 #ifndef __ASSEMBLY__
 extern unsigned int boot_flash_base;
 extern volatile unsigned int boot_flash_env_addr;
@@ -348,7 +330,11 @@ extern unsigned int boot_flash_type;
  * Support for relocation
  */
 #define CONFIG_SYS_SDRAM_BASE          PHYS_SDRAM_1
-#define CONFIG_SYS_INIT_SP_ADDR                (LOW_LEVEL_SRAM_STACK - CONFIG_SYS_GBL_DATA_SIZE)
+#define CONFIG_SYS_INIT_RAM_ADDR       0x4020f800
+#define CONFIG_SYS_INIT_RAM_SIZE       0x800
+#define CONFIG_SYS_INIT_SP_ADDR                (CONFIG_SYS_INIT_RAM_ADDR + \
+                                        CONFIG_SYS_INIT_RAM_SIZE - \
+                                        GENERATED_GBL_DATA_SIZE)
 
 /*
  * Define the board revision statically
index 79a5b855d7df8fc246aea312166c8c185624c8ec..1b3d43979d9c987bfc6c9aa6f58aa13ff1513553 100644 (file)
 #define PISMO1_NAND_SIZE               GPMC_SIZE_128M
 #define PISMO1_ONEN_SIZE               GPMC_SIZE_128M
 
-#define CONFIG_SYS_MAX_FLASH_SECT      520     /* max number of sectors on */
-                                               /* one chip */
-#define CONFIG_SYS_MAX_FLASH_BANKS     2       /* max number of flash banks */
 #define CONFIG_SYS_MONITOR_LEN         (256 << 10)     /* Reserve 2 sectors */
 
 #define CONFIG_SYS_FLASH_BASE          boot_flash_base
 #define CONFIG_ENV_OFFSET              boot_flash_off
 #define CONFIG_ENV_ADDR                        SMNAND_ENV_OFFSET
 
-/*-----------------------------------------------------------------------
- * CFI FLASH driver setup
- */
-/* timeout values are in ticks */
-#define CONFIG_SYS_FLASH_ERASE_TOUT    (100 * CONFIG_SYS_HZ)
-#define CONFIG_SYS_FLASH_WRITE_TOUT    (100 * CONFIG_SYS_HZ)
-
-/* Flash banks JFFS2 should use */
-#define CONFIG_SYS_MAX_MTD_BANKS       (CONFIG_SYS_MAX_FLASH_BANKS + \
-                                       CONFIG_SYS_MAX_NAND_DEVICE)
-#define CONFIG_SYS_JFFS2_MEM_NAND
-/* use flash_info[2] */
-#define CONFIG_SYS_JFFS2_FIRST_BANK    CONFIG_SYS_MAX_FLASH_BANKS
-#define CONFIG_SYS_JFFS2_NUM_BANKS     1
-
 #ifndef __ASSEMBLY__
 extern unsigned int boot_flash_base;
 extern volatile unsigned int boot_flash_env_addr;
index b78aacfa088dcc79a4733765491efec05c91771f..72b0cc223b47c72fe4496cd23678d2e599d28ea6 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * (C) Copyright 2008
- * Grazvydas Ignotas <notasas@gmail.com>
+ * (C) Copyright 2008-2010
+ * Gražvydas Ignotas <notasas@gmail.com>
  *
  * Configuration settings for the OMAP3 Pandora.
  *
  * Size of malloc() pool
  */
 #define CONFIG_ENV_SIZE                        (128 << 10)     /* 128 KiB */
-                                               /* Sector */
-#define CONFIG_SYS_MALLOC_LEN          (CONFIG_ENV_SIZE + (128 << 10))
-                                               /* initial data */
+#define CONFIG_SYS_MALLOC_LEN          (1024 * 1024 + CONFIG_ENV_SIZE)
 
 /*
  * Hardware drivers
  */
 
+#define CONFIG_SYS_CONSOLE_IS_IN_ENV   1
+#define CONFIG_SYS_DEVICE_NULLDEV      1
+
+/* USB */
+#define CONFIG_MUSB_UDC                        1
+#define CONFIG_USB_OMAP3               1
+#define CONFIG_TWL4030_USB             1
+
+/* USB device configuration */
+#define CONFIG_USB_DEVICE              1
+#define CONFIG_USB_TTY                 1
+
 /*
  * NS16550 Configuration
  */
 
 #define CONFIG_CMD_EXT2                /* EXT2 Support                 */
 #define CONFIG_CMD_FAT         /* FAT support                  */
-#define CONFIG_CMD_JFFS2       /* JFFS2 Support                */
 
 #define CONFIG_CMD_I2C         /* I2C serial bus support       */
 #define CONFIG_CMD_MMC         /* MMC support                  */
 #define CONFIG_CMD_NAND                /* NAND support                 */
+#define CONFIG_CMD_CACHE       /* Cache control                */
 
 #undef CONFIG_CMD_FLASH                /* flinfo, erase, protect       */
 #undef CONFIG_CMD_FPGA         /* FPGA configuration Support   */
 
 #define CONFIG_SYS_MAX_NAND_DEVICE     1       /* Max number of NAND */
                                                /* devices */
-#define CONFIG_JFFS2_NAND
-/* nand device jffs2 lives on */
-#define CONFIG_JFFS2_DEV               "nand0"
-/* start of jffs2 partition */
-#define CONFIG_JFFS2_PART_OFFSET       0x680000
-#define CONFIG_JFFS2_PART_SIZE         0xf980000       /* size of jffs2 */
-                                                       /* partition */
+
+#ifdef CONFIG_CMD_NAND
+#define CONFIG_CMD_MTDPARTS
+#define CONFIG_MTD_PARTITIONS
+#define CONFIG_MTD_DEVICE
+#define CONFIG_CMD_UBI
+#define CONFIG_CMD_UBIFS
+#define CONFIG_RBTREE
+#define CONFIG_LZO
+
+#define MTDIDS_DEFAULT                 "nand0=nand"
+#define MTDPARTS_DEFAULT               "mtdparts=nand:512k(xloader),"\
+                                       "1920k(uboot),128k(uboot-env),"\
+                                       "10m(boot),-(rootfs)"
+#else
+#define MTDPARTS_DEFAULT
+#endif
 
 /* Environment information */
 #define CONFIG_BOOTDELAY               1
 
 #define CONFIG_EXTRA_ENV_SETTINGS \
+       "usbtty=cdc_acm\0" \
        "loadaddr=0x82000000\0" \
-       "console=ttyS0,115200n8\0" \
-       "videospec=omapfb:vram:2M,vram:4M\0" \
-       "mmcargs=setenv bootargs console=${console} " \
-               "video=${videospec} " \
-               "root=/dev/mmcblk0p2 rw " \
-               "rootfstype=ext3 rootwait\0" \
-       "nandargs=setenv bootargs console=${console} " \
-               "video=${videospec} " \
-               "root=/dev/mtdblock4 rw " \
-               "rootfstype=jffs2\0" \
-       "loadbootscript=fatload mmc 0 ${loadaddr} boot.scr\0" \
-       "bootscript=echo Running bootscript from mmc ...; " \
-               "source ${loadaddr}\0" \
-       "loaduimage=fatload mmc 0 ${loadaddr} uImage\0" \
-       "mmcboot=echo Booting from mmc ...; " \
-               "run mmcargs; " \
-               "bootm ${loadaddr}\0" \
-       "nandboot=echo Booting from nand ...; " \
-               "run nandargs; " \
-               "nand read ${loadaddr} 280000 400000; " \
-               "bootm ${loadaddr}\0" \
+       "bootargs=ubi.mtd=4 ubi.mtd=3 root=ubi0:rootfs rootfstype=ubifs " \
+       "rw rootflags=bulk_read console=ttyS0,115200n8 " \
+       "vram=6272K omapfb.vram=0:3000K\0" \
+       "mtdparts=" MTDPARTS_DEFAULT "\0" \
 
 #define CONFIG_BOOTCOMMAND \
-       "if mmc init; then " \
-               "if run loadbootscript; then " \
-                       "run bootscript; " \
-               "else " \
-                       "if run loaduimage; then " \
-                               "run mmcboot; " \
-                       "else run nandboot; " \
-                       "fi; " \
-               "fi; " \
-       "else run nandboot; fi"
+       "if mmc init && fatload mmc1 0 ${loadaddr} autoboot.scr || " \
+                       "ext2load mmc1 0 ${loadaddr} autoboot.scr; then " \
+               "source ${loadaddr}; " \
+       "fi; " \
+       "ubi part boot && ubifsmount boot && ubifsload ${loadaddr} uImage && bootm ${loadaddr}"
 
 #define CONFIG_AUTO_COMPLETE   1
 /*
 /* SDRAM Bank Allocation method */
 #define SDRC_R_B_C             1
 
+#define CONFIG_SYS_TEXT_BASE           0x80008000
+#define CONFIG_SYS_SDRAM_BASE          PHYS_SDRAM_1
+#define CONFIG_SYS_INIT_RAM_ADDR       0x4020f800
+#define CONFIG_SYS_INIT_RAM_SIZE       0x800
+#define CONFIG_SYS_INIT_SP_ADDR                (CONFIG_SYS_INIT_RAM_ADDR + \
+                                       CONFIG_SYS_INIT_RAM_SIZE - \
+                                       GENERATED_GBL_DATA_SIZE)
+
 /*-----------------------------------------------------------------------
  * FLASH and environment organization
  */
 #define PISMO1_NAND_SIZE               GPMC_SIZE_128M
 #define PISMO1_ONEN_SIZE               GPMC_SIZE_128M
 
-#define CONFIG_SYS_MAX_FLASH_SECT      520     /* max number of sectors on */
-                                               /* one chip */
-#define CONFIG_SYS_MAX_FLASH_BANKS     2       /* max number of flash banks */
 #define CONFIG_SYS_MONITOR_LEN         (256 << 10)     /* Reserve 2 sectors */
 
 #define CONFIG_SYS_FLASH_BASE          boot_flash_base
 
 /* Monitor at start of flash */
 #define CONFIG_SYS_MONITOR_BASE                CONFIG_SYS_FLASH_BASE
-#define CONFIG_SYS_ONENAND_BASE                ONENAND_MAP
 
 #define CONFIG_ENV_IS_IN_NAND          1
-#define ONENAND_ENV_OFFSET             0x240000 /* environment starts here */
-#define SMNAND_ENV_OFFSET              0x240000 /* environment starts here */
+#define SMNAND_ENV_OFFSET              0x260000 /* environment starts here */
 
 #define CONFIG_SYS_ENV_SECT_SIZE       boot_flash_sec
 #define CONFIG_ENV_OFFSET              boot_flash_off
 #define CONFIG_ENV_ADDR                        SMNAND_ENV_OFFSET
 
-/*-----------------------------------------------------------------------
- * CFI FLASH driver setup
- */
-/* timeout values are in ticks */
-#define CONFIG_SYS_FLASH_ERASE_TOUT    (100 * CONFIG_SYS_HZ)
-#define CONFIG_SYS_FLASH_WRITE_TOUT    (100 * CONFIG_SYS_HZ)
-
-/* Flash banks JFFS2 should use */
-#define CONFIG_SYS_MAX_MTD_BANKS       (CONFIG_SYS_MAX_FLASH_BANKS + \
-                                       CONFIG_SYS_MAX_NAND_DEVICE)
-#define CONFIG_SYS_JFFS2_MEM_NAND
-/* use flash_info[2] */
-#define CONFIG_SYS_JFFS2_FIRST_BANK    CONFIG_SYS_MAX_FLASH_BANKS
-#define CONFIG_SYS_JFFS2_NUM_BANKS     1
-
 #ifndef __ASSEMBLY__
 extern unsigned int boot_flash_base;
 extern volatile unsigned int boot_flash_env_addr;
index fab263d6cbd992b0728cb0215e5a2f4fabcc2c1a..470898152e6bced67d017e2ed7cd8459630d73e5 100644 (file)
 #define PHYS_FLASH_SIZE                        (128 << 20)
 #define CONFIG_SYS_MAX_FLASH_SECT      512     /* max sectors on one chip */
 
-/* timeout values are in milliseconds */
-#define CONFIG_SYS_FLASH_ERASE_TOUT    (100 * CONFIG_SYS_HZ)
-#define CONFIG_SYS_FLASH_WRITE_TOUT    (100 * CONFIG_SYS_HZ)
-
 /* OMITTED:  single 2 Gbit KFM2G16 OneNAND flash */
 
 #define CONFIG_ENV_IS_IN_FLASH         1
 #define CONFIG_STACKSIZE_FIQ   (4 << 10) /* FIQ stack */
 #endif
 
+#define CONFIG_SYS_SDRAM_BASE          PHYS_SDRAM_1
+#define CONFIG_SYS_INIT_RAM_ADDR       0x4020f800
+#define CONFIG_SYS_INIT_RAM_SIZE       0x800
+#define CONFIG_SYS_INIT_SP_ADDR                (CONFIG_SYS_INIT_RAM_ADDR + \
+                                        CONFIG_SYS_INIT_RAM_SIZE - \
+                                        GENERATED_GBL_DATA_SIZE)
 /*
  * SDRAM Memory Map
  */
 #define CONFIG_SYS_MONITOR_BASE                CONFIG_SYS_FLASH_BASE
 #define CONFIG_SYS_MONITOR_LEN         (256 << 10)
 
-#define CONFIG_SYS_JFFS2_FIRST_BANK    CONFIG_SYS_MAX_FLASH_BANKS
-#define CONFIG_SYS_JFFS2_NUM_BANKS     1
-
 /*
  * NAND FLASH usage ... default nCS1:
  *  - four 128KB sectors for X-Loader
index 10b248ad865ef17f914f0fb7064a73ad532991f8..f7d06521e39fe4b50a605eafcfb9b8ad75e1ffed 100644 (file)
 #define CONFIG_SYS_LOAD_ADDR           (OMAP34XX_SDRC_CS0)     /* default */
                                                        /* load address */
 
+#define CONFIG_SYS_SDRAM_BASE          PHYS_SDRAM_1
+#define CONFIG_SYS_INIT_RAM_ADDR       0x4020f800
+#define CONFIG_SYS_INIT_RAM_SIZE       0x800
+#define CONFIG_SYS_INIT_SP_ADDR                (CONFIG_SYS_INIT_RAM_ADDR + \
+                                        CONFIG_SYS_INIT_RAM_SIZE - \
+                                        GENERATED_GBL_DATA_SIZE)
 /*
  * OMAP3 has 12 GP timers, they can be driven by the system clock
  * (12/13/16.8/19.2/38.4MHz) or by 32KHz clock. We use 13MHz (V_SCLK).
 #define PISMO1_NAND_SIZE               GPMC_SIZE_128M
 #define PISMO1_ONEN_SIZE               GPMC_SIZE_128M
 
-#define CONFIG_SYS_MAX_FLASH_SECT      520     /* max number of sectors on */
-                                               /* one chip */
-#define CONFIG_SYS_MAX_FLASH_BANKS     2       /* max number of flash banks */
 #define CONFIG_SYS_MONITOR_LEN         (256 << 10)     /* Reserve 2 sectors */
 
 #define CONFIG_SYS_FLASH_BASE          boot_flash_base
 #define CONFIG_ENV_OFFSET              boot_flash_off
 #define CONFIG_ENV_ADDR                        SMNAND_ENV_OFFSET
 
-/*-----------------------------------------------------------------------
- * CFI FLASH driver setup
- */
-/* timeout values are in ticks */
-#define CONFIG_SYS_FLASH_ERASE_TOUT    (100 * CONFIG_SYS_HZ)
-#define CONFIG_SYS_FLASH_WRITE_TOUT    (100 * CONFIG_SYS_HZ)
-
-/* Flash banks JFFS2 should use */
-#define CONFIG_SYS_MAX_MTD_BANKS       (CONFIG_SYS_MAX_FLASH_BANKS + \
-                                       CONFIG_SYS_MAX_NAND_DEVICE)
-#define CONFIG_SYS_JFFS2_MEM_NAND
-/* use flash_info[2] */
-#define CONFIG_SYS_JFFS2_FIRST_BANK    CONFIG_SYS_MAX_FLASH_BANKS
-#define CONFIG_SYS_JFFS2_NUM_BANKS     1
-
 #ifndef __ASSEMBLY__
 extern unsigned int boot_flash_base;
 extern volatile unsigned int boot_flash_env_addr;
index b7c301f8ed7eb9b21ffb3a9cd64c1e785b9b8de1..73779331ce98def3e53b5c9c7f96a0a5acdbf43a 100644 (file)
 #define CONFIG_EXTRA_ENV_SETTINGS \
        "usbtty=cdc_acm\0" \
 
+#define CONFIG_SYS_SDRAM_BASE          PHYS_SDRAM_1
+#define CONFIG_SYS_INIT_RAM_ADDR       0x4020f800
+#define CONFIG_SYS_INIT_RAM_SIZE       0x800
+#define CONFIG_SYS_INIT_SP_ADDR                (CONFIG_SYS_INIT_RAM_ADDR + \
+                                        CONFIG_SYS_INIT_RAM_SIZE - \
+                                        GENERATED_GBL_DATA_SIZE)
 /*
  * Miscellaneous configurable options
  */
 #define PISMO1_NAND_SIZE               GPMC_SIZE_128M
 #define PISMO1_ONEN_SIZE               GPMC_SIZE_128M
 
-#define CONFIG_SYS_MAX_FLASH_SECT      520     /* max number of sectors on */
-                                               /* one chip */
-#define CONFIG_SYS_MAX_FLASH_BANKS     2       /* max number of flash banks */
 #define CONFIG_SYS_MONITOR_LEN         (256 << 10)     /* Reserve 2 sectors */
 
 #define CONFIG_SYS_FLASH_BASE          boot_flash_base
 #define CONFIG_ENV_OFFSET              boot_flash_off
 #define CONFIG_ENV_ADDR                        SMNAND_ENV_OFFSET
 
-/*-----------------------------------------------------------------------
- * CFI FLASH driver setup
- */
-/* timeout values are in ticks */
-#define CONFIG_SYS_FLASH_ERASE_TOUT    (100 * CONFIG_SYS_HZ)
-#define CONFIG_SYS_FLASH_WRITE_TOUT    (100 * CONFIG_SYS_HZ)
-
 #ifndef __ASSEMBLY__
 extern unsigned int boot_flash_base;
 extern volatile unsigned int boot_flash_env_addr;
index eeab11c85702a5c8c04e85812fd9674d1d4c461c..2b03b0f2b629b7b1a300eab2c4919514c0f0831b 100644 (file)
 
 /* Disabled commands */
 #undef CONFIG_CMD_NET
+#undef CONFIG_CMD_NFS
 #undef CONFIG_CMD_FPGA         /* FPGA configuration Support   */
 #undef CONFIG_CMD_IMLS         /* List all found images        */
 
index ed0bd41f7d3b6c2755bee4834fe82e49dd64b26d..d2883336b9ac66c860d795d490978b26091f4f4e 100644 (file)
 
 /* Disabled commands */
 #undef CONFIG_CMD_NET
+#undef CONFIG_CMD_NFS
 #undef CONFIG_CMD_FPGA         /* FPGA configuration Support   */
 #undef CONFIG_CMD_IMLS         /* List all found images        */
 
index 65f1306f5cf4444010be8655e94ba7d420839bc3..514bcaa58eaed70af5fc19617730b46ea270f176 100644 (file)
@@ -63,6 +63,7 @@
 #include <config_cmd_default.h>
 
 #undef CONFIG_CMD_NET
+#undef CONFIG_CMD_NFS
 #define        CONFIG_CMD_ENV
 #undef CONFIG_CMD_IMLS
 #define        CONFIG_CMD_MMC
index 3f6c2f1108644bbd2421a82216ebf64606e37f59..bdb5f57e429d9084b1697feeddc2dd865e9901cd 100644 (file)
@@ -67,6 +67,7 @@
 #include <config_cmd_default.h>
 
 #undef CONFIG_CMD_NET
+#undef CONFIG_CMD_NFS
 #define        CONFIG_CMD_ENV
 #define        CONFIG_CMD_MMC
 #define        CONFIG_LCD
index 64654f825e309f548a9f424e79e38a7ed857c92f..9dbb4062ba0cc1421f4456ab1a7adf305c74ece1 100644 (file)
@@ -88,6 +88,7 @@
 #include <config_cmd_default.h>
 
 #undef CONFIG_CMD_NET
+#undef CONFIG_CMD_NFS
 
 
 #define CONFIG_BOOTDELAY       3
index 0ebb0940826e2e7926ebfafb35dfa2c0a70271b7..3ff80d2868e7e34a934ccf0c922d1203531c58fb 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * (C) Copyright 2003-2005
+ * (C) Copyright 2003-2010
  * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
  *
  * See file CREDITS for list of people who contributed to this
 #define CONFIG_SYS_FLASH_WRITE_TOUT    500     /* Timeout for Flash Write (in ms)      */
 
 #define CONFIG_ENV_IS_IN_FLASH 1
-#define CONFIG_ENV_OFFSET          0x00F40000  /*   Offset   of Environment Sector     absolute address 0xfff40000*/
+#define CONFIG_ENV_OFFSET          0x00040000  /*   Offset   of Environment Sector     absolute address 0xfff40000*/
 #define CONFIG_ENV_SECT_SIZE   0x40000 /* Total Size of Environment Sector     */
 #define CONFIG_ENV_SIZE                CONFIG_ENV_SECT_SIZE
 #define CONFIG_ENV_ADDR                (CONFIG_SYS_FLASH_BASE + CONFIG_ENV_OFFSET)
index 04511057efdbee8bafd7fb5ef5d2174e1d9f33dd..873d3b4df0a398bcb4d2ea5abc2021165e7b10fb 100644 (file)
 
 #define CONFIG_SYS_EBC_CFG    0xb84ef000
 
-#define CONFIG_SDRAM_BANK0     /* use the standard SDRAM initialization */
+#undef CONFIG_SDRAM_BANK0      /* use private SDRAM initialization */
 #undef CONFIG_SPD_EEPROM
 
 /*
index dceff308b8b387bf601a8ac395f7434d43140183..9036ce34186ea0219f45bf416100dd1cd28668bf 100644 (file)
  * it linked after the configuration sector.
  */
 # define LDS_BOARD_TEXT \
-       arch/blackfin/cpu/traps.o               (.text .text.*); \
-       arch/blackfin/cpu/interrupt.o   (.text .text.*); \
-       arch/blackfin/cpu/serial.o              (.text .text.*); \
-       common/dlmalloc.o               (.text .text.*); \
-       lib/crc32.o             (.text .text.*); \
+       arch/blackfin/lib/libblackfin.o (.text*); \
+       arch/blackfin/cpu/libblackfin.o (.text*); \
        . = DEFINED(env_offset) ? env_offset : .; \
-       common/env_embedded.o           (.text .text.*);
+       common/env_embedded.o (.text*);
 #endif
 
 
index 68290efca5624bd41cd8d7870b6c759590c86ae9..3627ce7d3a0c9cac6834101c68b606f261316cd5 100644 (file)
@@ -86,7 +86,6 @@
 #define CONFIG_JFFS2_NAND
 #define NAND_MAX_CHIPS                 1
 #define CONFIG_ENV_OFFSET              0x180000
-#define DEF_BOOTM                      ""
 
 /*
  * davinci_nand is a bit of a misnomer since this particular EMIF block is
index 615d5c1f75cf9076c87fb1e2ee9c83e0785d383e..ade40b54e8ad1f0faa3483b9a164139c2cbe1919 100644 (file)
@@ -74,6 +74,7 @@
 #include <config_cmd_default.h>
 
 #undef CONFIG_CMD_NET
+#undef CONFIG_CMD_NFS
 #define        CONFIG_CMD_ENV
 #undef CONFIG_CMD_IMLS
 #define        CONFIG_CMD_MMC
index 491f814e413fa451f81ae3b0fa04a42dd7f83c98..c4560060317afbabde345a096298c4f28fb13027 100644 (file)
@@ -536,6 +536,7 @@ extern int pci_hose_config_device(struct pci_controller *hose,
                                  pci_addr_t mem,
                                  unsigned long command);
 
+const char * pci_class_str(u8 class);
 int pci_last_busno(void);
 
 #ifdef CONFIG_MPC824X
index a8de3e1df6d441364b26d689a0b58f797fd7d03e..ffdee7d43d385532a9bf22e1f8eae00ef0127bfa 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)libgeneric.a
+LIB    = $(obj)libgeneric.o
 
 COBJS-$(CONFIG_ADDR_MAP) += addr_map.o
 COBJS-$(CONFIG_BZIP2) += bzlib.o
@@ -59,7 +59,7 @@ SRCS  := $(COBJS:.o=.c)
 OBJS   := $(addprefix $(obj),$(COBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index d6e283045f6bbeb430c8d41a2b4072816b6875c1..c965577dc093e7a21325b9e37b74ab9ebdb7645e 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)libfdt.a
+LIB    = $(obj)libfdt.o
 
 SOBJS  =
 
@@ -38,7 +38,7 @@ SRCS  := $(SOBJS:.o=.S) $(COBJS:.o=.c)
 OBJS   := $(addprefix $(obj),$(SOBJS) $(COBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 57f03b0cd784637dc95fa252054fa477736b3943..4d3401dfa1c89f05be405334aa795eab59f8c80d 100644 (file)
@@ -26,7 +26,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)liblzma.a
+LIB    = $(obj)liblzma.o
 
 SOBJS  =
 
@@ -39,7 +39,7 @@ SRCS  := $(SOBJS:.o=.S) $(COBJS:.o=.c)
 OBJS   := $(addprefix $(obj),$(SOBJS) $(COBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 5dd1bf57758fdff07e15ae4ad0a5bd2e3b538cb8..69bc8392213f2448356a0d209961c863d4e76707 100644 (file)
@@ -23,7 +23,7 @@
 
 include $(TOPDIR)/config.mk
 
-LIB    = $(obj)liblzo.a
+LIB    = $(obj)liblzo.o
 
 SOBJS  =
 
@@ -34,7 +34,7 @@ SRCS  := $(SOBJS:.o=.S) $(COBJS:.o=.c)
 OBJS   := $(addprefix $(obj),$(SOBJS) $(COBJS))
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index b89cd809bfe75b1aeb94a5335ebbc90e1b1addd0..56954650af535099e93221952961c10dbbe62197 100644 (file)
@@ -26,7 +26,7 @@ SECTIONS
 {
   .resetvec 0xf8004ffc :
   {
-    *(.resetvec)
+    KEEP(*(.resetvec))
   } = 0xffff
 
   .text      :
index d171269c32512f30a2da2046195a06cc30e1bc20..8a9e6e9475d628a73bdaf7c28f15d75392025a28 100644 (file)
@@ -26,7 +26,7 @@ SECTIONS
 {
   .resetvec 0x00800FFC :
   {
-    *(.resetvec)
+    KEEP(*(.resetvec))
   } = 0xffff
 
   .text      :
index e676e0c7c098504e9b2afe89a9239d6509f14886..73190cd39035ee095cd08eba8aa6e6b19e4e9938 100644 (file)
@@ -26,7 +26,7 @@ SECTIONS
 {
   .resetvec 0xE3003FFC :
   {
-    *(.resetvec)
+    KEEP(*(.resetvec))
   } = 0xffff
 
   .text      :
index 5a586fc7c8a66dfbb7a71f807fed3a36aa8935fc..9894a105396ae1745aeb759f2addd8d48359eb55 100644 (file)
@@ -26,7 +26,7 @@ SECTIONS
 {
   .resetvec 0x00800FFC :
   {
-    *(.resetvec)
+    KEEP(*(.resetvec))
   } = 0xffff
 
   .text      :
index 1601c36891147cf3360f3f1495f56e0a8ca384f8..c81ce68c8bfdb3169ca370117742383d91aff37b 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * (C) Copyright 2006
+ * (C) Copyright 2006-2010
  * Stefan Roese, DENX Software Engineering, sr@denx.de.
  *
  * See file CREDITS for list of people who contributed to this
@@ -26,7 +26,7 @@ SECTIONS
 {
   .resetvec 0xE0013FFC :
   {
-    *(.resetvec)
+    KEEP(*(.resetvec))
   } = 0xffff
 
   .text      :
index 05cd2fd52b3fb9ee6732b9f4b41bbe8a54880844..88c15a4873865e118c99a505b23fd36b7d3ecf08 100644 (file)
 #
 
 NAND_SPL := y
-CONFIG_SYS_TEXT_BASE := 0xfff00000
 PAD_TO := 0xfff04000
 
 include $(TOPDIR)/config.mk
 
 LDSCRIPT= $(TOPDIR)/nand_spl/board/$(BOARDDIR)/u-boot.lds
-LDFLAGS        = -Bstatic -T $(nandobj)u-boot.lds -Ttext $(CONFIG_SYS_TEXT_BASE) $(PLATFORM_LDFLAGS)
+LDFLAGS        = -Bstatic -T $(nandobj)u-boot.lds \
+         -Ttext $(CONFIG_SYS_TEXT_BASE_SPL) $(PLATFORM_LDFLAGS)
 AFLAGS += -DCONFIG_NAND_SPL
 CFLAGS += -DCONFIG_NAND_SPL
 
index ad8258957bb81a89c3e0d179415b413bab900494..138e42765f1cd3da89381101e5a2f87feb82e242 100644 (file)
@@ -30,7 +30,6 @@ SECTIONS
        .text : {
                *(.text*)
                . = ALIGN(16);
-               *(.eh_frame)
                *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
        }
 
@@ -39,13 +38,15 @@ SECTIONS
                *(.data*)
                *(.sdata*)
                _GOT2_TABLE_ = .;
-               *(.got2)
+               KEEP(*(.got2))
                __got2_entries = (. - _GOT2_TABLE_) >> 2;
        }
 
        . = ALIGN(8);
        __bss_start = .;
-       .bss (NOLOAD) : { *(.*bss) }
+       .bss (NOLOAD) : {
+               *(.*bss)
+       }
        _end = .;
 }
 ENTRY(_start)
index 05cd2fd52b3fb9ee6732b9f4b41bbe8a54880844..88c15a4873865e118c99a505b23fd36b7d3ecf08 100644 (file)
 #
 
 NAND_SPL := y
-CONFIG_SYS_TEXT_BASE := 0xfff00000
 PAD_TO := 0xfff04000
 
 include $(TOPDIR)/config.mk
 
 LDSCRIPT= $(TOPDIR)/nand_spl/board/$(BOARDDIR)/u-boot.lds
-LDFLAGS        = -Bstatic -T $(nandobj)u-boot.lds -Ttext $(CONFIG_SYS_TEXT_BASE) $(PLATFORM_LDFLAGS)
+LDFLAGS        = -Bstatic -T $(nandobj)u-boot.lds \
+         -Ttext $(CONFIG_SYS_TEXT_BASE_SPL) $(PLATFORM_LDFLAGS)
 AFLAGS += -DCONFIG_NAND_SPL
 CFLAGS += -DCONFIG_NAND_SPL
 
index ad8258957bb81a89c3e0d179415b413bab900494..138e42765f1cd3da89381101e5a2f87feb82e242 100644 (file)
@@ -30,7 +30,6 @@ SECTIONS
        .text : {
                *(.text*)
                . = ALIGN(16);
-               *(.eh_frame)
                *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
        }
 
@@ -39,13 +38,15 @@ SECTIONS
                *(.data*)
                *(.sdata*)
                _GOT2_TABLE_ = .;
-               *(.got2)
+               KEEP(*(.got2))
                __got2_entries = (. - _GOT2_TABLE_) >> 2;
        }
 
        . = ALIGN(8);
        __bss_start = .;
-       .bss (NOLOAD) : { *(.*bss) }
+       .bss (NOLOAD) : {
+               *(.*bss)
+       }
        _end = .;
 }
 ENTRY(_start)
index d1c0ef8f64072f06a3fb44b975d742dfec6ae41a..9c9d63e5d82e361399392c1ec904dfdb38a50a08 100644 (file)
 #
 
 NAND_SPL := y
-CONFIG_SYS_TEXT_BASE := 0xfff00000
+CONFIG_SYS_TEXT_BASE_SPL := 0xfff00000
 PAD_TO := 0xfff01000
 
 include $(TOPDIR)/config.mk
 
 LDSCRIPT= $(TOPDIR)/$(CPUDIR)/u-boot-nand_spl.lds
-LDFLAGS        = -Bstatic -T $(LDSCRIPT) -Ttext $(CONFIG_SYS_TEXT_BASE) $(PLATFORM_LDFLAGS)
+LDFLAGS        = -Bstatic -T $(LDSCRIPT) -Ttext $(CONFIG_SYS_TEXT_BASE_SPL) $(PLATFORM_LDFLAGS)
 AFLAGS += -DCONFIG_NAND_SPL
 CFLAGS += -DCONFIG_NAND_SPL
 
index d1c0ef8f64072f06a3fb44b975d742dfec6ae41a..9c9d63e5d82e361399392c1ec904dfdb38a50a08 100644 (file)
 #
 
 NAND_SPL := y
-CONFIG_SYS_TEXT_BASE := 0xfff00000
+CONFIG_SYS_TEXT_BASE_SPL := 0xfff00000
 PAD_TO := 0xfff01000
 
 include $(TOPDIR)/config.mk
 
 LDSCRIPT= $(TOPDIR)/$(CPUDIR)/u-boot-nand_spl.lds
-LDFLAGS        = -Bstatic -T $(LDSCRIPT) -Ttext $(CONFIG_SYS_TEXT_BASE) $(PLATFORM_LDFLAGS)
+LDFLAGS        = -Bstatic -T $(LDSCRIPT) -Ttext $(CONFIG_SYS_TEXT_BASE_SPL) $(PLATFORM_LDFLAGS)
 AFLAGS += -DCONFIG_NAND_SPL
 CFLAGS += -DCONFIG_NAND_SPL
 
index d1c0ef8f64072f06a3fb44b975d742dfec6ae41a..9c9d63e5d82e361399392c1ec904dfdb38a50a08 100644 (file)
 #
 
 NAND_SPL := y
-CONFIG_SYS_TEXT_BASE := 0xfff00000
+CONFIG_SYS_TEXT_BASE_SPL := 0xfff00000
 PAD_TO := 0xfff01000
 
 include $(TOPDIR)/config.mk
 
 LDSCRIPT= $(TOPDIR)/$(CPUDIR)/u-boot-nand_spl.lds
-LDFLAGS        = -Bstatic -T $(LDSCRIPT) -Ttext $(CONFIG_SYS_TEXT_BASE) $(PLATFORM_LDFLAGS)
+LDFLAGS        = -Bstatic -T $(LDSCRIPT) -Ttext $(CONFIG_SYS_TEXT_BASE_SPL) $(PLATFORM_LDFLAGS)
 AFLAGS += -DCONFIG_NAND_SPL
 CFLAGS += -DCONFIG_NAND_SPL
 
index 678c80b67413d081ec3aa820e54854a8f7c6e9de..86e5ecb2d2e85655ed2519c268f9371ff92e2751 100644 (file)
 #
 
 NAND_SPL := y
-CONFIG_SYS_TEXT_BASE := 0xfff00000
 
 include $(TOPDIR)/config.mk
 
 LDSCRIPT= $(TOPDIR)/nand_spl/board/$(BOARDDIR)/u-boot.lds
-LDFLAGS        = -Bstatic -T $(nandobj)u-boot.lds -Ttext $(CONFIG_SYS_TEXT_BASE) $(PLATFORM_LDFLAGS)
+LDFLAGS        = -Bstatic -T $(nandobj)u-boot.lds \
+          -Ttext $(CONFIG_SYS_TEXT_BASE_SPL) $(PLATFORM_LDFLAGS)
 AFLAGS += -DCONFIG_NAND_SPL
 CFLAGS += -DCONFIG_NAND_SPL
 
index 216d1ec959304e3660bd3f09e0207c43028e9d1e..0544f6bacd02c4e32138c6042637ff18c88698a2 100644 (file)
@@ -25,7 +25,7 @@ include $(TOPDIR)/config.mk
 
 # CFLAGS += -DDEBUG
 
-LIB    = $(obj)libnet.a
+LIB    = $(obj)libnet.o
 
 COBJS-$(CONFIG_CMD_NET)  += bootp.o
 COBJS-$(CONFIG_CMD_DNS)  += dns.o
@@ -43,7 +43,7 @@ OBJS  := $(addprefix $(obj),$(COBJS))
 all:   $(LIB)
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index e679f8b7f876e236bd7ec84b7218299c3bb82f57..1a717867d48885b479050909b43d1cba0b372fe7 100644 (file)
@@ -456,6 +456,10 @@ static int DhcpExtended (u8 * e, int message_type, IPaddr_t ServerID, IPaddr_t R
        *e++  = 42;
        *cnt += 1;
 #endif
+       /* no options, so back up to avoid sending an empty request list */
+       if (*cnt == 0)
+               e -= 2;
+
        *e++  = 255;            /* End of the list */
 
        /* Pad to minimal length */
index 5c70d4f3ff31018eef5be5f32dcd74ea6e02b841..6082c9007278d8a742702a17c3e4e81d86582164 100644 (file)
--- a/net/eth.c
+++ b/net/eth.c
@@ -204,10 +204,18 @@ int eth_initialize(bd_t *bis)
 #if defined(CONFIG_MII) || defined(CONFIG_CMD_MII)
        miiphy_init();
 #endif
-       /* Try board-specific initialization first.  If it fails or isn't
-        * present, try the cpu-specific initialization */
-       if (board_eth_init(bis) < 0)
-               cpu_eth_init(bis);
+       /*
+        * If board-specific initialization exists, call it.
+        * If not, call a CPU-specific one
+        */
+       if (board_eth_init != __def_eth_init) {
+               if (board_eth_init(bis) < 0)
+                       printf("Board Net Initialization Failed\n");
+       } else if (cpu_eth_init != __def_eth_init) {
+               if (cpu_eth_init(bis) < 0)
+                       printf("CPU Net Initialization Failed\n");
+       } else
+               printf("Net Initialization Skipped\n");
 
 #if defined(CONFIG_DB64360) || defined(CONFIG_CPCI750)
        mv6436x_eth_initialize(bis);
index 169d12632430f6ddaa7324c6b8c2d5a1a4472eac..200e2f1b9adcf80ce7060efb6a2c5c48bef9b1a0 100644 (file)
 include $(TOPDIR)/config.mk
 include $(OBJTREE)/include/autoconf.mk
 
-LIB                            = libpost.a
-GPLIB-$(CONFIG_HAS_POST)       += libgenpost.a
+LIB                            = libpost.o
+GPLIB-$(CONFIG_HAS_POST)       += libgenpost.o
 COBJS-$(CONFIG_HAS_POST)       += post.o
 COBJS-$(CONFIG_POST_STD_LIST)  += tests.o
 
-SPLIB-$(CONFIG_HAS_POST) = drivers/libpostdrivers.a
+SPLIB-$(CONFIG_HAS_POST) = drivers/libpostdrivers.o
 SPLIB-$(CONFIG_HAS_POST) += $(shell if [ -d lib_$(ARCH) ]; then echo \
-                           "lib_$(ARCH)/libpost$(ARCH).a"; fi)
+                           "lib_$(ARCH)/libpost$(ARCH).o"; fi)
 SPLIB-$(CONFIG_HAS_POST) += $(shell if [ -d lib_$(ARCH)/fpu ]; then echo \
-                           "lib_$(ARCH)/fpu/libpost$(ARCH)fpu.a"; fi)
+                           "lib_$(ARCH)/fpu/libpost$(ARCH)fpu.o"; fi)
 SPLIB-$(CONFIG_HAS_POST) += $(shell if [ -d cpu/$(CPU) ]; then echo \
-                           "cpu/$(CPU)/libpost$(CPU).a"; fi)
+                           "cpu/$(CPU)/libpost$(CPU).o"; fi)
 SPLIB-$(CONFIG_HAS_POST) += $(shell if [ -d board/$(BOARD) ]; then echo \
-                           "board/$(BOARD)/libpost$(BOARD).a"; fi)
+                           "board/$(BOARD)/libpost$(BOARD).o"; fi)
 
 GPLIB  := $(addprefix $(obj),$(GPLIB-y))
 SPLIB  := $(addprefix $(obj),$(SPLIB-y))
@@ -55,7 +55,7 @@ postdeps:
 
 # generic POST library
 $(GPLIB): $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 # specific POST libraries
 $(SPLIB): $(obj).depend postdeps
@@ -63,9 +63,7 @@ $(SPLIB): $(obj).depend postdeps
 
 # the POST lib archive
 $(LIB): $(GPLIB) $(SPLIB)
-       (echo create $(LIB); for lib in $(GPLIB) $(SPLIB) ; \
-        do echo addlib $$lib; done; echo save) \
-       | $(AR) -M
+       $(call cmd_link_o_target, $^)
 
 #########################################################################
 
index d2932bed1333499a0b358e7fd2f850a07e9d5e4a..83026c071373aa0dc8c2544cf992f6b588b65193 100644 (file)
@@ -22,7 +22,7 @@
 #
 include $(OBJTREE)/include/autoconf.mk
 
-LIB    = libpostlwmon.a
+LIB    = libpostlwmon.o
 
 COBJS-$(CONFIG_HAS_POST)       += sysmon.o
 
index 4e95515ef1fcff00e705c7c921e3f21aec669ba6..b1996887cd277c8adf516e8aba873b625d58e7af 100644 (file)
@@ -22,7 +22,7 @@
 # MA 02111-1307 USA
 include $(OBJTREE)/include/autoconf.mk
 
-LIB    = libpostlwmon5.a
+LIB    = libpostlwmon5.o
 
 COBJS-$(CONFIG_HAS_POST)       += sysmon.o watchdog.o dspic.o fpga.o dsp.o gdc.o
 
index 8a8578f43949e4ebac4c7f33d7d2c41aca662d8d..2d34dd8d03d14cc5102176ffa672345ab7205236 100644 (file)
@@ -22,7 +22,7 @@
 #
 include $(OBJTREE)/include/autoconf.mk
 
-LIB    = libpostnetta.a
+LIB    = libpostnetta.o
 
 COBJS-$(CONFIG_HAS_POST)       += codec.o dsp.o
 
index d1538f67272da337c55b78653bb73522d6c8e756..d25b0d151a5f701aae2c7db8db07eb68586b8d14 100644 (file)
@@ -22,7 +22,7 @@
 #
 include $(OBJTREE)/include/autoconf.mk
 
-LIB    = libpostpdm360ng.a
+LIB    = libpostpdm360ng.o
 
 COBJS-$(CONFIG_HAS_POST)       += coproc_com.o
 
index 86d8784ca5c64fe80a07ab20753574327db418e5..a8b70059ff1e867669b7cf292ee4b149a4c55755 100644 (file)
@@ -22,7 +22,7 @@
 #
 include $(OBJTREE)/include/autoconf.mk
 
-LIB    = libpostmpc83xx.a
+LIB    = libpostmpc83xx.o
 
 AOBJS-$(CONFIG_HAS_POST)       +=
 COBJS-$(CONFIG_HAS_POST)       += ecc.o
index 162924f6b2f11eb04075dcb1499a2cf02ec683dc..3e1792f8926cad009acced601c3cbcca966734d3 100644 (file)
@@ -22,7 +22,7 @@
 #
 include $(OBJTREE)/include/autoconf.mk
 
-LIB    = libpostmpc8xx.a
+LIB    = libpostmpc8xx.o
 
 AOBJS-$(CONFIG_HAS_POST)       += cache_8xx.o
 COBJS-$(CONFIG_HAS_POST)       += cache.o ether.o spr.o uart.o usb.o watchdog.o
index 1cfd3bb59c3e5d9cd9475e9e58021f6b8f7fcc47..922013131f229546a5aff292e0363f748772347f 100644 (file)
@@ -22,7 +22,7 @@
 #
 include $(OBJTREE)/include/autoconf.mk
 
-LIB    = libpostppc4xx.a
+LIB    = libpostppc4xx.o
 
 AOBJS-$(CONFIG_HAS_POST)       += cache_4xx.o
 COBJS-$(CONFIG_HAS_POST)       += cache.o
index 50ae7fb8f0decd9e5c974495cde72c2a5d0d6245..6d146355956252c9aa3ef1a1fd79d8b4262f7f5f 100644 (file)
@@ -174,6 +174,7 @@ static int test_ecc(uint32_t ecc_addr)
        clear_and_enable_ecc();
        out_be32(ecc_mem, ECC_PATTERN);
        out_be32(ecc_mem + 1, ECC_PATTERN);
+       ppcDcbf((u32)ecc_mem);
 
        /* Verify no ECC error reading back */
        value = in_be32(ecc_mem);
@@ -193,6 +194,7 @@ static int test_ecc(uint32_t ecc_addr)
 
        /* Test for correctable error by creating a one-bit error */
        out_be32(ecc_mem, ECC_PATTERN_CORR);
+       ppcDcbf((u32)ecc_mem);
        clear_and_enable_ecc();
        value = in_be32(ecc_mem);
        disable_ecc();
@@ -212,6 +214,7 @@ static int test_ecc(uint32_t ecc_addr)
 
        /* Test for uncorrectable error by creating a two-bit error */
        out_be32(ecc_mem, ECC_PATTERN_UNCORR);
+       ppcDcbf((u32)ecc_mem);
        clear_and_enable_ecc();
        value = in_be32(ecc_mem);
        disable_ecc();
@@ -232,6 +235,7 @@ static int test_ecc(uint32_t ecc_addr)
 
        /* Remove error from SDRAM and enable ECC. */
        out_be32(ecc_mem, ECC_PATTERN);
+       ppcDcbf((u32)ecc_mem);
        clear_and_enable_ecc();
 
        return ret;
index 0b6cdf58c9bb1439546ab289743aac2255b9ecd9..0d87ae0f9d65469580d26d101aa20d434f99d0e0 100644 (file)
@@ -22,7 +22,7 @@
 #
 include $(TOPDIR)/config.mk
 
-LIB    = libpostdrivers.a
+LIB    = libpostdrivers.o
 
 COBJS-$(CONFIG_HAS_POST)       += i2c.o memory.o rtc.o
 
index 4a1b1a49d17bd481e401070ad44b78d69779638b..4cbd9f3703f8f2b9f47cf9ad0626a2dbdbf281dc 100644 (file)
@@ -63,11 +63,12 @@ int i2c_post_test (int flags)
        unsigned int i;
 #ifndef CONFIG_SYS_POST_I2C_ADDRS
        /* Start at address 1, address 0 is the general call address */
-       for (i = 1; i < 128; i++)
+       for (i = 1; i < 128; i++) {
                if (i2c_ignore_device(i))
                        continue;
                if (i2c_probe (i) == 0)
                        return 0;
+       }
 
        /* No devices found */
        return -1;
index 0cd15cfa137b636a931647760f60e68b3acfb903..bc9b82ef2488fb527e139398a19c583edf49c636 100644 (file)
@@ -22,7 +22,7 @@
 #
 include $(TOPDIR)/config.mk
 
-LIB    = libpost$(ARCH).a
+LIB    = libpost$(ARCH).o
 
 AOBJS-$(CONFIG_HAS_POST)       += asm.o
 COBJS-$(CONFIG_HAS_POST)       += cpu.o cmp.o cmpi.o two.o twox.o three.o threex.o
index 25726db73db1430f8a59a0ed15bcebf2089ad711..b97ad6fbc8b231fb47b5eb3c9a8011b4a049d470 100644 (file)
@@ -22,7 +22,7 @@
 #
 include $(TOPDIR)/config.mk
 
-LIB    = libpost$(ARCH)fpu.a
+LIB    = libpost$(ARCH)fpu.o
 
 COBJS-$(CONFIG_HAS_POST)       += fpu.o 20001122-1.o 20010114-2.o 20010226-1.o 980619-1.o
 COBJS-$(CONFIG_HAS_POST)       += acc1.o compare-fp-1.o mul-subnormal-single-1.o
index 1efc9c7d97d76f8639a4af8c621786c0c4322e36..17f8ef76234369f0d7e148bffecf432df09cd3ba 100644 (file)
@@ -34,7 +34,7 @@ CPPFLAGS += -I$(TOPDIR)
 all:   $(LIB)
 
 $(LIB):        $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 #########################################################################
 
index 619c9f2acbd08e85408ae5eb311be8ea0b6da3c2..623f9086f390005ad2804f2bcc724f13e84b2972 100644 (file)
 
 TOOLSUBDIRS =
 
+#
+# Include this after HOSTOS HOSTARCH check
+# so that we can act intelligently.
+#
+include $(TOPDIR)/config.mk
+
 #
 # toolchains targeting win32 generate .exe files
 #
@@ -32,12 +38,6 @@ else
 SFX =
 endif
 
-#
-# Include this after HOSTOS HOSTARCH check
-# so that we can act intelligently.
-#
-include $(TOPDIR)/config.mk
-
 # Enable all the config-independent tools
 ifneq ($(HOST_TOOLS_ALL),)
 CONFIG_LCD_LOGO = y
index f8930401a4b134d602669c282729fc9f1fa3b533..2f7a59c00b959a04a8f28d64b1d5b662b26dd849 100644 (file)
@@ -12,7 +12,7 @@
 #
 # This program is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 # GNU General Public License for more details.
 #
 # You should have received a copy of the GNU General Public License
 
 include $(TOPDIR)/config.mk
 
-SRCS   := $(obj)crc32.c  fw_env.c  fw_env_main.c
+HOSTSRCS := $(obj)crc32.c  fw_env.c  fw_env_main.c
 HEADERS        := fw_env.h
 
-HOSTCFLAGS += -Wall -DUSE_HOSTCC -I$(SRCTREE)/include
+# Compile for a hosted environment on the target
+HOSTCPPFLAGS  = -idirafter $(SRCTREE)/include \
+               -idirafter $(OBJTREE)/include2 \
+               -idirafter $(OBJTREE)/include \
+               -DUSE_HOSTCC
 
 ifeq ($(MTD_VERSION),old)
-HOSTCFLAGS += -DMTD_OLD
+HOSTCPPFLAGS += -DMTD_OLD
 endif
 
 all:   $(obj)fw_printenv
 
-$(obj)fw_printenv:     $(SRCS) $(HEADERS)
-       $(HOSTCC) $(HOSTCFLAGS) $(HOSTLDFLAGS) -o $@ $(SRCS)
+# Some files complain if compiled with -pedantic, use HOSTCFLAGS_NOPED
+$(obj)fw_printenv:     $(HOSTSRCS) $(HEADERS)
+       $(HOSTCC) $(HOSTCFLAGS_NOPED) $(HOSTLDFLAGS) -o $@ $(HOSTSRCS)
 
 clean:
        rm -f $(obj)fw_printenv $(obj)crc32.c