[PATCH] rockchip: Set default LNX_KRNL_IMG_TEXT_OFFSET_BASE to SYS_TEXT_BASE
kever.yang at rock-chips.com
Mon Mar 14 09:00:40 CET 2022
Alper Nebi Yasak <alpernebiyasak at gmail.com> 于2022年1月29日周六 23:28写道：
> U-Boot can be chainloaded from vendor firmware on ARM64 chromebooks from
> a GPT partition (roughly the same as in doc/chromium/chainload.rst), but
> an appropriate image header must be built-in to the U-Boot binary by
> enabling LINUX_KERNEL_IMAGE_HEADER.
> This header has a field for an image load offset from 2MiB alignment
> which must also be customized through LNX_KRNL_IMG_TEXT_OFFSET_BASE.
> Set it equal to SYS_TEXT_BASE by default for Rockchip boards, which
> happens to make this offset zero and works fine on chromebook_kevin
> both for chainloading and bare-metal use.
> Signed-off-by: Alper Nebi Yasak <alpernebiyasak at gmail.com>
Reviewed-by: Kever Yang <kever.yang at rock-chips.com>
> Looks like ARM64 chromebooks also need POSITION_INDEPENDENT=y to
> chainload that way, but I'm not enabling the configs here. I'm thinking
> of selecting these from new configs that also enable binman definitions
> for the kernel partition and legacy boot images.
> arch/arm/mach-rockchip/Kconfig | 3 +++
> 1 file changed, 3 insertions(+)
> diff --git a/arch/arm/mach-rockchip/Kconfig b/arch/arm/mach-rockchip/Kconfig
> index 92f35309e4a6..308dc09b0389 100644
> --- a/arch/arm/mach-rockchip/Kconfig
> +++ b/arch/arm/mach-rockchip/Kconfig
> @@ -390,6 +390,9 @@ config ROCKCHIP_SPI_IMAGE
> containing U-Boot. The image is built by binman. U-Boot sits near
> the start of the image.
> +config LNX_KRNL_IMG_TEXT_OFFSET_BASE
> + default SYS_TEXT_BASE
> source "arch/arm/mach-rockchip/px30/Kconfig"
> source "arch/arm/mach-rockchip/rk3036/Kconfig"
> source "arch/arm/mach-rockchip/rk3128/Kconfig"
More information about the U-Boot