summaryrefslogtreecommitdiff
path: root/lib/efi
diff options
context:
space:
mode:
authorBin Meng <bmeng.cn@gmail.com>2018-08-23 08:24:09 -0700
committerBin Meng <bmeng.cn@gmail.com>2018-08-30 11:23:07 +0800
commitcbe503fbc11f36086482bfd7066c2e36b82f1544 (patch)
treea0e7aef2d02331a27bc5af951f38d2778575e663 /lib/efi
parentaac79251c7dfeb325f17dbded3076df278bfca89 (diff)
downloadu-boot-cbe503fbc11f36086482bfd7066c2e36b82f1544.tar.gz
u-boot-cbe503fbc11f36086482bfd7066c2e36b82f1544.tar.bz2
u-boot-cbe503fbc11f36086482bfd7066c2e36b82f1544.zip
efi: stub: Pass EFI system table address to U-Boot payload
This updates the EFI stub codes to pass UEFI BIOS's system table address to U-Boot payload so that U-Boot can utilize it. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'lib/efi')
-rw-r--r--lib/efi/efi_stub.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/efi/efi_stub.c b/lib/efi/efi_stub.c
index 1b495ec81b..12e3d637dd 100644
--- a/lib/efi/efi_stub.c
+++ b/lib/efi/efi_stub.c
@@ -277,6 +277,7 @@ efi_status_t EFIAPI efi_main(efi_handle_t image,
struct efi_entry_memmap map;
struct efi_gop *gop;
struct efi_entry_gopmode mode;
+ struct efi_entry_systable table;
efi_guid_t efi_gop_guid = EFI_GOP_GUID;
efi_uintn_t key, desc_size, size;
efi_status_t ret;
@@ -335,6 +336,9 @@ efi_status_t EFIAPI efi_main(efi_handle_t image,
return ret;
}
+ table.sys_table = (ulong)sys_table;
+ add_entry_addr(priv, EFIET_SYS_TABLE, &table, sizeof(table), NULL, 0);
+
ret = boot->exit_boot_services(image, key);
if (ret) {
/*