[U-Boot] [PATCH 00/19] x86: Create fully relocatable U-Boot image
Graeme Russ
graeme.russ at gmail.com
Mon Oct 4 05:37:44 CEST 2010
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)
More information about the U-Boot
mailing list