summaryrefslogtreecommitdiff
path: root/lib/efi_selftest/efi_selftest_variables_runtime.c
diff options
context:
space:
mode:
authorTom Rini <trini@konsulko.com>2024-05-01 19:39:45 -0600
committerTom Rini <trini@konsulko.com>2024-05-01 19:39:45 -0600
commit3132b7982af501f7f62f7b2c7f89d00205de33d1 (patch)
treecd5b5ae2fd542e757e052f7beb6407bbf07ed8b5 /lib/efi_selftest/efi_selftest_variables_runtime.c
parentff0de1f0557ed7d2dab47ba976a37347a1fdc432 (diff)
parent8745f13fe102968f58a9e2e5f69ad153a675b59c (diff)
Merge tag 'efi-2024-07-rc2' of https://source.denx.de/u-boot/custodians/u-boot-efi
Pull request efi-2024-07-rc2 Documentation: * correct description of 'env print -e' UEFI: * remove superfluous efi_restore_gd after EFI_CALL * terminate efidebug test bootmgr early on error * do not install device-tree if bootmgr fails * pass GUID by address to efi_dp_from_lo * remove dead code in efi_var_mem_init() * enable QueryVariableInfo at runtime for file backed variables
Diffstat (limited to 'lib/efi_selftest/efi_selftest_variables_runtime.c')
-rw-r--r--lib/efi_selftest/efi_selftest_variables_runtime.c19
1 files changed, 15 insertions, 4 deletions
diff --git a/lib/efi_selftest/efi_selftest_variables_runtime.c b/lib/efi_selftest/efi_selftest_variables_runtime.c
index afa91be62c8..379c4f9c47b 100644
--- a/lib/efi_selftest/efi_selftest_variables_runtime.c
+++ b/lib/efi_selftest/efi_selftest_variables_runtime.c
@@ -55,14 +55,25 @@ static int execute(void)
u16 varname[EFI_ST_MAX_VARNAME_SIZE];
efi_guid_t guid;
u64 max_storage, rem_storage, max_size;
+ int test_ret;
memset(v2, 0x1, sizeof(v2));
- ret = runtime->query_variable_info(EFI_VARIABLE_BOOTSERVICE_ACCESS,
+
+ if (IS_ENABLED(CONFIG_EFI_VARIABLE_FILE_STORE)) {
+ test_ret = efi_st_query_variable_common(runtime, EFI_VARIABLE_BOOTSERVICE_ACCESS |
+ EFI_VARIABLE_RUNTIME_ACCESS);
+ if (test_ret != EFI_ST_SUCCESS) {
+ efi_st_error("QueryVariableInfo failed\n");
+ return EFI_ST_FAILURE;
+ }
+ } else {
+ ret = runtime->query_variable_info(EFI_VARIABLE_BOOTSERVICE_ACCESS,
&max_storage, &rem_storage,
&max_size);
- if (ret != EFI_UNSUPPORTED) {
- efi_st_error("QueryVariableInfo failed\n");
- return EFI_ST_FAILURE;
+ if (ret != EFI_UNSUPPORTED) {
+ efi_st_error("QueryVariableInfo failed\n");
+ return EFI_ST_FAILURE;
+ }
}
ret = runtime->set_variable(u"efi_st_var0", &guid_vendor0,