summaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2013-03-07 12:58:39 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2013-03-14 08:41:40 +0100
commit7a76f0607bef50e4439d162e577007aa74f51a5f (patch)
tree7a9e912b6428fcdf27982a02877ea367c9588bd1 /arch
parent1d9547773cd0e39472760e1eab21c3ff86c08db7 (diff)
downloadbarebox-7a76f0607bef50e4439d162e577007aa74f51a5f.tar.gz
barebox-7a76f0607bef50e4439d162e577007aa74f51a5f.tar.xz
x86: initialize malloc pool before start_barebox()
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch')
-rw-r--r--arch/x86/boot/main_entry.c4
-rw-r--r--arch/x86/lib/memory.c7
2 files changed, 5 insertions, 6 deletions
diff --git a/arch/x86/boot/main_entry.c b/arch/x86/boot/main_entry.c
index f7f4710c44..afb7e32dfc 100644
--- a/arch/x86/boot/main_entry.c
+++ b/arch/x86/boot/main_entry.c
@@ -22,7 +22,7 @@
#include <string.h>
#include <asm/sections.h>
-extern void start_barebox(void);
+extern void x86_start_barebox(void);
/**
* Called plainly from assembler that switches from real to flat mode
@@ -33,5 +33,5 @@ void uboot_entry(void)
{
/* clear the BSS first */
memset(__bss_start, 0x00, __bss_stop - __bss_start);
- start_barebox();
+ x86_start_barebox();
}
diff --git a/arch/x86/lib/memory.c b/arch/x86/lib/memory.c
index 43b6931258..de0e5d907f 100644
--- a/arch/x86/lib/memory.c
+++ b/arch/x86/lib/memory.c
@@ -21,6 +21,7 @@
* @brief Memory management
*/
+#include <common.h>
#include <init.h>
#include <stdio.h>
#include <memory.h>
@@ -36,7 +37,7 @@
* - memory above 0x100000
*/
-static int x86_mem_malloc_init(void)
+int x86_start_barebox(void)
{
#ifdef CONFIG_MEMORY_LAYOUT_DEFAULT
unsigned long memory_size;
@@ -57,7 +58,5 @@ static int x86_mem_malloc_init(void)
mem_malloc_init((void *)MALLOC_BASE,
(void *)(MALLOC_BASE + MALLOC_SIZE - 1));
#endif
- return 0;
+ start_barebox();
}
-
-core_initcall(x86_mem_malloc_init);