All of lore.kernel.org
 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.