[U-Boot] [PATCH] armv8: Support loading 32-bit OS which is not in the form of FIT

Alison Wang alison.wang at nxp.com
Thu Jun 8 08:30:23 UTC 2017


Hi, Tom,

> On Tue, Jun 06, 2017 at 03:32:40PM +0800, Alison Wang wrote:
> 
> > As only FIT image is supported now, this patch is to support loading
> > 32-bit uImage, dtb and rootfs separately.
> >
> > Signed-off-by: Alison Wang <alison.wang at nxp.com>
> 
> Reviewed-by: Tom Rini <trini at konsulko.com>
> 
> However, entirely unrelated, I found this while reviewing the patch:
> $ grep IH_ARCH_ arch/arm/include/asm/arch-fsl-layerscape/mp.h
> #define IH_ARCH_ARM             2       /* ARM */
> #define IH_ARCH_ARM64           22      /* ARM64 */
> 
> And that's dangerous and whatever needs those defines needs to be using
> <image.h> instead where we have the canonical enum of those values.
> Please correct this, thanks!
> 
[Alison Wang] Thanks for your suggestion. Yes, it's dangerous and <image.h> should be used.

In <image.h>, IH_ARCH_ARM and IH_ARCH_ARM64 are defined in an enumeration type. In the assembly file arch/arm/cpu/armv8/fsl-layerscape/lowlevel.S, IH_ARCH_DEFAULT is used.

#ifndef CONFIG_ARM64
#define IH_ARCH_DEFAULT IH_ARCH_ARM
#else
#define IH_ARCH_DEFAULT IH_ARCH_ARM64
#endif

So IH_ARCH_ARM or IH_ARCH_ARM64 need to be used in the assembly code. The way to include <image.h> in the assembly file will cause more problems.

I will send a patch to use IH_ARCH_ARM and IH_ARCH_ARM64 in the C programming, and remove the duplicate definition in mp.h.

Best Regards,
Alison Wang


More information about the U-Boot mailing list