From mboxrd@z Thu Jan 1 00:00:00 1970 From: Zhong Hongbo Date: Wed, 05 Sep 2012 22:45:30 +0800 Subject: [U-Boot] [v3] arm: Fixed the offset for the no relocation. In-Reply-To: <50462502.6050203@denx.de> References: <1346568592-6832-1-git-send-email-bocui107@gmail.com> <201209030214.32639.marek.vasut@gmail.com> <50460A1B.9040102@gmail.com> <50462502.6050203@denx.de> Message-ID: <5047658A.8040501@gmail.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On 04/09/12 23:57, Stefano Babic wrote: > On 04/09/2012 16:03, Zhong Hongbo wrote: >> On 03/09/12 08:14, Marek Vasut wrote: >>> Dear Zhong Hongbo, >>> >>>> From: Zhong Hongbo >>>> >>>> When the u-boot address of destination equal to __start, >>>> no relocation. relocation offset(r9) = 0. >>> >>> Good, now what kind of issue does this patch fix? >> Hi Marek >> >> When you adopt CONFIG_SPL_BUILD framework, no CONFIG_NAND_SPL, if the >> addr of destination is equal to _start, we should skip u-boot relocation. >> >> In the last, u-boot will count the dest addr, see the below: >> >> >> adr r1, _start >> add lr, r0, r1 >> add lr, lr, r9 >> >> Here, lr = lr + r9, r9 is the offset of u-boot, So when it do not neet >> to reolocat, we need to set the zero value for r9 register. >> >> /* setup parameters for board_init_r */ >> mov r0, r5 /* gd_t */ >> mov r1, r6 /* dest_addr */ >> /* jump to it ... */ >> mov pc, lr > > I can confirm this issue - I see this when I ported SPL to a MX35 board. > However, clearing r9 was not enough. I had to fix also _rel_dyn_* to > make SPL working, and I did changing the start.S in the same way start.S > for arv7 is built. > > Do you not have these issues ? Hi Stefano, That is enough for my smdk6400 board. Thanks, hongbo > > Regards, > Stefano >