]> git.baikalelectronics.ru Git - kernel.git/commit
arm64: mm: increase VA range of identity map
authorArd Biesheuvel <ard.biesheuvel@linaro.org>
Thu, 19 Mar 2015 16:42:27 +0000 (16:42 +0000)
committerWill Deacon <will.deacon@arm.com>
Mon, 23 Mar 2015 11:35:29 +0000 (11:35 +0000)
commit18b7c29d40014ee5685918df03fe3e9ca972d344
treeb67ea3943e04f7d6b643b0f38c4cba7f3db42ace
parent281fb7737ffe6cd09f1fcbbec8cd16142853d893
arm64: mm: increase VA range of identity map

The page size and the number of translation levels, and hence the supported
virtual address range, are build-time configurables on arm64 whose optimal
values are use case dependent. However, in the current implementation, if
the system's RAM is located at a very high offset, the virtual address range
needs to reflect that merely because the identity mapping, which is only used
to enable or disable the MMU, requires the extended virtual range to map the
physical memory at an equal virtual offset.

This patch relaxes that requirement, by increasing the number of translation
levels for the identity mapping only, and only when actually needed, i.e.,
when system RAM's offset is found to be out of reach at runtime.

Tested-by: Laura Abbott <lauraa@codeaurora.org>
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Tested-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: Will Deacon <will.deacon@arm.com>
arch/arm64/include/asm/mmu_context.h
arch/arm64/include/asm/page.h
arch/arm64/include/asm/pgtable-hwdef.h
arch/arm64/kernel/head.S
arch/arm64/kernel/smp.c
arch/arm64/mm/mmu.c
arch/arm64/mm/proc-macros.S
arch/arm64/mm/proc.S