[PATCH 01/14] bloblist: Update the tag numbering

Jose Marinho Jose.Marinho at arm.com
Wed Aug 2 12:14:50 CEST 2023


Hi,

> -----Original Message-----
> From: Simon Glass <sjg at chromium.org>
> Sent: Tuesday, July 25, 2023 10:36 PM
> To: U-Boot Mailing List <u-boot at lists.denx.de>
> Cc: Ilias Apalodimas <ilias.apalodimas at linaro.org>; Tom Rini
> <trini at konsulko.com>; Julius Werner <jwerner at chromium.org>; Dan Handley
> <Dan.Handley at arm.com>; Jose Marinho <Jose.Marinho at arm.com>; Simon
> Glass <sjg at chromium.org>; Bin Meng <bmeng.cn at gmail.com>; Nikhil M Jain <n-
> jain1 at ti.com>
> Subject: [PATCH 01/14] bloblist: Update the tag numbering
> 
> Align this with the new v0.9 spec. It only has a single area for all non-standard
> tags.
> 
> Signed-off-by: Simon Glass <sjg at chromium.org>
> ---
> 
>  common/bloblist.c  |  2 +-
>  include/bloblist.h | 37 +++++++++++++------------------------
>  test/bloblist.c    |  2 +-
>  3 files changed, 15 insertions(+), 26 deletions(-)
> 
> diff --git a/common/bloblist.c b/common/bloblist.c index
> 2144b10e1d0..ca3e6efa800 100644
> --- a/common/bloblist.c
> +++ b/common/bloblist.c
> @@ -36,7 +36,7 @@ static struct tag_name {
>  	enum bloblist_tag_t tag;
>  	const char *name;
>  } tag_name[] = {
> -	{ BLOBLISTT_NONE, "(none)" },
> +	{ BLOBLISTT_VOID, "(void)" },
> 
>  	/* BLOBLISTT_AREA_FIRMWARE_TOP */
> 
> diff --git a/include/bloblist.h b/include/bloblist.h index
> 7ea72c6bd46..bad5fbbb889 100644
> --- a/include/bloblist.h
> +++ b/include/bloblist.h
> @@ -81,7 +81,7 @@ enum {
> 
>  /* Supported tags - add new ones to tag_name in bloblist.c */  enum
> bloblist_tag_t {
> -	BLOBLISTT_NONE = 0,
> +	BLOBLISTT_VOID = 0,
> 
>  	/*
>  	 * Standard area to allocate blobs used across firmware components, for
> @@ -105,37 +105,26 @@ enum bloblist_tag_t {
>  	BLOBLISTT_VBOOT_CTX = 0x106,	/* Chromium OS verified boot
> context */
> 
>  	/*
> +	 * Tags from here are on reserved for private use within a single
> +	 * firmware binary (i.e. a single executable or phase of a project).
> +	 * These tags can be passed between binaries within a local
> +	 * implementation, but cannot be used in upstream code. Allocate a
> +	 * tag in one of the areas above if you want that.
> +	 *
>  	 * Project-specific tags are permitted here. Projects can be open source
>  	 * or not, but the format of the data must be fuily documented in an

nit: minor typo "fuily" -- line is not being changed in this patch.

>  	 * open source project, including all fields, bits, etc. Naming should
>  	 * be: BLOBLISTT_<project>_<purpose_here>
> -	 */
> -	BLOBLISTT_PROJECT_AREA = 0x8000,
> -	BLOBLISTT_U_BOOT_SPL_HANDOFF = 0x8000, /* Hand-off info from SPL
> */
> -	BLOBLISTT_VBE		= 0x8001,	/* VBE per-phase state */
> -	BLOBLISTT_U_BOOT_VIDEO = 0x8002, /* Video information from SPL */
> -
> -	/*
> -	 * Vendor-specific tags are permitted here. Projects can be open source
> +	 *
> +	 * Vendor-specific tags are also permitted. Projects can be open
> +source
nit: is the newline here intentional?

Jose

>  	 * or not, but the format of the data must be fuily documented in an
>  	 * open source project, including all fields, bits, etc. Naming should
>  	 * be BLOBLISTT_<vendor>_<purpose_here>
>  	 */
> -	BLOBLISTT_VENDOR_AREA = 0xc000,
> -
> -	/* Tags after this are not allocated for now */
> -	BLOBLISTT_EXPANSION = 0x10000,
> -
> -	/*
> -	 * Tags from here are on reserved for private use within a single
> -	 * firmware binary (i.e. a single executable or phase of a project).
> -	 * These tags can be passed between binaries within a local
> -	 * implementation, but cannot be used in upstream code. Allocate a
> -	 * tag in one of the areas above if you want that.
> -	 *
> -	 * This area may move in future.
> -	 */
> -	BLOBLISTT_PRIVATE_AREA = 0xffff0000,
> +	BLOBLISTT_PRIVATE_AREA		= 0xfff000,
> +	BLOBLISTT_U_BOOT_SPL_HANDOFF	= 0xfff000, /* Hand-off info
> from SPL */
> +	BLOBLISTT_VBE			= 0xfff001, /* VBE per-phase state */
> +	BLOBLISTT_U_BOOT_VIDEO		= 0xfff002, /* Video info from
> SPL */
>  };
> 
>  /**
> diff --git a/test/bloblist.c b/test/bloblist.c index 720be7e244f..df9a99d7bd2
> 100644
> --- a/test/bloblist.c
> +++ b/test/bloblist.c
> @@ -291,7 +291,7 @@ static int bloblist_test_cmd_list(struct unit_test_state
> *uts)
>  	console_record_reset();
>  	run_command("bloblist list", 0);
>  	ut_assert_nextline("Address       Size   Tag Name");
> -	ut_assert_nextline("%08lx  %8x  8000 SPL hand-off",
> +	ut_assert_nextline("%08lx  %8x  fff000 SPL hand-off",
>  			   (ulong)map_to_sysmem(data), TEST_SIZE);
>  	ut_assert_nextline("%08lx  %8x   106 Chrome OS vboot context",
>  			   (ulong)map_to_sysmem(data2), TEST_SIZE2);
> --
> 2.41.0.487.g6d72f3e995-goog



More information about the U-Boot mailing list