[U-Boot] [PATCH] rockchip: add text_offset to kernel_addr_r on aarch64 platforms

Dr. Philipp Tomsich philipp.tomsich at theobroma-systems.com
Mon Feb 19 09:23:59 UTC 2018


> On 19 Feb 2018, at 08:02, Klaus Goger <klaus.goger at theobroma-systems.com> wrote:
> 
> Booting a aarch64 Linux kernel requires the image to be placed
> text_offset bytes from a 2MB aligned address.
> See https://www.kernel.org/doc/Documentation/arm64/booting.txt
> 
> booti_setup() takes care about this alignment and will relocate the
> image if not properly aligned with memmove(). This can require up
> to double the size of the loaded image and therefore accidentally
> overwrite content placed there (i.e ramdisk_addr_r) for large kernel
> images.
> 
> By adding text_offset to the default kernel_addr_r we can prevent that
> from happening for kernels larger 18MB and also save a few cycles.
> 
> We can assume a text_offset of 0x80000 for most cases, all others will be
> handled by booti_setup() anyway.
> 
> Signed-off-by: Klaus Goger <klaus.goger at theobroma-systems.com>

Acked-by: Philipp Tomsich <philipp.tomsich at theobroma-systems.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich at theobroma-systems.com>


More information about the U-Boot mailing list