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

Marek Vasut marex at denx.de
Sun Sep 16 17:36:47 CEST 2012


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 ..

> 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 ?

> 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