Pull request efi-next-20250104

Jonas Karlman jonas at kwiboo.se
Sat Jan 4 12:49:37 CET 2025


Hi Heinrich,

On 2025-01-04 04:19, Heinrich Schuchardt wrote:
> Dear Tom,
> 
> The following changes since commit ec9263b4f15c4cf82eb6a211c67baa6385065b8e:
> 
>    Fix neighbor discovery ethernet address saving (2025-01-01 14:40:04
> -0600)
> 
> are available in the Git repository at:
> 
>    https://source.denx.de/u-boot/custodians/u-boot-efi.git
> tags/efi-next-20250104
> 
> for you to fetch changes up to ce190e1b33b8c0e1228f4123759dfa1981c202de:
> 
>    efi: Correct ECPT table GUID (2025-01-04 02:17:06 +0100)
> 
> Gitlab CI reported no issues:
> https://source.denx.de/u-boot/custodians/u-boot-efi/-/pipelines/24075
> 
> ----------------------------------------------------------------
> Pull request efi-next-20250104
> 
> Documentation:
> 
> * doc: develop: Fix typos and wording in binman/binman.rst
> * doc: develop: Fix typos and wording in gdb.rst
> * doc: sandbox: Fix the "sb" command name
> * doc/develop/distro.rst: Better document upstream definition of
> extlinux.conf
> 
> UEFI:
> 
> With this pull request the UEFI sub-system detects all boot devices even
> if they have not been probed before. If this adds to much boot delay
> individual bootmeths and bootdevs can be disabled via the customizing.
> 
> * efi_loader: avoid writing message in Exit() boot service
> * efi_loader: run bootdev_hunt() to find ESP

This patch still completely changes how standard boot operates, from
lazy probing boot devices from fastest to slowest (probe time) as
described in the standard boot documentation [1], to probing all boot
devices all at once before checking for a bootmeth/bootflow.

This slows down script and extlinux booing on my Rockchip board by
several seconds because now pcie and usb is probed before current fast
bootflow from mmc devices is tested.

Will you work on a fix for this or do you recommend disabling the
efi_mgr bootmeth or similar? E.g. something like the diff below.

Similarly if I understand correctly the priority of efi_mgr bootmeth,
first regardless of configured bootmeth order, is the main blocker for
sunxi to fully move to standard boot.

diff --git a/boot/Kconfig b/boot/Kconfig
index 20935a269c60..81e10be4eef8 100644
--- a/boot/Kconfig
+++ b/boot/Kconfig
@@ -617,7 +617,7 @@ config BOOTMETH_EFI_BOOTMGR
 	bool "Bootdev support for EFI boot manager"
 	depends on EFI_BOOTMGR
 	select BOOTMETH_GLOBAL
-	default y
+	default y if !ARCH_ROCKCHIP
 	help
 	  Enable booting via the UEFI boot manager. Based on the EFI variables
 	  the EFI binary to be launched is determined. To set the EFI variables

[1] https://docs.u-boot.org/en/latest/develop/bootstd/overview.html#boot-process

Regards,
Jonas

> * efi_loader: update EFI specification version
> * cmd: efidebug: update output of memory attributes
> * efi_loader: Don't warn if the TCG2 FinalEvents table is not installed
> * cmd: bootmenu: add parameter -e for UEFI boot options
> * efi_loader: Update startimage_exit self-test to check error
> * efi: Correct ECPT table GUID
> 
> Others:
> 
> Building the API demo application for riscv64 is supported.
> 
> * API: unify platform_sys_info() implementations
> * examples: implement _start and syscall for RISC-V
> * examples: use architecture specific memset() on RISC-V
> * examples: use QEMU compatible LOAD_ADDR on RISC-V
> * test: fix test_extension.py
> * configs: sandbox_deconfig: remove CONFIG_AMIGA_PARTITION
> * CI: xilinx_versal_virt: disable USB_DWC3
> * net: eth_bootdev_hunt() should not run DHCP
> 
> ----------------------------------------------------------------
> Adriano Cordova (1):
>        efi_loader: Expose efi_reinstall_protocol_interface in efi_loader.h
> 
> Aleksandar Gerasimovski (1):
>        efi_loader: fix pe reloc pointer overrun
> 
> Heinrich Schuchardt (13):
>        API: unify platform_sys_info() implementations
>        examples: implement _start and syscall for RISC-V
>        examples: use architecture specific memset() on RISC-V
>        examples: use QEMU compatible LOAD_ADDR on RISC-V
>        efi_loader: avoid writing message in Exit() boot service
>        test: fix test_extension.py
>        configs: sandbox_deconfig: remove CONFIG_AMIGA_PARTITION
>        CI: xilinx_versal_virt: disable USB_DWC3
>        net: eth_bootdev_hunt() should not run DHCP
>        cmd: bootmenu: add parameter -e for UEFI boot options
>        efi_loader: run bootdev_hunt() to find ESP
>        efi_loader: update EFI specification version
>        cmd: efidebug: update output of memory attributes
> 
> Ilias Apalodimas (1):
>        efi_loader: Don't warn if the TCG2 FinalEvents table is not installed
> 
> Lothar Rubusch (2):
>        doc: develop: Fix typos and wording in binman/binman.rst
>        doc: develop: Fix typos and wording in gdb.rst
> 
> Olivier L'Heureux (1):
>        doc: sandbox: Fix the "sb" command name
> 
> Simon Glass (1):
>        efi_loader: Update startimage_exit self-test to check error
> 
> Tom Rini (1):
>        doc/develop/distro.rst: Better document upstream definition of
> extlinux.conf
> 
> Yang Gang (1):
>        efi: Correct ECPT table GUID
> 
>   .azure-pipelines.yml                            |   1 +
>   .gitlab-ci.yml                                  |   1 +
>   api/Makefile                                    |   9 +-
>   api/api_platform-arm.c                          |  35 ----
>   api/api_platform-mips.c                         |  29 ---
>   api/api_platform.c                              |  25 +++
>   cmd/bootmenu.c                                  |  39 +++-
>   cmd/efidebug.c                                  |   5 +-
>   configs/sandbox_defconfig                       |   1 -
>   doc/develop/distro.rst                          |  15 +-
>   doc/develop/gdb.rst                             |  10 +-
>   doc/usage/cmd/bootmenu.rst                      |  13 +-
>   doc/usage/cmd/sb.rst                            |   6 +-
>   examples/api/Makefile                           |   7 +-
>   examples/api/crt0.S                             |  32 ++++
>   include/efi.h                                   |   2 +
>   include/efi_api.h                               |   8 +-
>   include/efi_loader.h                            |   5 +
>   lib/efi_loader/efi_boottime.c                   |   9 +-
>   lib/efi_loader/efi_image_loader.c               |   2 +-
>   lib/efi_loader/efi_setup.c                      |   8 +
>   lib/efi_loader/efi_tcg2.c                       |   2 +-
>   lib/efi_selftest/efi_selftest_startimage_exit.c |   6 +-
>   net/eth_bootdev.c                               |  30 +--
>   test/py/tests/test_extension.py                 |   4 +-
>   tools/binman/binman.rst                         | 234
> ++++++++++++------------
>   26 files changed, 300 insertions(+), 238 deletions(-)
>   delete mode 100644 api/api_platform-arm.c
>   delete mode 100644 api/api_platform-mips.c
>   create mode 100644 api/api_platform.c
> 



More information about the U-Boot mailing list