From: Sjoerd Simons Date: Thu, 19 Jan 2023 08:38:18 +0000 (+0100) Subject: lmb: Set correct lmb flags for EFI memory map entries X-Git-Tag: v2025.01-rc5-pxa1908~1118^2~46 X-Git-Url: http://git.dujemihanovic.xyz/login.html?a=commitdiff_plain;h=c5279ea1c300d52a5cb4b47881f21cf08caec790;p=u-boot.git lmb: Set correct lmb flags for EFI memory map entries When adding reserved memory areas from the EFI memory map set the NOMAP flag when applicable. When this isn't done adding "no-map" flagged entries from the fdt after receiving the same from the EFI memory map fails due to non-matching flags. Signed-off-by: Sjoerd Simons --- diff --git a/lib/lmb.c b/lib/lmb.c index ec790760db..f447c639a6 100644 --- a/lib/lmb.c +++ b/lib/lmb.c @@ -175,11 +175,14 @@ static __maybe_unused int efi_lmb_reserve(struct lmb *lmb) return 1; for (i = 0, map = memmap; i < map_size / sizeof(*map); ++map, ++i) { - if (map->type != EFI_CONVENTIONAL_MEMORY) - lmb_reserve(lmb, - map_to_sysmem((void *)(uintptr_t) - map->physical_start), - map->num_pages * EFI_PAGE_SIZE); + if (map->type != EFI_CONVENTIONAL_MEMORY) { + lmb_reserve_flags(lmb, + map_to_sysmem((void *)(uintptr_t) + map->physical_start), + map->num_pages * EFI_PAGE_SIZE, + map->type == EFI_RESERVED_MEMORY_TYPE + ? LMB_NOMAP : LMB_NONE); + } } efi_free_pool(memmap);