[U-Boot] [PATCH v1] armv8: spl: Call spl_relocate_stack_gd for ARMv8
André Przywara
andre.przywara at arm.com
Fri Feb 17 23:04:21 UTC 2017
On 17/02/17 17:36, Philipp Tomsich wrote:
> As part of the startup process for boards using the SPL, we need to
> call spl_relocate_stack_gd. This is needed to set up malloc with its
> DRAM buffer.
>
> Signed-off-by: Philipp Tomsich <philipp.tomsich at theobroma-systems.com>
> ---
> arch/arm/lib/crt0_64.S | 8 +++++++-
> 1 file changed, 7 insertions(+), 1 deletion(-)
>
> diff --git a/arch/arm/lib/crt0_64.S b/arch/arm/lib/crt0_64.S
> index 19c6a98..05a80ee 100644
> --- a/arch/arm/lib/crt0_64.S
> +++ b/arch/arm/lib/crt0_64.S
> @@ -105,15 +105,21 @@ ENTRY(_main)
> relocation_return:
>
> /*
> * Set up final (full) environment
> */
> bl c_runtime_cpu_setup /* still call old routine */
> #endif /* !CONFIG_SPL_BUILD */
> -
> +#if defined(CONFIG_SPL_BUILD)
> + bl spl_relocate_stack_gd
> + mov x1, sp
> + adds x0, x0, xzr
Wouldn't that be clearer?
tst x0, x0
> + csel x0, x0, x1, ne
> + mov sp, x0
> +#endif
> /* TODO: For SPL, call spl_relocate_stack_gd() to alloc stack relocation */
I guess this comment can go then, right?
Thanks,
Andre.
>
> /*
> * Clear BSS section
> */
> ldr x0, =__bss_start /* this is auto-relocated! */
> ldr x1, =__bss_end /* this is auto-relocated! */
>
More information about the U-Boot
mailing list