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>
diff --git a/lib/efi/efi_stub.c b/lib/efi/efi_stub.c
index 1b495ec..12e3d63 100644
--- a/lib/efi/efi_stub.c
+++ b/lib/efi/efi_stub.c
@@ -277,6 +277,7 @@
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 @@
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) {
/*