Pull request for efi-next-03072025
Ilias Apalodimas
ilias.apalodimas at linaro.org
Thu Jul 3 13:06:55 CEST 2025
Hi Tom
A pull request for EFI coming from the TPM tree.
New protocols are added to the EFI subsystem
- Android Generic Bootloader (an EFI app loading Android) needs
EFI Debug Support Table for hardware assisting debugging.
- EFI_PARTITION_INFO_PROTOCOL is needed by a new OS Loader Redhat is
working on that natively supports A/B filesystems via EFI.
Sughosh added EFI HTTP support to eficonfig and finally Andrew fixed
more issues reported by smatch.
The following changes since commit c405bab7661dd60420e97a4edeb3162e9d7e02c5:
Merge tag 'mmc-next-2025-07-02' of https://source.denx.de/u-boot/custodians/u-boot-mmc into next (2025-07-02 07:51:57 -0600)
are available in the Git repository at:
https://source.denx.de/u-boot/custodians/u-boot-tpm/ tags/efi-next-03072025
for you to fetch changes up to 95732f2bf8700f9ec17983b419073b6a16b79aef:
efi_loader: add dbginfodump.efi (2025-07-03 12:26:45 +0300)
The CI https://source.denx.de/u-boot/custodians/u-boot-tpm/-/pipelines/26935
seems happy
Please pull!
/Ilias
----------------------------------------------------------------
Sughosh added EFI HTTP(s) support into our eficonfig application. Up to
now we could only enable that via our efidebug command. Users now get that
option on the eficonfig menu.
Javier implemented support for the EFI_PARTITION_INFO_PROTOCOL,
to provide cached partition information for GPT partition types.
The protocol describes legacy MBR partition types, but that's for backward
compatibility and not implemented by this series.
The protocol is needed by [0], an implementation of a UEFI based A/B boot
mechanism for the root filesystem.
Paul added support for EFI Debug Support Table feature. This is part of the
EFI spec and is defining a hardware-assisted debug protocol which provides a
standardized mechanism for debuggers to discover and interact with system-level
resources. Google currently uses it to debug their Generic Bootloader
project [1][2], using EFI to load Android. Heinrich contributed a test EFI
application for it as well.
The efi_realloc() function he added will realloc any type of memory to
BootServicesData, but keeping in mind the new protocol is the only consumer
he will fix that on a followup patch. Also the protocol is enabled by default if
!HAS_BOARD_SIZE_LIMIT for a wider CI testing. We will disable it shortly
after and enable it only for QEMU arm and arm64.
Finally another round of smatch fixes from Andrew cleans up coding errors.
[0] https://gitlab.com/CentOS/automotive/src/ukiboot
[1] https://lpc.events/event/18/contributions/1704/attachments/1550/3231/Android%20Generic%20Boot%20Loader.pdf
[2] https://source.android.com/docs/core/architecture/bootloader/generic-bootloader
----------------------------------------------------------------
Andrew Goodbody (3):
efi_loader: Prevent dereferencing NULL pointer
efi_loader: Prevent dereference of uninitialised variable
efi_loader: Prevent free of uninitialised pointer
Heinrich Schuchardt (1):
efi_loader: add dbginfodump.efi
Javier Martinez Canillas (4):
disk: efi: Move logic to get a GPT entry into a helper function
disk: efi: expose the part_get_gpt_pte() helper function
efi_loader: disk: add EFI_PARTITION_INFO_PROTOCOL support
efi_selftest: Add basic partition info check to block io test
Sughosh Ganu (2):
cmd: eficonfig: add support for URI device path based boot options
test: wget: add a test case for validating URI
Ying-Chun Liu (PaulLiu) (5):
efi: add EFI_SYSTEM_TABLE_POINTER for debug
efi: add EFI_DEBUG_IMAGE_INFO_TABLE for debug
lib: efi_loader: efi_memory.c: add efi_realloc() for realloc memory
efi: add EFI_DEBUG_IMAGE_INFO for debug
efi: selftest: add selftest for EFI_DEBUG_SUPPORT
cmd/eficonfig.c | 146 ++++++++++-
disk/part_efi.c | 67 +++--
include/efi_api.h | 71 +++++
include/efi_config.h | 2 +
include/efi_loader.h | 19 ++
include/part.h | 14 +
include/part_efi.h | 20 ++
lib/efi_loader/Kconfig | 9 +
lib/efi_loader/Makefile | 2 +
lib/efi_loader/dbginfodump.c | 356 ++++++++++++++++++++++++++
lib/efi_loader/efi_boottime.c | 7 +
lib/efi_loader/efi_debug_support.c | 183 +++++++++++++
lib/efi_loader/efi_disk.c | 39 ++-
lib/efi_loader/efi_file.c | 2 +-
lib/efi_loader/efi_http.c | 9 +-
lib/efi_loader/efi_memory.c | 58 +++++
lib/efi_loader/efi_net.c | 2 +-
lib/efi_loader/efi_setup.c | 18 ++
lib/efi_selftest/Makefile | 2 +
lib/efi_selftest/efi_selftest_block_device.c | 30 +++
lib/efi_selftest/efi_selftest_debug_support.c | 40 +++
test/cmd/wget.c | 20 ++
22 files changed, 1072 insertions(+), 44 deletions(-)
create mode 100644 lib/efi_loader/dbginfodump.c
create mode 100644 lib/efi_loader/efi_debug_support.c
create mode 100644 lib/efi_selftest/efi_selftest_debug_support.c
More information about the U-Boot
mailing list