[U-Boot] [PATCH] image: Allow images to indicate they're loadable at any address

Simon Glass sjg at chromium.org
Mon Oct 31 22:20:31 CET 2011


On Mon, Oct 24, 2011 at 6:59 AM, Stephen Warren <swarren at nvidia.com> wrote:
> The legacy uImage format includes an absolute load and entry-
> point address. When presented with a uImage in memory that
> isn't loaded at the address in the image's load address,
> U-Boot will relocate the image to its address in the header.
>
> Some payloads can actually be loaded and used at any arbitrary
> address. An example is an ARM Linux kernel zImage file. This
> is useful when sharing a single zImage across multiple boards
> with different memory layouts, or U-Boot builds with different
> ${load_addr} since sharing a single absolute load address may
> not be possible.
>
> With this config option enabled, an image header may contain a
> load address of -1/0xffffffff. This indicates the image can
> operate at any load address, and U-Boot will avoid automtically
> copying it anywhere. In this case, the entry-point field is
> specified relative to the start of the image payload.
>
> Signed-off-by: Stephen Warren <swarren at nvidia.com>

Tested-by: Simon Glass <sjg at chromium.org>

> ---
> Wolfgang,
>
> This is an much simpler and less invasive alternative to my previous
> IH_TYPE_KERNEL_REL patch. If it's OK, you can ignore that patch.
>
> u-boot.bin sizes for Tegra Seaboard without/with this config option on:
>
>   text    data     bss     dec     hex filename
>  165858    3565  217016  386439   5e587 ./u-boot
>
> with:
>
>   text    data     bss     dec     hex filename
>  165950    3565  217012  386527   5e5df ./u-boot
>
>  README             |   23 +++++++++++++++++++++++
>  common/cmd_bootm.c |    4 ++++
>  common/image.c     |   27 +++++++++++++++++++++++++++
>  include/image.h    |    4 ++++
>  4 files changed, 58 insertions(+), 0 deletions(-)
>


More information about the U-Boot mailing list