[PATCH v3 01/14] bloblist: Update the tag numbering
Raymond Mao
raymond.mao at linaro.org
Wed Dec 27 16:28:13 CET 2023
Hi Ilias,
On Wed, 27 Dec 2023 at 04:48, Ilias Apalodimas <ilias.apalodimas at linaro.org>
wrote:
> Hi Raymond,
>
> On Mon, 18 Dec 2023 at 20:19, Raymond Mao <raymond.mao at linaro.org> wrote:
> >
> > From: Simon Glass <sjg at chromium.org>
> >
> > Align bloblist tags with the FW handoff spec v0.9.
> > The most common ones are from 0.
> > TF related ones are from 0x100.
> > All non-standard ones from 0xfff000.
> >
> > Added new defined tags:
> > BLOBLISTT_OPTEE_PAGABLE_PART for TF.
> > BLOBLISTT_TPM_EVLOG and BLOBLISTT_TPM_CRB_BASE for TPM.
> >
> > Signed-off-by: Simon Glass <sjg at chromium.org>
> > Co-developed-by: Raymond Mao <raymond.mao at linaro.org>
> > Signed-off-by: Raymond Mao <raymond.mao at linaro.org>
> > ---
> > Changes in v2
> > - Align bloblist tags to FW handoff spec v0.9.
> > Changes in v3
> > - Add TPM related tags
> >
> > common/bloblist.c | 18 ++++++++++---
> > include/bloblist.h | 67 +++++++++++++++++++++++++---------------------
> > test/bloblist.c | 4 +--
> > 3 files changed, 52 insertions(+), 37 deletions(-)
> >
> > diff --git a/common/bloblist.c b/common/bloblist.c
> > index a22f6c12b0..5606487f5b 100644
> > --- a/common/bloblist.c
> > +++ b/common/bloblist.c
> > @@ -36,16 +36,26 @@ static struct tag_name {
> > enum bloblist_tag_t tag;
> > const char *name;
> > } tag_name[] = {
> > - { BLOBLISTT_NONE, "(none)" },
> > + { BLOBLISTT_VOID, "(void)" },
> >
> > /* BLOBLISTT_AREA_FIRMWARE_TOP */
> > + { BLOBLISTT_CONTROL_FDT, "Control FDT" },
> > + { BLOBLISTT_HOB_BLOCK, "HOB block" },
> > + { BLOBLISTT_HOB_LIST, "HOB list" },
> > + { BLOBLISTT_ACPI_TABLES, "ACPI tables for x86" },
> > + { BLOBLISTT_TPM_EVLOG, "TPM event log defined by TCG EFI" },
> > + { BLOBLISTT_TPM_CRB_BASE, "TPM Command Response Buffer address"
> },
> >
> > /* BLOBLISTT_AREA_FIRMWARE */
> > - { BLOBLISTT_ACPI_GNVS, "ACPI GNVS" },
> > - { BLOBLISTT_INTEL_VBT, "Intel Video-BIOS table" },
> > { BLOBLISTT_TPM2_TCG_LOG, "TPM v2 log space" },
> > { BLOBLISTT_TCPA_LOG, "TPM log space" },
> > - { BLOBLISTT_ACPI_TABLES, "ACPI tables for x86" },
> > + { BLOBLISTT_ACPI_GNVS, "ACPI GNVS" },
> > +
> > + /* BLOBLISTT_AREA_TF */
> > + { BLOBLISTT_OPTEE_PAGABLE_PART, "OP-TEE pagable part" },
> > +
> > + /* BLOBLISTT_AREA_OTHER */
> > + { BLOBLISTT_INTEL_VBT, "Intel Video-BIOS table" },
> > { BLOBLISTT_SMBIOS_TABLES, "SMBIOS tables for x86" },
> > { BLOBLISTT_VBOOT_CTX, "Chrome OS vboot context" },
> >
> > diff --git a/include/bloblist.h b/include/bloblist.h
> > index 080cc46a12..92dbfda21b 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
> > @@ -89,42 +89,36 @@ enum bloblist_tag_t {
> > * projects.
> > */
> > BLOBLISTT_AREA_FIRMWARE_TOP = 0x1,
> > + /*
> > + * Devicetree for use by firmware. On some platforms this is
> passed to
> > + * the OS also
> > + */
> > + BLOBLISTT_CONTROL_FDT = 1,
> > + BLOBLISTT_HOB_BLOCK = 2,
> > + BLOBLISTT_HOB_LIST = 3,
> > + BLOBLISTT_ACPI_TABLES = 4,
> > + BLOBLISTT_TPM_EVLOG = 5,
> > + BLOBLISTT_TPM_CRB_BASE = 6,
> >
> > /* Standard area to allocate blobs used across firmware
> components */
> > - BLOBLISTT_AREA_FIRMWARE = 0x100,
> > + BLOBLISTT_AREA_FIRMWARE = 0x10,
> > + BLOBLISTT_TPM2_TCG_LOG = 0x10, /* TPM v2 log space */
> > + BLOBLISTT_TCPA_LOG = 0x11, /* TPM log space */
> > /*
> > * Advanced Configuration and Power Interface Global Non-Volatile
> > * Sleeping table. This forms part of the ACPI tables passed to
> Linux.
> > */
> > - BLOBLISTT_ACPI_GNVS = 0x100,
> > - BLOBLISTT_INTEL_VBT = 0x101, /* Intel Video-BIOS table */
> > - BLOBLISTT_TPM2_TCG_LOG = 0x102, /* TPM v2 log space */
> > - BLOBLISTT_TCPA_LOG = 0x103, /* TPM log space */
> > - 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 */
> > + BLOBLISTT_ACPI_GNVS = 0x12,
>
> Any idea if we have users that would be affected by this value change?
>
> BLOBLISTT_ACPI_TABLES, BLOBLISTT_TPM2_TCG_LOG and BLOBLISTT_ACPI_TABLES
are being used by x86.
BLOBLISTT_ACPI_GNVS is being used by x86 and chromebook.
Regards,
Raymond
More information about the U-Boot
mailing list