summaryrefslogtreecommitdiff
path: root/lib_m68k
diff options
context:
space:
mode:
authorPeter Tyser <ptyser@xes-inc.com>2009-08-21 23:05:20 -0500
committerTom Rix <Tom.Rix@windriver.com>2009-10-03 09:04:08 -0500
commit832f4377d6ed2bafba31ea624d3a3f5197cb1e6c (patch)
tree8993cb3aaadc59301ba41163e1534007743521a0 /lib_m68k
parentd870552ee4b83842e23cbd64a3a38b277136d568 (diff)
downloadu-boot-imx-832f4377d6ed2bafba31ea624d3a3f5197cb1e6c.zip
u-boot-imx-832f4377d6ed2bafba31ea624d3a3f5197cb1e6c.tar.gz
u-boot-imx-832f4377d6ed2bafba31ea624d3a3f5197cb1e6c.tar.bz2
Standardize mem_malloc_init() implementation
This lays the groundwork to allow architectures to share a common mem_malloc_init(). Note that the x86 implementation was not modified as it did not fit the mold of all other architectures. Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
Diffstat (limited to 'lib_m68k')
-rw-r--r--lib_m68k/board.c17
1 files changed, 7 insertions, 10 deletions
diff --git a/lib_m68k/board.c b/lib_m68k/board.c
index 4392bcc..cbc6b50 100644
--- a/lib_m68k/board.c
+++ b/lib_m68k/board.c
@@ -109,17 +109,13 @@ ulong monitor_flash_len;
/*
* The Malloc area is immediately below the monitor copy in DRAM
*/
-static void mem_malloc_init (void)
+static void mem_malloc_init(ulong start, ulong size)
{
- ulong dest_addr = CONFIG_SYS_MONITOR_BASE + gd->reloc_off;
+ mem_malloc_start = start;
+ mem_malloc_end = start + size;
+ mem_malloc_brk = start;
- mem_malloc_end = dest_addr;
- mem_malloc_start = dest_addr - TOTAL_MALLOC_LEN;
- mem_malloc_brk = mem_malloc_start;
-
- memset ((void *) mem_malloc_start,
- 0,
- mem_malloc_end - mem_malloc_start);
+ memset ((void *)mem_malloc_start, 0, size);
}
/*
@@ -499,7 +495,8 @@ void board_init_r (gd_t *id, ulong dest_addr)
trap_init (CONFIG_SYS_SDRAM_BASE);
/* initialize malloc() area */
- mem_malloc_init ();
+ mem_malloc_init (CONFIG_SYS_MONITOR_BASE + gd->reloc_off -
+ TOTAL_MALLOC_LEN, TOTAL_MALLOC_LEN);
malloc_bin_reloc ();
#if !defined(CONFIG_SYS_NO_FLASH)