diff options
Diffstat (limited to 'lib_mips/board.c')
| -rw-r--r-- | lib_mips/board.c | 17 | 
1 files changed, 7 insertions, 10 deletions
| diff --git a/lib_mips/board.c b/lib_mips/board.c index 68a3697f7..b233a6c8a 100644 --- a/lib_mips/board.c +++ b/lib_mips/board.c @@ -77,17 +77,13 @@ int board_early_init_f(void) __attribute__((weak, alias("__board_early_init_f"))  /*   * 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);  } @@ -352,7 +348,8 @@ void board_init_r (gd_t *id, ulong dest_addr)  	bd = gd->bd;  	/* 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();  #ifndef CONFIG_SYS_NO_FLASH |