summaryrefslogtreecommitdiff
path: root/lib_arm
diff options
context:
space:
mode:
authorwdenk <wdenk>2004-02-08 19:38:38 +0000
committerwdenk <wdenk>2004-02-08 19:38:38 +0000
commitf6e20fc6ca5a45316f94743d8b60dce4d9766bc8 (patch)
treecdea7c7227b937ff231d98e50e64b6fa447bacda /lib_arm
parentf4863a7aec41f1f78fe93eade700b15b287a5ef7 (diff)
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.
Diffstat (limited to 'lib_arm')
-rw-r--r--lib_arm/board.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/lib_arm/board.c b/lib_arm/board.c
index 08679d32f0..314126af5e 100644
--- a/lib_arm/board.c
+++ b/lib_arm/board.c
@@ -117,7 +117,7 @@ static int display_banner (void)
{
printf ("\n\n%s\n\n", version_string);
printf ("U-Boot code: %08lX -> %08lX BSS: -> %08lX\n",
- _armboot_start, _armboot_end_data, _armboot_end);
+ _armboot_start, _bss_start, _bss_end);
#ifdef CONFIG_MODEM_SUPPORT
puts ("Modem Support enabled\n");
#endif
@@ -173,7 +173,7 @@ static void display_flash_config (ulong size)
* All attempts to come up with a "common" initialization sequence
* that works for all boards and architectures failed: some of the
* requirements are just _too_ different. To get rid of the resulting
- * mess of board dependend #ifdef'ed code we now make the whole
+ * mess of board dependent #ifdef'ed code we now make the whole
* initialization sequence configurable to the user.
*
* The requirements for any new initalization function is simple: it
@@ -217,7 +217,7 @@ void start_armboot (void)
gd->bd = (bd_t*)((char*)gd - sizeof(bd_t));
memset (gd->bd, 0, sizeof (bd_t));
- monitor_flash_len = _armboot_end_data - _armboot_start;
+ monitor_flash_len = _bss_start - _armboot_start;
for (init_fnc_ptr = init_sequence; *init_fnc_ptr; ++init_fnc_ptr) {
if ((*init_fnc_ptr)() != 0) {
@@ -237,7 +237,7 @@ void start_armboot (void)
* reserve memory for VFD display (always full pages)
*/
/* armboot_end is defined in the board-specific linker script */
- addr = (_armboot_end + (PAGE_SIZE - 1)) & ~(PAGE_SIZE - 1);
+ addr = (_bss_start + (PAGE_SIZE - 1)) & ~(PAGE_SIZE - 1);
size = vfd_setmem (addr);
gd->fb_base = addr;
#endif /* CONFIG_VFD */