[U-Boot] [PATCH] image: fit: Allow booting Aarch64 from arm

Michal Simek michal.simek at xilinx.com
Tue May 15 06:15:31 UTC 2018


On 14.5.2018 23:33, Ramon Fried wrote:
> Snapdragon bootloader needs to jump from 32bit to 64bit
> Allow booting in these cases when CONFIG_AARCH32_SUPPORT_ARM64 is defined.
> 
> Signed-off-by: Ramon Fried <ramon.fried at gmail.com>
> ---
>  common/image-fit.c | 9 ++++++++-
>  1 file changed, 8 insertions(+), 1 deletion(-)
> 
> diff --git a/common/image-fit.c b/common/image-fit.c
> index 5b93dceae1..62dbfbdd3d 100644
> --- a/common/image-fit.c
> +++ b/common/image-fit.c
> @@ -1253,17 +1253,24 @@ int fit_image_check_arch(const void *fit, int noffset, uint8_t arch)
>  {
>         uint8_t image_arch;
>         int aarch32_support = 0;
> +       int aarch64_support = 0;
> 
>  #ifdef CONFIG_ARM64_SUPPORT_AARCH32
>         aarch32_support = 1;
>  #endif
> 
> +#ifdef CONFIG_AARCH32_SUPPORT_ARM64
> +       aarch64_support = 1;
> +#endif
> +
>         if (fit_image_get_arch(fit, noffset, &image_arch))
>                 return 0;
>         return (arch == image_arch) ||
>                 (arch == IH_ARCH_I386 && image_arch == IH_ARCH_X86_64) ||
>                 (arch == IH_ARCH_ARM64 && image_arch == IH_ARCH_ARM &&
> -                aarch32_support);
> +                aarch32_support) ||
> +               (arch == IH_ARCH_ARM && image_arch == IH_ARCH_ARM64 &&
> +                aarch64_support);
>  }
> 
>  /**
> --
> 2.17.0
> 

Code above is aligned with previous support but I can't see that macro
in Kconfig.
Also it is kind of weird that on arm you can run i386 image. It could be
stopped later but that changes just suggest that this should be changed.

Thanks,
Michal


More information about the U-Boot mailing list