KVM: arm/arm64: Keep GICv2 HYP VAs in kvm_vgic_global_state
authorMarc Zyngier <marc.zyngier@arm.com>
Mon, 4 Dec 2017 16:43:23 +0000 (16:43 +0000)
committerMarc Zyngier <marc.zyngier@arm.com>
Mon, 19 Mar 2018 13:04:06 +0000 (13:04 +0000)
commit1bb32a44aea1fe73c6f84e466a45ae559ef74559
treebde48ef72be891a56a9b61fbf658f6f1627e3064
parent807a378425d27d377fdf181d1dba91539bac9294
KVM: arm/arm64: Keep GICv2 HYP VAs in kvm_vgic_global_state

As we're about to change the way we map devices at HYP, we need
to move away from kern_hyp_va on an IO address.

One way of achieving this is to store the VAs in kvm_vgic_global_state,
and use that directly from the HYP code. This requires a small change
to create_hyp_io_mappings so that it can also return a HYP VA.

We take this opportunity to nuke the vctrl_base field in the emulated
distributor, as it is not used anymore.

Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Reviewed-by: Christoffer Dall <christoffer.dall@linaro.org>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
arch/arm/include/asm/kvm_mmu.h
arch/arm64/include/asm/kvm_mmu.h
arch/arm64/kvm/hyp/vgic-v2-cpuif-proxy.c
include/kvm/arm_vgic.h
virt/kvm/arm/mmu.c
virt/kvm/arm/vgic/vgic-init.c
virt/kvm/arm/vgic/vgic-v2.c