public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Tom Rini <trini@konsulko.com>
To: Nathan Barrett-Morrison <nathan.morrison@timesys.com>
Cc: u-boot@lists.denx.de
Subject: Re: Falcon Mode Support For Uncompressed Kernel Images
Date: Tue, 19 Apr 2022 16:30:29 -0400	[thread overview]
Message-ID: <20220419203029.GA177037@bill-the-cat> (raw)
In-Reply-To: <CAPE2wM2kiwXqzu==RU3-JsVsdJeQWG3WYpzRrUMwDXf8o+HEwA@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 4756 bytes --]

On Wed, Feb 02, 2022 at 04:53:11PM -0500, Nathan Barrett-Morrison wrote:
> Hi Tom,
> 
> I've attached version 2 of the patch.  I believe this should adhere more
> closely to your suggestions.
> 
> Keep in mind, CONFIG_IS_ENABLED will not work for checking
> CMD_BOOTI/CMD_BOOTZ in this case, as there is no CONFIG_SPL_CMD_BOOTx.  So,
> I'm just directly checking if it's defined instead.
> 
> I verified both CONFIG_IS_ENABLED() and IS_ENABLED() did not work.
> 
> Sincerely,
> Nathan
> 
> On Mon, Jan 31, 2022 at 10:35 AM Tom Rini <trini@konsulko.com> wrote:
> 
> > On Mon, Jan 31, 2022 at 10:23:58AM -0500, Nathan Barrett-Morrison wrote:
> >
> > > Hi Tom,
> > >
> > > Yea, I'm not sure if uncompressed ARM32 would work, but I don't believe
> > it
> > > was ever working to begin with... as bootz_setup is being called right
> > now
> > > ( @
> > https://source.denx.de/u-boot/u-boot/-/blob/master/common/spl/spl.c#L366
> > > )
> > >
> > > My intent was for SPL_OS_BOOT_UNCOMPRESSED to only be used for platforms
> > > which need booti_setup (ARM64, ...).
> > >
> > > So... I could add a dependency on ARM64 in the config option or I could
> > > remove the option altogether and let the booti_setup fail and fallback to
> > > bootz_setup.  Would either of those work for you?
> >
> > The code and logic overall needs a bit of refactoring to support
> > "booti", "bootz" and also FIT images.  I believe FIT images are how
> > anyone doing falcon mode on arm64 has worked thus far.  booti/bootz
> > should only be an option when CMD_BOOTI/Z is set, and FIT should depend
> > on SPL_LOAD_FIT already.
> >
> > --
> > Tom
> >

> From 5d37f2a930e7cb3455b6ec925ec6e67b40d4c022 Mon Sep 17 00:00:00 2001
> From: Nathan Barrett Morrison <nathan.morrison@timesys.com>
> Date: Wed, 2 Feb 2022 15:05:18 -0500
> Subject: [PATCH v2] 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 images (i.e. ARM64).  This is only used while not booting via FIT image.
> 
> Signed-off-by: Nathan Barrett-Morrison <nathan.morrison@timesys.com>
> Cc: Tom Rini <trini@konsulko.com>
> ---
> Changes for v2:
>    - Remove original SPL_OS_BOOT_UNCOMPRESSED option and check via CMD_BOOTI and CMD_BOOTZ instead
> 
>  arch/arm/lib/Makefile |  5 ++++-
>  common/spl/spl.c      | 21 +++++++++++++++++++++
>  2 files changed, 25 insertions(+), 1 deletion(-)
> 
> diff --git a/arch/arm/lib/Makefile b/arch/arm/lib/Makefile
> index c48e1f622d..57e49f69f7 100644
> --- a/arch/arm/lib/Makefile
> +++ b/arch/arm/lib/Makefile
> @@ -36,7 +36,10 @@ 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
> +ifdef CONFIG_SPL_FRAMEWORK
> +obj-$(CONFIG_CMD_BOOTI) += image.o
> +obj-$(CONFIG_CMD_BOOTZ) += zimage.o
> +endif
>  obj-$(CONFIG_OF_LIBFDT) += bootm-fdt.o
>  endif
>  ifdef CONFIG_ARM64
> diff --git a/common/spl/spl.c b/common/spl/spl.c
> index f51d1f3205..1f6b3f1ac8 100644
> --- a/common/spl/spl.c
> +++ b/common/spl/spl.c
> @@ -104,6 +104,11 @@ int __weak bootz_setup(ulong image, ulong *start, ulong *end)
>  {
>  	 return 1;
>  }
> +
> +int __weak booti_setup(ulong image, ulong *relocated_addr, ulong *size, bool force_reloc)
> +{
> +	 return 1;
> +}
>  #endif
>  
>  /* Weak default function for arch/board-specific fixups to the spl_image_info */
> @@ -354,6 +359,21 @@ int spl_parse_image_header(struct spl_image_info *spl_image,
>  #endif
>  
>  #if CONFIG_IS_ENABLED(OS_BOOT)
> +#if defined(CMD_BOOTI)
> +		ulong start, size;
> +
> +		if (!booti_setup((ulong)header, &start, &size, 0)) {
> +			spl_image->name = "Linux";
> +			spl_image->os = IH_OS_LINUX;
> +			spl_image->load_addr = start;
> +			spl_image->entry_point = start;
> +			spl_image->size = size;
> +			debug(SPL_TPL_PROMPT
> +			      "payload Image, load addr: 0x%lx size: %d\n",
> +			      spl_image->load_addr, spl_image->size);
> +			return 0;
> +		}
> +#elif defined(CMD_BOOTZ)
>  		ulong start, end;
>  
>  		if (!bootz_setup((ulong)header, &start, &end)) {
> @@ -367,6 +387,7 @@ int spl_parse_image_header(struct spl_image_info *spl_image,
>  			      spl_image->load_addr, spl_image->size);
>  			return 0;
>  		}
> +#endif
>  #endif
>  
>  		if (!spl_parse_board_header(spl_image, (const void *)header, sizeof(*header)))

Sorry for the late response.  Attached patches aren't picked up by
patchwork.  I think this looks OK, but can you please re-send it
directly rather than as attachment?  Thanks.

-- 
Tom

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 659 bytes --]

  reply	other threads:[~2022-04-19 20:30 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-01-18  0:58 Falcon Mode Support For Uncompressed Kernel Images Nathan Barrett-Morrison
2022-01-31 15:11 ` Tom Rini
2022-01-31 15:23   ` Nathan Barrett-Morrison
2022-01-31 15:35     ` Tom Rini
2022-02-02 21:53       ` Nathan Barrett-Morrison
2022-04-19 20:30         ` Tom Rini [this message]
2022-04-19 21:16           ` Nathan Barrett-Morrison
2022-04-19 21:20             ` Nathan Barrett-Morrison
2022-04-19 21:28             ` Tom Rini
  -- strict thread matches above, loose matches on Subject: below --
2022-04-19 21:31 Nathan Barrett-Morrison
2022-04-19 21:36 ` Tom Rini

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220419203029.GA177037@bill-the-cat \
    --to=trini@konsulko.com \
    --cc=nathan.morrison@timesys.com \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox