[PATCH 0/5 v4] Loadfile2 for initrd loading

Ilias Apalodimas ilias.apalodimas at linaro.org
Wed Mar 17 20:54:57 CET 2021


Hi!
This is v4 of [1]

Changes since v3:
 - Slightly tweaked the efidebug argument parsing following Heinrich's 
   suggestion.  Instead of calculating the file device path initially and
   appending the initrd, the 2 two device paths are now calculated 
   independently and concatenated later, allowing us to easier handle the 
   various switches (-i, -b etc)
 - Fixed documentation typo that prevented htmldocs from building
 - Removed [1/6] patch which was already merged

Changes since v2:
 - Lengths checks when interpreting a device path, to make sure we aren't
   going out of bounds
 - renamed efi_get_file_size -> efi_file_size and moved it in efi_file.c
 - Fix uninitialized variable related errors reported by Cppcheck
 - Fixed various error messages for easier end user readability
 - renamed _efi_dp_append() -> efi_dp_append_or_concatenate()
 - Picked up Reviewed-by tags
 - Enabling the protocol by default

Changes since v1:
 - minor coding style fixes from Heinrich
 - changed the DP format. Instead of VenMedia - 0x01 - initrd, we skip
   the 0x01 between VenMedia and the first file. 
 - final device path is stripped in efi_get_dp_from_boot() instead of 
   get_initrd_fp()
 - Fixed comments on documentation

[1] https://lists.denx.de/pipermail/u-boot/2021-March/443399.html


Ilias Apalodimas (5):
  efi_loader: Add device path related functions for initrd via Boot####
  efi_loader: Add helper functions for EFI
  efi_loader: Replace config option for initrd loading
  efidebug: add multiple device path instances on Boot####
  doc: Update uefi documentation for initrd loading options

 cmd/bootefi.c                                 |   3 +
 cmd/efidebug.c                                | 191 +++++++++++++----
 doc/board/emulation/qemu_capsule_update.rst   |   4 +-
 doc/uefi/uefi.rst                             |  24 ++-
 include/efi_loader.h                          |  12 ++
 lib/efi_loader/Kconfig                        |  17 +-
 lib/efi_loader/Makefile                       |   1 +
 lib/efi_loader/efi_bootmgr.c                  |  19 +-
 lib/efi_loader/efi_device_path.c              | 106 ++++++++-
 lib/efi_loader/efi_file.c                     |  39 ++++
 lib/efi_loader/efi_helper.c                   |  98 +++++++++
 lib/efi_loader/efi_load_initrd.c              | 202 +++++++++++-------
 lib/efi_loader/efi_var_common.c               |  33 +++
 .../test_efi_capsule/test_capsule_firmware.py |   6 +-
 test/py/tests/test_efi_secboot/test_signed.py |  16 +-
 .../test_efi_secboot/test_signed_intca.py     |   8 +-
 .../tests/test_efi_secboot/test_unsigned.py   |   8 +-
 17 files changed, 625 insertions(+), 162 deletions(-)
 create mode 100644 lib/efi_loader/efi_helper.c

-- 
2.31.0



More information about the U-Boot mailing list