[v2,0/3] efi_loader: add removable device support

Message ID 20181115045810.28736-1-takahiro.akashi@linaro.org
Headers show
Series
  • efi_loader: add removable device support
Related show

Message

AKASHI Takahiro Nov. 15, 2018, 4:58 a.m.
Under the current implementation, any removable device which is
attached to the platform will not be recognized after any efi-related
command, in particular bootefi, is once executed.

This patch set resolves this problem by re-scanning and recreating
a disk device list for efi operations.

# I didn't run selftest "block device" as I don't know how we can
# create a test disk image.
# Heinrich, can you provide a script?

-Takahiro Akashi

Changes in v2 (Nov 15, 2018)
* efi_init_obj_list() will never return an error once it has succeeded
* add "invalid" flag to efi_disk to indicate that a given device
  is now in stale state
* modify block io protocol and file protocol to honor invalid flag
* simplify efi simple file system protocol/file procotol by removing
  details of an u-boot block device
* some function were renamed after Heinrich's comment

AKASHI Takahiro (3):
  efi_loader: export efi_locate_handle() function
  efi_loader: enumerate disk devices every time
  efi_loader: remove block device details from efi file

 cmd/bootefi.c                 |  17 ++-
 include/efi_loader.h          |  14 ++-
 lib/efi_loader/efi_boottime.c |   7 +-
 lib/efi_loader/efi_disk.c     | 229 +++++++++++++++++++++++++++++++++-
 lib/efi_loader/efi_file.c     |  21 ++--
 5 files changed, 266 insertions(+), 22 deletions(-)