[U-Boot] [PATCH v2 01/11] ARM: fix relocation on ARM926EJS

Marek Vasut marex at denx.de
Sun Sep 16 19:17:05 CEST 2012


Dear José Miguel Gonçalves,

> On 09/16/2012 04:36 PM, Marek Vasut wrote:
> > Dear José Miguel Gonçalves,
> > 
> >> On 09/16/2012 11:06 AM, Marek Vasut wrote:
> >>> Dear José Miguel Gonçalves,
> >>> 
> >>>> On 09/15/2012 07:03 PM, Marek Vasut wrote:
> >>>>> Dear José Miguel Gonçalves,
> >>>>> 
> >>>>>> Jumping to board_init_r is not performed due to a bug on address
> >>>>>> computation.
> >>>>> 
> >>>>> Is your CONFIG_SYS_TEXT_BASE configured correctly? I don't detect any
> >>>>> misbehavior on my arm926 boards.
> >>>> 
> >>>> Maybe because you are not using it to build an SPL?
> >>> 
> >>> I do ... and I use CONFIG_SPL_TEXT_BASE properly .
> >>> 
> >>>> Please check the same chunk of code in other start.S for arm1176 and
> >>>> armv7. They have the same code that I put for arm926ejs.
> >>> 
> >>> Please wait and please first explain what is the issue.
> >> 
> >> The issue is what I've explained in the patch comments.
> > 
> > "Jumping to board_init_r is not performed due to a bug on address
> > computation."
> > 
> > Ok, I don't know how to replicate the bug from this comment or what
> > effects it causes or ... well, anything. So please, try to be more
> > elaborate in your patch description next time. Anyway ..
> 
> My bad. I should be more explicit on the patch description.
> 
> >> Without this
> >> change the code never reaches board_init_r in the SPL and I think I have
> >> all the configurations correctly set.
> > 
> > I wonder why you'd ever want to reach board_init_r in the SPL. SPL is
> > there only to load the real U-Boot from whatever media, so you usually
> > use either NAND SPL or something like that.
> > 
> > What do you boot the rest from ?
> 
> Both SPL and U-Boot are in NAND Flash.
> 
> The board's SPL code in board/boardcon/mini2416/mini2416_spl.c that
> needs this patch was based on existing code from
> arch/arm/cpu/arm926ejs/davinci/spl.c and arm/cpu/armv7/omap-common/spl.c

CCing Tom, he's the SPL expert.

> The need to call relocate_code() in board_init_f() is explained on the
> SPL source comment, i.e., only to initialize .bss before we could use it
> in board_init_r() (in the serial driver initialization).
> 
> >> If the bug is not from here please
> >> suggest me what I need to change in the configuration in order to
> >> correctly boot my board.
> >> 
> >>>>>> Relocation offsets are not needed when building SPL.
> >>>>> 
> >>>>> Do they cause any trouble?
> >>>> 
> >>>> No! Just not needed.
> >>>> 
> >>>>>> Signed-off-by: José Miguel Gonçalves <jose.goncalves at inov.pt>
> >>>>>> ---
> >>>>>> 
> >>>>>> Changes for v2:
> >>>>>>       - None
> >>>>>> 
> >>>>>> ---
> >>>>>> 
> >>>>>>     arch/arm/cpu/arm926ejs/start.S |    4 +++-
> >>>>>>     1 file changed, 3 insertions(+), 1 deletion(-)
> >>>>>> 
> >>>>>> diff --git a/arch/arm/cpu/arm926ejs/start.S
> >>>>>> b/arch/arm/cpu/arm926ejs/start.S index 6f05f1a..2da5342 100644
> >>>>>> --- a/arch/arm/cpu/arm926ejs/start.S
> >>>>>> +++ b/arch/arm/cpu/arm926ejs/start.S
> >>>>>> 
> >>>>>> @@ -325,7 +325,7 @@ _nand_boot_ofs:
> >>>>>>     	.word nand_boot
> >>>>>>     
> >>>>>>     #else
> >>>>>>     
> >>>>>>     	ldr	r0, _board_init_r_ofs
> >>>>>> 
> >>>>>> -	ldr	r1, _TEXT_BASE
> >>>>>> +	adr	r1, _start
> >>>>>> 
> >>>>>>     	add	lr, r0, r1
> >>>>>>     	add	lr, lr, r9
> >>>>>>     	/* setup parameters for board_init_r */
> >>>>>> 
> >>>>>> @@ -338,12 +338,14 @@ _board_init_r_ofs:
> >>>>>>     	.word board_init_r - _start
> >>>>>>     
> >>>>>>     #endif
> >>>>>> 
> >>>>>> +#ifndef CONFIG_SPL_BUILD
> >>>>>> 
> >>>>>>     _rel_dyn_start_ofs:
> >>>>>>     	.word __rel_dyn_start - _start
> >>>>>>     
> >>>>>>     _rel_dyn_end_ofs:
> >>>>>>     	.word __rel_dyn_end - _start
> >>>>>>     
> >>>>>>     _dynsym_start_ofs:
> >>>>>>     	.word __dynsym_start - _start
> >>>>>> 
> >>>>>> +#endif
> >>>>>> 
> >>>>>>     /*
> >>>>>>     
> >>>>>>      ***************************************************************
> >>>>>>      *** *** ****
> >>>>> 
> >>>>> Best regards,
> >>>>> Marek Vasut
> >>>> 
> >>>> Best regards,
> >>>> José Gonçalves
> >>> 
> >>> Best regards,
> >>> Marek Vasut
> >> 
> >> Best regards,
> >> José Gonçalves


More information about the U-Boot mailing list