1
0
mirror of https://xff.cz/git/u-boot/ synced 2025-09-01 16:52:14 +02:00

efi_loader: Add exit support

Some times you may want to exit an EFI payload again, for example
to default boot into a PXE installation and decide that you would
rather want to boot from the local disk instead.

This patch adds exit functionality to the EFI implementation, allowing
EFI payloads to exit.

Signed-off-by: Alexander Graf <agraf@suse.de>
This commit is contained in:
Alexander Graf
2016-05-20 23:28:23 +02:00
committed by Tom Rini
parent 97d44b1f5c
commit a86aeaf228
3 changed files with 32 additions and 5 deletions

View File

@@ -209,6 +209,12 @@ static unsigned long do_bootefi_exec(void *efi, void *fdt)
#ifdef DEBUG_EFI
printf("%s:%d Jumping to 0x%lx\n", __func__, __LINE__, (long)entry);
#endif
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);
}