mirror of
https://github.com/u-boot/u-boot.git
synced 2025-05-08 10:39:08 +00:00
efi: Support showing tables
Add a command (for the app and payload) to display the tables provided by EFI. Note that for the payload the tables should always be present, so an error message is unnecessary and would bloat the code. Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
041840eeeb
commit
1d32eee4fa
3 changed files with 53 additions and 2 deletions
31
cmd/efi.c
31
cmd/efi.c
|
@ -7,10 +7,12 @@
|
|||
#include <common.h>
|
||||
#include <command.h>
|
||||
#include <efi.h>
|
||||
#include <efi_api.h>
|
||||
#include <errno.h>
|
||||
#include <log.h>
|
||||
#include <malloc.h>
|
||||
#include <sort.h>
|
||||
#include <uuid.h>
|
||||
#include <asm/global_data.h>
|
||||
|
||||
DECLARE_GLOBAL_DATA_PTR;
|
||||
|
@ -273,8 +275,34 @@ done:
|
|||
return ret ? CMD_RET_FAILURE : 0;
|
||||
}
|
||||
|
||||
static int do_efi_tables(struct cmd_tbl *cmdtp, int flag, int argc,
|
||||
char *const argv[])
|
||||
{
|
||||
struct efi_system_table *systab;
|
||||
|
||||
if (IS_ENABLED(CONFIG_EFI_APP)) {
|
||||
systab = efi_get_sys_table();
|
||||
if (!systab) {
|
||||
printf("Cannot read system table\n");
|
||||
return CMD_RET_FAILURE;
|
||||
}
|
||||
} else {
|
||||
int size;
|
||||
int ret;
|
||||
|
||||
ret = efi_info_get(EFIET_SYS_TABLE, (void **)&systab, &size);
|
||||
if (ret) /* this should not happen */
|
||||
return CMD_RET_FAILURE;
|
||||
}
|
||||
|
||||
efi_show_tables(systab);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static struct cmd_tbl efi_commands[] = {
|
||||
U_BOOT_CMD_MKENT(mem, 1, 1, do_efi_mem, "", ""),
|
||||
U_BOOT_CMD_MKENT(tables, 1, 1, do_efi_tables, "", ""),
|
||||
};
|
||||
|
||||
static int do_efi(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
|
||||
|
@ -298,5 +326,6 @@ static int do_efi(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
|
|||
U_BOOT_CMD(
|
||||
efi, 3, 1, do_efi,
|
||||
"EFI access",
|
||||
"mem [all] Dump memory information [include boot services]"
|
||||
"mem [all] Dump memory information [include boot services]\n"
|
||||
"tables Dump tables"
|
||||
);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue