aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/include/asm/kvm_vgic.h
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/include/asm/kvm_vgic.h')
-rw-r--r--arch/arm/include/asm/kvm_vgic.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/arch/arm/include/asm/kvm_vgic.h b/arch/arm/include/asm/kvm_vgic.h
index 11a6d90899f7..ab97207d9cd3 100644
--- a/arch/arm/include/asm/kvm_vgic.h
+++ b/arch/arm/include/asm/kvm_vgic.h
@@ -72,6 +72,7 @@ struct vgic_bytemap {
72struct vgic_dist { 72struct vgic_dist {
73#ifdef CONFIG_KVM_ARM_VGIC 73#ifdef CONFIG_KVM_ARM_VGIC
74 spinlock_t lock; 74 spinlock_t lock;
75 bool ready;
75 76
76 /* Virtual control interface mapping */ 77 /* Virtual control interface mapping */
77 void __iomem *vctrl_base; 78 void __iomem *vctrl_base;
@@ -145,6 +146,10 @@ struct kvm_exit_mmio;
145 146
146#ifdef CONFIG_KVM_ARM_VGIC 147#ifdef CONFIG_KVM_ARM_VGIC
147int kvm_vgic_set_addr(struct kvm *kvm, unsigned long type, u64 addr); 148int kvm_vgic_set_addr(struct kvm *kvm, unsigned long type, u64 addr);
149int kvm_vgic_hyp_init(void);
150int kvm_vgic_init(struct kvm *kvm);
151int kvm_vgic_create(struct kvm *kvm);
152int kvm_vgic_vcpu_init(struct kvm_vcpu *vcpu);
148void kvm_vgic_flush_hwstate(struct kvm_vcpu *vcpu); 153void kvm_vgic_flush_hwstate(struct kvm_vcpu *vcpu);
149void kvm_vgic_sync_hwstate(struct kvm_vcpu *vcpu); 154void kvm_vgic_sync_hwstate(struct kvm_vcpu *vcpu);
150int kvm_vgic_inject_irq(struct kvm *kvm, int cpuid, unsigned int irq_num, 155int kvm_vgic_inject_irq(struct kvm *kvm, int cpuid, unsigned int irq_num,
@@ -154,6 +159,7 @@ bool vgic_handle_mmio(struct kvm_vcpu *vcpu, struct kvm_run *run,
154 struct kvm_exit_mmio *mmio); 159 struct kvm_exit_mmio *mmio);
155 160
156#define irqchip_in_kernel(k) (!!((k)->arch.vgic.vctrl_base)) 161#define irqchip_in_kernel(k) (!!((k)->arch.vgic.vctrl_base))
162#define vgic_initialized(k) ((k)->arch.vgic.ready)
157 163
158#else 164#else
159static inline int kvm_vgic_hyp_init(void) 165static inline int kvm_vgic_hyp_init(void)
@@ -205,6 +211,11 @@ static inline int irqchip_in_kernel(struct kvm *kvm)
205{ 211{
206 return 0; 212 return 0;
207} 213}
214
215static inline bool vgic_initialized(struct kvm *kvm)
216{
217 return true;
218}
208#endif 219#endif
209 220
210#endif 221#endif