[PATCH v2 2/4] efi_loader: export efi_ecpt_guid

Vincent Stehlé vincent.stehle at arm.com
Mon Mar 9 18:34:26 CET 2026


On Mon, Mar 09, 2026 at 05:40:12PM +0100, Heinrich Schuchardt wrote:

Hi Heinrich,

Thanks for the review; my comments below.

Best regards,
Vincent.

> On 3/9/26 17:36, Vincent Stehlé wrote:
> > Export the ECPT GUID, to prepare accessing it from more than one location.
> > 
> > The C file containing the GUID is compiled only when CONFIG_EFI_ECPT is
> > set; gate the export accordingly.
> > 
> > Signed-off-by: Vincent Stehlé <vincent.stehle at arm.com>
> > Cc: Heinrich Schuchardt <xypron.glpk at gmx.de>
> > Cc: Ilias Apalodimas <ilias.apalodimas at linaro.org>
> > Cc: Tom Rini <trini at konsulko.com>
> > ---
> > 
> > (No change in v2; re-sending in the series for consistency only.)
> > 
> >   include/efi_loader.h             | 4 ++++
> >   lib/efi_loader/efi_conformance.c | 2 +-
> >   2 files changed, 5 insertions(+), 1 deletion(-)
> > 
> > diff --git a/include/efi_loader.h b/include/efi_loader.h
> > index 3e70ac07055..0ebc80e0af0 100644
> > --- a/include/efi_loader.h
> > +++ b/include/efi_loader.h
> > @@ -387,6 +387,10 @@ extern const efi_guid_t efi_guid_capsule_report;
> >   extern const efi_guid_t efi_guid_firmware_management_protocol;
> >   /* GUID for the ESRT */
> >   extern const efi_guid_t efi_esrt_guid;
> > +/* GUID for the ECPT */
> > +#if CONFIG_IS_ENABLED(EFI_ECPT)
> 
> This #if looks superfluous. The include should compile without it.

This should compile indeed, but it will not always link as the efi_ecpt_guid
symbol is defined in lib/efi_loader/efi_conformance.c, which is compiled only
when CONFIG_EFI_ECPT is set.

I think gating the declaration serves two purposes here:

1. It should make the build fail at the point where the symbol is used, which
   should be -arguably- easier to debug than having it fail at link-time.
2. It kind of documents the fact that the symbol is available only when
   CONFIG_EFI_ECPT is set. This should avoid having to find the symbol in
   efi_conformance.c and having to look into the corresponding Makefile to have
   this information.

Besides, other symbols are already declared conditionally in efi_loader.h.

Anyway, if you insist I could send a v3 without the #if; just let me know.

> 
> Best regards
> 
> Heinrich
> 
> > +extern const efi_guid_t efi_ecpt_guid;
> > +#endif
> >   /* GUID of the SMBIOS table */
> >   extern const efi_guid_t smbios_guid;
> >   extern const efi_guid_t smbios3_guid;
> > diff --git a/lib/efi_loader/efi_conformance.c b/lib/efi_loader/efi_conformance.c
> > index 2d31800ccb8..470141af483 100644
> > --- a/lib/efi_loader/efi_conformance.c
> > +++ b/lib/efi_loader/efi_conformance.c
> > @@ -12,7 +12,7 @@
> >   #include <efi_api.h>
> >   #include <malloc.h>
> > -static const efi_guid_t efi_ecpt_guid = EFI_CONFORMANCE_PROFILES_TABLE_GUID;
> > +const efi_guid_t efi_ecpt_guid = EFI_CONFORMANCE_PROFILES_TABLE_GUID;
> >   /**
> >    * efi_ecpt_register() - Install the ECPT system table.
> 


More information about the U-Boot mailing list