summaryrefslogtreecommitdiff
path: root/lib_microblaze
diff options
context:
space:
mode:
authorPeter Tyser <ptyser@xes-inc.com>2009-08-21 23:05:20 -0500
committerWolfgang Denk <wd@denx.de>2009-09-04 21:46:32 +0200
commita483a167bc8d808145ca1224a2c238cda90aa60c (patch)
treefde71dcae066c865872f5c990c593e98a0750265 /lib_microblaze
parent5e93bd1c9aaea886c5e5c7c1b6114ab36c30668f (diff)
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_microblaze')
-rw-r--r--lib_microblaze/board.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/lib_microblaze/board.c b/lib_microblaze/board.c
index fc25a753052..a5d924a1f33 100644
--- a/lib_microblaze/board.c
+++ b/lib_microblaze/board.c
@@ -51,12 +51,13 @@ extern int getenv_IPaddr (char *);
* aka CONFIG_SYS_MONITOR_BASE - Note there is no need for reloc_off
* as our monitory code is run from SDRAM
*/
-static void mem_malloc_init (void)
+static void mem_malloc_init(ulong start, ulong size)
{
- mem_malloc_end = (CONFIG_SYS_MALLOC_BASE + CONFIG_SYS_MALLOC_LEN);
- mem_malloc_start = CONFIG_SYS_MALLOC_BASE;
- mem_malloc_brk = mem_malloc_start;
- memset ((void *)mem_malloc_start, 0, mem_malloc_end - mem_malloc_start);
+ mem_malloc_start = start;
+ mem_malloc_end = start + size;
+ mem_malloc_brk = start;
+
+ memset ((void *)mem_malloc_start, 0, size);
}
/*
@@ -104,7 +105,7 @@ void board_init (void)
gd->flags |= GD_FLG_RELOC; /* tell others: relocation done */
/* Initialise malloc() area */
- mem_malloc_init ();
+ mem_malloc_init (CONFIG_SYS_MALLOC_BASE, CONFIG_SYS_MALLOC_LEN);
for (init_fnc_ptr = init_sequence; *init_fnc_ptr; ++init_fnc_ptr) {
WATCHDOG_RESET ();