Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph...
[firefly-linux-kernel-4.4.55.git] / include / kvm / arm_vgic.h
index 98c30168bce44c3a01704058a0cf86dabaf6c06a..7c55dd5dd2c9faf2202692ca5f669f064c173ed4 100644 (file)
@@ -36,8 +36,8 @@
 #define VGIC_V2_MAX_CPUS       8
 
 /* Sanity checks... */
-#if (KVM_MAX_VCPUS > 8)
-#error Invalid number of CPU interfaces
+#if (KVM_MAX_VCPUS > 255)
+#error Too many KVM VCPUs, the VGIC only supports up to 255 VCPUs for now
 #endif
 
 #if (VGIC_NR_IRQS_LEGACY & 31)
@@ -134,6 +134,8 @@ struct vgic_params {
        /* Virtual control interface base address */
        void __iomem    *vctrl_base;
        int             max_gic_vcpus;
+       /* Only needed for the legacy KVM_CREATE_IRQCHIP */
+       bool            can_emulate_gicv2;
 };
 
 struct vgic_vm_ops {
@@ -307,6 +309,7 @@ void kvm_vgic_flush_hwstate(struct kvm_vcpu *vcpu);
 void kvm_vgic_sync_hwstate(struct kvm_vcpu *vcpu);
 int kvm_vgic_inject_irq(struct kvm *kvm, int cpuid, unsigned int irq_num,
                        bool level);
+void vgic_v3_dispatch_sgi(struct kvm_vcpu *vcpu, u64 reg);
 int kvm_vgic_vcpu_pending_irq(struct kvm_vcpu *vcpu);
 bool vgic_handle_mmio(struct kvm_vcpu *vcpu, struct kvm_run *run,
                      struct kvm_exit_mmio *mmio);