Lines Matching full:intid
66 static struct vgic_irq *vgic_get_lpi(struct kvm *kvm, u32 intid) in vgic_get_lpi() argument
73 irq = xa_load(&dist->lpi_xa, intid); in vgic_get_lpi()
88 u32 intid) in vgic_get_irq() argument
91 if (intid <= VGIC_MAX_PRIVATE) { in vgic_get_irq()
92 intid = array_index_nospec(intid, VGIC_MAX_PRIVATE + 1); in vgic_get_irq()
93 return &vcpu->arch.vgic_cpu.private_irqs[intid]; in vgic_get_irq()
97 if (intid < (kvm->arch.vgic.nr_spis + VGIC_NR_PRIVATE_IRQS)) { in vgic_get_irq()
98 intid = array_index_nospec(intid, kvm->arch.vgic.nr_spis + VGIC_NR_PRIVATE_IRQS); in vgic_get_irq()
99 return &kvm->arch.vgic.spis[intid - VGIC_NR_PRIVATE_IRQS]; in vgic_get_irq()
103 if (intid >= VGIC_MIN_LPI) in vgic_get_irq()
104 return vgic_get_lpi(kvm, intid); in vgic_get_irq()
123 if (irq->intid < VGIC_MIN_LPI) in vgic_put_irq()
130 __xa_erase(&dist->lpi_xa, irq->intid); in vgic_put_irq()
145 if (irq->intid >= VGIC_MIN_LPI) { in vgic_flush_pending_lpis()
171 return irq->ops->get_input_level(irq->intid); in vgic_get_phys_line_level()
411 * @intid: The INTID to inject a new state to.
425 unsigned int intid, bool level, void *owner) in kvm_vgic_inject_irq() argument
435 if (!vcpu && intid < VGIC_NR_PRIVATE_IRQS) in kvm_vgic_inject_irq()
438 trace_vgic_update_irq_pending(vcpu ? vcpu->vcpu_idx : 0, intid, level); in kvm_vgic_inject_irq()
440 irq = vgic_get_irq(kvm, vcpu, intid); in kvm_vgic_inject_irq()
519 * @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()