mirror of
https://xff.cz/git/u-boot/
synced 2025-09-01 16:52:14 +02:00
Move board_init_f_mem() into a common location
This function will be used by both SPL and U-Boot proper. So move it into a common place. Also change the #ifdef so that the early malloc() area is not set up in SPL if CONFIG_SYS_SPL_MALLOC_START is defined. In that case it would never actually be used, and just chews up stack space. Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
@@ -1030,32 +1030,3 @@ void board_init_f_r(void)
|
||||
hang();
|
||||
}
|
||||
#endif /* CONFIG_X86 */
|
||||
|
||||
/* Unfortunately x86 can't compile this code as gd cannot be assigned */
|
||||
#ifndef CONFIG_X86
|
||||
__weak void arch_setup_gd(struct global_data *gd_ptr)
|
||||
{
|
||||
gd = gd_ptr;
|
||||
}
|
||||
#endif /* !CONFIG_X86 */
|
||||
|
||||
ulong board_init_f_mem(ulong top)
|
||||
{
|
||||
struct global_data *gd_ptr;
|
||||
|
||||
/* Leave space for the stack we are running with now */
|
||||
top -= 0x40;
|
||||
|
||||
top -= sizeof(struct global_data);
|
||||
top = ALIGN(top, 16);
|
||||
gd_ptr = (struct global_data *)top;
|
||||
memset(gd_ptr, '\0', sizeof(*gd));
|
||||
arch_setup_gd(gd_ptr);
|
||||
|
||||
#ifdef CONFIG_SYS_MALLOC_F_LEN
|
||||
top -= CONFIG_SYS_MALLOC_F_LEN;
|
||||
gd->malloc_base = top;
|
||||
#endif
|
||||
|
||||
return top;
|
||||
}
|
||||
|
Reference in New Issue
Block a user