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
					
				|  | @ -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 New Issue