Message ID | 1485471344-32079-1-git-send-email-oss@buserror.net |
---|---|
State | Accepted |
Commit | 0fff19a6782909f5b1b280b993d0010f45eb5b18 |
Delegated to: | Tom Rini |
Headers | show |
On Thu, Jan 26, 2017 at 04:55:44PM -0600, Scott Wood wrote: > 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 <alison.wang@nxp.com> > Cc: Chenhui Zhao <chenhui.zhao@nxp.com> > Cc: York Sun <york.sun@nxp.com> > Cc: Stuart Yoder <stuart.yoder@nxp.com> > Signed-off-by: Scott Wood <oss@buserror.net> Reviewed-by: Tom Rini <trini@konsulko.com>
On Thu, Jan 26, 2017 at 04:55:44PM -0600, Scott Wood wrote: > 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 <alison.wang@nxp.com> > Cc: Chenhui Zhao <chenhui.zhao@nxp.com> > Cc: York Sun <york.sun@nxp.com> > Cc: Stuart Yoder <stuart.yoder@nxp.com> > Signed-off-by: Scott Wood <oss@buserror.net> > Reviewed-by: Tom Rini <trini@konsulko.com> Applied to u-boot/master, thanks!
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 |
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 <alison.wang@nxp.com> Cc: Chenhui Zhao <chenhui.zhao@nxp.com> Cc: York Sun <york.sun@nxp.com> Cc: Stuart Yoder <stuart.yoder@nxp.com> Signed-off-by: Scott Wood <oss@buserror.net> --- cmd/booti.c | 1 + 1 file changed, 1 insertion(+)