[RFC 0/2] Add ESRT and test ESRT creation

Jose Marinho jose.marinho at arm.com
Thu Jan 28 14:14:38 CET 2021

The following 2 commits add the ESRT and provide some intial testing.

The first commit adds the ESRT as defined in the UEFI 2.8 specification.
The ESRT is created during the execution of the efi_init_obj_list().
The ESRT will, during initialization, look for FMP instances already
present in the system and populate the corresponding FW image entries.

When a new FMP is added, via efi_add_protocol(), the
method esrt_add_from_fmp() is called to populate the corresponding ESRT

The second commit creates a fake FMP instance with the intent of testing
the code populating the ESRT entries.

CC: Heinrich Schuchardt	<xypron.glpki at gmx.de>
CC: Sughosh Ganu <sughosh.ganu at linaro.org>
CC: AKASHI Takahiro <takahiro.akashi at linaro.org>
CC: Andre Przywara <andre.przywara at arm.com>
CC: Alexander Graf <agraf at csgraf.de>
CC: nd at arm.com

Jose Marinho (2):
  efi: Add ESRT to the EFI system table
  efi: Add fake FMP instance to test ESRT creation

 include/efi_api.h             |  21 +++
 include/efi_loader.h          |  22 +++
 lib/efi_loader/Makefile       |   2 +
 lib/efi_loader/efi_boottime.c |  12 ++
 lib/efi_loader/efi_esrt.c     | 294 ++++++++++++++++++++++++++++++++++
 lib/efi_loader/efi_fake_fmp.c | 172 ++++++++++++++++++++
 lib/efi_loader/efi_setup.c    |   4 +
 7 files changed, 527 insertions(+)
 create mode 100644 lib/efi_loader/efi_esrt.c
 create mode 100644 lib/efi_loader/efi_fake_fmp.c


More information about the U-Boot mailing list