armv8: Support loading 32-bit OS in AArch32 execution state
authorAlison Wang <b18965@freescale.com>
Thu, 10 Nov 2016 02:49:03 +0000 (10:49 +0800)
committerYork Sun <york.sun@nxp.com>
Tue, 22 Nov 2016 19:40:24 +0000 (11:40 -0800)
commitec6617c39741adc6c54952564579e32c3c09c66f
tree2c65fb7ab999e39eb6acc0be8890eced30c950a1
parent95e74a3df75bf01eaf69f5c28f9aa2db6568e901
armv8: Support loading 32-bit OS in AArch32 execution state

To support loading a 32-bit OS, the execution state will change from
AArch64 to AArch32 when jumping to kernel.

The architecture information will be got through checking FIT image,
then U-Boot will load 32-bit OS or 64-bit OS automatically.

Signed-off-by: Ebony Zhu <ebony.zhu@nxp.com>
Signed-off-by: Alison Wang <alison.wang@nxp.com>
Signed-off-by: Chenhui Zhao <chenhui.zhao@nxp.com>
Reviewed-by: York Sun <york.sun@nxp.com>
arch/arm/Kconfig
arch/arm/cpu/armv8/fsl-layerscape/lowlevel.S
arch/arm/cpu/armv8/start.S
arch/arm/cpu/armv8/transition.S
arch/arm/include/asm/arch-fsl-layerscape/mp.h
arch/arm/include/asm/macro.h
arch/arm/include/asm/system.h
arch/arm/lib/bootm.c
arch/arm/mach-rmobile/lowlevel_init_gen3.S
cmd/bootefi.c
common/image-fit.c