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

Wolfgang Denk
2011-11-07T22:27:36Z

Dear Marek Vasut,

In message <201111072204.41980.marek.vasut@gmail.com> you wrote:
>
> You have that runtime patching stuff in linux-arm-kernel now, there should be no
> problem with that anymore actually. So basically I understood there was an
> agreement to make special uImage/fitImage which ... oh doh, here is where I'm
> getting lost. Is it that the kernel will still be copied to address, but a
> relative one to where uImage is loaded -- and the entrypoint will be relative to
> that same address?

Relative to the start of the system RAM.

See
http://thread.gmane.org/gmane.linux.ports.arm.kernel/117512/focus=119281

There are to interesting pieces of information nicely summarized:

1) zImages are are relocatable. They should be loaded and started at
offsets between 32 KiB and 128 MiB in system RAM.

2) Raw images (without the preloader) have to be started at a fixed
address, virt_to_phys(PAGE_OFFSET + TEXT_OFFSET), which usually is
at an offset of 32 KiB in system RAM (with very few exzceptions).

Both sitations can be handled perfectly find with offset addresses in
the images.

When building the images from the kernel Makefiles, we can also make
sure that such architecture specific addresses are correctly set.

This allows to boot such images without additional configuration or
adjustment of load and start addresses in the boot loader.

With Stephen's new approach, we could only use the zImage approach,
and we have to add additional configuration information to the boot
loader.

Best regards,

Wolfgang Denk

--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
"Free markets select for winning solutions." - Eric S. Raymond