public inbox for u-boot@lists.denx.de
 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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox