Home
last modified time | relevance | path

Searched refs:evtchn (Results 1 – 25 of 29) sorted by relevance

12

/linux/drivers/xen/events/
H A Devents_base.c111 evtchn_port_t evtchn; /* event channel */ member
215 static int set_evtchn_to_irq(evtchn_port_t evtchn, unsigned int irq) in set_evtchn_to_irq() argument
221 if (evtchn >= xen_evtchn_max_channels()) in set_evtchn_to_irq()
224 row = EVTCHN_ROW(evtchn); in set_evtchn_to_irq()
225 col = EVTCHN_COL(evtchn); in set_evtchn_to_irq()
267 static struct irq_info *evtchn_to_info(evtchn_port_t evtchn) in evtchn_to_info() argument
271 if (evtchn >= xen_evtchn_max_channels()) in evtchn_to_info()
273 if (evtchn_to_irq[EVTCHN_ROW(evtchn)] == NULL) in evtchn_to_info()
275 irq = READ_ONCE(evtchn_to_irq[EVTCHN_ROW(evtchn)][EVTCHN_COL(evtchn)]); in evtchn_to_info()
330 evtchn_port_t evtchn, in xen_irq_info_common_setup() argument
[all …]
H A Devents_internal.h18 void (*bind_to_cpu)(evtchn_port_t evtchn, unsigned int cpu,
38 unsigned int cpu_from_evtchn(evtchn_port_t evtchn);
49 static inline int xen_evtchn_port_setup(evtchn_port_t evtchn) in xen_evtchn_port_setup() argument
52 return evtchn_ops->setup(evtchn); in xen_evtchn_port_setup()
56 static inline void xen_evtchn_port_remove(evtchn_port_t evtchn, in xen_evtchn_port_remove() argument
60 evtchn_ops->remove(evtchn, cpu); in xen_evtchn_port_remove()
63 static inline void xen_evtchn_port_bind_to_cpu(evtchn_port_t evtchn, in xen_evtchn_port_bind_to_cpu() argument
67 evtchn_ops->bind_to_cpu(evtchn, cpu, old_cpu); in xen_evtchn_port_bind_to_cpu()
H A Devents_2l.c50 static void evtchn_2l_remove(evtchn_port_t evtchn, unsigned int cpu) in evtchn_2l_remove() argument
52 clear_bit(evtchn, BM(per_cpu(cpu_evtchn_mask, cpu))); in evtchn_2l_remove()
55 static void evtchn_2l_bind_to_cpu(evtchn_port_t evtchn, unsigned int cpu, in evtchn_2l_bind_to_cpu() argument
58 clear_bit(evtchn, BM(per_cpu(cpu_evtchn_mask, old_cpu))); in evtchn_2l_bind_to_cpu()
59 set_bit(evtchn, BM(per_cpu(cpu_evtchn_mask, cpu))); in evtchn_2l_bind_to_cpu()
174 evtchn_port_t evtchn; in evtchn_2l_handle_events() local
177 irq = irq_evtchn_from_virq(cpu, VIRQ_TIMER, &evtchn); in evtchn_2l_handle_events()
179 word_idx = evtchn / BITS_PER_LONG; in evtchn_2l_handle_events()
180 bit_idx = evtchn % BITS_PER_LONG; in evtchn_2l_handle_events()
H A Devents_fifo.c188 static void evtchn_fifo_bind_to_cpu(evtchn_port_t evtchn, unsigned int cpu, in evtchn_fifo_bind_to_cpu() argument
/linux/drivers/xen/
H A Devtchn.c108 static int add_evtchn(struct per_user_data *u, struct user_evtchn *evtchn) in add_evtchn() argument
120 if (this->port < evtchn->port) in add_evtchn()
122 else if (this->port > evtchn->port) in add_evtchn()
129 rb_link_node(&evtchn->node, parent, new); in add_evtchn()
130 rb_insert_color(&evtchn->node, &u->evtchns); in add_evtchn()
135 static void del_evtchn(struct per_user_data *u, struct user_evtchn *evtchn) in del_evtchn() argument
138 rb_erase(&evtchn->node, &u->evtchns); in del_evtchn()
139 kfree(evtchn); in del_evtchn()
148 struct user_evtchn *evtchn; in find_evtchn() local
150 evtchn = rb_entry(node, struct user_evtchn, node); in find_evtchn()
[all …]
H A DMakefile19 obj-$(CONFIG_XEN_DEV_EVTCHN) += xen-evtchn.o
35 xen-evtchn-y := evtchn.o
H A Dxen-scsiback.c845 evtchn_port_t evtchn) in scsiback_init_sring() argument
861 err = bind_interdomain_evtchn_to_irq_lateeoi(info->dev, evtchn); in scsiback_init_sring()
887 evtchn_port_t evtchn; in scsiback_map() local
892 "event-channel", "%u", &evtchn, NULL); in scsiback_map()
898 return scsiback_init_sring(info, ring_ref, evtchn); in scsiback_map()
H A DKconfig84 tristate "Xen /dev/xen/evtchn device"
87 The evtchn driver allows a userspace process to trigger event
/linux/include/xen/
H A Devents.h19 int bind_evtchn_to_irq(evtchn_port_t evtchn);
20 int bind_evtchn_to_irq_lateeoi(evtchn_port_t evtchn);
21 int bind_evtchn_to_irqhandler(evtchn_port_t evtchn,
25 int bind_evtchn_to_irqhandler_lateeoi(evtchn_port_t evtchn,
72 int evtchn_make_refcounted(evtchn_port_t evtchn, bool is_static);
73 int evtchn_get(evtchn_port_t evtchn);
74 void evtchn_put(evtchn_port_t evtchn);
77 void rebind_evtchn_irq(evtchn_port_t evtchn, int irq);
102 unsigned int irq_from_evtchn(evtchn_port_t evtchn);
104 evtchn_port_t *evtchn);
/linux/drivers/char/tpm/
H A Dxen-tpmfront.c26 unsigned int evtchn; member
126 notify_remote_via_evtchn(priv->evtchn); in vtpm_cancel()
162 notify_remote_via_evtchn(priv->evtchn); in vtpm_send()
263 rv = xenbus_alloc_evtchn(dev, &priv->evtchn); in setup_ring()
267 rv = bind_evtchn_to_irqhandler(priv->evtchn, tpmif_interrupt, 0, in setup_ring()
290 priv->evtchn); in setup_ring()
/linux/tools/testing/selftests/kvm/x86/
H A Dxen_shinfo_test.c587 .u.evtchn.send_port = 127, in main()
588 .u.evtchn.type = EVTCHNSTAT_interdomain, in main()
589 .u.evtchn.flags = 0, in main()
590 .u.evtchn.deliver.port.port = EVTCHN_TEST1, in main()
591 .u.evtchn.deliver.port.vcpu = vcpu->id + 1, in main()
592 .u.evtchn.deliver.port.priority = KVM_IRQ_ROUTING_XEN_EVTCHN_PRIO_2LEVEL, in main()
597 inj.u.evtchn.flags = KVM_XEN_EVTCHN_UPDATE; in main()
598 inj.u.evtchn.deliver.port.vcpu = vcpu->id; in main()
601 inj.u.evtchn.send_port = 197; in main()
602 inj.u.evtchn.deliver.eventfd.port = 0; in main()
[all …]
/linux/arch/x86/kvm/
H A Dxen.c2067 u32 port = data->u.evtchn.send_port; in kvm_xen_eventfd_update()
2081 if (evtchnfd->type != data->u.evtchn.type) in kvm_xen_eventfd_update()
2089 evtchnfd->deliver.port.port != data->u.evtchn.deliver.port.port) in kvm_xen_eventfd_update()
2093 if (data->u.evtchn.deliver.port.priority != KVM_IRQ_ROUTING_XEN_EVTCHN_PRIO_2LEVEL) in kvm_xen_eventfd_update()
2096 evtchnfd->deliver.port.priority = data->u.evtchn.deliver.port.priority; in kvm_xen_eventfd_update()
2097 if (evtchnfd->deliver.port.vcpu_id != data->u.evtchn.deliver.port.vcpu) { in kvm_xen_eventfd_update()
2098 evtchnfd->deliver.port.vcpu_id = data->u.evtchn.deliver.port.vcpu; in kvm_xen_eventfd_update()
2114 u32 port = data->u.evtchn.send_port; in kvm_xen_eventfd_assign()
2123 switch(data->u.evtchn.type) { in kvm_xen_eventfd_assign()
2126 if (data->u.evtchn.deliver.port.port != data->u.evtchn.send_port) in kvm_xen_eventfd_assign()
[all …]
/linux/include/xen/interface/io/
H A Dpvcalls.h55 uint32_t evtchn; member
74 uint32_t evtchn; member
/linux/drivers/pci/
H A Dxen-pcifront.c43 int evtchn; member
116 evtchn_port_t port = pdev->evtchn; in do_pci_op()
639 notify_remote_via_evtchn(pdev->evtchn); in pcifront_do_aer()
712 pdev->evtchn = INVALID_EVTCHN; in alloc_pdev()
734 if (pdev->evtchn != INVALID_EVTCHN) in free_pdev()
735 xenbus_free_evtchn(pdev->xdev, pdev->evtchn); in free_pdev()
749 err = xenbus_alloc_evtchn(pdev->xdev, &pdev->evtchn); in pcifront_publish_info()
753 err = bind_evtchn_to_irqhandler(pdev->evtchn, pcifront_handler_aer, in pcifront_publish_info()
774 "event-channel", "%u", pdev->evtchn); in pcifront_publish_info()
/linux/drivers/input/misc/
H A Dxen-kbdfront.c425 int ret, evtchn; in xenkbd_connect_backend() local
434 ret = xenbus_alloc_evtchn(dev, &evtchn); in xenkbd_connect_backend()
437 ret = bind_evtchn_to_irqhandler(evtchn, input_handler, in xenkbd_connect_backend()
460 evtchn); in xenkbd_connect_backend()
481 xenbus_free_evtchn(dev, evtchn); in xenkbd_connect_backend()
/linux/net/9p/
H A Dtrans_xen.c41 int evtchn; member
359 ret = xenbus_alloc_evtchn(dev, &ring->evtchn); in xen_9pfs_front_alloc_dataring()
362 ring->irq = bind_evtchn_to_irqhandler(ring->evtchn, in xen_9pfs_front_alloc_dataring()
368 xenbus_free_evtchn(dev, ring->evtchn); in xen_9pfs_front_alloc_dataring()
454 priv->rings[i].evtchn); in xen_9pfs_front_init()
/linux/drivers/video/fbdev/
H A Dxen-fbfront.c552 int ret, evtchn, irq; in xenfb_connect_backend() local
555 ret = xenbus_alloc_evtchn(dev, &evtchn); in xenfb_connect_backend()
558 irq = bind_evtchn_to_irqhandler(evtchn, xenfb_event_handler, in xenfb_connect_backend()
561 xenbus_free_evtchn(dev, evtchn); in xenfb_connect_backend()
576 evtchn); in xenfb_connect_backend()
/linux/drivers/block/xen-blkback/
H A Dxenbus.c193 unsigned int nr_grefs, unsigned int evtchn) in xen_blkif_map() argument
254 evtchn, xen_blkif_be_int, 0, "blkif-backend", ring); in xen_blkif_map()
973 unsigned int nr_grefs, evtchn; in read_per_ring_refs() local
976 &evtchn); in read_per_ring_refs()
1031 err = xen_blkif_map(ring, ring_ref, nr_grefs, evtchn); in read_per_ring_refs()
1033 xenbus_dev_fatal(dev, err, "mapping ring-ref port %u", evtchn); in read_per_ring_refs()
/linux/drivers/scsi/
H A Dxen-scsifront.c112 unsigned int evtchn; member
804 err = xenbus_alloc_evtchn(dev, &info->evtchn); in scsifront_alloc_ring()
810 err = bind_evtchn_to_irq_lateeoi(info->evtchn); in scsifront_alloc_ring()
853 pr_debug("%s: %u %u\n", __func__, info->ring_ref, info->evtchn); in scsifront_init_ring()
868 info->evtchn); in scsifront_init_ring()
/linux/drivers/net/xen-netback/
H A Dxenbus.c688 unsigned int evtchn; in connect_ctrl_ring() local
707 evtchn = val; in connect_ctrl_ring()
709 err = xenvif_connect_ctrl(vif, ring_ref, evtchn); in connect_ctrl_ring()
713 ring_ref, evtchn); in connect_ctrl_ring()
H A Dcommon.h360 unsigned int evtchn);
H A Dinterface.c618 unsigned int evtchn) in xenvif_connect_ctrl() argument
641 err = bind_interdomain_evtchn_to_irq_lateeoi(xendev, evtchn); in xenvif_connect_ctrl()
/linux/usr/include/
H A DMakefile45 no-header-test += xen/evtchn.h
/linux/include/xen/interface/
H A Dxen.h631 uint32_t evtchn; /* Event channel for console page. */ member
/linux/drivers/usb/host/
H A Dxen-hcd.c82 unsigned int evtchn; member
1131 err = xenbus_alloc_evtchn(dev, &info->evtchn); in xenhcd_setup_rings()
1137 err = bind_evtchn_to_irq_lateeoi(info->evtchn); in xenhcd_setup_rings()
1194 info->evtchn); in xenhcd_talk_to_backend()

12