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