]> 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)
commit7d8c8e5c1fb935b26f8f2267a5a4274515402386
treeb67ea3943e04f7d6b643b0f38c4cba7f3db42ace
parent80d4072270883aa166a69af32bbafb883f3fe4b8
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