
On 7/4/07, Robert Schwebel r.schwebel@pengutronix.de wrote:
On Tue, Jul 03, 2007 at 09:36:03AM -0600, Grant Likely wrote:
If you do not use statically initialized pointer on startup and running at the link address after startup, you do not need to fixup anything.
... assuming that the u-boot design goal is changed to use a static relocation address instead of the detected end of RAM.
Can you elaborate the use case for that scenario?
Not all boards have a fixed amount of RAM. Some boards have a DIMM slot, and some boards have variants with differing RAM sizes. U-boot is designed to always exist at the end of available RAM, so with those boards u-boot calculates where the end of ram is, relocates itself there and fixes up the pointer references to point to the new location. To do this, u-boot must be compiled as position independent code (-fPIC) and with with relocation tables.
Cheers, g.