public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot] [PATCH 00/19] x86: Create fully relocatable U-Boot image
@ 2010-10-04  3:37 Graeme Russ
  2010-10-04  3:37 ` [U-Boot] [PATCH 01/19] x86: Make CONFIG_RELOC_FIXUP_WORKS generic for all x86 boards Graeme Russ
                   ` (18 more replies)
  0 siblings, 19 replies; 26+ messages in thread
From: Graeme Russ @ 2010-10-04  3:37 UTC (permalink / raw)
  To: u-boot

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)

^ permalink raw reply	[flat|nested] 26+ messages in thread

end of thread, other threads:[~2010-10-04 21:49 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-10-04  3:37 [U-Boot] [PATCH 00/19] x86: Create fully relocatable U-Boot image Graeme Russ
2010-10-04  3:37 ` [U-Boot] [PATCH 01/19] x86: Make CONFIG_RELOC_FIXUP_WORKS generic for all x86 boards Graeme Russ
2010-10-04  3:37 ` [U-Boot] [PATCH 02/19] x86: Use TEXT_BASE in linker scripts Graeme Russ
2010-10-04  3:37 ` [U-Boot] [PATCH 03/19] x86: zboot update Graeme Russ
2010-10-04  9:54   ` Sergei Shtylyov
2010-10-04 10:00     ` Graeme Russ
2010-10-04  3:37 ` [U-Boot] [PATCH 04/19] x86: use gc sections to reduce image size Graeme Russ
2010-10-04  3:37 ` [U-Boot] [PATCH 05/19] x86: Move loading of GTD to C code Graeme Russ
2010-10-04  3:37 ` [U-Boot] [PATCH 06/19] x86: Coding Style Cleanup Graeme Russ
2010-10-04  3:37 ` [U-Boot] [PATCH 07/19] x86: Change compiler options Graeme Russ
2010-10-04  3:37 ` [U-Boot] [PATCH 08/19] x86: Fix %ss and %esp in register structure for interrupts Graeme Russ
2010-10-04  3:37 ` [U-Boot] [PATCH 09/19] x86: Remove progress indication in low-level init Graeme Russ
2010-10-04  3:37 ` [U-Boot] [PATCH 10/19] x86: Move ECC initialisation outside RAM initialisation Graeme Russ
2010-10-04  9:59   ` Sergei Shtylyov
2010-10-04 10:06     ` Graeme Russ
2010-10-04 10:21       ` Wolfgang Denk
2010-10-04 21:49         ` Graeme Russ
2010-10-04  3:37 ` [U-Boot] [PATCH 11/19] x86: Remove usage of %ebp as a return pointer Graeme Russ
2010-10-04  3:37 ` [U-Boot] [PATCH 12/19] x86: Don't clobber %ebx Graeme Russ
2010-10-04  3:37 ` [U-Boot] [PATCH 13/19] x86: Dont clobber %eax after getting memory size Graeme Russ
2010-10-04  3:37 ` [U-Boot] [PATCH 14/19] x86: Place global data below stack before entering C Graeme Russ
2010-10-04  3:37 ` [U-Boot] [PATCH 15/19] x86: Set cold/warm boot flag Graeme Russ
2010-10-04  3:38 ` [U-Boot] [PATCH 16/19] x86: Rename linker script symbols Graeme Russ
2010-10-04  3:38 ` [U-Boot] [PATCH 17/19] x86: Rearrange linker script Graeme Russ
2010-10-04  3:38 ` [U-Boot] [PATCH 18/19] x86: Use loops instead of memcpy/memset in board_init_f Graeme Russ
2010-10-04  3:38 ` [U-Boot] [PATCH 19/19] x86: Implement fully relocatable image Graeme Russ

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox