ARM: 8903/1: ensure that usable memory in bank 0 starts from a PMD-aligned address
authorMike Rapoport <mike.rapoport@gmail.com>
Fri, 30 Aug 2019 13:27:56 +0000 (14:27 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 7 Oct 2019 16:53:18 +0000 (18:53 +0200)
commit6b81ce522e6a95e1f5ae13da2b0d5516597cd892
treea141cf53b6d59049341483d9a237448a7e8fa8c7
parent5f0b9f0611eef41eb77ac666a985c40e414f72ae
ARM: 8903/1: ensure that usable memory in bank 0 starts from a PMD-aligned address

[ Upstream commit 00d2ec1e6bd82c0538e6dd3e4a4040de93ba4fef ]

The calculation of memblock_limit in adjust_lowmem_bounds() assumes that
bank 0 starts from a PMD-aligned address. However, the beginning of the
first bank may be NOMAP memory and the start of usable memory
will be not aligned to PMD boundary. In such case the memblock_limit will
be set to the end of the NOMAP region, which will prevent any memblock
allocations.

Mark the region between the end of the NOMAP area and the next PMD-aligned
address as NOMAP as well, so that the usable memory will start at
PMD-aligned address.

Signed-off-by: Mike Rapoport <rppt@linux.ibm.com>
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
Signed-off-by: Sasha Levin <sashal@kernel.org>
arch/arm/mm/mmu.c