aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/kvm/arm_vgic.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/include/kvm/arm_vgic.h b/include/kvm/arm_vgic.h
index dd243969bfc3..1c0e9dbabe6d 100644
--- a/include/kvm/arm_vgic.h
+++ b/include/kvm/arm_vgic.h
@@ -33,6 +33,7 @@
33#define VGIC_V2_MAX_LRS (1 << 6) 33#define VGIC_V2_MAX_LRS (1 << 6)
34#define VGIC_V3_MAX_LRS 16 34#define VGIC_V3_MAX_LRS 16
35#define VGIC_MAX_IRQS 1024 35#define VGIC_MAX_IRQS 1024
36#define VGIC_V2_MAX_CPUS 8
36 37
37/* Sanity checks... */ 38/* Sanity checks... */
38#if (KVM_MAX_VCPUS > 8) 39#if (KVM_MAX_VCPUS > 8)
@@ -132,6 +133,7 @@ struct vgic_params {
132 unsigned int maint_irq; 133 unsigned int maint_irq;
133 /* Virtual control interface base address */ 134 /* Virtual control interface base address */
134 void __iomem *vctrl_base; 135 void __iomem *vctrl_base;
136 int max_gic_vcpus;
135}; 137};
136 138
137struct vgic_vm_ops { 139struct vgic_vm_ops {
@@ -289,6 +291,7 @@ struct kvm_exit_mmio;
289int kvm_vgic_addr(struct kvm *kvm, unsigned long type, u64 *addr, bool write); 291int kvm_vgic_addr(struct kvm *kvm, unsigned long type, u64 *addr, bool write);
290int kvm_vgic_hyp_init(void); 292int kvm_vgic_hyp_init(void);
291int kvm_vgic_map_resources(struct kvm *kvm); 293int kvm_vgic_map_resources(struct kvm *kvm);
294int kvm_vgic_get_max_vcpus(void);
292int kvm_vgic_create(struct kvm *kvm, u32 type); 295int kvm_vgic_create(struct kvm *kvm, u32 type);
293void kvm_vgic_destroy(struct kvm *kvm); 296void kvm_vgic_destroy(struct kvm *kvm);
294void kvm_vgic_vcpu_destroy(struct kvm_vcpu *vcpu); 297void kvm_vgic_vcpu_destroy(struct kvm_vcpu *vcpu);
@@ -393,6 +396,11 @@ static inline bool vgic_ready(struct kvm *kvm)
393{ 396{
394 return true; 397 return true;
395} 398}
399
400static inline int kvm_vgic_get_max_vcpus(void)
401{
402 return KVM_MAX_VCPUS;
403}
396#endif 404#endif
397 405
398#endif 406#endif