aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/efi.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/efi.h')
-rw-r--r--include/linux/efi.h12
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);
863extern void efi_reserve_boot_services(void); 863extern void efi_reserve_boot_services(void);
864extern struct efi_memory_map memmap; 864extern 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
1036struct efi_variable { 1044struct 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 *),
1116struct efivar_entry *efivar_entry_find(efi_char16_t *name, efi_guid_t guid, 1124struct 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
1119bool efivar_validate(struct efi_variable *var, u8 *data, unsigned long len); 1127bool efivar_validate(efi_char16_t *var_name, u8 *data, unsigned long len);
1120 1128
1121extern struct work_struct efivar_work; 1129extern struct work_struct efivar_work;
1122void efivar_run_worker(void); 1130void efivar_run_worker(void);