arm/arm64: KVM: Introduce EL2-specific executable mappings
authorMarc Zyngier <marc.zyngier@arm.com>
Tue, 13 Feb 2018 11:00:29 +0000 (11:00 +0000)
committerMarc Zyngier <marc.zyngier@arm.com>
Mon, 19 Mar 2018 13:06:05 +0000 (13:06 +0000)
commitdc2e4633ff39c9fb5ef3a5443721f0e3499b36ed
treee515344be534277129313e93becfb4206f460e96
parent71dcb8be6d29cffff3f4a4463232f38786e97797
arm/arm64: KVM: Introduce EL2-specific executable mappings

Until now, all EL2 executable mappings were derived from their
EL1 VA. Since we want to decouple the vectors mapping from
the rest of the hypervisor, we need to be able to map some
text somewhere else.

The "idmap" region (for lack of a better name) is ideally suited
for this, as we have a huge range that hardly has anything in it.

Let's extend the IO allocator to also deal with executable mappings,
thus providing the required feature.

Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Reviewed-by: Andrew Jones <drjones@redhat.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
arch/arm/include/asm/kvm_mmu.h
arch/arm64/include/asm/kvm_mmu.h
virt/kvm/arm/mmu.c