From f6e20fc6ca5a45316f94743d8b60dce4d9766bc8 Mon Sep 17 00:00:00 2001 From: wdenk Date: Sun, 8 Feb 2004 19:38:38 +0000 Subject: Patch by Anders Larsen, 09 Jan 2004: ARM memory layout fixes: the abort-stack is now set up in the correct RAM area, and the BSS is zeroed out as it should be. Furthermore, the magic variables 'armboot_end' and 'armboot_end_data' of the linker scripts are replaced by '__bss_start' and '_end', resp., which is a further step to eliminate unnecessary differences between the implementation of the CPU architectures. --- board/at91rm9200dk/u-boot.lds | 12 +++++------- board/cradle/u-boot.lds | 15 +++++---------- board/csb226/u-boot.lds | 14 +++++--------- board/dnp1110/u-boot.lds | 14 +++++--------- board/ep7312/u-boot.lds | 12 +++++------- board/impa7/u-boot.lds | 13 +++++-------- board/innokom/u-boot.lds | 14 +++++--------- board/ixdp425/config.mk | 2 +- board/ixdp425/flash.c | 4 ++-- board/ixdp425/u-boot.lds | 8 ++------ board/lart/u-boot.lds | 12 +++++------- board/logodl/flash.c | 2 +- board/logodl/u-boot.lds | 10 +++++----- board/lubbock/config.mk | 2 +- board/lubbock/u-boot.lds | 14 +++++--------- board/mpl/vcma9/config.mk | 4 ++-- board/mpl/vcma9/u-boot.lds | 12 +++++------- board/omap1510inn/config.mk | 4 ++-- board/omap1510inn/u-boot.lds | 12 +++++------- board/omap1610inn/config.mk | 4 ++-- board/omap1610inn/u-boot.lds | 4 ++-- board/shannon/u-boot.lds | 13 +++++-------- board/smdk2400/config.mk | 4 ++-- board/smdk2400/u-boot.lds | 13 +++++-------- board/smdk2410/u-boot.lds | 14 +++++--------- board/trab/u-boot.lds | 15 ++++++--------- board/wepep250/u-boot.lds | 8 ++------ 27 files changed, 100 insertions(+), 155 deletions(-) (limited to 'board') diff --git a/board/at91rm9200dk/u-boot.lds b/board/at91rm9200dk/u-boot.lds index 17a85b8..0282898 100644 --- a/board/at91rm9200dk/u-boot.lds +++ b/board/at91rm9200dk/u-boot.lds @@ -45,14 +45,12 @@ SECTIONS . = ALIGN(4); .got : { *(.got) } - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .; - - armboot_end_data = .; + __u_boot_cmd_start = .; + .u_boot_cmd : { *(.u_boot_cmd) } + __u_boot_cmd_end = .; . = ALIGN(4); + __bss_start = .; .bss : { *(.bss) } - - armboot_end = .; + _end = .; } diff --git a/board/cradle/u-boot.lds b/board/cradle/u-boot.lds index d321b62..58c371d 100644 --- a/board/cradle/u-boot.lds +++ b/board/cradle/u-boot.lds @@ -44,17 +44,12 @@ SECTIONS . = ALIGN(4); .got : { *(.got) } - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .; - - armboot_end_data = .; + __u_boot_cmd_start = .; + .u_boot_cmd : { *(.u_boot_cmd) } + __u_boot_cmd_end = .; . = ALIGN(4); - bss_start = .; + __bss_start = .; .bss : { *(.bss) } - bss_end = .; - - armboot_end = .; - + _end = .; } diff --git a/board/csb226/u-boot.lds b/board/csb226/u-boot.lds index 4c4cabf..58c371d 100644 --- a/board/csb226/u-boot.lds +++ b/board/csb226/u-boot.lds @@ -44,16 +44,12 @@ SECTIONS . = ALIGN(4); .got : { *(.got) } - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .; - - armboot_end_data = .; + __u_boot_cmd_start = .; + .u_boot_cmd : { *(.u_boot_cmd) } + __u_boot_cmd_end = .; . = ALIGN(4); - bss_start = .; + __bss_start = .; .bss : { *(.bss) } - bss_end = .; - - armboot_end = .; + _end = .; } diff --git a/board/dnp1110/u-boot.lds b/board/dnp1110/u-boot.lds index 7ac165e..bfb7c38 100644 --- a/board/dnp1110/u-boot.lds +++ b/board/dnp1110/u-boot.lds @@ -44,16 +44,12 @@ SECTIONS . = ALIGN(4); .got : { *(.got) } - - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .; - - - armboot_end_data = .; + __u_boot_cmd_start = .; + .u_boot_cmd : { *(.u_boot_cmd) } + __u_boot_cmd_end = .; . = ALIGN(4); + __bss_start = .; .bss : { *(.bss) } - - armboot_end = .; + _end = .; } diff --git a/board/ep7312/u-boot.lds b/board/ep7312/u-boot.lds index 915e7c4..64d946c 100644 --- a/board/ep7312/u-boot.lds +++ b/board/ep7312/u-boot.lds @@ -44,14 +44,12 @@ SECTIONS . = ALIGN(4); .got : { *(.got) } - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .; - - armboot_end_data = .; + __u_boot_cmd_start = .; + .u_boot_cmd : { *(.u_boot_cmd) } + __u_boot_cmd_end = .; . = ALIGN(4); + __bss_start = .; .bss : { *(.bss) } - - armboot_end = .; + _end = .; } diff --git a/board/impa7/u-boot.lds b/board/impa7/u-boot.lds index 36521b8..64d946c 100644 --- a/board/impa7/u-boot.lds +++ b/board/impa7/u-boot.lds @@ -44,15 +44,12 @@ SECTIONS . = ALIGN(4); .got : { *(.got) } - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .; - - armboot_end_data = .; + __u_boot_cmd_start = .; + .u_boot_cmd : { *(.u_boot_cmd) } + __u_boot_cmd_end = .; . = ALIGN(4); + __bss_start = .; .bss : { *(.bss) } - - armboot_end = .; - + _end = .; } diff --git a/board/innokom/u-boot.lds b/board/innokom/u-boot.lds index 1130013..58c371d 100644 --- a/board/innokom/u-boot.lds +++ b/board/innokom/u-boot.lds @@ -44,16 +44,12 @@ SECTIONS . = ALIGN(4); .got : { *(.got) } - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .; - - armboot_end_data = .; + __u_boot_cmd_start = .; + .u_boot_cmd : { *(.u_boot_cmd) } + __u_boot_cmd_end = .; . = ALIGN(4); - bss_start = .; + __bss_start = .; .bss : { *(.bss) } - bss_end = .; - - armboot_end = .; + _end = .; } diff --git a/board/ixdp425/config.mk b/board/ixdp425/config.mk index 6bbb9a8..9f616f3 100644 --- a/board/ixdp425/config.mk +++ b/board/ixdp425/config.mk @@ -1,2 +1,2 @@ #TEXT_BASE = 0x00100000 -TEXT_BASE = 0x00f00000 +TEXT_BASE = 0x00f80000 diff --git a/board/ixdp425/flash.c b/board/ixdp425/flash.c index bd3a705..1d958c8 100644 --- a/board/ixdp425/flash.c +++ b/board/ixdp425/flash.c @@ -72,7 +72,7 @@ unsigned long flash_init (void) flash_get_offsets (PHYS_FLASH_1, &flash_info[i]); break; default: - panic ("configured to many flash banks!\n"); + panic ("configured too many flash banks!\n"); break; } size += flash_info[i].size; @@ -82,7 +82,7 @@ unsigned long flash_init (void) */ flash_protect (FLAG_PROTECT_SET, CFG_FLASH_BASE, - CFG_FLASH_BASE + _armboot_end_data - _armboot_start, + CFG_FLASH_BASE + _bss_start - _armboot_start, &flash_info[0]); flash_protect (FLAG_PROTECT_SET, diff --git a/board/ixdp425/u-boot.lds b/board/ixdp425/u-boot.lds index cd44eb9..91ef030 100644 --- a/board/ixdp425/u-boot.lds +++ b/board/ixdp425/u-boot.lds @@ -48,12 +48,8 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .; - armboot_end_data = .; - . = ALIGN(4); - bss_start = .; + __bss_start = .; .bss : { *(.bss) } - bss_end = .; - - armboot_end = .; + _end = .; } diff --git a/board/lart/u-boot.lds b/board/lart/u-boot.lds index b3f34ca..bfb7c38 100644 --- a/board/lart/u-boot.lds +++ b/board/lart/u-boot.lds @@ -44,14 +44,12 @@ SECTIONS . = ALIGN(4); .got : { *(.got) } - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .; - - armboot_end_data = .; + __u_boot_cmd_start = .; + .u_boot_cmd : { *(.u_boot_cmd) } + __u_boot_cmd_end = .; . = ALIGN(4); + __bss_start = .; .bss : { *(.bss) } - - armboot_end = .; + _end = .; } diff --git a/board/logodl/flash.c b/board/logodl/flash.c index 8c304f9..a947731 100644 --- a/board/logodl/flash.c +++ b/board/logodl/flash.c @@ -105,7 +105,7 @@ ulong flash_init(void) */ flash_protect(FLAG_PROTECT_SET, CFG_FLASH_BASE, - CFG_FLASH_BASE + _armboot_end_data - _armboot_start, + CFG_FLASH_BASE + _bss_start - _armboot_start, &flash_info[0]); flash_protect(FLAG_PROTECT_SET, diff --git a/board/logodl/u-boot.lds b/board/logodl/u-boot.lds index 5aef127..58c371d 100644 --- a/board/logodl/u-boot.lds +++ b/board/logodl/u-boot.lds @@ -44,12 +44,12 @@ SECTIONS . = ALIGN(4); .got : { *(.got) } - armboot_end_data = .; + __u_boot_cmd_start = .; + .u_boot_cmd : { *(.u_boot_cmd) } + __u_boot_cmd_end = .; . = ALIGN(4); - bss_start = .; + __bss_start = .; .bss : { *(.bss) } - bss_end = .; - - armboot_end = .; + _end = .; } diff --git a/board/lubbock/config.mk b/board/lubbock/config.mk index d2a2040..55c8b27 100644 --- a/board/lubbock/config.mk +++ b/board/lubbock/config.mk @@ -1,3 +1,3 @@ #TEXT_BASE = 0xa1700000 -TEXT_BASE = 0xa3000000 +TEXT_BASE = 0xa3080000 #TEXT_BASE = 0 diff --git a/board/lubbock/u-boot.lds b/board/lubbock/u-boot.lds index 4c4cabf..58c371d 100644 --- a/board/lubbock/u-boot.lds +++ b/board/lubbock/u-boot.lds @@ -44,16 +44,12 @@ SECTIONS . = ALIGN(4); .got : { *(.got) } - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .; - - armboot_end_data = .; + __u_boot_cmd_start = .; + .u_boot_cmd : { *(.u_boot_cmd) } + __u_boot_cmd_end = .; . = ALIGN(4); - bss_start = .; + __bss_start = .; .bss : { *(.bss) } - bss_end = .; - - armboot_end = .; + _end = .; } diff --git a/board/mpl/vcma9/config.mk b/board/mpl/vcma9/config.mk index 3698c24..1fa09c9 100644 --- a/board/mpl/vcma9/config.mk +++ b/board/mpl/vcma9/config.mk @@ -14,11 +14,11 @@ # Linux-Kernel is expected to be at 3000'8000, entry 3000'8000 # optionally with a ramdisk at 3040'0000 # -# we load ourself to 30F8'0000 +# we load ourself to 33F8'0000 # # download area is 3080'0000 # #TEXT_BASE = 0x30F80000 -TEXT_BASE = 0x33F00000 +TEXT_BASE = 0x33F80000 diff --git a/board/mpl/vcma9/u-boot.lds b/board/mpl/vcma9/u-boot.lds index 3a7c4d4..76df6b2 100644 --- a/board/mpl/vcma9/u-boot.lds +++ b/board/mpl/vcma9/u-boot.lds @@ -45,14 +45,12 @@ SECTIONS . = ALIGN(4); .got : { *(.got) } - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .; - - armboot_end_data = .; + __u_boot_cmd_start = .; + .u_boot_cmd : { *(.u_boot_cmd) } + __u_boot_cmd_end = .; . = ALIGN(4); + __bss_start = .; .bss : { *(.bss) } - - armboot_end = .; + _end = .; } diff --git a/board/omap1510inn/config.mk b/board/omap1510inn/config.mk index c5fd706..7b24780 100644 --- a/board/omap1510inn/config.mk +++ b/board/omap1510inn/config.mk @@ -17,9 +17,9 @@ # # Linux-Kernel is expected to be at 1000'8000, entry 1000'8000 (mem base + reserved) # -# we load ourself to 1100'0000 +# we load ourself to 1108'0000 # # -TEXT_BASE = 0x11000000 +TEXT_BASE = 0x11080000 diff --git a/board/omap1510inn/u-boot.lds b/board/omap1510inn/u-boot.lds index 46cf9dc..cb28b31 100644 --- a/board/omap1510inn/u-boot.lds +++ b/board/omap1510inn/u-boot.lds @@ -45,14 +45,12 @@ SECTIONS . = ALIGN(4); .got : { *(.got) } - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .; - - armboot_end_data = .; + __u_boot_cmd_start = .; + .u_boot_cmd : { *(.u_boot_cmd) } + __u_boot_cmd_end = .; . = ALIGN(4); + __bss_start = .; .bss : { *(.bss) } - - armboot_end = .; + _end = .; } diff --git a/board/omap1610inn/config.mk b/board/omap1610inn/config.mk index 241cb97..80976ef 100644 --- a/board/omap1610inn/config.mk +++ b/board/omap1610inn/config.mk @@ -18,9 +18,9 @@ # Linux-Kernel is expected to be at 1000'8000, entry 1000'8000 # (mem base + reserved) # -# we load ourself to 1100'0000 +# we load ourself to 1108'0000 # # -TEXT_BASE = 0x11000000 +TEXT_BASE = 0x11080000 diff --git a/board/omap1610inn/u-boot.lds b/board/omap1610inn/u-boot.lds index cab0080..eee4813 100644 --- a/board/omap1610inn/u-boot.lds +++ b/board/omap1610inn/u-boot.lds @@ -44,8 +44,8 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .; - armboot_end_data = .; . = ALIGN(4); + __bss_start = .; .bss : { *(.bss) } - armboot_end = .; + _end = .; } diff --git a/board/shannon/u-boot.lds b/board/shannon/u-boot.lds index d1fe8aa..bfb7c38 100644 --- a/board/shannon/u-boot.lds +++ b/board/shannon/u-boot.lds @@ -44,15 +44,12 @@ SECTIONS . = ALIGN(4); .got : { *(.got) } - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .; - - armboot_end_data = .; + __u_boot_cmd_start = .; + .u_boot_cmd : { *(.u_boot_cmd) } + __u_boot_cmd_end = .; . = ALIGN(4); + __bss_start = .; .bss : { *(.bss) } - - armboot_end = .; - + _end = .; } diff --git a/board/smdk2400/config.mk b/board/smdk2400/config.mk index 18c412a..82400bf 100644 --- a/board/smdk2400/config.mk +++ b/board/smdk2400/config.mk @@ -15,11 +15,11 @@ # Linux-Kernel is expected to be at 0cf0'0000, entry 0cf0'0000 # optionally with a ramdisk at 0c80'0000 # -# we load ourself to 0CF00000 (must be high enough not to be +# we load ourself to 0CF80000 (must be high enough not to be # overwritten by the uncompessing Linux kernel) # # download area is 0C80'0000 # -TEXT_BASE = 0x0CF00000 +TEXT_BASE = 0x0CF80000 diff --git a/board/smdk2400/u-boot.lds b/board/smdk2400/u-boot.lds index af3cd19..76df6b2 100644 --- a/board/smdk2400/u-boot.lds +++ b/board/smdk2400/u-boot.lds @@ -45,15 +45,12 @@ SECTIONS . = ALIGN(4); .got : { *(.got) } - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .; - - armboot_end_data = .; + __u_boot_cmd_start = .; + .u_boot_cmd : { *(.u_boot_cmd) } + __u_boot_cmd_end = .; . = ALIGN(4); + __bss_start = .; .bss : { *(.bss) } - - armboot_end = .; - + _end = .; } diff --git a/board/smdk2410/u-boot.lds b/board/smdk2410/u-boot.lds index 0cf076a..76df6b2 100644 --- a/board/smdk2410/u-boot.lds +++ b/board/smdk2410/u-boot.lds @@ -45,16 +45,12 @@ SECTIONS . = ALIGN(4); .got : { *(.got) } - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .; - - - armboot_end_data = .; + __u_boot_cmd_start = .; + .u_boot_cmd : { *(.u_boot_cmd) } + __u_boot_cmd_end = .; . = ALIGN(4); + __bss_start = .; .bss : { *(.bss) } - - armboot_end = .; - + _end = .; } diff --git a/board/trab/u-boot.lds b/board/trab/u-boot.lds index ccffb19..5afdb70 100644 --- a/board/trab/u-boot.lds +++ b/board/trab/u-boot.lds @@ -39,7 +39,7 @@ SECTIONS lib_generic/string.o (.text) . = DEFINED(env_offset) ? env_offset : .; - common/environment.o (.ppcenv) + common/environment.o (.ppcenv) *(.text) } @@ -53,15 +53,12 @@ SECTIONS . = ALIGN(4); .got : { *(.got) } - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .; - - armboot_end_data = .; + __u_boot_cmd_start = .; + .u_boot_cmd : { *(.u_boot_cmd) } + __u_boot_cmd_end = .; . = ALIGN(4); + __bss_start = .; .bss : { *(.bss) } - - - armboot_end = .; + _end = .; } diff --git a/board/wepep250/u-boot.lds b/board/wepep250/u-boot.lds index 38ec25f..58c371d 100644 --- a/board/wepep250/u-boot.lds +++ b/board/wepep250/u-boot.lds @@ -48,12 +48,8 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .; - armboot_end_data = .; - . = ALIGN(4); - bss_start = .; + __bss_start = .; .bss : { *(.bss) } - bss_end = .; - - armboot_end = .; + _end = .; } -- cgit v1.1