[PATCH] rockchip: Set default LNX_KRNL_IMG_TEXT_OFFSET_BASE to SYS_TEXT_BASE

Kever Yang kever.yang at rock-chips.com
Mon Mar 14 09:00:40 CET 2022


Hi Alper,

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>

Thanks,
- Kever
> ---
> 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"
> --
> 2.34.1
>


More information about the U-Boot mailing list