From 0fff19a6782909f5b1b280b993d0010f45eb5b18 Mon Sep 17 00:00:00 2001 From: Scott Wood Date: Thu, 26 Jan 2017 16:55:44 -0600 Subject: [PATCH] booti: Set images.os.arch Commit ec6617c39741adc6c549 ("armv8: Support loading 32-bit OS in AArch32 execution state") broke SMP boot by assuming that an image is 32-bit if the arch field in the spin table != IH_ARCH_DEFAULT (i.e. IH_ARCH_ARM64), even if the arch field also does not match IH_ARCH_ARM, even though nothing actually set the arch field in the spin table. Commit e2c18e40b111470f ("armv8: fsl-layerscape: SMP support for loading 32-bit OS") fixed this for bootm by setting the arch field of the spin table based on images.os.arch, but booti remaineed broken because it did not set images.os.arch. Fixes: ec6617c39741adc6c549 ("armv8: Support loading 32-bit OS in AArch32 execution state") Fixes: e2c18e40b111 ("armv8: fsl-layerscape: SMP support for loading 32-bit OS") Cc: Alison Wang Cc: Chenhui Zhao Cc: York Sun Cc: Stuart Yoder Signed-off-by: Scott Wood Reviewed-by: Tom Rini --- cmd/booti.c | 1 + 1 file changed, 1 insertion(+) diff --git a/cmd/booti.c b/cmd/booti.c index 2d879f3..bff87a8 100644 --- a/cmd/booti.c +++ b/cmd/booti.c @@ -131,6 +131,7 @@ int do_booti(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) bootm_disable_interrupts(); images.os.os = IH_OS_LINUX; + images.os.arch = IH_ARCH_ARM64; ret = do_bootm_states(cmdtp, flag, argc, argv, #ifdef CONFIG_SYS_BOOT_RAMDISK_HIGH BOOTM_STATE_RAMDISK |