Lines Matching refs:irq

54 		struct kvm_lapic_irq *irq, unsigned long *dest_map)  in kvm_irq_delivery_to_apic()  argument
59 if (irq->dest_mode == 0 && irq->dest_id == 0xff && in kvm_irq_delivery_to_apic()
60 kvm_lowest_prio_delivery(irq)) { in kvm_irq_delivery_to_apic()
62 irq->delivery_mode = APIC_DM_FIXED; in kvm_irq_delivery_to_apic()
65 if (kvm_irq_delivery_to_apic_fast(kvm, src, irq, &r, dest_map)) in kvm_irq_delivery_to_apic()
72 if (!kvm_apic_match_dest(vcpu, src, irq->shorthand, in kvm_irq_delivery_to_apic()
73 irq->dest_id, irq->dest_mode)) in kvm_irq_delivery_to_apic()
76 if (!kvm_lowest_prio_delivery(irq)) { in kvm_irq_delivery_to_apic()
79 r += kvm_apic_set_irq(vcpu, irq, dest_map); in kvm_irq_delivery_to_apic()
89 r = kvm_apic_set_irq(lowest, irq, dest_map); in kvm_irq_delivery_to_apic()
95 struct kvm_lapic_irq *irq) in kvm_set_msi_irq() argument
99 irq->dest_id = (e->msi.address_lo & in kvm_set_msi_irq()
101 irq->vector = (e->msi.data & in kvm_set_msi_irq()
103 irq->dest_mode = (1 << MSI_ADDR_DEST_MODE_SHIFT) & e->msi.address_lo; in kvm_set_msi_irq()
104 irq->trig_mode = (1 << MSI_DATA_TRIGGER_SHIFT) & e->msi.data; in kvm_set_msi_irq()
105 irq->delivery_mode = e->msi.data & 0x700; in kvm_set_msi_irq()
106 irq->msi_redir_hint = ((e->msi.address_lo in kvm_set_msi_irq()
108 irq->level = 1; in kvm_set_msi_irq()
109 irq->shorthand = 0; in kvm_set_msi_irq()
116 struct kvm_lapic_irq irq; in kvm_set_msi() local
121 kvm_set_msi_irq(e, &irq); in kvm_set_msi()
123 return kvm_irq_delivery_to_apic(kvm, NULL, &irq, NULL); in kvm_set_msi()
131 struct kvm_lapic_irq irq; in kvm_arch_set_irq_inatomic() local
137 kvm_set_msi_irq(e, &irq); in kvm_arch_set_irq_inatomic()
139 if (kvm_irq_delivery_to_apic_fast(kvm, NULL, &irq, &r, NULL)) in kvm_arch_set_irq_inatomic()
189 void kvm_register_irq_mask_notifier(struct kvm *kvm, int irq, in kvm_register_irq_mask_notifier() argument
193 kimn->irq = irq; in kvm_register_irq_mask_notifier()
198 void kvm_unregister_irq_mask_notifier(struct kvm *kvm, int irq, in kvm_unregister_irq_mask_notifier() argument
217 if (kimn->irq == gsi) in kvm_fire_mask_notifiers()
269 bool kvm_intr_is_single_vcpu(struct kvm *kvm, struct kvm_lapic_irq *irq, in kvm_intr_is_single_vcpu() argument
275 if (kvm_intr_is_single_vcpu_fast(kvm, irq, dest_vcpu)) in kvm_intr_is_single_vcpu()
282 if (!kvm_apic_match_dest(vcpu, NULL, irq->shorthand, in kvm_intr_is_single_vcpu()
283 irq->dest_id, irq->dest_mode)) in kvm_intr_is_single_vcpu()
296 #define IOAPIC_ROUTING_ENTRY(irq) \ argument
297 { .gsi = irq, .type = KVM_IRQ_ROUTING_IRQCHIP, \
298 .u.irqchip = { .irqchip = KVM_IRQCHIP_IOAPIC, .pin = (irq) } }
299 #define ROUTING_ENTRY1(irq) IOAPIC_ROUTING_ENTRY(irq) argument
301 #define PIC_ROUTING_ENTRY(irq) \ argument
302 { .gsi = irq, .type = KVM_IRQ_ROUTING_IRQCHIP, \
303 .u.irqchip = { .irqchip = SELECT_PIC(irq), .pin = (irq) % 8 } }
304 #define ROUTING_ENTRY2(irq) \ argument
305 IOAPIC_ROUTING_ENTRY(irq), PIC_ROUTING_ENTRY(irq)