Lines Matching refs:gsi

127     int gsi;  member
221 s->pirq[p->u.pirq].gsi = IRQ_UNBOUND; in xen_evtchn_post_load()
228 s->pirq[s->gsi_pirq[i]].gsi = i; in xen_evtchn_post_load()
450 uint32_t gsi = 0; in xen_evtchn_set_callback_param() local
473 gsi = 0; in xen_evtchn_set_callback_param()
478 gsi = set_callback_pci_intx(s, param); in xen_evtchn_set_callback_param()
479 ret = gsi ? 0 : -EINVAL; in xen_evtchn_set_callback_param()
483 gsi = (uint32_t)param; in xen_evtchn_set_callback_param()
494 if (gsi && kvm_xen_has_vcpu_callback_vector()) { in xen_evtchn_set_callback_param()
496 gsi = 0; in xen_evtchn_set_callback_param()
508 if (gsi != s->callback_gsi) { in xen_evtchn_set_callback_param()
512 s->callback_gsi = gsi; in xen_evtchn_set_callback_param()
514 if (gsi && vi && vi->evtchn_upcall_pending) { in xen_evtchn_set_callback_param()
1299 if (s->pirq[pirq->pirq].gsi == IRQ_MSI_EMU) { in xen_evtchn_bind_pirq_op()
1555 static int allocate_pirq(XenEvtchnState *s, int type, int gsi) in allocate_pirq() argument
1591 if (gsi >= 0) { in allocate_pirq()
1592 assert(gsi < IOAPIC_NUM_PINS); in allocate_pirq()
1593 s->gsi_pirq[gsi] = pirq; in allocate_pirq()
1595 s->pirq[pirq].gsi = gsi; in allocate_pirq()
1599 bool xen_evtchn_set_gsi(int gsi, int level) in xen_evtchn_set_gsi() argument
1606 if (!s || gsi < 0 || gsi >= IOAPIC_NUM_PINS) { in xen_evtchn_set_gsi()
1620 if (gsi && gsi == s->callback_gsi) { in xen_evtchn_set_gsi()
1626 pirq = s->gsi_pirq[gsi]; in xen_evtchn_set_gsi()
1634 s->pirq_gsi_set |= (1U << gsi); in xen_evtchn_set_gsi()
1639 s->pirq_gsi_set &= ~(1U << gsi); in xen_evtchn_set_gsi()
1685 s->pirq[pirq].gsi = IRQ_UNBOUND; in do_remove_pci_vector()
1724 (s->pirq[pirq].gsi != IRQ_UNBOUND && in xen_evtchn_snoop_msi()
1725 s->pirq[pirq].gsi != IRQ_MSI_EMU)) { in xen_evtchn_snoop_msi()
1731 s->pirq[pirq].gsi = IRQ_MSI_EMU; in xen_evtchn_snoop_msi()
1763 if (s->pirq[pirq].gsi != IRQ_MSI_EMU) { in xen_evtchn_translate_pirq_msi()
1821 int gsi = map->index; in xen_physdev_map_pirq() local
1836 if (gsi < 0 || gsi >= IOAPIC_NUM_PINS) { in xen_physdev_map_pirq()
1841 pirq = allocate_pirq(s, map->type, gsi); in xen_physdev_map_pirq()
1854 if (s->pirq[pirq].gsi != IRQ_UNBOUND) { in xen_physdev_map_pirq()
1862 s->pirq[pirq].gsi = gsi; in xen_physdev_map_pirq()
1863 s->gsi_pirq[gsi] = pirq; in xen_physdev_map_pirq()
1866 trace_kvm_xen_map_pirq(pirq, gsi); in xen_physdev_map_pirq()
1874 int gsi; in xen_physdev_unmap_pirq() local
1895 gsi = s->pirq[pirq].gsi; in xen_physdev_unmap_pirq()
1898 if (gsi < 0) { in xen_physdev_unmap_pirq()
1903 s->gsi_pirq[gsi] = 0; in xen_physdev_unmap_pirq()
1904 s->pirq[pirq].gsi = IRQ_UNBOUND; /* Doesn't actually matter because: */ in xen_physdev_unmap_pirq()
1907 trace_kvm_xen_unmap_pirq(pirq, gsi); in xen_physdev_unmap_pirq()
1910 if (gsi == IRQ_MSI_EMU) { in xen_physdev_unmap_pirq()
1921 int gsi; in xen_physdev_eoi_pirq() local
1934 gsi = s->pirq[pirq].gsi; in xen_physdev_eoi_pirq()
1935 if (gsi < 0) { in xen_physdev_eoi_pirq()
1940 if (s->pirq_gsi_set & (1U << gsi)) { in xen_physdev_eoi_pirq()
1966 if (s->pirq[pirq].gsi >= 0) { in xen_physdev_query_pirq()