[PATCH v5 4/8] RFC: Revert "bootstd: Make efi_mgr bootmeth work for non-sandbox setups"
Heinrich Schuchardt
xypron.glpk at gmx.de
Sun Jan 5 03:50:10 CET 2025
On 11/13/24 16:09, Simon Glass wrote:
> This is another option to fix sunxi booting with bootstd, which may be
> better since it will work for all boards. We can then figure out how to
> automatically and deterministicaly decide when bootmgr should be used.
>
> This reverts commit f2bfa0cb17948aa4a0fa20fdf9014296b9c4d9c7.
>
> Signed-off-by: Simon Glass <sjg at chromium.org>
> ---
> If this patch is applied, we don't need to drop bootmgr for sunxi
>
> (no changes since v1)
>
> boot/bootmeth_efi_mgr.c | 18 +-----------------
> 1 file changed, 1 insertion(+), 17 deletions(-)
>
> diff --git a/boot/bootmeth_efi_mgr.c b/boot/bootmeth_efi_mgr.c
> index 23ae1e610ac..095fa74fc60 100644
> --- a/boot/bootmeth_efi_mgr.c
> +++ b/boot/bootmeth_efi_mgr.c
> @@ -14,8 +14,6 @@
> #include <command.h>
> #include <dm.h>
> #include <efi_loader.h>
> -#include <efi_variable.h>
> -#include <malloc.h>
>
> /**
> * struct efi_mgr_priv - private info for the efi-mgr driver
> @@ -48,27 +46,13 @@ static int efi_mgr_check(struct udevice *dev, struct bootflow_iter *iter)
> static int efi_mgr_read_bootflow(struct udevice *dev, struct bootflow *bflow)
> {
> struct efi_mgr_priv *priv = dev_get_priv(dev);
> - efi_status_t ret;
> - efi_uintn_t size;
> - u16 *bootorder;
>
> if (priv->fake_dev) {
> bflow->state = BOOTFLOWST_READY;
> return 0;
> }
>
> - ret = efi_init_obj_list();
> - if (ret)
> - return log_msg_ret("init", ret);
> -
> - /* Enable this method if the "BootOrder" UEFI exists. */
> - bootorder = efi_get_var(u"BootOrder", &efi_global_variable_guid,
> - &size);
> - if (bootorder) {
> - free(bootorder);
> - bflow->state = BOOTFLOWST_READY;
> - return 0;
> - }
> + /* To be implemented */
The EFI boot manager can boot based on:
* variable BootOrder
* variable BootNext
* an existing file EFI/BOOT/BOOT<arch>.EFI
It obsoletes bootsmeth_efi.
>
> return -EINVAL;
We must always run the EFI boot manager if it is enabled. So -EINVAL is
wrong here.
Best regards
Heinrich
More information about the U-Boot
mailing list