Searched refs:pirq_dpci (Results 1 – 8 of 8) sorted by relevance
/xen/xen/drivers/passthrough/ |
A D | io.c | 136 pirq_dpci->masked = 0; in pt_pirq_softirq_reset() 322 pirq_dpci = pirq_dpci(info); in pt_irq_create_bind() 573 init_timer(&pirq_dpci->timer, pt_irq_time_out, pirq_dpci, 0); in pt_irq_create_bind() 686 pirq_dpci = pirq_dpci(pirq); in pt_irq_destroy_bind() 721 if ( pirq_dpci && (pirq_dpci->flags & HVM_IRQ_DPCI_MAPPED) ) in pt_irq_destroy_bind() 738 else if ( pirq_dpci && pirq_dpci->gmsi.posted ) in pt_irq_destroy_bind() 741 if ( pirq_dpci && (pirq_dpci->flags & HVM_IRQ_DPCI_MAPPED) && in pt_irq_destroy_bind() 809 struct hvm_pirq_dpci *pirq_dpci = pirq_dpci(pirqs[i]); in pt_pirq_iterate() local 823 struct hvm_pirq_dpci *pirq_dpci = pirq_dpci(pirq); in hvm_do_IRQ_dpci() local 828 !pirq_dpci || !(pirq_dpci->flags & HVM_IRQ_DPCI_MAPPED) ) in hvm_do_IRQ_dpci() [all …]
|
A D | pci.c | 861 struct hvm_pirq_dpci *pirq_dpci, void *arg) in pci_clean_dpci_irq() argument 865 pirq_guest_unbind(d, dpci_pirq(pirq_dpci)); in pci_clean_dpci_irq() 867 if ( pt_irq_need_timer(pirq_dpci->flags) ) in pci_clean_dpci_irq() 868 kill_timer(&pirq_dpci->timer); in pci_clean_dpci_irq() 870 list_for_each_entry_safe ( digl, tmp, &pirq_dpci->digl_list, list ) in pci_clean_dpci_irq() 876 radix_tree_delete(&d->pirq_tree, dpci_pirq(pirq_dpci)->pirq); in pci_clean_dpci_irq() 878 if ( !pt_pirq_softirq_active(pirq_dpci) ) in pci_clean_dpci_irq() 881 domain_get_irq_dpci(d)->pending_pirq_dpci = pirq_dpci; in pci_clean_dpci_irq()
|
/xen/xen/drivers/passthrough/vtd/x86/ |
A D | hvm.c | 25 struct hvm_pirq_dpci *pirq_dpci, void *arg) in _hvm_dpci_isairq_eoi() argument 31 list_for_each_entry ( digl, &pirq_dpci->digl_list, list ) in _hvm_dpci_isairq_eoi() 38 if ( --pirq_dpci->pending == 0 ) in _hvm_dpci_isairq_eoi() 40 stop_timer(&pirq_dpci->timer); in _hvm_dpci_isairq_eoi() 41 pirq_guest_eoi(dpci_pirq(pirq_dpci)); in _hvm_dpci_isairq_eoi()
|
/xen/xen/arch/x86/hvm/ |
A D | vmsi.c | 106 void vmsi_deliver_pirq(struct domain *d, const struct hvm_pirq_dpci *pirq_dpci) in vmsi_deliver_pirq() argument 108 uint32_t flags = pirq_dpci->gmsi.gflags; in vmsi_deliver_pirq() 109 int vector = pirq_dpci->gmsi.gvec; in vmsi_deliver_pirq() 120 ASSERT(pirq_dpci->flags & HVM_IRQ_DPCI_GUEST_MSI); in vmsi_deliver_pirq()
|
A D | hvm.c | 495 void hvm_migrate_pirq(struct hvm_pirq_dpci *pirq_dpci, const struct vcpu *v) in hvm_migrate_pirq() argument 500 if ( (pirq_dpci->flags & HVM_IRQ_DPCI_MACH_MSI) && in hvm_migrate_pirq() 502 !pirq_dpci->gmsi.posted && in hvm_migrate_pirq() 503 (pirq_dpci->gmsi.dest_vcpu_id == v->vcpu_id) ) in hvm_migrate_pirq() 506 pirq_spin_lock_irq_desc(dpci_pirq(pirq_dpci), NULL); in hvm_migrate_pirq() 516 static int migrate_pirq(struct domain *d, struct hvm_pirq_dpci *pirq_dpci, in migrate_pirq() argument 519 hvm_migrate_pirq(pirq_dpci, arg); in migrate_pirq()
|
/xen/xen/include/asm-x86/ |
A D | irq.h | 145 #define pirq_dpci(pirq) ((pirq) ? &(pirq)->arch.hvm.dpci : NULL) macro
|
/xen/xen/include/asm-x86/hvm/ |
A D | hvm.h | 287 void hvm_migrate_pirq(struct hvm_pirq_dpci *pirq_dpci, const struct vcpu *v);
|
/xen/docs/misc/ |
A D | vtd-pi.txt | 66 raise_softirq_for(pirq_dpci) --> raise_softirq(HVM_DPCI_SOFTIRQ)
|
Completed in 24 milliseconds