Up to now the protocols of an EFI handle where contained in an array of fixed size. With the patch series the protocols are managed in a linked list. This both saves memory and gives more flexibility.
The LocateDevicePath boot service is implemented according to the UEFI specification. A unit test for the LocateDevicePath boot service and the device path to text protocol are added. Some bug fixes are provided. v2 Enhance the helloworld example to check if the image handle is passed corectly. Adjust the related py test. Use a helper function to initialize EFI objects. Further minor bug fixes. Heinrich Schuchardt (18): efi_loader: efi_bootmgr: do not make hidden assignments efi_loader: size of media device path node represenation efi_loader: efi_dp_str should print path not node efi_loader: fix efi_convert_device_node_to_text efi_loader: reimplement LocateDevicePath efi_selftest: test EFI_DEVICE_PATH_TO_TEXT_PROTOCOL efi_loader: efi_disk: use efi_add_protocol efi_loader: efi_net: use efi_add_protocol efi_loader: efi_gop: use efi_add_protocol efi_loader: simplify efi_open_protocol efi_loader: simplify find_obj efi_loader: manage protocols in a linked list efi_selftest: compile without special compiler flags efi_selftest: add missing line feed efi_loader: output load options in helloworld test/py: check return code of helloworld efi_loader: pass handle of loaded image efi_loader: helper function to add EFI object to list cmd/bootefi.c | 7 +- include/efi_loader.h | 8 +- lib/efi_loader/efi_bootmgr.c | 6 +- lib/efi_loader/efi_boottime.c | 286 +++++++++++++----------- lib/efi_loader/efi_device_path.c | 43 ++-- lib/efi_loader/efi_device_path_to_text.c | 161 +++++++------- lib/efi_loader/efi_disk.c | 38 ++-- lib/efi_loader/efi_gop.c | 16 +- lib/efi_loader/efi_net.c | 35 +-- lib/efi_loader/helloworld.c | 31 ++- lib/efi_selftest/Makefile | 24 +- lib/efi_selftest/efi_selftest.c | 2 +- lib/efi_selftest/efi_selftest_devicepath.c | 340 +++++++++++++++++++++++++++++ test/py/tests/test_efi_loader.py | 2 + 14 files changed, 710 insertions(+), 289 deletions(-) create mode 100644 lib/efi_selftest/efi_selftest_devicepath.c -- 2.15.0 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot