[PATCH] spl: spl_legacy: Fix spl_end address for non ARM target

Marek Vasut marex at denx.de
Mon Jul 31 16:17:39 CEST 2023


On 7/31/23 13:57, Shiji Yang wrote:
> Only ARM target defines _image_binary_end symbol as char*, All other
> targets define it as an ulong type in include/asm-generic/sections.h.
> 
> This patch fixes the boot failure on MIPS target. Error log:
> SPL: Image overlaps SPL
> 
> Fixes: 1b8a1be1a1f1 ("spl: spl_legacy: Fix spl_end address")
> Signed-off-by: Shiji Yang <yangshiji66 at outlook.com>
> ---
>   common/spl/spl_legacy.c | 6 +++++-
>   1 file changed, 5 insertions(+), 1 deletion(-)
> 
> diff --git a/common/spl/spl_legacy.c b/common/spl/spl_legacy.c
> index 095443c63d..0fef890384 100644
> --- a/common/spl/spl_legacy.c
> +++ b/common/spl/spl_legacy.c
> @@ -18,9 +18,13 @@
>   
>   static void spl_parse_legacy_validate(uintptr_t start, uintptr_t size)
>   {
> +	uintptr_t end = start + size;
>   	uintptr_t spl_start = (uintptr_t)_start;
> +#ifdef CONFIG_ARM
>   	uintptr_t spl_end = (uintptr_t)_image_binary_end;
> -	uintptr_t end = start + size;
> +#else
> +	uintptr_t spl_end = (uintptr_t)&_image_binary_end;

I _think_ only this extra & should be enough and that should also work 
on ARM, right ?

[...]


More information about the U-Boot mailing list