public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot] [PATCH 00/16] efi_loader: implement driver management
@ 2017-12-17 15:43 Heinrich Schuchardt
  2017-12-17 15:43 ` [U-Boot] [PATCH 01/16] efi_selftest: colored test output Heinrich Schuchardt
                   ` (15 more replies)
  0 siblings, 16 replies; 36+ messages in thread
From: Heinrich Schuchardt @ 2017-12-17 15:43 UTC (permalink / raw)
  To: u-boot

This series implements the OpenProtocolInformation, ConnectController,
and DisconnectController boot services.

The EFI application creating a new device will call ConnectController
to request the installation of all necessary drivers. Before
deleting the device it will call DisconectController to remove all
child controllers and to detach the driver.

E.g. iPXE may be used to connect an iSCSI target. It then creates a
handle by installing the EFI_BLOCK_IO_PROTOCOL. It calls
ConnectController and expects U-Boot to create the partition handles
and to provide the EFI_SIMPLE_FILE_SYSTEM_PROTOCOL. (The driver
connecting to the EFI_BLOCK_IO_PROTOCOL is not yet implemented in
U-Boot.)

A self test is provided for the driver management.
The bootefi selftest now creates colored output.
Two bug fixes are included.

To complete the implementation of the EFI boot services the following
future work is needed:
* manage events in a linked list (see Rob's proposal)
* implement ReinstallProtocol and RegisterProtocolNotify


Heinrich Schuchardt (16):
  efi_selftest: colored test output
  efi_loader: simplify efi_remove_all_protocols
  efi_selftest: do not try to close device path protocol
  efi_loader: list of open protocol infos
  efi_loader: open_info in OpenProtocol
  efi_loader: open_info in CloseProtocol
  efi_loader: implement OpenProtocolInformation
  efi_loader: debug output installed device path
  efi_loader: implement ConnectController
  efi_loader: fix signature of efi_disconnect_controller
  efi_loader: implement DisconnectController
  efi_loader: disconnect controllers in UninstallProtocol
  efi_selftest: remove todo in manage protocols
  efi_selftest: remove todo in device path test
  efi_selftest: test for (Dis)ConnectController
  efi_loader: consistently use efi_handle_t for handles

 cmd/bootefi.c                                   |  10 +-
 include/efi_api.h                               |  48 +-
 include/efi_loader.h                            |  31 +-
 include/efi_selftest.h                          |  27 +-
 lib/efi_loader/efi_boottime.c                   | 757 +++++++++++++++++++++---
 lib/efi_loader/efi_console.c                    |   6 +-
 lib/efi_selftest/Makefile                       |   1 +
 lib/efi_selftest/efi_selftest.c                 |  25 +-
 lib/efi_selftest/efi_selftest_console.c         |  13 +-
 lib/efi_selftest/efi_selftest_controllers.c     | 385 ++++++++++++
 lib/efi_selftest/efi_selftest_devicepath.c      |  48 +-
 lib/efi_selftest/efi_selftest_manageprotocols.c |  22 +-
 12 files changed, 1209 insertions(+), 164 deletions(-)
 create mode 100644 lib/efi_selftest/efi_selftest_controllers.c

-- 
2.14.2

^ permalink raw reply	[flat|nested] 36+ messages in thread

end of thread, other threads:[~2018-02-04 13:39 UTC | newest]

Thread overview: 36+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-12-17 15:43 [U-Boot] [PATCH 00/16] efi_loader: implement driver management Heinrich Schuchardt
2017-12-17 15:43 ` [U-Boot] [PATCH 01/16] efi_selftest: colored test output Heinrich Schuchardt
2018-01-08  3:32   ` Simon Glass
2017-12-17 15:43 ` [U-Boot] [PATCH 02/16] efi_loader: simplify efi_remove_all_protocols Heinrich Schuchardt
2018-01-08  3:32   ` Simon Glass
2017-12-17 15:43 ` [U-Boot] [PATCH 03/16] efi_selftest: do not try to close device path protocol Heinrich Schuchardt
2018-01-08  3:33   ` Simon Glass
2017-12-17 15:43 ` [U-Boot] [PATCH 04/16] efi_loader: list of open protocol infos Heinrich Schuchardt
2018-01-08  3:33   ` Simon Glass
2017-12-17 15:43 ` [U-Boot] [PATCH 05/16] efi_loader: open_info in OpenProtocol Heinrich Schuchardt
2018-01-08  3:34   ` Simon Glass
2017-12-17 15:43 ` [U-Boot] [PATCH 06/16] efi_loader: open_info in CloseProtocol Heinrich Schuchardt
2018-01-08  3:34   ` Simon Glass
2017-12-17 15:43 ` [U-Boot] [PATCH 07/16] efi_loader: implement OpenProtocolInformation Heinrich Schuchardt
2018-01-08  3:34   ` Simon Glass
2017-12-17 15:43 ` [U-Boot] [PATCH 08/16] efi_loader: debug output installed device path Heinrich Schuchardt
2018-01-08  3:35   ` Simon Glass
2017-12-17 15:43 ` [U-Boot] [PATCH 09/16] efi_loader: implement ConnectController Heinrich Schuchardt
2018-01-08  3:35   ` Simon Glass
2017-12-17 15:43 ` [U-Boot] [PATCH 10/16] efi_loader: fix signature of efi_disconnect_controller Heinrich Schuchardt
2018-01-08  3:35   ` Simon Glass
2017-12-17 15:43 ` [U-Boot] [PATCH 11/16] efi_loader: implement DisconnectController Heinrich Schuchardt
2018-01-08  3:35   ` Simon Glass
2018-01-08 23:11     ` Heinrich Schuchardt
2018-02-04 13:39       ` Simon Glass
2017-12-17 15:43 ` [U-Boot] [PATCH 12/16] efi_loader: disconnect controllers in UninstallProtocol Heinrich Schuchardt
2018-01-08  3:36   ` Simon Glass
2017-12-17 15:43 ` [U-Boot] [PATCH 13/16] efi_selftest: remove todo in manage protocols Heinrich Schuchardt
2018-01-08  3:36   ` Simon Glass
2017-12-17 15:43 ` [U-Boot] [PATCH 14/16] efi_selftest: remove todo in device path test Heinrich Schuchardt
2018-01-08  3:37   ` Simon Glass
2017-12-17 15:43 ` [U-Boot] [PATCH 15/16] efi_selftest: test for (Dis)ConnectController Heinrich Schuchardt
2018-01-08  3:37   ` Simon Glass
2017-12-17 15:43 ` [U-Boot] [PATCH 16/16] efi_loader: consistently use efi_handle_t for handles Heinrich Schuchardt
2018-01-08  3:37   ` Simon Glass
2018-01-08 23:21     ` Heinrich Schuchardt

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox