[PATCH 0/8 v2] Change logic of EFI LoadFile2 protocol for initrd loading
Ilias Apalodimas
ilias.apalodimas at linaro.org
Wed Dec 30 16:07:12 CET 2020
Hi!
This is v2 of [1].
There's been a couple of changes regarding where we install the protocol.
The initial patchset was completely disregarding BootNext, so that's taken
into account now and we can use the new feature.
This brought a few changes on the selftests as well, since we now use the
loaded image handle to install the protocol, as a consequence the custom
handle in the tests is now uninstalled during the test .teardown(), but
the overall approach remains identical.
Changes since v1:
- Use efi_create_indexed_name() instead of open coding it. An extra
patch has been applied to efi_create_indexed_name() to ensure the
destination buffer is big enough for our variable name.
- Install the protocol during do_efibootmgr() on the loaded image
handle and adjust selftests accordingly. The protocol will be
uninstalled if efi_exit() is called from and EFI app now.
- Make sure strings are null terminated in efi_helper.c
- Added documentation in uefi.rst describing the new feature.
[1] https://lists.denx.de/pipermail/u-boot/2020-December/436080.html
Ilias Apalodimas (8):
efi_loader: Remove unused headers from efi_load_initrd.c
efi_loader: Remove unconditional installation of file2 protocol for
initrd
efi_loader: Add size checks to efi_create_indexed_name()
efi_loader: Introduce helper functions for EFI
efi_loader: bootmgr: Use get_var from efi_helper file
efi_loader: Replace config option with EFI variable for initrd loading
efi_selftest: Modify self-tests for initrd loading via Loadfile2
doc: uefi: Add instruction for initrd loading
cmd/bootefi.c | 13 ++
doc/uefi/uefi.rst | 15 ++
include/efi_helper.h | 28 +++
include/efi_loader.h | 5 +-
lib/efi_loader/Kconfig | 13 +-
lib/efi_loader/Makefile | 2 +-
lib/efi_loader/efi_bootmgr.c | 37 +---
lib/efi_loader/efi_helper.c | 180 ++++++++++++++++++++
lib/efi_loader/efi_load_initrd.c | 101 ++++-------
lib/efi_loader/efi_setup.c | 5 -
lib/efi_loader/efi_string.c | 10 +-
lib/efi_selftest/efi_selftest_load_initrd.c | 100 ++++++++++-
test/unicode_ut.c | 2 +-
13 files changed, 384 insertions(+), 127 deletions(-)
create mode 100644 include/efi_helper.h
create mode 100644 lib/efi_loader/efi_helper.c
--
2.30.0
More information about the U-Boot
mailing list