diff options
author | Marc Zyngier <marc.zyngier@arm.com> | 2016-09-06 09:28:46 +0100 |
---|---|---|
committer | Christoffer Dall <christoffer.dall@linaro.org> | 2016-09-08 12:53:00 +0200 |
commit | bf8feb39642b4c71c644e2d534ce53029bd2219b (patch) | |
tree | d1431a60d21e578e1bac31afc39cc69252f290ec /include/kvm | |
parent | fb5ee369ccd3986b28adc20d43d73a2b2c141977 (diff) | |
download | linux-bf8feb39642b4c71c644e2d534ce53029bd2219b.tar.gz linux-bf8feb39642b4c71c644e2d534ce53029bd2219b.tar.bz2 linux-bf8feb39642b4c71c644e2d534ce53029bd2219b.zip |
arm64: KVM: vgic-v2: Add GICV access from HYP
Now that we have the necessary infrastructure to handle MMIO accesses
in HYP, perform the GICV access on behalf of the guest. This requires
checking that the access is strictly 32bit, properly aligned, and
falls within the expected range.
When all condition are satisfied, we perform the access and tell
the rest of the HYP code that the instruction has been correctly
emulated.
Reviewed-by: Christoffer Dall <christoffer.dall@linaro.org>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>
Diffstat (limited to 'include/kvm')
-rw-r--r-- | include/kvm/arm_vgic.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/include/kvm/arm_vgic.h b/include/kvm/arm_vgic.h index 8eb1501fc1d0..bb46c03eb3c7 100644 --- a/include/kvm/arm_vgic.h +++ b/include/kvm/arm_vgic.h @@ -50,6 +50,9 @@ struct vgic_global { /* Physical address of vgic virtual cpu interface */ phys_addr_t vcpu_base; + /* GICV mapping */ + void __iomem *vcpu_base_va; + /* virtual control interface mapping */ void __iomem *vctrl_base; |