diff options
Diffstat (limited to 'include/linux/efi.h')
-rw-r--r-- | include/linux/efi.h | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/include/linux/efi.h b/include/linux/efi.h index 6c100ff0cae4..6a4d8e27d1d7 100644 --- a/include/linux/efi.h +++ b/include/linux/efi.h | |||
@@ -863,6 +863,12 @@ extern int efi_set_rtc_mmss(const struct timespec *now); | |||
863 | extern void efi_reserve_boot_services(void); | 863 | extern void efi_reserve_boot_services(void); |
864 | extern struct efi_memory_map memmap; | 864 | extern struct efi_memory_map memmap; |
865 | 865 | ||
866 | /* Iterate through an efi_memory_map */ | ||
867 | #define for_each_efi_memory_desc(m, md) \ | ||
868 | for ((md) = (m)->map; \ | ||
869 | (md) <= (efi_memory_desc_t *)((m)->map_end - (m)->desc_size); \ | ||
870 | (md) = (void *)(md) + (m)->desc_size) | ||
871 | |||
866 | /** | 872 | /** |
867 | * efi_range_is_wc - check the WC bit on an address range | 873 | * efi_range_is_wc - check the WC bit on an address range |
868 | * @start: starting kvirt address | 874 | * @start: starting kvirt address |
@@ -1033,8 +1039,10 @@ struct efivars { | |||
1033 | * and we use a page for reading/writing. | 1039 | * and we use a page for reading/writing. |
1034 | */ | 1040 | */ |
1035 | 1041 | ||
1042 | #define EFI_VAR_NAME_LEN 1024 | ||
1043 | |||
1036 | struct efi_variable { | 1044 | struct efi_variable { |
1037 | efi_char16_t VariableName[1024/sizeof(efi_char16_t)]; | 1045 | efi_char16_t VariableName[EFI_VAR_NAME_LEN/sizeof(efi_char16_t)]; |
1038 | efi_guid_t VendorGuid; | 1046 | efi_guid_t VendorGuid; |
1039 | unsigned long DataSize; | 1047 | unsigned long DataSize; |
1040 | __u8 Data[1024]; | 1048 | __u8 Data[1024]; |
@@ -1116,7 +1124,7 @@ int efivar_entry_iter(int (*func)(struct efivar_entry *, void *), | |||
1116 | struct efivar_entry *efivar_entry_find(efi_char16_t *name, efi_guid_t guid, | 1124 | struct efivar_entry *efivar_entry_find(efi_char16_t *name, efi_guid_t guid, |
1117 | struct list_head *head, bool remove); | 1125 | struct list_head *head, bool remove); |
1118 | 1126 | ||
1119 | bool efivar_validate(struct efi_variable *var, u8 *data, unsigned long len); | 1127 | bool efivar_validate(efi_char16_t *var_name, u8 *data, unsigned long len); |
1120 | 1128 | ||
1121 | extern struct work_struct efivar_work; | 1129 | extern struct work_struct efivar_work; |
1122 | void efivar_run_worker(void); | 1130 | void efivar_run_worker(void); |