[PATCH 0/3] Conformance Profiles Table support in U-boot

Jose Marinho Jose.Marinho at arm.com
Thu Dec 23 16:20:54 CET 2021


Hi Heinrich,

> 
> The change suggested in
> https://bugzilla.tianocore.org/show_bug.cgi?id=3591
> is a not well designed: How could the missing of a table ever be taken as a
> sign of compliance?
> 
Below is my interpretation of intent behind the ECPT changes:
The UEFI spec specifies a set of requirements for UEFI compliance in Section 2.6.
Any complete UEFI implementation must adhere to the requirements in Section 2.6.

The Conformance Profiles allow for "partial" UEFI implementations, which implement a subset of the full UEFI requirements.
The conformance with a particular profile should be explicitly advertised (via the conformance profiles table). If not, then full compliance with the Section 2.6 requirements is assumed.

> How would an application make use of the table?
> What information does it provide that is not better obtained from API calls?
> 
With the ECPT, an application can easily detect the UEFI profile that's implemented and hence adopt a model of execution that suits that profile.
Alternatively the application could probe the different RT services, UEFI variables, etc to "detect" a profile. The table allows for a more straightforward or simpler detection. 

> As the table is not defined in UEFI 2.9 and no software uses it, why should we
> implement it?
The code first UEFI ECR was accepted. Once a UEFI ECR is accepted it becomes part of the UEFI specification.

Regards,

Jose

> Best regards
> 
> Heinrich
> 
> > The ECPT table was introduced in UEFI following the code-first path.
> > The acceptance ticket can be viewed at:
> > 	https://bugzilla.tianocore.org/show_bug.cgi?id=3591
> >
> > This patch set implements the ECPT table in U-boot.
> >
> > Jose Marinho (3):
> >    efi: Create ECPT table
> >    efi: ECPT add EBBRv2.0 conformance profile
> >    cmd: efi: efidebug print ECPT table
> >
> >   cmd/efidebug.c                   | 45 +++++++++++++++++++
> >   include/efi_api.h                | 14 ++++++
> >   include/efi_loader.h             |  9 ++++
> >   lib/efi_loader/Kconfig           | 12 +++++
> >   lib/efi_loader/Makefile          |  1 +
> >   lib/efi_loader/efi_conformance.c | 75
> ++++++++++++++++++++++++++++++++
> >   lib/efi_loader/efi_setup.c       |  6 +++
> >   7 files changed, 162 insertions(+)
> >   create mode 100644 lib/efi_loader/efi_conformance.c
> >



More information about the U-Boot mailing list