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
> >

Reply via email to