diff options
author | Michal Simek <michal.simek@xilinx.com> | 2015-02-03 16:24:48 +0100 |
---|---|---|
committer | Michal Simek <michal.simek@xilinx.com> | 2015-02-09 15:13:12 +0100 |
commit | ca7d22662e1ca1b05fd4cd3d1f80efec93c499ef (patch) | |
tree | e94a54b936855a1c2c96e3067c5800586ffa9c7a /arch/microblaze/cpu | |
parent | 405e651d705e197babe423ef88e8224e2737fc06 (diff) |
microblaze: spl: Do not call mem_malloc_init and use early alloc
This patch has some parts connected together:
- Use _gd in bss section which is automatically cleared
Location at SPL_MALLOC_END wasn't cleared at all
- Use MALLOC_F_LEN(early alloc) instead of FULL MALLOC
(mem_malloc_init is not called at all)
- Simplify malloc and stack init.
At the end of SPL addr is malloc area and below is stack
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Diffstat (limited to 'arch/microblaze/cpu')
-rw-r--r-- | arch/microblaze/cpu/start.S | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/arch/microblaze/cpu/start.S b/arch/microblaze/cpu/start.S index cf9ee7e3e6..953d3a15ee 100644 --- a/arch/microblaze/cpu/start.S +++ b/arch/microblaze/cpu/start.S @@ -162,7 +162,11 @@ clear_bss: #endif brai board_init_f #else - addi r31, r0, CONFIG_SYS_SPL_MALLOC_END + addi r31, r0, _gd +#if defined(CONFIG_SYS_MALLOC_F_LEN) + addi r6, r0, CONFIG_SPL_STACK_ADDR + swi r6, r31, GD_MALLOC_BASE +#endif brai board_init_r #endif 1: bri 1b |