diff options
| -rw-r--r-- | arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds | 6 | ||||
| -rw-r--r-- | arch/arm/cpu/arm926ejs/spear/u-boot-spl.lds | 6 | ||||
| -rw-r--r-- | arch/arm/cpu/armv7/am33xx/u-boot-spl.lds | 67 | ||||
| -rw-r--r-- | arch/arm/cpu/armv7/omap-common/u-boot-spl.lds | 4 | ||||
| -rw-r--r-- | arch/arm/cpu/u-boot-spl.lds | 93 | ||||
| -rw-r--r-- | board/ait/cam_enc_4xx/u-boot-spl.lds | 4 | ||||
| -rw-r--r-- | board/davinci/da8xxevm/u-boot-spl-da850evm.lds | 5 | ||||
| -rw-r--r-- | board/davinci/da8xxevm/u-boot-spl-hawk.lds | 5 | ||||
| -rw-r--r-- | board/vpac270/u-boot-spl.lds | 4 | ||||
| -rw-r--r-- | include/configs/am335x_evm.h | 2 | ||||
| -rw-r--r-- | include/configs/pcm051.h | 2 | ||||
| -rw-r--r-- | spl/Makefile | 8 | 
12 files changed, 164 insertions, 42 deletions
| diff --git a/arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds b/arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds index 6dc681a31..0f3222c76 100644 --- a/arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds +++ b/arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds @@ -51,12 +51,6 @@ SECTIONS  	. = ALIGN(4); -	.u_boot_list : { -		#include <u-boot.lst> -	} - -	. = ALIGN(4); -  	.rel.dyn : {  		__rel_dyn_start = .;  		*(.rel*) diff --git a/arch/arm/cpu/arm926ejs/spear/u-boot-spl.lds b/arch/arm/cpu/arm926ejs/spear/u-boot-spl.lds index f3bd5e736..0af3e0a23 100644 --- a/arch/arm/cpu/arm926ejs/spear/u-boot-spl.lds +++ b/arch/arm/cpu/arm926ejs/spear/u-boot-spl.lds @@ -51,12 +51,6 @@ SECTIONS  	. = ALIGN(4); -	.u_boot_list : { -		#include <u-boot.lst> -	} - -	. = ALIGN(4); -  	.rel.dyn : {  		__rel_dyn_start = .;  		*(.rel*) diff --git a/arch/arm/cpu/armv7/am33xx/u-boot-spl.lds b/arch/arm/cpu/armv7/am33xx/u-boot-spl.lds new file mode 100644 index 000000000..1c3deefa7 --- /dev/null +++ b/arch/arm/cpu/armv7/am33xx/u-boot-spl.lds @@ -0,0 +1,67 @@ +/* + * (C) Copyright 2002 + * Gary Jennejohn, DENX Software Engineering, <garyj@denx.de> + * + * (C) Copyright 2010 + * Texas Instruments, <www.ti.com> + *	Aneesh V <aneesh@ti.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., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + */ + +MEMORY { .sram : ORIGIN = CONFIG_SPL_TEXT_BASE,\ +		LENGTH = CONFIG_SPL_MAX_SIZE } +MEMORY { .sdram : ORIGIN = CONFIG_SPL_BSS_START_ADDR, \ +		LENGTH = CONFIG_SPL_BSS_MAX_SIZE } + +OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm") +OUTPUT_ARCH(arm) +ENTRY(_start) +SECTIONS +{ +	.text      : +	{ +		__start = .; +		arch/arm/cpu/armv7/start.o	(.text) +		*(.text*) +	} >.sram + +	. = ALIGN(4); +	.rodata : { *(SORT_BY_ALIGNMENT(.rodata*)) } >.sram + +	. = ALIGN(4); +	.data : { *(SORT_BY_ALIGNMENT(.data*)) } >.sram + +	.u_boot_list : { +		#include <u-boot.lst> +	} >.sram + +	. = ALIGN(4); +	__image_copy_end = .; +	_end = .; + +	.bss : +	{ +		. = ALIGN(4); +		__bss_start = .; +		*(.bss*) +		. = ALIGN(4); +		__bss_end__ = .; +	} >.sdram +} diff --git a/arch/arm/cpu/armv7/omap-common/u-boot-spl.lds b/arch/arm/cpu/armv7/omap-common/u-boot-spl.lds index 675562895..88f40698b 100644 --- a/arch/arm/cpu/armv7/omap-common/u-boot-spl.lds +++ b/arch/arm/cpu/armv7/omap-common/u-boot-spl.lds @@ -48,10 +48,6 @@ SECTIONS  	. = ALIGN(4);  	.data : { *(SORT_BY_ALIGNMENT(.data*)) } >.sram -	.u_boot_list : { -		#include <u-boot.lst> -	} > .sram -  	. = ALIGN(4);  	__image_copy_end = .;  	_end = .; diff --git a/arch/arm/cpu/u-boot-spl.lds b/arch/arm/cpu/u-boot-spl.lds new file mode 100644 index 000000000..8321afb95 --- /dev/null +++ b/arch/arm/cpu/u-boot-spl.lds @@ -0,0 +1,93 @@ +/* + * Copyright (c) 2004-2008 Texas Instruments + * + * (C) Copyright 2002 + * Gary Jennejohn, DENX Software Engineering, <garyj@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_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm") +OUTPUT_ARCH(arm) +ENTRY(_start) +SECTIONS +{ +	. = 0x00000000; + +	. = ALIGN(4); +	.text : +	{ +		__image_copy_start = .; +		CPUDIR/start.o (.text*) +		*(.text*) +	} + +	. = ALIGN(4); +	.rodata : { *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) } + +	. = ALIGN(4); +	.data : { +		*(.data*) +	} + +	. = ALIGN(4); + +	. = .; + +	__image_copy_end = .; + +	.rel.dyn : { +		__rel_dyn_start = .; +		*(.rel*) +		__rel_dyn_end = .; +	} + +	.dynsym : { +		__dynsym_start = .; +		*(.dynsym) +	} + +	_end = .; + +	/* +	 * Deprecated: this MMU section is used by pxa at present but +	 * should not be used by new boards/CPUs. +	 */ +	. = ALIGN(4096); +	.mmutable : { +		*(.mmutable) +	} + +	.bss __rel_dyn_start (OVERLAY) : { +		__bss_start = .; +		*(.bss*) +		 . = ALIGN(4); +		__bss_end__ = .; +	} + +	/DISCARD/ : { *(.dynstr*) } +	/DISCARD/ : { *(.dynamic*) } +	/DISCARD/ : { *(.plt*) } +	/DISCARD/ : { *(.interp*) } +	/DISCARD/ : { *(.gnu*) } +} + +#if defined(CONFIG_SPL_TEXT_BASE) && defined(CONFIG_SPL_MAX_SIZE) +ASSERT(__bss_end__ < (CONFIG_SPL_TEXT_BASE + CONFIG_SPL_MAX_SIZE), "SPL image too big"); +#endif diff --git a/board/ait/cam_enc_4xx/u-boot-spl.lds b/board/ait/cam_enc_4xx/u-boot-spl.lds index 656b2fbf8..52c986e8a 100644 --- a/board/ait/cam_enc_4xx/u-boot-spl.lds +++ b/board/ait/cam_enc_4xx/u-boot-spl.lds @@ -48,10 +48,6 @@ SECTIONS  	. = ALIGN(4);  	.data : { *(SORT_BY_ALIGNMENT(.data*)) } >.sram  	. = ALIGN(4); -	.u_boot_list : { -		#include <u-boot.lst> -	} >.sram -	. = ALIGN(4);  	.rel.dyn : {  		__rel_dyn_start = .;  		*(.rel*) diff --git a/board/davinci/da8xxevm/u-boot-spl-da850evm.lds b/board/davinci/da8xxevm/u-boot-spl-da850evm.lds index c5fd93c0f..dd5f26612 100644 --- a/board/davinci/da8xxevm/u-boot-spl-da850evm.lds +++ b/board/davinci/da8xxevm/u-boot-spl-da850evm.lds @@ -49,11 +49,6 @@ SECTIONS  	.data : { *(SORT_BY_ALIGNMENT(.data*)) } >.sram  	. = ALIGN(4); -	.u_boot_list : { -		#include <u-boot.lst> -	} >.sram - -	. = ALIGN(4);  	.rel.dyn : {  		__rel_dyn_start = .;  		*(.rel*) diff --git a/board/davinci/da8xxevm/u-boot-spl-hawk.lds b/board/davinci/da8xxevm/u-boot-spl-hawk.lds index 86dc172ee..b3a41afc4 100644 --- a/board/davinci/da8xxevm/u-boot-spl-hawk.lds +++ b/board/davinci/da8xxevm/u-boot-spl-hawk.lds @@ -58,11 +58,6 @@ SECTIONS  	}  	. = ALIGN(4); -	.u_boot_list : { -		#include <u-boot.lst> -	} - -	. = ALIGN(4);  	__rel_dyn_start = .;  	__rel_dyn_end = .;  	__dynsym_start = .; diff --git a/board/vpac270/u-boot-spl.lds b/board/vpac270/u-boot-spl.lds index 20161a46a..1958c2fb9 100644 --- a/board/vpac270/u-boot-spl.lds +++ b/board/vpac270/u-boot-spl.lds @@ -57,10 +57,6 @@ SECTIONS  		*(.data)  	} -	.u_boot_list : { -		#include <u-boot.lst> -	} -  	. = ALIGN(4);  	.rel.dyn : { diff --git a/include/configs/am335x_evm.h b/include/configs/am335x_evm.h index 709c1f337..9eada95c0 100644 --- a/include/configs/am335x_evm.h +++ b/include/configs/am335x_evm.h @@ -286,7 +286,7 @@  #define CONFIG_SPL_SPI_CS		0  #define CONFIG_SYS_SPI_U_BOOT_OFFS	0x80000  #define CONFIG_SPL_MUSB_NEW_SUPPORT -#define CONFIG_SPL_LDSCRIPT		"$(CPUDIR)/omap-common/u-boot-spl.lds" +#define CONFIG_SPL_LDSCRIPT		"$(CPUDIR)/am33xx/u-boot-spl.lds"  #define CONFIG_SPL_BOARD_INIT  #define CONFIG_SPL_NAND_AM33XX_BCH diff --git a/include/configs/pcm051.h b/include/configs/pcm051.h index aa90ba9c5..63ab12329 100644 --- a/include/configs/pcm051.h +++ b/include/configs/pcm051.h @@ -234,7 +234,7 @@  #define CONFIG_SPL_SPI_CS		0  #define CONFIG_SYS_SPI_U_BOOT_OFFS	0x20000  #define CONFIG_SYS_SPI_U_BOOT_SIZE	0x40000 -#define CONFIG_SPL_LDSCRIPT		"$(CPUDIR)/omap-common/u-boot-spl.lds" +#define CONFIG_SPL_LDSCRIPT		"$(CPUDIR)/am33xx/u-boot-spl.lds"  /*   * 1MB into the SDRAM to allow for SPL's bss at the beginning of SDRAM diff --git a/spl/Makefile b/spl/Makefile index aac614686..14095c8df 100644 --- a/spl/Makefile +++ b/spl/Makefile @@ -119,7 +119,7 @@ ifeq ($(wildcard $(LDSCRIPT)),)  	LDSCRIPT := $(TOPDIR)/$(CPUDIR)/u-boot-spl.lds  endif  ifeq ($(wildcard $(LDSCRIPT)),) -	LDSCRIPT := $(TOPDIR)/arch/$(ARCH)/cpu/u-boot.lds +	LDSCRIPT := $(TOPDIR)/arch/$(ARCH)/cpu/u-boot-spl.lds  endif  ifeq ($(wildcard $(LDSCRIPT)),)  $(error could not find linker script) @@ -177,11 +177,7 @@ $(START):	depend  $(LIBS):	depend  	$(MAKE) -C $(SRCTREE)$(dir $(subst $(SPLTREE),,$@)) -# The following line expands into whole rule which generates u-boot.lst, -# the file containing u-boots LG-array linker section. This is included into -# $(LDSCRIPT). The function make_u_boot_list is defined in helper.mk file. -$(eval $(call make_u_boot_list, $(obj)u-boot.lst, $(LIBS))) -$(obj)u-boot-spl.lds: $(LDSCRIPT) $(obj)u-boot.lst depend +$(obj)u-boot-spl.lds: $(LDSCRIPT) depend  	$(CPP) $(CPPFLAGS) $(LDPPFLAGS) -I$(obj). -ansi -D__ASSEMBLY__ -P - < $< > $@  depend:	$(obj).depend |