Hi All, I have finally achieved my goal of creating a fully relocatable u-boot.bin image. What this means is that U-Boot can be build for any TEXT_BASE and loaded at any RAM address (see caveat 2 below) and executed using the 'go' command. U-Boot will relocate to upper memory and run as if loaded from flash (skipping any low-level intitialisation routines which should only eve be run once)
There are a couple of restrictions: 1) The image is not position independent in Flash - There are several x86 architectural limitations involving the Interrupt and Global descriptor tables which prevent cannot be circumvented. 2) TEXT_BASE and the load address must be 4-byte aligned. The real work it getting the relocation working happens in patches 9 through 19. The first 8 patches are a combination of leftovers which did not make it into the last merge window and some odds and ends that have been bugging me for a while now. If there are no objections / corrections etc I plan on applying this patch series to the x86 repository at the end of this week (I will be away on holidays during the closure of the merge window, so I want to get the pull request ready ASAP) _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot