
Dear E Robertson,
In message 200908251428.55255.e.robertson.svg@gmail.com you wrote:
In message 200908251403.20809.e.robertson.svg@gmail.com you wrote:
I am using the at91sam9263 device from which the bootstrap code load u-boot to the desired ram address. However, I would like to re-relocate this at the different address based on memory availability. Can / or should this be done?
Yes, it can be done, and it should be done. The fact that we don't do it so far is due to the fact that the guys who did the original ARM code found this too complicated (even though they had a working example in the PowerPC code) and not worth the effort. We're suffering since from this misconception.
But there is no reason why you would have to copy the code again - just copy it to the correct address right from the beginning, like we do in PowerPC.
I don't follow: Yes, but no reason to do so?
You wrote: "re-relocate". This is bogus. Just relocate it once, to the correct address.
On the 9263, it's copied once to ram at boot. Are you saying their is no reason to copy it again? If so, yes, in most cases that would be true but I would like to move it again after that initial relocation. Since I've already specified my start address, I wasn't sure about.
Fix the ARM relocating scheme such that it works like in PowerPC: link the image not for a RAM address, but for the address in flash. Then, after determining the RAM size, copy & relocate the code once to RAM. Only one copy. Not two.
Best regards,
Wolfgang Denk