On 04/09/2012 16:03, Zhong Hongbo wrote: > On 03/09/12 08:14, Marek Vasut wrote: >> Dear Zhong Hongbo, >> >>> From: Zhong Hongbo <bocui...@gmail.com> >>> >>> 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 ? Regards, Stefano -- ===================================================================== DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sba...@denx.de ===================================================================== _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot