public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Alper Nebi Yasak <alpernebiyasak@gmail.com>
To: Simon Glass <sjg@chromium.org>,
	U-Boot Mailing List <u-boot@lists.denx.de>
Cc: "huang lin" <hl@rock-chips.com>,
	"Jeffy Chen" <jeffy.chen@rock-chips.com>,
	"Kever Yang" <kever.yang@rock-chips.com>,
	"Tom Rini" <trini@konsulko.com>,
	"Philippe Reynes" <philippe.reynes@softathome.com>,
	"Ivan Mikhaylov" <ivan.mikhaylov@siemens.com>,
	"Alexandru Gagniuc" <mr.nuke.me@gmail.com>,
	"Bin Meng" <bmeng.cn@gmail.com>,
	"Jaehoon Chung" <jh80.chung@samsung.com>,
	"Marek Behún" <marek.behun@nic.cz>,
	"Michal Simek" <michal.simek@xilinx.com>,
	"Pali Rohár" <pali@kernel.org>,
	"Ricardo Salveti" <ricardo@foundries.io>,
	"Stefan Roese" <sr@denx.de>
Subject: Re: [PATCH 04/24] spl: Allow disabling binman symbols in SPL
Date: Tue, 15 Feb 2022 14:42:51 +0300	[thread overview]
Message-ID: <ff6966e7-2d96-9f13-ff59-dc04fd0d2ccd@gmail.com> (raw)
In-Reply-To: <20220208185008.35843-3-sjg@chromium.org>

On 08/02/2022 21:49, Simon Glass wrote:
> When CONFIG_SPL_FIT is enabled we do not access U-Boot directly in
> the image, since it is embedded in a FIT which is parsed at runtime.
> 
> Provide a CONFIG option to drop the symbols in this case.
> 
> Signed-off-by: Simon Glass <sjg@chromium.org>
> ---
> 
>  common/spl/Kconfig | 24 ++++++++++++++++++++++++
>  common/spl/spl.c   |  4 ++++
>  2 files changed, 28 insertions(+)
> 
> diff --git a/common/spl/Kconfig b/common/spl/Kconfig
> index e0d0a6f77b..9418d37b2e 100644
> --- a/common/spl/Kconfig
> +++ b/common/spl/Kconfig
> @@ -101,6 +101,18 @@ config SPL_SHOW_ERRORS
>  
>  	  This adds a small amount to SPL code size, perhaps 100 bytes.
>  
> +config SPL_BINMAN_SYMBOLS
> +	bool "Declare binman symbols in SPL"
> +	depends on SPL_FRAMEWORK && BINMAN
> +	default y
> +	help
> +	  This enables use of symbols in SPL which refer to U-Boot, enabling SPL
> +	  to obtain the location of U-Boot simply by calling spl_get_image_pos()
> +	  and spl_get_image_size().
> +
> +	  For this to work, you must have a U-Boot image in the binman image, so
> +	  binman can update SPL with the location of it.
> +
>  menu "PowerPC and LayerScape SPL Boot options"
>  
>  config SPL_NAND_BOOT
> @@ -1321,6 +1333,18 @@ config TPL_SIZE_LIMIT
>  	  Specifies the maximum length of the U-Boot TPL image.
>  	  If this value is zero, it is ignored.
>  
> +config TPL_BINMAN_SYMBOLS
> +	bool "Declare binman symbols in SPL"

SPL -> TPL here and two more in the help text.

> +	depends on SPL_FRAMEWORK && BINMAN
> +	default y
> +	help
> +	  This enables use of symbols in TPL which refer to U-Boot, enabling SPL
> +	  to obtain the location of U-Boot simply by calling spl_get_image_pos()
> +	  and spl_get_image_size().
> +
> +	  For this to work, you must have a U-Boot image in the binman image, so
> +	  binman can update SPL with the location of it.
> +
>  config TPL_FRAMEWORK
>  	bool "Support TPL based upon the common SPL framework"
>  	default y if SPL_FRAMEWORK
> diff --git a/common/spl/spl.c b/common/spl/spl.c
> index 444907432c..b452d4feeb 100644
> --- a/common/spl/spl.c
> +++ b/common/spl/spl.c
> @@ -49,9 +49,11 @@ DECLARE_GLOBAL_DATA_PTR;
>  
>  u32 *boot_params_ptr = NULL;
>  
> +#if CONFIG_IS_ENABLED(BINMAN_SYMBOLS)
>  /* See spl.h for information about this */
>  binman_sym_declare(ulong, u_boot_any, image_pos);
>  binman_sym_declare(ulong, u_boot_any, size);
> +#endif
>  
>  #ifdef CONFIG_TPL
>  binman_sym_declare(ulong, u_boot_spl, image_pos);
> @@ -140,6 +142,7 @@ void spl_fixup_fdt(void *fdt_blob)
>  #endif
>  }
>  
> +#if CONFIG_IS_ENABLED(BINMAN_SYMBOLS)
>  ulong spl_get_image_pos(void)
>  {
>  	return spl_phase() == PHASE_TPL ?
> @@ -153,6 +156,7 @@ ulong spl_get_image_size(void)
>  		binman_sym(ulong, u_boot_spl, size) :
>  		binman_sym(ulong, u_boot_any, size);
>  }
> +#endif /* BINMAN_SYMBOLS */
>  
>  ulong spl_get_image_text_base(void)
>  {

  reply	other threads:[~2022-02-15 11:53 UTC|newest]

Thread overview: 69+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-02-08 18:49 [PATCH 00/24] binman: rockchip: Migrate from rockchip SPL_FIT_GENERATOR script Simon Glass
2022-02-08 18:49 ` [PATCH 01/24] moveconfig: Show the config name rather than the defconfig Simon Glass
2022-02-15 11:40   ` Alper Nebi Yasak
2022-02-23  2:35     ` Simon Glass
2022-02-23  2:43       ` Simon Glass
2022-02-08 18:49 ` [PATCH 02/24] moveconfig: Allow regex matches when finding combinations Simon Glass
2022-02-15 11:41   ` Alper Nebi Yasak
2022-02-23  2:35     ` Simon Glass
2022-02-08 18:49 ` [PATCH 03/24] spl: x86: Correct the binman symbols for SPL Simon Glass
2022-02-15 11:42   ` Alper Nebi Yasak
2022-02-23  2:35     ` Simon Glass
2022-02-23 22:58     ` Simon Glass
2022-03-03 21:06       ` Alper Nebi Yasak
2022-03-06  3:07         ` Simon Glass
2022-02-08 18:49 ` [PATCH 04/24] spl: Allow disabling binman symbols in SPL Simon Glass
2022-02-15 11:42   ` Alper Nebi Yasak [this message]
2022-02-23  2:35     ` Simon Glass
2022-02-08 18:49 ` [PATCH 05/24] rockchip: evb-rk3288: Drop raw-image support Simon Glass
2022-02-08 18:49 ` [PATCH 06/24] dtoc: Support adding a string list to a device tree Simon Glass
2022-02-15 11:43   ` Alper Nebi Yasak
2022-02-23  2:35     ` Simon Glass
2022-02-23 22:58     ` Simon Glass
2022-03-03 21:07       ` Alper Nebi Yasak
2022-03-06  3:07         ` Simon Glass
2022-02-08 18:49 ` [PATCH 07/24] dtoc: Support deleting a node Simon Glass
2022-02-08 18:49 ` [PATCH 08/24] dtoc: Allow deleting nodes and adding them in the same sync Simon Glass
2022-02-08 18:49 ` [PATCH 09/24] dtoc: Support reading a list of arguments Simon Glass
2022-02-15 11:43   ` Alper Nebi Yasak
2022-02-23  2:35     ` Simon Glass
2022-02-23 22:58     ` Simon Glass
2022-03-03 21:07       ` Alper Nebi Yasak
2022-02-08 18:49 ` [PATCH 10/24] binman: Update docs to indicate mkimage is supported Simon Glass
2022-02-23  2:35   ` Simon Glass
2022-02-08 18:49 ` [PATCH 11/24] elf: Add a way to read segment information from an ELF file Simon Glass
2022-02-15 11:44   ` Alper Nebi Yasak
2022-02-23  2:35     ` Simon Glass
2022-02-23 22:58     ` Simon Glass
2022-02-08 18:49 ` [PATCH 12/24] WIP: binman: Add support for OP-TEE Simon Glass
2022-02-08 18:49 ` [PATCH 13/24] binman: Add to the TODO Simon Glass
2022-02-08 18:49 ` [PATCH 14/24] binman: Support a list of strings with the mkimage etype Simon Glass
2022-02-15 11:45   ` Alper Nebi Yasak
2022-02-23  2:34     ` Simon Glass
2022-02-23 22:59     ` Simon Glass
2022-02-08 18:49 ` [PATCH 15/24] binman: Add a ELF test file with disjoint text sections Simon Glass
2022-02-08 18:50 ` [PATCH 16/24] binman: Move entry-data collection into a Entry method Simon Glass
2022-02-15 11:45   ` Alper Nebi Yasak
2022-02-23  2:34     ` Simon Glass
2022-02-08 18:50 ` [PATCH 17/24] binman: fit: Refactor to reduce function size Simon Glass
2022-02-15 11:45   ` Alper Nebi Yasak
2022-02-23  2:34     ` Simon Glass
2022-02-23 22:59     ` Simon Glass
2022-02-08 18:50 ` [PATCH 18/24] binman: Tidy up the docs a little with fit Simon Glass
2022-02-08 18:50 ` [PATCH 19/24] binman: Allow different operations in FIT generator nodes Simon Glass
2022-02-23  2:34   ` Simon Glass
2022-02-08 18:50 ` [PATCH 20/24] binman: Support splitting an ELF file into multiple nodes Simon Glass
2022-02-15 11:46   ` Alper Nebi Yasak
2022-02-23 22:59     ` Simon Glass
2022-03-03 21:07       ` Alper Nebi Yasak
2022-03-06  3:07         ` Simon Glass
2022-02-08 18:50 ` [PATCH 21/24] rockchip: Include binman script in 64-bit boards Simon Glass
2022-02-08 18:50 ` [PATCH 22/24] rockchip: Support building the all output files in binman Simon Glass
2022-02-10 15:03   ` Peter Geis
2022-02-10 18:57     ` Simon Glass
2022-02-10 19:32       ` Peter Geis
2022-02-14  1:28         ` Peter Geis
2022-02-15 11:48   ` Alper Nebi Yasak
2022-02-08 18:50 ` [PATCH 23/24] rockchip: Convert all boards to use binman Simon Glass
2022-02-08 18:50 ` [PATCH 24/24] rockchip: Drop the FIT generator script Simon Glass
2022-02-11 15:22 ` [PATCH 00/24] binman: rockchip: Migrate from rockchip SPL_FIT_GENERATOR script Alper Nebi Yasak

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=ff6966e7-2d96-9f13-ff59-dc04fd0d2ccd@gmail.com \
    --to=alpernebiyasak@gmail.com \
    --cc=bmeng.cn@gmail.com \
    --cc=hl@rock-chips.com \
    --cc=ivan.mikhaylov@siemens.com \
    --cc=jeffy.chen@rock-chips.com \
    --cc=jh80.chung@samsung.com \
    --cc=kever.yang@rock-chips.com \
    --cc=marek.behun@nic.cz \
    --cc=michal.simek@xilinx.com \
    --cc=mr.nuke.me@gmail.com \
    --cc=pali@kernel.org \
    --cc=philippe.reynes@softathome.com \
    --cc=ricardo@foundries.io \
    --cc=sjg@chromium.org \
    --cc=sr@denx.de \
    --cc=trini@konsulko.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