diff options
Diffstat (limited to 'lib_m68k/board.c')
-rw-r--r-- | lib_m68k/board.c | 41 |
1 files changed, 3 insertions, 38 deletions
diff --git a/lib_m68k/board.c b/lib_m68k/board.c index 483c9b6df..3d885306e 100644 --- a/lib_m68k/board.c +++ b/lib_m68k/board.c @@ -101,48 +101,12 @@ extern int watchdog_disable(void); ulong monitor_flash_len; -/* - * Begin and End of memory area for malloc(), and current "brk" - */ -static ulong mem_malloc_start = 0; -static ulong mem_malloc_end = 0; -static ulong mem_malloc_brk = 0; - /************************************************************************ * Utilities * ************************************************************************ */ /* - * The Malloc area is immediately below the monitor copy in DRAM - */ -static void mem_malloc_init (void) -{ - ulong dest_addr = CONFIG_SYS_MONITOR_BASE + gd->reloc_off; - - 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); -} - -void *sbrk (ptrdiff_t increment) -{ - ulong old = mem_malloc_brk; - ulong new = old + increment; - - if ((new < mem_malloc_start) || - (new > mem_malloc_end) ) { - return (NULL); - } - mem_malloc_brk = new; - return ((void *)old); -} - -/* * 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 @@ -518,8 +482,9 @@ void board_init_r (gd_t *id, ulong dest_addr) */ trap_init (CONFIG_SYS_SDRAM_BASE); - /* initialize malloc() area */ - mem_malloc_init (); + /* The Malloc area is immediately below the monitor copy in DRAM */ + 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) |