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

Philipp Tomsich philipp.tomsich at theobroma-systems.com
Tue Feb 20 09:00:26 UTC 2018


> 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>
> ---
> 
>  include/configs/rk3328_common.h | 2 +-
>  include/configs/rk3399_common.h | 2 +-
>  2 files changed, 2 insertions(+), 2 deletions(-)
> 

Applied to u-boot-rockchip/next, thanks!


More information about the U-Boot mailing list