@@ -331,6 +331,7 @@ static inline void vgic_handle_nested_maint_irq(struct kvm_vcpu *vcpu) { }
#define vgic_valid_spi(k, i) (((i) >= VGIC_NR_PRIVATE_IRQS) && \
((i) < (k)->arch.vgic.nr_spis + VGIC_NR_PRIVATE_IRQS))
+phys_addr_t vgic_vcpu_base(void);
bool kvm_vcpu_has_pending_irqs(struct kvm_vcpu *vcpu);
void kvm_vgic_sync_hwstate(struct kvm_vcpu *vcpu);
void kvm_vgic_flush_hwstate(struct kvm_vcpu *vcpu);
@@ -386,3 +386,9 @@ int vgic_v2_probe(const struct gic_kvm_info *info)
return ret;
}
+
+/* Return physical address of vgic virtual cpu interface */
+phys_addr_t vgic_vcpu_base(void)
+{
+ return kvm_vgic_global_state.vcpu_base;
+}
Expose physical address of vgic virtual cpu interface. Signed-off-by: Jintack Lim <jintack@cs.columbia.edu> --- include/kvm/arm_vgic.h | 1 + virt/kvm/arm/vgic/vgic-v2.c | 6 ++++++ 2 files changed, 7 insertions(+)