]> git.proxmox.com Git - mirror_edk2.git/commitdiff
ArmPkg/PlatformBootManagerLib: fall back to the UiApp on boot failure
authorArd Biesheuvel <ard.biesheuvel@arm.com>
Thu, 28 May 2020 09:17:38 +0000 (11:17 +0200)
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Sat, 6 Jun 2020 07:49:42 +0000 (07:49 +0000)
As a last resort, drop into the UiApp application when no active boot
options could be started. Doing so will connect all devices, and so
it will allow the user to enter the Boot Manager submenu and pick a
network or removable disk option.

Note that this only occurs if even the default removable filepath
could not be booted (e.g., \EFI\BOOT\BOOTAA64.EFI on AArch64)

Signed-off-by: Ard Biesheuvel <ard.biesheuvel@arm.com>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Leif Lindholm <leif@nuviainc.com>
ArmPkg/Library/PlatformBootManagerLib/PlatformBm.c

index 23c925bbdb9c0b4e827a782d6b4f56ef9bb84eb8..85cb32f6d7cd9bf45bad3d15774cd00480405d97 100644 (file)
@@ -830,5 +830,15 @@ PlatformBootManagerUnableToBoot (
   VOID\r
   )\r
 {\r
-  return;\r
+  EFI_STATUS                   Status;\r
+  EFI_BOOT_MANAGER_LOAD_OPTION BootManagerMenu;\r
+\r
+  Status = EfiBootManagerGetBootManagerMenu (&BootManagerMenu);\r
+  if (EFI_ERROR (Status)) {\r
+    return;\r
+  }\r
+\r
+  for (;;) {\r
+    EfiBootManagerBoot (&BootManagerMenu);\r
+  }\r
 }\r