diff options
author | Heinrich Schuchardt | 2022-10-15 13:21:01 +0200 |
---|---|---|
committer | Heinrich Schuchardt | 2022-10-16 12:23:22 +0200 |
commit | f4d52c41595b8af1813413020773b5d59f226622 (patch) | |
tree | 9bc6d78e744d0c096c8ef0498120291641e9b5c8 | |
parent | 7831d36f5bd8c321a9054912c1675c840978314d (diff) |
cmd: simplify efidebug
* don't use EFI_CALL() for variable services
* don't use runtime pointer to access exported function
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
-rw-r--r-- | cmd/efidebug.c | 47 |
1 files changed, 21 insertions, 26 deletions
diff --git a/cmd/efidebug.c b/cmd/efidebug.c index 4b49f30d937..ef239bb34b4 100644 --- a/cmd/efidebug.c +++ b/cmd/efidebug.c @@ -25,7 +25,6 @@ #include <linux/err.h> #define BS systab.boottime -#define RT systab.runtime #ifdef CONFIG_EFI_HAVE_CAPSULE_SUPPORT /** @@ -76,7 +75,7 @@ static int do_efi_capsule_update(struct cmd_tbl *cmdtp, int flag, capsule->capsule_image_size); } - ret = EFI_CALL(RT->update_capsule(&capsule, 1, 0)); + ret = EFI_CALL(efi_update_capsule(&capsule, 1, 0)); if (ret) { printf("Cannot handle a capsule at %p\n", capsule); return CMD_RET_FAILURE; @@ -995,17 +994,16 @@ static void show_efi_boot_opt(u16 *varname16) efi_status_t ret; size = 0; - ret = EFI_CALL(efi_get_variable(varname16, &efi_global_variable_guid, - NULL, &size, NULL)); + ret = efi_get_variable_int(varname16, &efi_global_variable_guid, + NULL, &size, NULL, NULL); if (ret == EFI_BUFFER_TOO_SMALL) { data = malloc(size); if (!data) { printf("ERROR: Out of memory\n"); return; } - ret = EFI_CALL(efi_get_variable(varname16, - &efi_global_variable_guid, - NULL, &size, data)); + ret = efi_get_variable_int(varname16, &efi_global_variable_guid, + NULL, &size, data, NULL); if (ret == EFI_SUCCESS) show_efi_boot_opt_data(varname16, data, &size); free(data); @@ -1057,8 +1055,7 @@ static int do_efi_boot_dump(struct cmd_tbl *cmdtp, int flag, var_name16[0] = 0; for (;;) { size = buf_size; - ret = EFI_CALL(efi_get_next_variable_name(&size, var_name16, - &guid)); + ret = efi_get_next_variable_name_int(&size, var_name16, &guid); if (ret == EFI_NOT_FOUND) break; if (ret == EFI_BUFFER_TOO_SMALL) { @@ -1069,9 +1066,8 @@ static int do_efi_boot_dump(struct cmd_tbl *cmdtp, int flag, return CMD_RET_FAILURE; } var_name16 = p; - ret = EFI_CALL(efi_get_next_variable_name(&size, - var_name16, - &guid)); + ret = efi_get_next_variable_name_int(&size, var_name16, + &guid); } if (ret != EFI_SUCCESS) { free(var_name16); @@ -1114,8 +1110,8 @@ static int show_efi_boot_order(void) efi_status_t ret; size = 0; - ret = EFI_CALL(efi_get_variable(u"BootOrder", &efi_global_variable_guid, - NULL, &size, NULL)); + ret = efi_get_variable_int(u"BootOrder", &efi_global_variable_guid, + NULL, &size, NULL, NULL); if (ret != EFI_BUFFER_TOO_SMALL) { if (ret == EFI_NOT_FOUND) { printf("BootOrder not defined\n"); @@ -1129,8 +1125,8 @@ static int show_efi_boot_order(void) printf("ERROR: Out of memory\n"); return CMD_RET_FAILURE; } - ret = EFI_CALL(efi_get_variable(u"BootOrder", &efi_global_variable_guid, - NULL, &size, bootorder)); + ret = efi_get_variable_int(u"BootOrder", &efi_global_variable_guid, + NULL, &size, bootorder, NULL); if (ret != EFI_SUCCESS) { ret = CMD_RET_FAILURE; goto out; @@ -1142,9 +1138,9 @@ static int show_efi_boot_order(void) "Boot", bootorder[i]); size = 0; - ret = EFI_CALL(efi_get_variable(var_name16, - &efi_global_variable_guid, NULL, - &size, NULL)); + ret = efi_get_variable_int(var_name16, + &efi_global_variable_guid, NULL, + &size, NULL, NULL); if (ret != EFI_BUFFER_TOO_SMALL) { printf("%2d: %ls: (not defined)\n", i + 1, var_name16); continue; @@ -1155,9 +1151,9 @@ static int show_efi_boot_order(void) ret = CMD_RET_FAILURE; goto out; } - ret = EFI_CALL(efi_get_variable(var_name16, - &efi_global_variable_guid, NULL, - &size, data)); + ret = efi_get_variable_int(var_name16, + &efi_global_variable_guid, NULL, + &size, data, NULL); if (ret != EFI_SUCCESS) { free(data); ret = CMD_RET_FAILURE; @@ -1444,10 +1440,9 @@ static int do_efi_query_info(struct cmd_tbl *cmdtp, int flag, EFI_VARIABLE_TIME_BASED_AUTHENTICATED_WRITE_ACCESS; } - ret = EFI_CALL(efi_query_variable_info(attr, - &max_variable_storage_size, - &remain_variable_storage_size, - &max_variable_size)); + ret = efi_query_variable_info_int(attr, &max_variable_storage_size, + &remain_variable_storage_size, + &max_variable_size); if (ret != EFI_SUCCESS) { printf("Error: Cannot query UEFI variables, r = %lu\n", ret & ~EFI_ERROR_MASK); |