[0/6,v3] Loadfile2 for initrd loading

Message ID 20210314190541.129687-1-ilias.apalodimas@linaro.org
Headers show
Series
  • Loadfile2 for initrd loading
Related show

Message

Ilias Apalodimas March 14, 2021, 7:05 p.m.
Hi!
This is v2 of [1]

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 itn efi_file.c
 - Fix uninitialized variable related errors reported by Cppcheck
 - Fixed various error messages for easier end user readbility
 - 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 (6):
  efi_selftest: Remove loadfile2 for initrd selftests
  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                                | 193 ++++++++++++---
 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 +++
 lib/efi_selftest/Makefile                     |   1 -
 lib/efi_selftest/efi_selftest_load_initrd.c   | 221 ------------------
 .../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 +-
 19 files changed, 626 insertions(+), 385 deletions(-)
 create mode 100644 lib/efi_loader/efi_helper.c
 delete mode 100644 lib/efi_selftest/efi_selftest_load_initrd.c

-- 
2.30.2