All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ilias Apalodimas <ilias.apalodimas@linaro.org>
To: Simon Glass <sjg@chromium.org>
Cc: U-Boot Mailing List <u-boot@lists.denx.de>,
	Tom Rini <trini@konsulko.com>, Marek Vasut <marex@denx.de>,
	Baruch Siach <baruch@tkos.co.il>, Bin Meng <bmeng.cn@gmail.com>,
	Heinrich Schuchardt <xypron.glpk@gmx.de>,
	Jerry Van Baren <vanbaren@cideas.com>,
	Michal Simek <michal.simek@amd.com>,
	Nikhil M Jain <n-jain1@ti.com>, Qu Wenruo <wqu@suse.com>,
	Stefan Roese <sr@denx.de>
Subject: Re: [PATCH 30/32] fdt: Allow the devicetree to come from a bloblist
Date: Thu, 31 Aug 2023 10:06:42 +0300	[thread overview]
Message-ID: <ZPA8AtGOel8pko6y@hades> (raw)
In-Reply-To: <20230830180524.315916-31-sjg@chromium.org>

Hi Simon,

On Wed, Aug 30, 2023 at 12:05:01PM -0600, Simon Glass wrote:
> Standard passage provides for a bloblist to be passed from one firmware
> phase to the next. That can be used to pass the devicetree along as well.
> Add an option to support this.
> 
> Tests for this will be added as part of the Universal Payload work.
> 
> Signed-off-by: Simon Glass <sjg@chromium.org>
> ---
> 
>  common/bloblist.c                  |  2 ++
>  doc/develop/devicetree/control.rst |  3 ++
>  dts/Kconfig                        |  8 ++++++
>  include/bloblist.h                 |  5 ++++
>  include/fdtdec.h                   |  3 +-
>  lib/fdtdec.c                       | 44 ++++++++++++++++++++++--------
>  6 files changed, 52 insertions(+), 13 deletions(-)
> 
> diff --git a/common/bloblist.c b/common/bloblist.c
> index 6f2a4577708..b07ede11cfe 100644
> --- a/common/bloblist.c
> +++ b/common/bloblist.c
> @@ -48,9 +48,11 @@ static struct tag_name {
>  	{ BLOBLISTT_ACPI_TABLES, "ACPI tables for x86" },
>  	{ BLOBLISTT_SMBIOS_TABLES, "SMBIOS tables for x86" },
>  	{ BLOBLISTT_VBOOT_CTX, "Chrome OS vboot context" },
> +	{ BLOBLISTT_CONTROL_FDT, "Control FDT" },
>  
>  	/* BLOBLISTT_PROJECT_AREA */
>  	{ BLOBLISTT_U_BOOT_SPL_HANDOFF, "SPL hand-off" },
> +	{ BLOBLISTT_VBE, "VBE" },
>  	{ BLOBLISTT_U_BOOT_VIDEO, "SPL video handoff" },
>  
>  	/* BLOBLISTT_VENDOR_AREA */
> diff --git a/doc/develop/devicetree/control.rst b/doc/develop/devicetree/control.rst
> index cbb65c9b177..56e00090166 100644
> --- a/doc/develop/devicetree/control.rst
> +++ b/doc/develop/devicetree/control.rst
> @@ -108,6 +108,9 @@ If CONFIG_OF_BOARD is defined, a board-specific routine will provide the
>  devicetree at runtime, for example if an earlier bootloader stage creates
>  it and passes it to U-Boot.
>  
> +If CONFIG_OF_BLOBLIST is defined, the devicetree comes from a bloblist passed
> +from a previous stage.
> +

Is this bloblist in the format described in the firmware handoff [0] ?

> +config OF_BLOBLIST
> +	bool "DTB is provided by a bloblist"
> +	help
> +	  Select this to read the devicetree from the bloblist. This allows
> +	  using a bloblist to transfer the devicetree between  U-Boot phases.
> +	  The devicetree is stored in the bloblist by an early phase so that
> +	  U-Boot can read it.
> +

I dont think this is a good idea.  We used to have 4-5 different options
here, which we tried to clean up and ended up with two very discrete
options.  Why do we have to reintroduce a new one?  Doesn't that bloblist
have a header of some sort?  The bloblist literally comes from a previous
stage bootloader which is what OF_BOARD is here for. So why can't we just
read the header and figure out if the magic of the bloblist matches?

>  config OF_BOARD
>  	bool "Provided by the board (e.g a previous loader) at runtime"
>  	default y if SANDBOX || OF_HAS_PRIOR_STAGE
> diff --git a/include/bloblist.h b/include/bloblist.h
> index 080cc46a126..e16d122f4fb 100644
> --- a/include/bloblist.h
> +++ b/include/bloblist.h
> @@ -103,6 +103,11 @@ enum bloblist_tag_t {
>  	BLOBLISTT_ACPI_TABLES = 0x104,	/* ACPI tables for x86 */
>  	BLOBLISTT_SMBIOS_TABLES = 0x105, /* SMBIOS tables for x86 */
>  	BLOBLISTT_VBOOT_CTX = 0x106,	/* Chromium OS verified boot context */
> +	/*

[...]

> 
[0] https://github.com/FirmwareHandoff/firmware_handoff

Thanks
/Ilias

  reply	other threads:[~2023-08-31  7:06 UTC|newest]

Thread overview: 86+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-08-30 18:04 [PATCH 00/32] spl: Preparation for Universal Payload Simon Glass
2023-08-30 18:04 ` [PATCH 01/32] dm: core: support reading a single indexed u64 value Simon Glass
2023-08-30 18:04 ` [PATCH 02/32] spl: Use CONFIG_SPL... instead of CONFIG_..._SPL_ Simon Glass
2023-08-31  7:37   ` Marcel Ziswiler
2023-08-31  8:42   ` Martyn Welch
2023-08-31  9:22   ` Svyatoslav Ryhel
2023-08-30 18:04 ` [PATCH 03/32] spl: Rename SYS_SPL_ARGS_ADDR to SPL_SYS_ARGS_ADDR Simon Glass
2023-08-30 21:37   ` Tom Rini
2023-08-30 18:04 ` [PATCH 04/32] spl: Avoid #ifdef with CONFIG_SPL_SYS_MALLOC Simon Glass
2023-08-30 21:32   ` Tom Rini
2023-08-30 18:04 ` [PATCH 05/32] spl: mx6: powerpc: Drop the condition on timer_init() Simon Glass
2023-08-31 17:50   ` Tom Rini
2023-09-21  1:03     ` Simon Glass
2023-09-26 11:37       ` Simon Glass
2023-09-26 13:38         ` Christophe Leroy
2023-08-30 18:04 ` [PATCH 06/32] spl: Drop #ifdefs for BOARD_INIT and watchdog Simon Glass
2023-08-30 18:04 ` [PATCH 07/32] spl: Avoid #ifdef with CONFIG_SPL_SYS_ARGS_ADDR Simon Glass
2023-08-30 21:34   ` Tom Rini
2023-08-30 18:04 ` [PATCH 08/32] spl: Drop the switch() statement for OS selection Simon Glass
2023-08-30 18:04 ` [PATCH 09/32] spl: Avoid an #ifdef when printing gd->malloc_ptr Simon Glass
2023-08-30 21:39   ` Tom Rini
2023-09-21  1:03     ` Simon Glass
2023-09-21 15:35       ` Tom Rini
2023-09-22 18:27         ` Simon Glass
2023-09-22 19:28           ` Tom Rini
2023-09-22 23:06             ` Simon Glass
2023-08-30 18:04 ` [PATCH 10/32] spl: Remove #ifdefs with BOOTSTAGE Simon Glass
2023-08-30 18:04 ` [PATCH 11/32] spl: Rename spl_load_fit_image() to load_simple_fit() Simon Glass
2023-08-30 18:04 ` [PATCH 12/32] spl: Move the full FIT code to spl_fit.c Simon Glass
2023-08-30 18:04 ` [PATCH 13/32] spl: Use the correct FIT_..._PROP constants Simon Glass
2023-08-30 18:04 ` [PATCH 14/32] spl: Move bloblist writing until the image is known Simon Glass
2023-08-30 18:04 ` [PATCH 15/32] dm: core: Reverse the argument order in ofnode_copy_props() Simon Glass
2023-08-30 18:04 ` [PATCH 16/32] dm: core: Ensure we run flattree tests on ofnode Simon Glass
2023-08-30 18:04 ` [PATCH 17/32] dm: core: Tidy up comments in the ofnode tests Simon Glass
2023-08-30 18:04 ` [PATCH 18/32] dm: core: Add a function to create an empty tree Simon Glass
2023-08-30 18:04 ` [PATCH 19/32] dm: core: Add a way to copy a node Simon Glass
2023-08-30 18:04 ` [PATCH 20/32] dm: core: Add a way to delete " Simon Glass
2023-08-30 18:04 ` [PATCH 21/32] dm: core: Add a way to convert a devicetree to a dtb Simon Glass
2023-08-30 18:04 ` [PATCH 22/32] dm: core: Support writing a boolean Simon Glass
2023-08-30 18:04 ` [PATCH 23/32] dm: core: Support writing a 64-bit value Simon Glass
2023-08-30 18:04 ` [PATCH 24/32] dm: core: Add tests for oftree_path() Simon Glass
2023-08-30 18:04 ` [PATCH 25/32] sandbox: Move reading the RAM buffer into a better place Simon Glass
2023-08-30 18:04 ` [PATCH 26/32] sandbox: Init the EC properly even if no state file is available Simon Glass
2023-08-30 18:04 ` [PATCH 27/32] sandbox: Only read the state if we have a state file Simon Glass
2023-08-30 18:04 ` [PATCH 28/32] sandbox: Move the bloblist down a little in memory Simon Glass
2023-08-30 18:05 ` [PATCH 29/32] bloblist: Support initing from multiple places Simon Glass
2023-08-30 18:05 ` [PATCH 30/32] fdt: Allow the devicetree to come from a bloblist Simon Glass
2023-08-31  7:06   ` Ilias Apalodimas [this message]
2023-08-31 19:02     ` Simon Glass
2023-09-01  7:49       ` Ilias Apalodimas
2023-09-01 15:51         ` Simon Glass
2023-09-04  9:30           ` Ilias Apalodimas
2023-09-10 19:13             ` Simon Glass
2023-09-11  6:17               ` Ilias Apalodimas
2023-09-11  6:38                 ` Michal Simek
2023-09-11  7:56                   ` Ilias Apalodimas
2023-09-11 10:58                     ` Michal Simek
2023-09-11 11:47                       ` Ilias Apalodimas
2023-09-21  1:03                         ` Simon Glass
2023-09-25 10:18                           ` Ilias Apalodimas
2023-10-18 15:26                             ` Simon Glass
2023-10-20  8:21                               ` Ilias Apalodimas
2023-10-20 13:59                                 ` Tom Rini
2023-10-20 15:13                                 ` Simon Glass
2023-08-30 18:05 ` [PATCH 31/32] command: Include a required header in command.h Simon Glass
2023-08-30 18:05 ` [PATCH 32/32] pci: serial: Support reading PCI-register size with base Simon Glass
2023-08-30 18:14   ` Pali Rohár
2023-08-30 18:17     ` Tom Rini
2023-08-30 18:39       ` Pali Rohár
2023-08-30 19:04         ` Tom Rini
2023-08-30 19:10           ` Pali Rohár
2023-08-30 19:41             ` Tom Rini
2023-08-30 19:44               ` Pali Rohár
2023-08-30 20:51                 ` Pali Rohár
2023-08-30 21:08                   ` Tom Rini
2023-08-30 21:13                     ` Pali Rohár
2023-08-30 21:26                       ` Tom Rini
2023-08-30 21:29                         ` Pali Rohár
2023-08-30 21:42                           ` Tom Rini
2023-09-03 20:36                             ` Pali Rohár
2023-09-04 19:55                               ` Tom Rini
2023-09-04 20:07                                 ` Pali Rohár
2023-09-03 20:39     ` Pali Rohár
2023-09-04 20:15       ` Pali Rohár
2023-09-04 20:27         ` Tom Rini
2023-09-04 21:07           ` Pali Rohár

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=ZPA8AtGOel8pko6y@hades \
    --to=ilias.apalodimas@linaro.org \
    --cc=baruch@tkos.co.il \
    --cc=bmeng.cn@gmail.com \
    --cc=marex@denx.de \
    --cc=michal.simek@amd.com \
    --cc=n-jain1@ti.com \
    --cc=sjg@chromium.org \
    --cc=sr@denx.de \
    --cc=trini@konsulko.com \
    --cc=u-boot@lists.denx.de \
    --cc=vanbaren@cideas.com \
    --cc=wqu@suse.com \
    --cc=xypron.glpk@gmx.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.