]> git.sur5r.net Git - u-boot/blobdiff - cmd/bootefi.c
ARM64: zynqmp: Remove get_uart_clk()
[u-boot] / cmd / bootefi.c
index d3a233187028a20991b06e79f6a1486865289f36..011f62c5b1ca76a409a96cb61581273c9c3c2b07 100644 (file)
@@ -206,9 +206,13 @@ static unsigned long do_bootefi_exec(void *efi, void *fdt)
 #endif
 
        /* Call our payload! */
-#ifdef DEBUG_EFI
-       printf("%s:%d Jumping to 0x%lx\n", __func__, __LINE__, (long)entry);
-#endif
+       debug("%s:%d Jumping to 0x%lx\n", __func__, __LINE__, (long)entry);
+
+       if (setjmp(&loaded_image_info.exit_jmp)) {
+               efi_status_t status = loaded_image_info.exit_status;
+               return status == EFI_SUCCESS ? 0 : -EINVAL;
+       }
+
        return entry(&loaded_image_info, &systab);
 }
 
@@ -251,7 +255,7 @@ static char bootefi_help_text[] =
 
 U_BOOT_CMD(
        bootefi, 3, 0, do_bootefi,
-       "Boots an EFI payload from memory\n",
+       "Boots an EFI payload from memory",
        bootefi_help_text
 );