From: Kristina Martsenko Date: Thu, 18 Jan 2018 19:13:11 +0000 (+0000) Subject: arm64: mm: ignore memory above supported physical address size X-Git-Tag: v5.15~9433^2~43 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=e9eaa8052fe71b95f4fea6072fa3e0b2cf0b620f;p=platform%2Fkernel%2Flinux-starfive.git arm64: mm: ignore memory above supported physical address size When booting a kernel without 52-bit PA support (e.g. a kernel with 4k pages) on a system with 52-bit memory, the kernel will currently try to use the 52-bit memory and crash. Fix this by ignoring any memory higher than what the kernel supports. Fixes: f77d281713d4 ("arm64: enable 52-bit physical address support") Signed-off-by: Kristina Martsenko Signed-off-by: Catalin Marinas --- diff --git a/arch/arm64/mm/init.c b/arch/arm64/mm/init.c index 672094e..285745b 100644 --- a/arch/arm64/mm/init.c +++ b/arch/arm64/mm/init.c @@ -366,6 +366,9 @@ void __init arm64_memblock_init(void) /* Handle linux,usable-memory-range property */ fdt_enforce_memory_region(); + /* Remove memory above our supported physical address size */ + memblock_remove(1ULL << PHYS_MASK_SHIFT, ULLONG_MAX); + /* * Ensure that the linear region takes up exactly half of the kernel * virtual address space. This way, we can distinguish a linear address