mirror of
https://github.com/u-boot/u-boot.git
synced 2025-05-08 19:11:53 +00:00
efi_loader: all variable attributes are 32bit
GetVariable() and SetVariable() use an uint32_t value for attributes. The UEFI specification defines the related constants as 32bit. Add the missing EFI_VARIABLE_ENHANCED_AUTHENTICATED_ACCESS constant. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
This commit is contained in:
parent
584a2ada6e
commit
19327c1f90
3 changed files with 11 additions and 10 deletions
|
@ -492,13 +492,14 @@ extern char _binary_u_boot_bin_start[], _binary_u_boot_bin_end[];
|
||||||
/*
|
/*
|
||||||
* Variable Attributes
|
* Variable Attributes
|
||||||
*/
|
*/
|
||||||
#define EFI_VARIABLE_NON_VOLATILE 0x0000000000000001
|
#define EFI_VARIABLE_NON_VOLATILE 0x00000001
|
||||||
#define EFI_VARIABLE_BOOTSERVICE_ACCESS 0x0000000000000002
|
#define EFI_VARIABLE_BOOTSERVICE_ACCESS 0x00000002
|
||||||
#define EFI_VARIABLE_RUNTIME_ACCESS 0x0000000000000004
|
#define EFI_VARIABLE_RUNTIME_ACCESS 0x00000004
|
||||||
#define EFI_VARIABLE_HARDWARE_ERROR_RECORD 0x0000000000000008
|
#define EFI_VARIABLE_HARDWARE_ERROR_RECORD 0x00000008
|
||||||
#define EFI_VARIABLE_AUTHENTICATED_WRITE_ACCESS 0x0000000000000010
|
#define EFI_VARIABLE_AUTHENTICATED_WRITE_ACCESS 0x00000010
|
||||||
#define EFI_VARIABLE_TIME_BASED_AUTHENTICATED_WRITE_ACCESS 0x0000000000000020
|
#define EFI_VARIABLE_TIME_BASED_AUTHENTICATED_WRITE_ACCESS 0x00000020
|
||||||
#define EFI_VARIABLE_APPEND_WRITE 0x0000000000000040
|
#define EFI_VARIABLE_APPEND_WRITE 0x00000040
|
||||||
|
#define EFI_VARIABLE_ENHANCED_AUTHENTICATED_ACCESS 0x00000080
|
||||||
|
|
||||||
#define EFI_VARIABLE_MASK (EFI_VARIABLE_NON_VOLATILE | \
|
#define EFI_VARIABLE_MASK (EFI_VARIABLE_NON_VOLATILE | \
|
||||||
EFI_VARIABLE_BOOTSERVICE_ACCESS | \
|
EFI_VARIABLE_BOOTSERVICE_ACCESS | \
|
||||||
|
|
|
@ -99,7 +99,7 @@ efi_status_t EFIAPI efi_set_variable(u16 *variable_name,
|
||||||
data_size, data);
|
data_size, data);
|
||||||
|
|
||||||
/* Make sure that the EFI_VARIABLE_READ_ONLY flag is not set */
|
/* Make sure that the EFI_VARIABLE_READ_ONLY flag is not set */
|
||||||
if (attributes & ~(u32)EFI_VARIABLE_MASK)
|
if (attributes & ~EFI_VARIABLE_MASK)
|
||||||
ret = EFI_INVALID_PARAMETER;
|
ret = EFI_INVALID_PARAMETER;
|
||||||
else
|
else
|
||||||
ret = efi_set_variable_int(variable_name, vendor, attributes,
|
ret = efi_set_variable_int(variable_name, vendor, attributes,
|
||||||
|
|
|
@ -259,7 +259,7 @@ efi_status_t efi_set_variable_int(const u16 *variable_name,
|
||||||
/* check if a variable exists */
|
/* check if a variable exists */
|
||||||
var = efi_var_mem_find(vendor, variable_name, NULL);
|
var = efi_var_mem_find(vendor, variable_name, NULL);
|
||||||
append = !!(attributes & EFI_VARIABLE_APPEND_WRITE);
|
append = !!(attributes & EFI_VARIABLE_APPEND_WRITE);
|
||||||
attributes &= ~(u32)EFI_VARIABLE_APPEND_WRITE;
|
attributes &= ~EFI_VARIABLE_APPEND_WRITE;
|
||||||
delete = !append && (!data_size || !attributes);
|
delete = !append && (!data_size || !attributes);
|
||||||
|
|
||||||
/* check attributes */
|
/* check attributes */
|
||||||
|
@ -398,7 +398,7 @@ efi_status_t efi_query_variable_info_int(u32 attributes,
|
||||||
EFI_VARIABLE_RUNTIME_ACCESS)
|
EFI_VARIABLE_RUNTIME_ACCESS)
|
||||||
return EFI_INVALID_PARAMETER;
|
return EFI_INVALID_PARAMETER;
|
||||||
|
|
||||||
if (attributes & ~(u32)EFI_VARIABLE_MASK)
|
if (attributes & ~EFI_VARIABLE_MASK)
|
||||||
return EFI_INVALID_PARAMETER;
|
return EFI_INVALID_PARAMETER;
|
||||||
|
|
||||||
*maximum_variable_storage_size = EFI_VAR_BUF_SIZE -
|
*maximum_variable_storage_size = EFI_VAR_BUF_SIZE -
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue