arm64: Fix memblock current_limit with 64K pages and 48-bit VA
authorCatalin Marinas <catalin.marinas@arm.com>
Fri, 24 Oct 2014 17:16:47 +0000 (18:16 +0100)
committerCatalin Marinas <catalin.marinas@arm.com>
Fri, 24 Oct 2014 17:16:47 +0000 (18:16 +0100)
commit3dec0fe48a8936528aae2fc3f904c2c9a34ba368
tree0e14b10520c0f265f6ce0417c9f2b678f1328ff9
parent92980405f3537136b8e81007a9df576762f49bbb
arm64: Fix memblock current_limit with 64K pages and 48-bit VA

With 48-bit VA space, the 64K page configuration uses 3 levels instead
of 2 and PUD_SIZE != PMD_SIZE. Since with 64K pages we only cover
PMD_SIZE with the initial swapper_pg_dir populated in head.S, the
memblock current_limit needs to be set accordingly in map_mem() to avoid
allocating unmapped memory. The memblock current_limit is progressively
increased as more blocks are mapped.

Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
arch/arm64/mm/mmu.c