Lines Matching full:intid
69 static struct vgic_irq *vgic_get_lpi(struct kvm *kvm, u32 intid) in vgic_get_lpi() argument
78 if (irq->intid != intid) in vgic_get_lpi()
102 u32 intid) in vgic_get_irq() argument
105 if (intid <= VGIC_MAX_PRIVATE) { in vgic_get_irq()
106 intid = array_index_nospec(intid, VGIC_MAX_PRIVATE + 1); in vgic_get_irq()
107 return &vcpu->arch.vgic_cpu.private_irqs[intid]; in vgic_get_irq()
111 if (intid < (kvm->arch.vgic.nr_spis + VGIC_NR_PRIVATE_IRQS)) { in vgic_get_irq()
112 intid = array_index_nospec(intid, kvm->arch.vgic.nr_spis + VGIC_NR_PRIVATE_IRQS); in vgic_get_irq()
113 return &kvm->arch.vgic.spis[intid - VGIC_NR_PRIVATE_IRQS]; in vgic_get_irq()
117 if (intid >= VGIC_MIN_LPI) in vgic_get_irq()
118 return vgic_get_lpi(kvm, intid); in vgic_get_irq()
120 WARN(1, "Looking up struct vgic_irq for reserved INTID"); in vgic_get_irq()
138 if (irq->intid < VGIC_MIN_LPI) in vgic_put_irq()
168 return irq->get_input_level(irq->intid); in vgic_get_phys_line_level()
405 * @intid: The INTID to inject a new state to.
418 int kvm_vgic_inject_irq(struct kvm *kvm, int cpuid, unsigned int intid, in kvm_vgic_inject_irq() argument
426 trace_vgic_update_irq_pending(cpuid, intid, level); in kvm_vgic_inject_irq()
433 if (!vcpu && intid < VGIC_NR_PRIVATE_IRQS) in kvm_vgic_inject_irq()
436 irq = vgic_get_irq(kvm, vcpu, intid); in kvm_vgic_inject_irq()
515 * @vintid: The INTID of the interrupt
561 * @intid: The virtual INTID identifying the interrupt (PPI or SPI)
564 * Returns 0 if intid is not already used by another in-kernel device and the
567 int kvm_vgic_set_owner(struct kvm_vcpu *vcpu, unsigned int intid, void *owner) in kvm_vgic_set_owner() argument
577 if (!irq_is_ppi(intid) && !vgic_valid_spi(vcpu->kvm, intid)) in kvm_vgic_set_owner()
580 irq = vgic_get_irq(vcpu->kvm, vcpu, intid); in kvm_vgic_set_owner()