diff options
-rw-r--r-- | drivers/firmware/efi/arm-init.c | 14 | ||||
-rw-r--r-- | include/linux/efi.h | 2 |
2 files changed, 7 insertions, 9 deletions
diff --git a/drivers/firmware/efi/arm-init.c b/drivers/firmware/efi/arm-init.c index a850cbc48d8d..c49d50e68aee 100644 --- a/drivers/firmware/efi/arm-init.c +++ b/drivers/firmware/efi/arm-init.c | |||
@@ -174,6 +174,7 @@ static __init void reserve_regions(void) | |||
174 | { | 174 | { |
175 | efi_memory_desc_t *md; | 175 | efi_memory_desc_t *md; |
176 | u64 paddr, npages, size; | 176 | u64 paddr, npages, size; |
177 | int resv; | ||
177 | 178 | ||
178 | if (efi_enabled(EFI_DBG)) | 179 | if (efi_enabled(EFI_DBG)) |
179 | pr_info("Processing EFI memory map:\n"); | 180 | pr_info("Processing EFI memory map:\n"); |
@@ -190,12 +191,14 @@ static __init void reserve_regions(void) | |||
190 | paddr = md->phys_addr; | 191 | paddr = md->phys_addr; |
191 | npages = md->num_pages; | 192 | npages = md->num_pages; |
192 | 193 | ||
194 | resv = is_reserve_region(md); | ||
193 | if (efi_enabled(EFI_DBG)) { | 195 | if (efi_enabled(EFI_DBG)) { |
194 | char buf[64]; | 196 | char buf[64]; |
195 | 197 | ||
196 | pr_info(" 0x%012llx-0x%012llx %s", | 198 | pr_info(" 0x%012llx-0x%012llx %s%s\n", |
197 | paddr, paddr + (npages << EFI_PAGE_SHIFT) - 1, | 199 | paddr, paddr + (npages << EFI_PAGE_SHIFT) - 1, |
198 | efi_md_typeattr_format(buf, sizeof(buf), md)); | 200 | efi_md_typeattr_format(buf, sizeof(buf), md), |
201 | resv ? "*" : ""); | ||
199 | } | 202 | } |
200 | 203 | ||
201 | memrange_efi_to_native(&paddr, &npages); | 204 | memrange_efi_to_native(&paddr, &npages); |
@@ -204,14 +207,9 @@ static __init void reserve_regions(void) | |||
204 | if (is_normal_ram(md)) | 207 | if (is_normal_ram(md)) |
205 | early_init_dt_add_memory_arch(paddr, size); | 208 | early_init_dt_add_memory_arch(paddr, size); |
206 | 209 | ||
207 | if (is_reserve_region(md)) { | 210 | if (resv) |
208 | memblock_mark_nomap(paddr, size); | 211 | memblock_mark_nomap(paddr, size); |
209 | if (efi_enabled(EFI_DBG)) | ||
210 | pr_cont("*"); | ||
211 | } | ||
212 | 212 | ||
213 | if (efi_enabled(EFI_DBG)) | ||
214 | pr_cont("\n"); | ||
215 | } | 213 | } |
216 | 214 | ||
217 | set_bit(EFI_MEMMAP, &efi.flags); | 215 | set_bit(EFI_MEMMAP, &efi.flags); |
diff --git a/include/linux/efi.h b/include/linux/efi.h index c2db3ca22217..f196dd0b0f2f 100644 --- a/include/linux/efi.h +++ b/include/linux/efi.h | |||
@@ -1005,7 +1005,7 @@ extern int efi_memattr_apply_permissions(struct mm_struct *mm, | |||
1005 | /* Iterate through an efi_memory_map */ | 1005 | /* Iterate through an efi_memory_map */ |
1006 | #define for_each_efi_memory_desc_in_map(m, md) \ | 1006 | #define for_each_efi_memory_desc_in_map(m, md) \ |
1007 | for ((md) = (m)->map; \ | 1007 | for ((md) = (m)->map; \ |
1008 | (md) <= (efi_memory_desc_t *)((m)->map_end - (m)->desc_size); \ | 1008 | ((void *)(md) + (m)->desc_size) <= (m)->map_end; \ |
1009 | (md) = (void *)(md) + (m)->desc_size) | 1009 | (md) = (void *)(md) + (m)->desc_size) |
1010 | 1010 | ||
1011 | /** | 1011 | /** |