[PATCH 00/10] Improve UEFI app support

Matthew Garrett mjg59 at srcf.ucam.org
Sat Nov 23 20:54:59 CET 2024


We run a mixed environment including traditional embedded Linux and 
UEFI. For consistency it's valuable to use U-Boot in both cases, but on 
UEFI systems we want to run the full Linux kernel UEFI boot stub. This 
patchset adds support for that, along with various other quality-of-life 
improvements such as automatically finding partitions based on their 
GUID, automatic identification of load addresses where the firmware has 
given us constraints, support for EFI variable access in the EFI app, 
drivers for EFI network adapters and TPMs, support for embedding DTBs in 
the EFI app, and a couple of bug fixes.


Janis Danisevskis (1):
  Fix efi_bind_block.

Matthew Garrett (9):
  Add EFI handover support to bootm
  Add part_find command
  Add a command to find a load address
  Hook up EFI env variable support in the EFI app
  Add EFI network driver
  Add UEFI TPM2 driver
  Support separate DTB files with the UEFI app
  Use the correct ramdisk address
  Add command to set an environment variable to an EFI variable

 Makefile                        |   7 +-
 arch/x86/config.mk              |   2 +-
 arch/x86/lib/bootm.c            |  60 ++++++++----
 arch/x86/lib/elf_x86_64_efi.lds |   4 +
 boot/bootm.c                    |   5 +
 cmd/Kconfig                     |  23 ++++-
 cmd/Makefile                    |   3 +
 cmd/addr_find.c                 |  87 +++++++++++++++++
 cmd/efigetenv.c                 | 133 ++++++++++++++++++++++++++
 cmd/part_find.c                 | 156 ++++++++++++++++++++++++++++++
 drivers/net/Kconfig             |   7 ++
 drivers/net/Makefile            |   1 +
 drivers/net/efi_net.c           | 110 +++++++++++++++++++++
 drivers/tpm/Kconfig             |   7 ++
 drivers/tpm/Makefile            |   1 +
 drivers/tpm/tpm2_efi.c          |  97 +++++++++++++++++++
 include/asm-generic/sections.h  |   1 +
 include/bootm.h                 |   6 ++
 include/efi.h                   |  24 +++++
 include/efi_tcg2.h              |   1 +
 lib/efi/Makefile                |   2 +-
 lib/efi/efi.c                   |   1 +
 lib/efi/efi_app.c               |  41 ++++++++
 lib/efi/efi_app_init.c          | 163 ++++++++++++++++++++++++++++++--
 lib/efi/efi_dtb.S               |   6 ++
 lib/efi/efi_vars.c              |  44 +++++++++
 lib/fdtdec.c                    |   3 +
 27 files changed, 967 insertions(+), 28 deletions(-)
 create mode 100644 cmd/addr_find.c
 create mode 100644 cmd/efigetenv.c
 create mode 100644 cmd/part_find.c
 create mode 100644 drivers/net/efi_net.c
 create mode 100644 drivers/tpm/tpm2_efi.c
 create mode 100644 lib/efi/efi_dtb.S
 create mode 100644 lib/efi/efi_vars.c

-- 
2.47.0



More information about the U-Boot mailing list