diff options
author | Stefano Babic <sbabic@denx.de> | 2015-10-23 12:35:42 +0200 |
---|---|---|
committer | Stefano Babic <sbabic@denx.de> | 2015-10-23 12:35:42 +0200 |
commit | a69fdc7787bfa2f27eed74c2ee58c28ce932d502 (patch) | |
tree | 4731dbe1c7371c0c797641d9e755a93e614ec930 /common/spl/spl.c | |
parent | 42e550d44bc2335a18065b155cc408f30f0502ef (diff) | |
parent | 9f13b6d147dc74f2400ce18d9d4005ba53f21fd3 (diff) |
Merge branch 'master' of git://git.denx.de/u-boot
Diffstat (limited to 'common/spl/spl.c')
-rw-r--r-- | common/spl/spl.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/common/spl/spl.c b/common/spl/spl.c index a5892d7988..4b319d6739 100644 --- a/common/spl/spl.c +++ b/common/spl/spl.c @@ -347,8 +347,17 @@ ulong spl_relocate_stack_gd(void) memcpy(new_gd, (void *)gd, sizeof(gd_t)); gd = new_gd; - /* Clear the BSS. */ - memset(__bss_start, 0, __bss_end - __bss_start); +#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 |