Hi Matthew, On Sat, 23 Nov 2024 at 12:56, Matthew Garrett <mj...@srcf.ucam.org> wrote: > > 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 >
Thank you for sending this and for your interesting talk at plumbers. It is a novel approach and potentially provides an alternative to grub and EFI_LOADER, etc. I'd like to try getting this running in CI as we don't have any such tests for the app or payload at present. Regards, Simon