]> git.proxmox.com Git - mirror_ubuntu-focal-kernel.git/commitdiff
fdt: Properly handle "no-map" field in the memory region
authorKarimAllah Ahmed <karahmed@amazon.de>
Fri, 15 Jan 2021 11:45:43 +0000 (11:45 +0000)
committerKleber Sacilotto de Souza <kleber.souza@canonical.com>
Wed, 14 Apr 2021 16:31:30 +0000 (18:31 +0200)
BugLink: https://bugs.launchpad.net/bugs/1918974
[ Upstream commit 86588296acbfb1591e92ba60221e95677ecadb43 ]

Mark the memory region with NOMAP flag instead of completely removing it
from the memory blocks. That makes the FDT handling consistent with the EFI
memory map handling.

Cc: Rob Herring <robh+dt@kernel.org>
Cc: Frank Rowand <frowand.list@gmail.com>
Cc: devicetree@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Signed-off-by: KarimAllah Ahmed <karahmed@amazon.de>
Signed-off-by: Quentin Perret <qperret@google.com>
Link: https://lore.kernel.org/r/20210115114544.1830068-2-qperret@google.com
Signed-off-by: Rob Herring <robh@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
Signed-off-by: Kelsey Skunberg <kelsey.skunberg@canonical.com>
drivers/of/fdt.c

index 223d617ecfe17458207dfc6dfb3c5b9c134d937f..036af904e0cfabb1a9aef44f3a9af6eda0c5ac2c 100644 (file)
@@ -1154,7 +1154,7 @@ int __init __weak early_init_dt_reserve_memory_arch(phys_addr_t base,
                                        phys_addr_t size, bool nomap)
 {
        if (nomap)
-               return memblock_remove(base, size);
+               return memblock_mark_nomap(base, size);
        return memblock_reserve(base, size);
 }