microblaze: Add support for CONFIG_SYS_MALLOC_F_LEN
authorMichal Simek <michal.simek@xilinx.com>
Fri, 30 Jan 2015 14:46:43 +0000 (15:46 +0100)
committerMichal Simek <michal.simek@xilinx.com>
Mon, 9 Feb 2015 14:13:12 +0000 (15:13 +0100)
Create space for dm_init where calloc is called
and malloc_base has to be initialized.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
arch/microblaze/cpu/start.S
include/configs/microblaze-generic.h

index 3eeeab4b88d3122233e1d585ca1137318749cf78..cf9ee7e3e6ada4b1fb85767e722d355e9e9d26d1 100644 (file)
@@ -29,8 +29,12 @@ _start:
        addi    r1, r0, CONFIG_SPL_STACK_ADDR
        mts     rshr, r1
        addi    r1, r1, -4      /* Decrement SP to top of memory */
+#else
+#if defined(CONFIG_SYS_MALLOC_F_LEN)
+       addi    r1, r0, CONFIG_SYS_INIT_SP_OFFSET - CONFIG_SYS_MALLOC_F_LEN
 #else
        addi    r1, r0, CONFIG_SYS_INIT_SP_OFFSET
+#endif
        mts     rshr, r1
        addi    r1, r1, -4      /* Decrement SP to top of memory */
 
@@ -152,6 +156,10 @@ clear_bss:
 #ifndef CONFIG_SPL_BUILD
        or      r5, r0, r0      /* flags - empty */
        addi    r31, r0, _gd
+#if defined(CONFIG_SYS_MALLOC_F_LEN)
+       addi    r6, r0, CONFIG_SYS_INIT_SP_OFFSET
+       swi     r6, r31, GD_MALLOC_BASE
+#endif
        brai    board_init_f
 #else
        addi    r31, r0, CONFIG_SYS_SPL_MALLOC_END
index 622bc951045b991b6f1e11f4ee4c1734a42ec7e7..770acbea691b559edb5e793fa5dc6dae42532001 100644 (file)
 #endif
 
 #define CONFIG_SYS_MALLOC_LEN  0xC0000
+#define CONFIG_SYS_MALLOC_F_LEN        1024
 
 /* Stack location before relocation */
 #define CONFIG_SYS_INIT_SP_OFFSET      CONFIG_SYS_TEXT_BASE