Commit 68709f45 authored by Ard Biesheuvel's avatar Ard Biesheuvel Committed by Will Deacon

arm64: only consider memblocks with NOMAP cleared for linear mapping

Take the new memblock attribute MEMBLOCK_NOMAP into account when
deciding whether a certain region is or should be covered by the
kernel direct mapping.
Reviewed-by: default avatarMatt Fleming <matt@codeblueprint.co.uk>
Signed-off-by: default avatarArd Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: default avatarWill Deacon <will.deacon@arm.com>
parent bf3d3cc5
...@@ -120,7 +120,7 @@ static void __init zone_sizes_init(unsigned long min, unsigned long max) ...@@ -120,7 +120,7 @@ static void __init zone_sizes_init(unsigned long min, unsigned long max)
#ifdef CONFIG_HAVE_ARCH_PFN_VALID #ifdef CONFIG_HAVE_ARCH_PFN_VALID
int pfn_valid(unsigned long pfn) int pfn_valid(unsigned long pfn)
{ {
return memblock_is_memory(pfn << PAGE_SHIFT); return memblock_is_map_memory(pfn << PAGE_SHIFT);
} }
EXPORT_SYMBOL(pfn_valid); EXPORT_SYMBOL(pfn_valid);
#endif #endif
......
...@@ -372,6 +372,8 @@ static void __init map_mem(void) ...@@ -372,6 +372,8 @@ static void __init map_mem(void)
if (start >= end) if (start >= end)
break; break;
if (memblock_is_nomap(reg))
continue;
if (ARM64_SWAPPER_USES_SECTION_MAPS) { if (ARM64_SWAPPER_USES_SECTION_MAPS) {
/* /*
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment