[U-Boot] [PATCH v2 2/9] arm: Set up global data before board_init_f()

Jeroen Hofstee jeroen at myspectrum.nl
Tue Jul 8 22:00:36 CEST 2014


Hello Simon,

On 08-07-14 20:41, Simon Glass wrote:
> Hi Jeroen,
>
> On 8 July 2014 11:13, Jeroen Hofstee <jeroen at myspectrum.nl> wrote:
>>> diff --git a/arch/arm/include/asm/config.h b/arch/arm/include/asm/config.h
>>> index 2a20a77..abf79e5 100644
>>> --- a/arch/arm/include/asm/config.h
>>> +++ b/arch/arm/include/asm/config.h
>>> @@ -7,8 +7,6 @@
>>>    #ifndef _ASM_CONFIG_H_
>>>    #define _ASM_CONFIG_H_
>>>    -#define CONFIG_SYS_GENERIC_GLOBAL_DATA
>>> -
>>
>> This bricks aarch64 I guess.
> I'll see if I can add it there also.

If you manage actually boot an virtual aarch64 board (with console),
could you report how you did it. I gave up at the fifth loader or
something bl3.3?

>>>    #define CONFIG_LMB
>>>    #define CONFIG_SYS_BOOT_RAMDISK_HIGH
>>>    diff --git a/arch/arm/lib/crt0.S b/arch/arm/lib/crt0.S
>>> index dfc2de9..bbf3e41 100644
>>> --- a/arch/arm/lib/crt0.S
>>> +++ b/arch/arm/lib/crt0.S
>>> @@ -67,9 +67,16 @@ ENTRY(_main)
>>>          ldr     sp, =(CONFIG_SYS_INIT_SP_ADDR)
>>>    #endif
>>>          bic     sp, sp, #7      /* 8-byte alignment for ABI compliance */
>>> +       mov     r2, sp
>>>          sub     sp, sp, #GD_SIZE        /* allocate one GD above SP */
>>>          bic     sp, sp, #7      /* 8-byte alignment for ABI compliance */
>>>          mov     r9, sp          /* GD is above SP */
>>> +       mov     r1, r9
>>> +       mov     r0, #0
>>> +clr_gd:        cmp     r1, r2                  /* while not at end of BSS
nitpicking, personal taste I guess: could you hit enter after the clr_gd 
label?
>
>>> +       blo     clr_gd
>>>          mov     r0, #0
>>>          bl      board_init_f
>>>
>>
>> The mov r0, #0 for the argument could be removed, but at
>> least deserves a comment if you do so.
> OK, I'll add that too.

I leave that up to you.

Regards,
Jeroen


More information about the U-Boot mailing list