[U-Boot] [PATCH 2/2] RFT: arm: Switch aarch64 to using generic global_data setup
York Sun
yorksun at freescale.com
Fri Aug 21 20:57:45 CEST 2015
> On Aug 17, 2015, at 8:43 PM, Simon Glass <sjg at chromium.org> wrote:
>
> There is quite a bit of assembler code that can be removed if we use the
> generic global_data setup. Less arch-specific code makes it easier to add
> new features and maintain the start-up code.
>
> Drop the unneeded code and adjust the hooks in board_f.c to cope.
>
> Signed-off-by: Simon Glass <sjg at chromium.org>
> ---
>
> arch/arm/lib/crt0_64.S | 15 +++------------
> 1 file changed, 3 insertions(+), 12 deletions(-)
>
> diff --git a/arch/arm/lib/crt0_64.S b/arch/arm/lib/crt0_64.S
> index 98a906e..31fc3b4 100644
> --- a/arch/arm/lib/crt0_64.S
> +++ b/arch/arm/lib/crt0_64.S
> @@ -66,19 +66,10 @@ ENTRY(_main)
> #else
> ldr x0, =(CONFIG_SYS_INIT_SP_ADDR)
> #endif
> - sub x18, x0, #GD_SIZE /* allocate one GD above SP */
> - bic x18, x18, #0x7 /* 8-byte alignment for GD */
> -zero_gd:
> - sub x0, x0, #0x8
> - str xzr, [x0]
> - cmp x0, x18
> - b.gt zero_gd
> -#if defined(CONFIG_SYS_MALLOC_F_LEN)
> - ldr x0, =CONFIG_SYS_MALLOC_F_LEN
> - sub x0, x18, x0
> - str x0, [x18, #GD_MALLOC_BASE]
> -#endif
> bic sp, x0, #0xf /* 16-byte alignment for ABI compliance */
> + bl board_init_f_mem
> + mov sp, x0
> +
> mov x0, #0
> bl board_init_f
Let me try again. Previous reply went to a separated thread in patchwork.
Tested on LS2085ARDB and LS2085AQDS (armv8 SoC).
Tested-by: York Sun <yorksun at freescale.com>
More information about the U-Boot
mailing list