[U-Boot] [PATCH v3 00/18] efi_loader: manage protocols in a linked list (v3)

Heinrich Schuchardt xypron.glpk at gmx.de
Sun Nov 26 13:05:05 UTC 2017


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.

v3
	Remove patch
	efi_loader: efi_bootmgr: do not make hidden assignments
	(A patch to add device path printing in printf() is
	pending.)
	Resubmit
	efi_loader: helloworld.c: remove superfluous include
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: helloworld.c: remove superfluous include
  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_boottime.c              | 287 ++++++++++++---------
 lib/efi_loader/efi_device_path.c           |  43 ++--
 lib/efi_loader/efi_device_path_to_text.c   | 167 ++++++------
 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                |  38 ++-
 lib/efi_selftest/Makefile                  |  24 +-
 lib/efi_selftest/efi_selftest.c            |   2 +-
 lib/efi_selftest/efi_selftest_devicepath.c | 391 +++++++++++++++++++++++++++++
 test/py/tests/test_efi_loader.py           |   2 +
 13 files changed, 770 insertions(+), 288 deletions(-)
 create mode 100644 lib/efi_selftest/efi_selftest_devicepath.c

-- 
2.14.2



More information about the U-Boot mailing list