
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(-)