[PATCH v3 07/35] efi: Add a way to obtain boot services in the app
Simon Glass
sjg at chromium.org
Tue Oct 26 05:30:30 CEST 2021
Add a function to return this information along with a stub for the
efi_info_get() function, since calling it otherwise hangs U-Boot.
Signed-off-by: Simon Glass <sjg at chromium.org>
---
(no changes since v1)
include/efi.h | 8 +++++++-
lib/efi/efi_app.c | 10 ++++++++++
2 files changed, 17 insertions(+), 1 deletion(-)
diff --git a/include/efi.h b/include/efi.h
index 18c13e0370a..b5835422b95 100644
--- a/include/efi.h
+++ b/include/efi.h
@@ -444,9 +444,15 @@ extern char _binary_u_boot_bin_start[], _binary_u_boot_bin_end[];
*
* @return pointer to EFI system table
*/
-
struct efi_system_table *efi_get_sys_table(void);
+/**
+ * efi_get_boot() - Get access to the EFI boot services table
+ *
+ * @return pointer to EFI boot services table
+ */
+struct efi_boot_services *efi_get_boot(void);
+
/**
* efi_get_ram_base() - Find the base of RAM
*
diff --git a/lib/efi/efi_app.c b/lib/efi/efi_app.c
index 907bacd716a..f61665686c5 100644
--- a/lib/efi/efi_app.c
+++ b/lib/efi/efi_app.c
@@ -31,11 +31,21 @@ struct efi_system_table *efi_get_sys_table(void)
return global_priv->sys_table;
}
+struct efi_boot_services *efi_get_boot(void)
+{
+ return global_priv->boot;
+}
+
unsigned long efi_get_ram_base(void)
{
return global_priv->ram_base;
}
+int efi_info_get(enum efi_entry_t type, void **datap, int *sizep)
+{
+ return -ENOSYS;
+}
+
static efi_status_t setup_memory(struct efi_priv *priv)
{
struct efi_boot_services *boot = priv->boot;
--
2.33.0.1079.g6e70778dc9-goog
More information about the U-Boot
mailing list