arm64: mm: allocate pagetables anywhere
authorMark Rutland <mark.rutland@arm.com>
Mon, 25 Jan 2016 11:45:09 +0000 (11:45 +0000)
committerAlex Shi <alex.shi@linaro.org>
Fri, 11 Nov 2016 08:40:26 +0000 (16:40 +0800)
commitae97b43d8a46b19d1fada3f294e14873b720a559
treea039be7e0f317fe18691bb284514ee9afb07edb5
parentaf72fa120efb767e5196e02efac3b67b69e20089
arm64: mm: allocate pagetables anywhere

Now that create_mapping uses fixmap slots to modify pte, pmd, and pud
entries, we can access page tables anywhere in physical memory,
regardless of the extent of the linear mapping.

Given that, we no longer need to limit memblock allocations during page
table creation, and can leave the limit as its default
MEMBLOCK_ALLOC_ANYWHERE.

We never add memory which will fall outside of the linear map range
given phys_offset and MAX_MEMBLOCK_ADDR are configured appropriately, so
any tables we create will fall in the linear map of the final tables.

Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Tested-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Tested-by: Jeremy Linton <jeremy.linton@arm.com>
Cc: Laura Abbott <labbott@fedoraproject.org>
Cc: Will Deacon <will.deacon@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
(cherry picked from commit cdef5f6e9e0e5ee397759b664a9f875ff59ccf01)
Signed-off-by: Alex Shi <alex.shi@linaro.org>
arch/arm64/mm/mmu.c