On Mon, Jan 17, 2022 at 07:58:00PM -0500, Nathan Barrett-Morrison wrote: > Hi All, > > While trying to bring up Falcon Mode boot on an ARM64 board, I discovered > that there is no path which allows you to use an uncompressed kernel image > (booti). I've added this path and attached the relevant patch. > > I've made this a separate if/else CONFIG option instead of allowing both > bootz+booti paths to coexist, as it seems unlikely to me that there would > be such a board which needs both. Most architectures use either bootz or > booti, but not both. > > Sincerely, > Nathan Barrett-Morrison
> From d5542ccc2d4f81ac0442be8ca772a99e1a13b6dd Mon Sep 17 00:00:00 2001 > From: Nathan Barrett-Morrison <nathan.morri...@timesys.com> > Date: Mon, 17 Jan 2022 19:42:10 -0500 > Subject: [PATCH] Add in the ability to load and boot an uncompressed > kernel image during the Falcon Mode boot sequence. This is required for > architectures which do not support compressed kernel image booting (i.e., > ARM64) > > Signed-off-by: Nathan Barrett-Morrison <nathan.morri...@timesys.com> > Cc: Tom Rini <tr...@konsulko.com> > Cc: Aneesh V <ane...@ti.com> > --- > arch/arm/lib/Makefile | 2 +- > common/spl/Kconfig | 6 ++++++ > common/spl/spl.c | 21 +++++++++++++++++++++ > 3 files changed, 28 insertions(+), 1 deletion(-) > > diff --git a/arch/arm/lib/Makefile b/arch/arm/lib/Makefile > index c48e1f622d..24c9e3c1e5 100644 > --- a/arch/arm/lib/Makefile > +++ b/arch/arm/lib/Makefile > @@ -36,7 +36,7 @@ obj-$(CONFIG_CMD_BOOTZ) += bootm.o zimage.o > obj-$(CONFIG_SYS_L2_PL310) += cache-pl310.o > else > obj-$(CONFIG_$(SPL_TPL_)FRAMEWORK) += spl.o > -obj-$(CONFIG_SPL_FRAMEWORK) += zimage.o > +obj-$(CONFIG_SPL_FRAMEWORK) += zimage.o image.o > obj-$(CONFIG_OF_LIBFDT) += bootm-fdt.o > endif > ifdef CONFIG_ARM64 > diff --git a/common/spl/Kconfig b/common/spl/Kconfig > index 4a739a7421..6d2ddddc9f 100644 > --- a/common/spl/Kconfig > +++ b/common/spl/Kconfig > @@ -917,6 +917,12 @@ config SYS_OS_BASE > Specify the address, where the OS image is found, which > gets booted. > > +config SPL_OS_BOOT_UNCOMPRESSED > + bool "Use uncompressed kernel image alongside Falcon Mode" > + depends on SPL_SPI_LOAD > + help > + Use an uncompressed kernel image to boot. This is targetting > + architectures which use booti instead of bootz (i.e, ARM64). > endif # SPL_OS_BOOT We shouldn't need another CONFIG option here, and this would then I believe fail to boot uncompressed arm32 images. The real problem I think is that the code assumed bootm/bootz but needs to instead be more explicit in checking / supporting each and then also yes, adding booti support. Following up with also supporting compressed Images may or may not take additional logic, I'm not sure off-hand. -- Tom
signature.asc
Description: PGP signature