[Concept,11/18] efi: app: Implement efidebug boot dump

Message ID 20250820004039.3920254-12-sjg@u-boot.org
State New
Headers
Series efi: Move towards the EFI app booting EFI applications |

Commit Message

Simon Glass Aug. 20, 2025, 12:40 a.m. UTC
  From: Simon Glass <sjg@chromium.org>

Seeing the boot order is useful in the app. Everything we need is
present except an implementation of efi_query_variable_info_int(), so
add that and enable 'efidebug boot dump'.

Signed-off-by: Simon Glass <sjg@chromium.org>
---

 cmd/efidebug.c            |  6 ------
 lib/efi_client/efi_vars.c | 14 ++++++++++++++
 2 files changed, 14 insertions(+), 6 deletions(-)
  

Patch

diff --git a/cmd/efidebug.c b/cmd/efidebug.c
index 2f1fecf494a..a48e0de1208 100644
--- a/cmd/efidebug.c
+++ b/cmd/efidebug.c
@@ -1234,9 +1234,6 @@  static int do_efi_boot_dump(struct cmd_tbl *cmdtp, int flag,
 	efi_guid_t guid;
 	efi_status_t ret;
 
-	if (app_not_supported("boot dump"))
-		return CMD_RET_FAILURE;
-
 	if (argc > 1)
 		return CMD_RET_USAGE;
 
@@ -1615,9 +1612,6 @@  static int do_efi_query_info(struct cmd_tbl *cmdtp, int flag,
 	u64 max_variable_size;
 	int i;
 
-	if (app_not_supported("query"))
-		return CMD_RET_FAILURE;
-
 	for (i = 1; i < argc; i++) {
 		if (!strcmp(argv[i], "-bs"))
 			attr |= EFI_VARIABLE_BOOTSERVICE_ACCESS;
diff --git a/lib/efi_client/efi_vars.c b/lib/efi_client/efi_vars.c
index e652ee3f243..4fc48b90d6c 100644
--- a/lib/efi_client/efi_vars.c
+++ b/lib/efi_client/efi_vars.c
@@ -39,3 +39,17 @@  efi_status_t efi_get_next_variable_name_int(efi_uintn_t *variable_name_size,
 
 	return run->get_next_variable_name(variable_name_size, variable_name, vendor);
 }
+
+efi_status_t efi_query_variable_info_int(u32 attributes,
+					 u64 *maximum_variable_storage_size,
+					 u64 *remaining_variable_storage_size,
+					 u64 *maximum_variable_size)
+{
+	struct efi_runtime_services *run = efi_get_run();
+
+	return run->query_variable_info(attributes,
+					maximum_variable_storage_size,
+					remaining_variable_storage_size,
+					maximum_variable_size);
+}
+