Lines Matching full:intid
58 static struct vgic_irq *vgic_get_lpi(struct kvm *kvm, u32 intid) in vgic_get_lpi() argument
67 if (irq->intid != intid) in vgic_get_lpi()
91 u32 intid) in vgic_get_irq() argument
94 if (intid <= VGIC_MAX_PRIVATE) { in vgic_get_irq()
95 intid = array_index_nospec(intid, VGIC_MAX_PRIVATE + 1); in vgic_get_irq()
96 return &vcpu->arch.vgic_cpu.private_irqs[intid]; in vgic_get_irq()
100 if (intid < (kvm->arch.vgic.nr_spis + VGIC_NR_PRIVATE_IRQS)) { in vgic_get_irq()
101 intid = array_index_nospec(intid, kvm->arch.vgic.nr_spis + VGIC_NR_PRIVATE_IRQS); in vgic_get_irq()
102 return &kvm->arch.vgic.spis[intid - VGIC_NR_PRIVATE_IRQS]; in vgic_get_irq()
106 if (intid >= VGIC_MIN_LPI) in vgic_get_irq()
107 return vgic_get_lpi(kvm, intid); in vgic_get_irq()
109 WARN(1, "Looking up struct vgic_irq for reserved INTID"); in vgic_get_irq()
143 if (irq->intid < VGIC_MIN_LPI) in vgic_put_irq()
160 if (irq->intid >= VGIC_MIN_LPI) { in vgic_flush_pending_lpis()
186 return irq->get_input_level(irq->intid); in vgic_get_phys_line_level()
424 * @intid: The INTID to inject a new state to.
437 int kvm_vgic_inject_irq(struct kvm *kvm, int cpuid, unsigned int intid, in kvm_vgic_inject_irq() argument
445 trace_vgic_update_irq_pending(cpuid, intid, level); in kvm_vgic_inject_irq()
452 if (!vcpu && intid < VGIC_NR_PRIVATE_IRQS) in kvm_vgic_inject_irq()
455 irq = vgic_get_irq(kvm, vcpu, intid); in kvm_vgic_inject_irq()
534 * @vintid: The INTID of the interrupt
580 * @intid: The virtual INTID identifying the interrupt (PPI or SPI)
583 * Returns 0 if intid is not already used by another in-kernel device and the
586 int kvm_vgic_set_owner(struct kvm_vcpu *vcpu, unsigned int intid, void *owner) in kvm_vgic_set_owner() argument
596 if (!irq_is_ppi(intid) && !vgic_valid_spi(vcpu->kvm, intid)) in kvm_vgic_set_owner()
599 irq = vgic_get_irq(vcpu->kvm, vcpu, intid); in kvm_vgic_set_owner()