malloc_simple: Add support for switching to DRAM heap
[platform/kernel/u-boot.git] / common / spl / spl.c
index b09a626..4b319d6 100644 (file)
@@ -347,6 +347,18 @@ ulong spl_relocate_stack_gd(void)
        memcpy(new_gd, (void *)gd, sizeof(gd_t));
        gd = new_gd;
 
+#ifdef CONFIG_SPL_SYS_MALLOC_SIMPLE
+       if (CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN) {
+               if (!(gd->flags & GD_FLG_SPL_INIT))
+                       panic("spl_init must be called before heap reloc");
+
+               ptr -= CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN;
+               gd->malloc_base = ptr;
+               gd->malloc_limit = CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN;
+               gd->malloc_ptr = 0;
+       }
+#endif
+
        return ptr;
 #else
        return 0;