[U-Boot] [PATCH v5 12/23] Add spl load feature

Simon Glass sjg at chromium.org
Sun Mar 3 00:39:53 CET 2013


Hi Scott,

On Tue, Feb 12, 2013 at 2:34 PM, Scott Wood <scottwood at freescale.com> wrote:
> On 02/12/2013 04:23:21 PM, Simon Glass wrote:
>>
>> +Albert
>>
>> Hi Scott,
>>
>> On Tue, Feb 12, 2013 at 12:29 PM, Scott Wood <scottwood at freescale.com>
>> wrote:
>> > On 02/08/2013 09:12:08 AM, Simon Glass wrote:
>> >>
>> >> This adds secondary program loader support to the generic board.
>> >>
>> >> Signed-off-by: Simon Glass <sjg at chromium.org>
>> >> ---
>> >> Changes in v5: None
>> >> Changes in v4: None
>> >> Changes in v3: None
>> >> Changes in v2: None
>> >>
>> >>  common/board_f.c | 20 ++++++++++++++++++++
>> >>  1 file changed, 20 insertions(+)
>> >>
>> >> diff --git a/common/board_f.c b/common/board_f.c
>> >> index aa10f4b..3a8036f 100644
>> >> --- a/common/board_f.c
>> >> +++ b/common/board_f.c
>> >> @@ -309,6 +309,7 @@ static int reserve_uboot(void)
>> >>         return 0;
>> >>  }
>> >>
>> >> +#ifndef CONFIG_SPL_BUILD
>> >>  /* reserve memory for malloc() area */
>> >>  static int reserve_malloc(void)
>> >>  {
>> >> @@ -328,6 +329,7 @@ static int reserve_board(void)
>> >>                         sizeof(bd_t), gd->dest_addr_sp);
>> >>         return 0;
>> >>  }
>> >> +#endif
>> >>
>> >>  static int setup_machine(void)
>> >>  {
>> >> @@ -365,6 +367,7 @@ static int reserve_fdt(void)
>> >>         return 0;
>> >>  }
>> >>
>> >> +#ifndef CONFIG_SPL_BUILD
>> >>  static int reserve_stacks(void)
>> >>  {
>> >>         /* setup stack pointer for exceptions */
>> >> @@ -384,6 +387,17 @@ static int reserve_stacks(void)
>> >>
>> >>         return 0;
>> >>  }
>> >> +#endif
>> >> +
>> >> +#ifdef CONFIG_SPL_BUILD
>> >> +static int reserve_stacks_spl(void)
>> >> +{
>> >> +       /* Why not -= ? */
>> >> +       gd->dest_addr_sp += 128;        /* leave 32 words for
>> >> abort-stack
>> >> */
>> >> +       gd->irq_sp = gd->dest_addr_sp;
>> >> +       return 0;
>> >> +}
>> >> +#endif
>> >
>> >
>> > "abort-stack" doesn't sound very generic, and that "why not" question
>> > should
>> > probably be answered.
>>
>> I'm not sure what you mean by the first comment.
>
>
> It's ARM-specific terminology ("exception" is more typical than "abort"
> elsewhere).  Why 32 words, BTW?  Why is it larger in SPL versus non-SPL?

These are good questions but I don't know the answers. I guess the
abort stack may need enough space to panic()?

I am copying code from the various arch/xxx/board.c files in order to
merge them.

Regards,
Simon


>
> -Scott


More information about the U-Boot mailing list