
On 03/09/12 08:14, Marek Vasut wrote:
Dear Zhong Hongbo,
From: Zhong Hongbo bocui107@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
Thanks, hongbo
Signed-off-by: Zhong Hongbo bocui107@gmail.com
Change for V3:
- Drop the change of arm720t, It has already merge the change.
Change for V2:
- Clean a line for arm1176.
[...]
Best regards, Marek Vasut