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. This patch series is to be merged after efi_loader: refactor protocols management https://patchwork.ozlabs.org/project/uboot/list/?series=10409 Heinrich Schuchardt (13): 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 include/efi_loader.h | 6 +- lib/efi_loader/efi_bootmgr.c | 4 +- lib/efi_loader/efi_boottime.c | 249 +++++++++++---------- lib/efi_loader/efi_device_path.c | 43 ++-- lib/efi_loader/efi_device_path_to_text.c | 161 +++++++------- lib/efi_loader/efi_disk.c | 40 ++-- lib/efi_loader/efi_gop.c | 16 +- lib/efi_loader/efi_net.c | 35 +-- lib/efi_selftest/Makefile | 24 +- lib/efi_selftest/efi_selftest_devicepath.c | 340 +++++++++++++++++++++++++++++ 10 files changed, 643 insertions(+), 275 deletions(-) create mode 100644 lib/efi_selftest/efi_selftest_devicepath.c -- 2.14.2 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot