/xen-4.10.0-shim-comet/tools/libxc/ |
A D | xc_physdev.c | 39 int *pirq) in xc_physdev_map_pirq() argument 44 if ( !pirq ) in xc_physdev_map_pirq() 53 map.pirq = *pirq < 0 ? index : *pirq; in xc_physdev_map_pirq() 58 *pirq = map.pirq; in xc_physdev_map_pirq() 66 int *pirq, in xc_physdev_map_pirq_msi() argument 75 if ( !pirq ) in xc_physdev_map_pirq_msi() 84 map.pirq = *pirq; in xc_physdev_map_pirq_msi() 93 *pirq = map.pirq; in xc_physdev_map_pirq_msi() 100 int pirq) in xc_physdev_unmap_pirq() argument 107 unmap.pirq = pirq; in xc_physdev_unmap_pirq()
|
A D | xc_flask.c | 263 int xc_flask_add_pirq(xc_interface *xch, unsigned int pirq, char *scontext) in xc_flask_add_pirq() argument 265 return xc_flask_add(xch, OCON_PIRQ, pirq, pirq, scontext); in xc_flask_add_pirq() 297 int xc_flask_del_pirq(xc_interface *xch, unsigned int pirq) in xc_flask_del_pirq() argument 299 return xc_flask_del(xch, OCON_PIRQ, pirq, pirq); in xc_flask_del_pirq()
|
/xen-4.10.0-shim-comet/xen/include/xen/ |
A D | irq.h | 128 struct pirq { struct 129 int pirq; argument 139 extern struct pirq *pirq_get_info(struct domain *, int pirq); 142 const struct pirq *__pi = pirq_info(d, p); \ 145 #define pirq_to_evtchn(d, pirq) pirq_field(d, pirq, evtchn, 0) argument 146 #define pirq_masked(d, pirq) pirq_field(d, pirq, masked, 0) argument 150 #define pirq_cleanup_check(pirq, d) \ argument 151 ((pirq)->evtchn ? pirq_cleanup_check(pirq, d) : (void)0) 153 extern void pirq_guest_eoi(struct pirq *); 162 const struct pirq *, unsigned long *pflags); [all …]
|
A D | pci.h | 172 struct pirq; 173 int msixtbl_pt_register(struct domain *, struct pirq *, uint64_t gtable); 174 void msixtbl_pt_unregister(struct domain *, struct pirq *);
|
A D | iommu.h | 97 struct pirq; 98 int hvm_do_IRQ_dpci(struct domain *, struct pirq *);
|
A D | domain.h | 41 struct pirq *alloc_pirq_struct(struct domain *);
|
/xen-4.10.0-shim-comet/xen/arch/x86/ |
A D | irq.c | 1184 struct pirq *pirq; in __do_IRQ_guest() local 1270 radix_tree_int_to_ptr(pirq->pirq)); in set_domain_irq_pirq() 1329 struct pirq *pirq = xzalloc_bytes(sz); in alloc_pirq_struct() local 1362 if ( radix_tree_delete(&d->pirq_tree, pirq->pirq) != pirq ) 1428 void pirq_guest_eoi(struct pirq *pirq) in pirq_guest_eoi() argument 1499 pirq = pirqs[i]->pirq; in pirq_guest_unmask() 1673 set_pirq_eoi(v->domain, pirq->pirq); in pirq_guest_bind() 1675 clear_pirq_eoi(v->domain, pirq->pirq); in pirq_guest_bind() 1702 d->domain_id, pirq->pirq); in __pirq_guest_unbind() 1834 d->domain_id, pirq->pirq); in pirq_guest_force_unbind() [all …]
|
A D | physdev.c | 23 int physdev_unmap_pirq(domid_t, int pirq); 67 *pirq = machine_gsi; in physdev_hvm_map_pirq() 68 ret = (*pirq > 0) ? 0 : *pirq; in physdev_hvm_map_pirq() 74 if ( *pirq < 0 ) in physdev_hvm_map_pirq() 170 ret = unmap_domain_pirq(d, pirq); in physdev_unmap_pirq() 190 struct pirq *pirq; in do_physdev_op() local 199 pirq = pirq_info(currd, eoi.irq); in do_physdev_op() 200 if ( !pirq ) { in do_physdev_op() 205 evtchn_unmask(pirq->evtchn); in do_physdev_op() 207 pirq_guest_eoi(pirq); in do_physdev_op() [all …]
|
/xen-4.10.0-shim-comet/xen/drivers/passthrough/ |
A D | io.c | 286 if ( pirq < 0 || pirq >= d->nr_pirqs ) in pt_irq_create_bind() 628 struct pirq *pirq; in pt_irq_destroy_bind() local 789 pirq = pirqs[i]->pirq; in pt_pirq_iterate() 798 int hvm_do_IRQ_dpci(struct domain *d, struct pirq *pirq) in hvm_do_IRQ_dpci() argument 822 struct pirq *pirq = dpci_pirq(pirq_dpci); in __msi_pirq_eoi() local 876 struct pirq *pirq = dpci_pirq(pirq_dpci); in hvm_dirq_assist() local 906 hvm_gsi_assert(d, pirq->pirq); in hvm_dirq_assist() 931 static void hvm_pirq_eoi(struct pirq *pirq, in hvm_pirq_eoi() argument 936 if ( !pirq ) in hvm_pirq_eoi() 961 struct pirq *pirq = pirq_info(d, girq->machine_gsi); in __hvm_dpci_eoi() local [all …]
|
/xen-4.10.0-shim-comet/xen/include/asm-x86/ |
A D | irq.h | 124 struct pirq; 135 #define pirq_dpci(pirq) ((pirq) ? &(pirq)->arch.hvm.dpci : NULL) argument 136 #define dpci_pirq(pd) container_of(pd, struct pirq, arch.hvm.dpci) 140 int map_domain_pirq(struct domain *d, int pirq, int irq, int type, 142 int unmap_domain_pirq(struct domain *d, int pirq); 146 int map_domain_emuirq_pirq(struct domain *d, int pirq, int irq); 147 int unmap_domain_pirq_emuirq(struct domain *d, int pirq); 148 bool hvm_domain_use_pirq(const struct domain *, const struct pirq *); 182 #define domain_pirq_to_irq(d, pirq) pirq_field(d, pirq, arch.irq, 0) argument 188 #define domain_pirq_to_emuirq(d, pirq) pirq_field(d, pirq, \ argument
|
A D | iommu.h | 97 int pi_update_irte(const struct pi_desc *pi_desc, const struct pirq *pirq,
|
/xen-4.10.0-shim-comet/xen/common/ |
A D | event_channel.c | 471 evtchn_from_port(d, chn->u.pirq.prev_port)->u.pirq.next_port = in unlink_pirq_port() 476 evtchn_from_port(d, chn->u.pirq.next_port)->u.pirq.prev_port = in unlink_pirq_port() 487 int port, pirq = bind->pirq; in evtchn_bind_pirq() local 490 if ( (pirq < 0) || (pirq >= d->nr_pirqs) ) in evtchn_bind_pirq() 524 chn->u.pirq.irq = pirq; in evtchn_bind_pirq() 578 struct pirq *pirq = pirq_info(d1, chn1->u.pirq.irq); in evtchn_close() local 580 if ( !pirq ) in evtchn_close() 589 unmap_domain_pirq_emuirq(d1, pirq->pirq); in evtchn_close() 785 void send_guest_pirq(struct domain *d, const struct pirq *pirq) in send_guest_pirq() argument 796 if ( pirq == NULL || (port = pirq->evtchn) == 0 ) in send_guest_pirq() [all …]
|
A D | domain.c | 1476 struct pirq *pirq_get_info(struct domain *d, int pirq) in pirq_get_info() argument 1478 struct pirq *info = pirq_info(d, pirq); in pirq_get_info() 1482 info->pirq = pirq; in pirq_get_info() 1483 if ( radix_tree_insert(&d->pirq_tree, pirq, info) ) in pirq_get_info() 1495 xfree(container_of(head, struct pirq, rcu_head)); in _free_pirq_struct() 1500 struct pirq *pirq = ptr; in free_pirq_struct() local 1502 call_rcu(&pirq->rcu_head, _free_pirq_struct); in free_pirq_struct()
|
/xen-4.10.0-shim-comet/xen/include/asm-arm/ |
A D | irq.h | 52 #define domain_pirq_to_irq(d, pirq) (pirq) argument 65 #define arch_evtchn_bind_pirq(d, pirq) ((void)((d) + (pirq))) argument
|
/xen-4.10.0-shim-comet/xen/arch/x86/hvm/ |
A D | irq.c | 33 struct pirq *pirq = in assert_gsi() local 36 if ( hvm_domain_use_pirq(d, pirq) ) in assert_gsi() 38 send_guest_pirq(d, pirq); in assert_gsi() 53 struct pirq *pirq = in deassert_irq() local 56 if ( !hvm_domain_use_pirq(d, pirq) ) in deassert_irq() 352 int pirq = ((addr >> 32) & 0xffffff00) | dest; in hvm_inject_msi() local 354 if ( pirq > 0 ) in hvm_inject_msi() 356 struct pirq *info = pirq_info(d, pirq); in hvm_inject_msi() 364 rc = map_domain_emuirq_pirq(d, pirq, IRQ_MSI_EMU); in hvm_inject_msi() 368 info = pirq_info(d, pirq); in hvm_inject_msi()
|
A D | vmsi.c | 449 int msixtbl_pt_register(struct domain *d, struct pirq *pirq, uint64_t gtable) in msixtbl_pt_register() argument 471 irq_desc = pirq_spin_lock_irq_desc(pirq, NULL); in msixtbl_pt_register() 520 void msixtbl_pt_unregister(struct domain *d, struct pirq *pirq) in msixtbl_pt_unregister() argument 533 irq_desc = pirq_spin_lock_irq_desc(pirq, NULL); in msixtbl_pt_unregister()
|
A D | vioapic.c | 169 int ret, pirq = gsi; in vioapic_hwdom_map_gsi() local 184 ret = allocate_and_map_gsi_pirq(currd, pirq, &pirq); in vioapic_hwdom_map_gsi() 199 unmap_domain_pirq(currd, pirq); in vioapic_hwdom_map_gsi()
|
/xen-4.10.0-shim-comet/xen/include/public/ |
A D | physdev.h | 166 int pirq; member 183 int pirq; member 264 uint32_t pirq; member
|
A D | event_channel.h | 156 uint32_t pirq; member 227 uint32_t pirq; /* EVTCHNSTAT_pirq */ member
|
/xen-4.10.0-shim-comet/xen/arch/arm/ |
A D | irq.c | 580 struct pirq *alloc_pirq_struct(struct domain *d) in alloc_pirq_struct() 590 int pirq_guest_bind(struct vcpu *v, struct pirq *pirq, int will_share) in pirq_guest_bind() argument 595 void pirq_guest_unbind(struct domain *d, struct pirq *pirq) in pirq_guest_unbind() argument 600 void pirq_set_affinity(struct domain *d, int pirq, const cpumask_t *mask) in pirq_set_affinity() argument
|
A D | gic-v3-its.c | 841 struct pending_irq *pirq = NULL; in get_event_pending_irq() local 847 pirq = &dev->pend_irqs[eventid]; in get_event_pending_irq() 854 return pirq; in get_event_pending_irq() 895 struct pending_irq *pirq; in gicv3_assign_guest_event() local 898 pirq = get_event_pending_irq(d, vdoorbell_address, vdevid, eventid, in gicv3_assign_guest_event() 901 if ( !pirq ) in gicv3_assign_guest_event() 906 return pirq; in gicv3_assign_guest_event()
|
A D | vgic-v3-its.c | 715 struct pending_irq *pirq; in its_handle_mapti() local 757 pirq = gicv3_assign_guest_event(its->d, its->doorbell_address, in its_handle_mapti() 759 if ( !pirq ) in its_handle_mapti() 762 vgic_init_pending_irq(pirq, intid); in its_handle_mapti() 769 ret = update_lpi_property(its->d, pirq); in its_handle_mapti() 773 pirq->lpi_vcpu_id = vcpu->vcpu_id; in its_handle_mapti() 778 set_bit(GIC_IRQ_GUEST_PRISTINE_LPI, &pirq->status); in its_handle_mapti() 785 ret = radix_tree_insert(&its->d->arch.vgic.pend_lpi_tree, intid, pirq); in its_handle_mapti()
|
/xen-4.10.0-shim-comet/tools/xcutils/ |
A D | lsevtchn.c | 45 printf("Physical IRQ %u", status.u.pirq); in main()
|
/xen-4.10.0-shim-comet/xen/xsm/flask/include/ |
A D | security.h | 83 int security_irq_sid(int pirq, u32 *out_sid);
|
/xen-4.10.0-shim-comet/tools/libxc/include/ |
A D | xenctrl.h | 1467 uint8_t pirq, 1653 int *pirq); 1658 int *pirq, 1666 int pirq); 1761 uint32_t pirq, 1768 uint32_t pirq, 2315 int xc_flask_add_pirq(xc_interface *xc_handle, unsigned int pirq, char *scontext); 2321 int xc_flask_del_pirq(xc_interface *xc_handle, unsigned int pirq);
|