
On Mon, May 24, 2021 at 11:56:56AM +0200, Heinrich Schuchardt wrote:
Use efi_get_variable_int() instead of EFI_CALL(RT->get_variable()). Use efi_set_variable_int() instead of EFI_CALL(efi_set_variable()).
Signed-off-by: Heinrich Schuchardt xypron.glpk@gmx.de
cmd/efidebug.c | 33 ++++++++++++++++++--------------- 1 file changed, 18 insertions(+), 15 deletions(-)
diff --git a/cmd/efidebug.c b/cmd/efidebug.c index 9c3ba73d61..c6352719dd 100644 --- a/cmd/efidebug.c +++ b/cmd/efidebug.c @@ -12,6 +12,7 @@ #include <efi_load_initrd.h> #include <efi_loader.h> #include <efi_rng.h> +#include <efi_variable.h> #include <exports.h> #include <hexdump.h> #include <log.h> @@ -239,8 +240,9 @@ static int do_efi_capsule_res(struct cmd_tbl *cmdtp, int flag, guid = efi_guid_capsule_report; if (argc == 1) { size = sizeof(var_name16);
ret = EFI_CALL(RT->get_variable(L"CapsuleLast", &guid, NULL,
&size, var_name16));
ret = efi_get_variable_int(L"CapsuleLast", &guid, NULL,
&size, var_name16, NULL);
- if (ret != EFI_SUCCESS) { if (ret == EFI_NOT_FOUND) printf("CapsuleLast doesn't exist\n");
@@ -263,13 +265,13 @@ static int do_efi_capsule_res(struct cmd_tbl *cmdtp, int flag, }
size = 0;
- ret = EFI_CALL(RT->get_variable(var_name16, &guid, NULL, &size, NULL));
- ret = efi_get_variable_int(var_name16, &guid, NULL, &size, NULL, NULL); if (ret == EFI_BUFFER_TOO_SMALL) { result = malloc(size); if (!result) return CMD_RET_FAILURE;
ret = EFI_CALL(RT->get_variable(var_name16, &guid, NULL, &size,
result));
ret = efi_get_variable_int(var_name16, &guid, NULL, &size,
} if (ret != EFI_SUCCESS) { free(result);result, NULL);
@@ -1062,11 +1064,11 @@ static int do_efi_boot_add(struct cmd_tbl *cmdtp, int flag, goto out; }
- ret = EFI_CALL(efi_set_variable(var_name16, &guid,
EFI_VARIABLE_NON_VOLATILE |
EFI_VARIABLE_BOOTSERVICE_ACCESS |
EFI_VARIABLE_RUNTIME_ACCESS,
size, data));
- ret = efi_set_variable_int(var_name16, &guid,
EFI_VARIABLE_NON_VOLATILE |
EFI_VARIABLE_BOOTSERVICE_ACCESS |
EFI_VARIABLE_RUNTIME_ACCESS,
if (ret != EFI_SUCCESS) { printf("Cannot set %ls\n", var_name16); r = CMD_RET_FAILURE;size, data, false);
@@ -1117,7 +1119,8 @@ static int do_efi_boot_rm(struct cmd_tbl *cmdtp, int flag,
efi_create_indexed_name(var_name16, sizeof(var_name16), "Boot", id);
ret = EFI_CALL(efi_set_variable(var_name16, &guid, 0, 0, NULL));
ret = efi_set_variable_int(var_name16, &guid, 0, 0, NULL,
if (ret) { printf("Cannot remove %ls\n", var_name16); return CMD_RET_FAILURE;false);
@@ -1416,11 +1419,11 @@ static int do_efi_boot_next(struct cmd_tbl *cmdtp, int flag,
guid = efi_global_variable_guid; size = sizeof(u16);
- ret = EFI_CALL(efi_set_variable(L"BootNext", &guid,
- ret = efi_set_variable_int(L"BootNext", &guid, EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_RUNTIME_ACCESS,
size, &bootnext));
if (ret != EFI_SUCCESS) { printf("Cannot set BootNext\n"); r = CMD_RET_FAILURE;size, &bootnext, false);
@@ -1477,11 +1480,11 @@ static int do_efi_boot_order(struct cmd_tbl *cmdtp, int flag, }
guid = efi_global_variable_guid;
- ret = EFI_CALL(efi_set_variable(L"BootOrder", &guid,
- ret = efi_set_variable_int(L"BootOrder", &guid, EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_RUNTIME_ACCESS,
size, bootorder));
if (ret != EFI_SUCCESS) { printf("Cannot set BootOrder\n"); r = CMD_RET_FAILURE;size, bootorder, true);
-- 2.30.2
Tested-by: Ilias Apalodimas ilias.apalodimas@linaro.org Reviewed-by: Ilias Apalodimas ilias.apalodimas@linaro.org