diff options
author | Tom Rini <trini@konsulko.com> | 2022-09-02 09:09:47 -0400 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2022-09-02 09:09:47 -0400 |
commit | 67fe8cc0016756f3479288b3f67d59a517e512d5 (patch) | |
tree | 09b698eec7eab77e832ac49f0461d8ee07cd86a4 /lib/efi_loader | |
parent | 4e10c1227aa879af809b3073bf917289f23e17d7 (diff) | |
parent | 2ac4c98ad3552609fdf04d874e60ef2c073c4689 (diff) |
Merge tag 'efi-2022-10-rc4' of https://source.denx.de/u-boot/custodians/u-boot-efi
Pull request for efi-2022-10-rc4
Documentation:
* add a page on sending patches
* bindings for FWU Metadata mtd storage
* fpio status output fields description
UEFI:
* ensure all block devices are probed
Diffstat (limited to 'lib/efi_loader')
-rw-r--r-- | lib/efi_loader/efi_disk.c | 17 | ||||
-rw-r--r-- | lib/efi_loader/efi_setup.c | 8 |
2 files changed, 25 insertions, 0 deletions
diff --git a/lib/efi_loader/efi_disk.c b/lib/efi_loader/efi_disk.c index f269abf135..5feeb52ccb 100644 --- a/lib/efi_loader/efi_disk.c +++ b/lib/efi_loader/efi_disk.c @@ -760,3 +760,20 @@ efi_status_t efi_disk_init(void) return EFI_SUCCESS; } + +/** + * efi_disks_register() - ensure all block devices are available in UEFI + * + * The function probes all block devices. As we store UEFI variables on the + * EFI system partition this function has to be called before enabling + * variable services. + */ +efi_status_t efi_disks_register(void) +{ + struct udevice *dev; + + uclass_foreach_dev_probe(UCLASS_BLK, dev) { + } + + return EFI_SUCCESS; +} diff --git a/lib/efi_loader/efi_setup.c b/lib/efi_loader/efi_setup.c index 751beda590..45a9a1d500 100644 --- a/lib/efi_loader/efi_setup.c +++ b/lib/efi_loader/efi_setup.c @@ -246,6 +246,14 @@ efi_status_t efi_init_obj_list(void) /* Set up console modes */ efi_setup_console_size(); + /* + * Probe block devices to find the ESP. + * efi_disks_register() must be called before efi_init_variables(). + */ + ret = efi_disks_register(); + if (ret != EFI_SUCCESS) + goto out; + /* Initialize variable services */ ret = efi_init_variables(); if (ret != EFI_SUCCESS) |