From mboxrd@z Thu Jan 1 00:00:00 1970 From: Marek Vasut Date: Sun, 16 Sep 2012 19:17:05 +0200 Subject: [U-Boot] [PATCH v2 01/11] ARM: fix relocation on ARM926EJS In-Reply-To: <5055FDB0.3050808@inov.pt> References: <1347643742-19966-1-git-send-email-jose.goncalves@inov.pt> <201209161736.47963.marex@denx.de> <5055FDB0.3050808@inov.pt> Message-ID: <201209161917.06099.marex@denx.de> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de 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 > >>>>>> --- > >>>>>> > >>>>>> 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