[PATCH 1/8] common: spl: spl: Update stack pointer address

Devarsh Thakkar devarsht at ti.com
Fri May 12 10:09:29 CEST 2023


Hi Nikhil, Vignesh, Tom,

Nikhil,
Thanks for the patch.

On 11/05/23 15:29, Nikhil M Jain wrote:

I think more apt subject would be "Update stack pointer after relocation"
> At SPL stage when stack is relocated, the stack pointer needs to be
> updated, 

since
the stack pointer may point to stack in on chip memory even
> though stack is relocated.
> 
> Signed-off-by: Nikhil M Jain <n-jain1 at ti.com>
> ---
>  common/spl/spl.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/common/spl/spl.c b/common/spl/spl.c
> index 72078a8ebc..206caf4f8b 100644
> --- a/common/spl/spl.c
> +++ b/common/spl/spl.c
> @@ -992,6 +992,7 @@ ulong spl_relocate_stack_gd(void)
>  #endif
>  	/* Get stack position: use 8-byte alignment for ABI compliance */
>  	ptr = CONFIG_SPL_STACK_R_ADDR - roundup(sizeof(gd_t),16);
> +	gd->start_addr_sp = ptr;
>  	new_gd = (gd_t *)ptr;

Seems to me you are setting gd->start_addr_sp to new gd's base address, are
they both supposed to be same ?

Vignesh, Tom,

Could you please have a look at this patch and comment ? Does the caller of
this function need to set gd->start_addr_sp or it's ok to set in here only?

Regards
Devarsh

>  	memcpy(new_gd, (void *)gd, sizeof(gd_t));
>  #if CONFIG_IS_ENABLED(DM)


More information about the U-Boot mailing list