[U-Boot] [PATCH v3 00/18] efi_loader: enable EFI driver provided block device
Heinrich Schuchardt
xypron.glpk at gmx.de
Fri Jan 19 19:24:36 UTC 2018
With this patch series an EFI application or driver can supply
a block device which in turn can be used to download an image.
E.g. we can load iPXE, connect iSCSI drives, download grub from the
SAN and afterwards with grub download and run an EFI application.
Booting Linux from an iSCSI drive was successful on arm64.
v3:
Provide two separate test cases for StartImage.
Initialize EFI driver uclass from bootefi command.
Add check_tpl parameter to efi_signal_event.
Remove accepted patch for file2include.
v2:
Add an additional patch to fix ExitBootServices.
Provide comments for EFI block driver.
Avoid printing when not in debug mode
Add product tools/file2include to .gitignore.
Put the patch with the test for block io after the patch for the
driver.
Heinrich Schuchardt (18):
efi_loader: return NULL from device path functions
efi_loader: address of the simple file system protocol
efi_loader: correct find simple file system protocol
efi_loader: print device path when entering efi_load_image
efi_loader: allocate correct memory type for EFI image
efi_loader: check tables in helloworld.efi
efi_loader: fix StartImage bootservice
efi_loader: efi_disk_register: correctly determine if_type_name
efi_loader: make efi_block_io_guid a global symbol
efi_loader: provide a function to create a partition node
efi_loader: make efi_disk_create_partitions a global symbol
efi_loader: correct EFI_BLOCK_IO_PROTOCOL definitions
efi_loader: provide function to get last node of a device path
efi_loader: provide link between devices and EFI handles
efi_loader: add check_tpl parameter to efi_signal_event
efi_loader: fix ExitBootServices
efi_driver: EFI block driver
efi_selftest: provide a test for block io
cmd/bootefi.c | 3 +
drivers/block/blk-uclass.c | 4 +-
include/blk.h | 1 +
include/config_fallbacks.h | 1 +
include/dm/uclass-id.h | 1 +
include/efi_api.h | 18 +-
include/efi_driver.h | 30 ++
include/efi_loader.h | 23 +-
lib/Makefile | 1 +
lib/efi_driver/Makefile | 13 +
lib/efi_driver/efi_block_device.c | 175 ++++++++++++
lib/efi_driver/efi_uclass.c | 330 ++++++++++++++++++++++
lib/efi_loader/efi_boottime.c | 55 +++-
lib/efi_loader/efi_console.c | 14 +-
lib/efi_loader/efi_device_path.c | 168 +++++++++---
lib/efi_loader/efi_disk.c | 137 +++++++---
lib/efi_loader/efi_image_loader.c | 64 +++--
lib/efi_loader/helloworld.c | 26 ++
lib/efi_selftest/Makefile | 4 +
lib/efi_selftest/efi_selftest_block_device.c | 395 +++++++++++++++++++++++++++
lib/efi_selftest/efi_selftest_disk_image.h | 69 +++++
21 files changed, 1398 insertions(+), 134 deletions(-)
create mode 100644 include/efi_driver.h
create mode 100644 lib/efi_driver/Makefile
create mode 100644 lib/efi_driver/efi_block_device.c
create mode 100644 lib/efi_driver/efi_uclass.c
create mode 100644 lib/efi_selftest/efi_selftest_block_device.c
create mode 100644 lib/efi_selftest/efi_selftest_disk_image.h
--
2.14.2
More information about the U-Boot
mailing list