arm64: KVM: Allow mapping of vectors outside of the RAM region
authorMarc Zyngier <marc.zyngier@arm.com>
Thu, 15 Feb 2018 11:47:14 +0000 (11:47 +0000)
committerMarc Zyngier <marc.zyngier@arm.com>
Mon, 19 Mar 2018 13:06:46 +0000 (13:06 +0000)
commitdee39247dc75465a24990cb1772c6aaced5fd910
treefb6f241d24eaee60ad33127a318521dccae02661
parent4205a89b8060141ac0216a507b9f70728f056a10
arm64: KVM: Allow mapping of vectors outside of the RAM region

We're now ready to map our vectors in weird and wonderful locations.
On enabling ARM64_HARDEN_EL2_VECTORS, a vector slot gets allocated
if this hasn't been already done via ARM64_HARDEN_BRANCH_PREDICTOR
and gets mapped outside of the normal RAM region, next to the
idmap.

That way, being able to obtain VBAR_EL2 doesn't reveal the mapping
of the rest of the hypervisor code.

Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Documentation/arm64/memory.txt
arch/arm64/Kconfig
arch/arm64/include/asm/kvm_mmu.h
arch/arm64/include/asm/mmu.h
arch/arm64/kvm/Kconfig
arch/arm64/kvm/va_layout.c