diff options
Diffstat (limited to 'arch/arm/include/asm/kvm_vgic.h')
-rw-r--r-- | arch/arm/include/asm/kvm_vgic.h | 11 |
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 { | |||
72 | struct vgic_dist { | 72 | struct 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 |
147 | int kvm_vgic_set_addr(struct kvm *kvm, unsigned long type, u64 addr); | 148 | int kvm_vgic_set_addr(struct kvm *kvm, unsigned long type, u64 addr); |
149 | int kvm_vgic_hyp_init(void); | ||
150 | int kvm_vgic_init(struct kvm *kvm); | ||
151 | int kvm_vgic_create(struct kvm *kvm); | ||
152 | int kvm_vgic_vcpu_init(struct kvm_vcpu *vcpu); | ||
148 | void kvm_vgic_flush_hwstate(struct kvm_vcpu *vcpu); | 153 | void kvm_vgic_flush_hwstate(struct kvm_vcpu *vcpu); |
149 | void kvm_vgic_sync_hwstate(struct kvm_vcpu *vcpu); | 154 | void kvm_vgic_sync_hwstate(struct kvm_vcpu *vcpu); |
150 | int kvm_vgic_inject_irq(struct kvm *kvm, int cpuid, unsigned int irq_num, | 155 | int 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 |
159 | static inline int kvm_vgic_hyp_init(void) | 165 | static 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 | |||
215 | static inline bool vgic_initialized(struct kvm *kvm) | ||
216 | { | ||
217 | return true; | ||
218 | } | ||
208 | #endif | 219 | #endif |
209 | 220 | ||
210 | #endif | 221 | #endif |