[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