mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-10 23:24:38 +00:00
mips: add a option to support not reserving malloc space on initial stack
The initial stack on some platforms is too small to hold a large malloc space. This patch adds a option to allow these platforms not reserving the malloc space on initial stack. These platforms should set the malloc base after DRAM is usable. Reviewed-by: Stefan Roese <sr@denx.de> Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
This commit is contained in:
parent
2434f58c78
commit
c95c3ec025
2 changed files with 22 additions and 2 deletions
|
@ -317,6 +317,24 @@ config NEW_EXCEPTION_VECTOR_BASE
|
|||
help
|
||||
The exception vector base to be restored before booting linux kernel
|
||||
|
||||
config INIT_STACK_WITHOUT_MALLOC_F
|
||||
bool "Do not reserve malloc space on initial stack"
|
||||
default n
|
||||
help
|
||||
Enable this option if you don't want to reserve malloc space on
|
||||
initial stack. This is useful if the initial stack can't hold large
|
||||
malloc space. Platform should set the malloc_base later when DRAM is
|
||||
ready to use.
|
||||
|
||||
config SPL_INIT_STACK_WITHOUT_MALLOC_F
|
||||
bool "Do not reserve malloc space on initial stack in SPL"
|
||||
default n
|
||||
help
|
||||
Enable this option if you don't want to reserve malloc space on
|
||||
initial stack. This is useful if the initial stack can't hold large
|
||||
malloc space. Platform should set the malloc_base later when DRAM is
|
||||
ready to use.
|
||||
|
||||
config SPL_LOADER_SUPPORT
|
||||
bool
|
||||
default n
|
||||
|
|
|
@ -59,7 +59,8 @@
|
|||
sp, sp, GD_SIZE # reserve space for gd
|
||||
and sp, sp, t0 # force 16 byte alignment
|
||||
move k0, sp # save gd pointer
|
||||
#if CONFIG_VAL(SYS_MALLOC_F_LEN)
|
||||
#if CONFIG_VAL(SYS_MALLOC_F_LEN) && \
|
||||
!CONFIG_IS_ENABLED(INIT_STACK_WITHOUT_MALLOC_F)
|
||||
li t2, CONFIG_VAL(SYS_MALLOC_F_LEN)
|
||||
PTR_SUBU \
|
||||
sp, sp, t2 # reserve space for early malloc
|
||||
|
@ -75,7 +76,8 @@
|
|||
blt t0, t1, 1b
|
||||
nop
|
||||
|
||||
#if CONFIG_VAL(SYS_MALLOC_F_LEN)
|
||||
#if CONFIG_VAL(SYS_MALLOC_F_LEN) && \
|
||||
!CONFIG_IS_ENABLED(INIT_STACK_WITHOUT_MALLOC_F)
|
||||
PTR_S sp, GD_MALLOC_BASE(k0) # gd->malloc_base offset
|
||||
#endif
|
||||
.endm
|
||||
|
|
Loading…
Reference in a new issue