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