[U-Boot] [PATCH v2 0/7] efi_loader: event services

Heinrich Schuchardt xypron.glpk at gmx.de
Tue Jul 18 18:17:16 UTC 2017


Currently U-Boot only allows a single event. This is sufficient to run 
grub but not for other workloads as iPXE.

The EFI_SIMPLE_TEXT_INPUT_PROTOCOL requires an event WaitForKey. This
is used for instance by the iPXE shell.

The 1st patch replaces void * by struct efi_event * where applicable.
This renders the code more readable.

The 2nd patch implements the support for multiple events.

The 3rd patch corrects the size of the tpl level function parameters to
match UINTN.

The 4th patch makes efi_create_event internally callable.

The 5th patch makes efi_set_timer internally callable.

The 6th patch sets up events to track console input and to signal this
to the WaitForKey event.

The 7th patch implements the conversion of multiples of 100ns to
multiples of 1000 ns in efi_set_timer.

---
v2
	Patches 1, 3, 4, 5, 7 are new.
	A patch to silence debug output for WaitForKey has been dropped.
	Patches 2 and 6 are completely reworked compared to v1 of the patch
	series.
	Multiple events in WaitForEvent are addressed.
	The serial console handling is move to dynamically allocated events.
---

Heinrich Schuchardt (7):
  efi_loader: use struct efi_event * instead of void *
  efi_loader: implement multiple event support
  efi_loader: correct size for tpl level
  efi_loader: refactor efi_create_event
  efi_loader: refactor efi_set_timer
  efi_console: set up events
  efi_loader: correctly implement 100ns conversion

 cmd/bootefi.c                 |   1 +
 include/efi_api.h             |  44 ++++---
 include/efi_loader.h          |  39 +++++-
 lib/efi_loader/efi_boottime.c | 298 +++++++++++++++++++++++++++++-------------
 lib/efi_loader/efi_console.c  |  40 +++++-
 5 files changed, 316 insertions(+), 106 deletions(-)

-- 
2.13.2



More information about the U-Boot mailing list