mirror of
https://xff.cz/git/u-boot/
synced 2025-10-18 08:23:24 +02:00
efi_loader: Enable run-time variable support for tee based variables
We recently added functions for storing/restoring variables from a file to a memory backed buffer marked as __efi_runtime_data commitf1f990a8c9
("efi_loader: memory buffer for variables") commit5f7dcf079d
("efi_loader: UEFI variable persistence") Using the same idea we now can support GetVariable() and GetNextVariable() on the OP-TEE based variables as well. So let's re-arrange the code a bit and move the commmon code for accessing variables out of efi_variable.c. Create common functions for reading variables from memory that both implementations can use on run-time. Then just use those functions in the run-time variants of the OP-TEE based EFI variable implementation and initialize the memory buffer on ExitBootServices() Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
This commit is contained in:
committed by
Heinrich Schuchardt
parent
db94dfbd52
commit
e01aed47d6
@@ -166,6 +166,28 @@ efi_status_t EFIAPI efi_query_variable_info(
|
||||
return EFI_EXIT(ret);
|
||||
}
|
||||
|
||||
efi_status_t __efi_runtime EFIAPI
|
||||
efi_get_variable_runtime(u16 *variable_name, const efi_guid_t *guid,
|
||||
u32 *attributes, efi_uintn_t *data_size, void *data)
|
||||
{
|
||||
efi_status_t ret;
|
||||
|
||||
ret = efi_get_variable_mem(variable_name, guid, attributes, data_size, data, NULL);
|
||||
|
||||
/* Remove EFI_VARIABLE_READ_ONLY flag */
|
||||
if (attributes)
|
||||
*attributes &= EFI_VARIABLE_MASK;
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
efi_status_t __efi_runtime EFIAPI
|
||||
efi_get_next_variable_name_runtime(efi_uintn_t *variable_name_size,
|
||||
u16 *variable_name, efi_guid_t *guid)
|
||||
{
|
||||
return efi_get_next_variable_name_mem(variable_name_size, variable_name, guid);
|
||||
}
|
||||
|
||||
/**
|
||||
* efi_set_secure_state - modify secure boot state variables
|
||||
* @secure_boot: value of SecureBoot
|
||||
|
Reference in New Issue
Block a user