[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