[PATCH 1/7] efi_selftest: expose runtime table address

Heinrich Schuchardt heinrich.schuchardt at canonical.com
Fri Nov 14 10:32:40 CET 2025


Save the address of the EFI runtime as a global variable.
This allows to simplify the setup of tests.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt at canonical.com>
---
 include/efi_selftest.h          | 1 +
 lib/efi_selftest/efi_selftest.c | 8 ++++----
 2 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/include/efi_selftest.h b/include/efi_selftest.h
index 1b708849bcb..4ee46cbbb66 100644
--- a/include/efi_selftest.h
+++ b/include/efi_selftest.h
@@ -19,6 +19,7 @@
 
 extern const struct efi_system_table *st_systable;
 extern const struct efi_boot_services *st_boottime;
+extern const struct efi_runtime_services *st_runtime;
 
 /**
  * efi_st_printf() - print a message
diff --git a/lib/efi_selftest/efi_selftest.c b/lib/efi_selftest/efi_selftest.c
index 191da7fc451..2b95713afb4 100644
--- a/lib/efi_selftest/efi_selftest.c
+++ b/lib/efi_selftest/efi_selftest.c
@@ -16,7 +16,7 @@
 
 const struct efi_system_table *st_systable;
 const struct efi_boot_services *st_boottime;
-static const struct efi_runtime_services *runtime;
+const struct efi_runtime_services *st_runtime;
 static efi_handle_t handle;
 static u16 reset_message[] = u"Selftest completed";
 static int *setup_status;
@@ -259,7 +259,7 @@ efi_status_t EFIAPI efi_selftest(efi_handle_t image_handle,
 
 	st_systable = systab;
 	st_boottime = st_systable->boottime;
-	runtime = st_systable->runtime;
+	st_runtime = st_systable->runtime;
 	handle = image_handle;
 	con_out = st_systable->con_out;
 	con_in = st_systable->con_in;
@@ -347,8 +347,8 @@ efi_status_t EFIAPI efi_selftest(efi_handle_t image_handle,
 	efi_st_get_key();
 
 	if (IS_ENABLED(CONFIG_EFI_HAVE_RUNTIME_RESET)) {
-		runtime->reset_system(EFI_RESET_WARM, EFI_NOT_READY,
-				      sizeof(reset_message), reset_message);
+		st_runtime->reset_system(EFI_RESET_WARM, EFI_NOT_READY,
+					 sizeof(reset_message), reset_message);
 	} else {
 		efi_restore_gd();
 		do_reset(NULL, 0, 0, NULL);
-- 
2.51.0



More information about the U-Boot mailing list