[U-Boot] [U-Boot, v3] arm64: booti: allow to place kernel image anywhere in physical memory

Tom Rini trini at konsulko.com
Thu Mar 16 20:41:05 UTC 2017


On Thu, Mar 09, 2017 at 04:28:25PM +0900, Masahiro Yamada wrote:

> At first, the ARM64 Linux booting requirement recommended that the
> kernel image be placed text_offset bytes from 2MB aligned base near
> the start of usable system RAM because memory below that base address
> was unusable at that time.
> 
> This requirement was relaxed by Linux commit a7f8de168ace ("arm64:
> allow kernel Image to be loaded anywhere in physical memory").
> Since then, the bit 3 of the flags field indicates the tolerance
> of the kernel physical placement.  If this bit is set, the 2MB
> aligned base may be anywhere in physical memory.  For details, see
> Documentation/arm64/booting.txt of Linux.
> 
> The booti command should be also relaxed.  If the bit 3 is set,
> images->ep is respected, and the image is placed at the nearest
> bootable location.  Otherwise, it is relocated to the start of the
> system RAM to keep the original behavior.
> 
> Another wrinkle we need to take care of is the unknown endianness of
> text_offset for a kernel older than commit a2c1d73b94ed (i.e. v3.16).
> We can detect this based on the image_size field.  If the field is
> zero, just use a fixed offset 0x80000.
> 
> Signed-off-by: Masahiro Yamada <yamada.masahiro at socionext.com>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20170316/acd7ff49/attachment.sig>


More information about the U-Boot mailing list