/openbmc/linux/drivers/xen/events/ |
H A D | events_base.c | 111 evtchn_port_t evtchn; /* event channel */ member 216 static int set_evtchn_to_irq(evtchn_port_t evtchn, unsigned int irq) in set_evtchn_to_irq() argument 222 if (evtchn >= xen_evtchn_max_channels()) in set_evtchn_to_irq() 225 row = EVTCHN_ROW(evtchn); in set_evtchn_to_irq() 226 col = EVTCHN_COL(evtchn); in set_evtchn_to_irq() 268 static struct irq_info *evtchn_to_info(evtchn_port_t evtchn) in evtchn_to_info() argument 272 if (evtchn >= xen_evtchn_max_channels()) in evtchn_to_info() 274 if (evtchn_to_irq[EVTCHN_ROW(evtchn)] == NULL) in evtchn_to_info() 276 irq = READ_ONCE(evtchn_to_irq[EVTCHN_ROW(evtchn)][EVTCHN_COL(evtchn)]); in evtchn_to_info() 331 evtchn_port_t evtchn, in xen_irq_info_common_setup() argument [all …]
|
H A D | events_internal.h | 18 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 D | events_2l.c | 50 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()
|
/openbmc/linux/drivers/xen/ |
H A D | evtchn.c | 108 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 D | Makefile | 19 obj-$(CONFIG_XEN_DEV_EVTCHN) += xen-evtchn.o 35 xen-evtchn-y := evtchn.o
|
H A D | pvcalls-front.c | 381 static int create_active(struct sock_mapping *map, evtchn_port_t *evtchn) in create_active() argument 386 *evtchn = 0; in create_active() 399 ret = xenbus_alloc_evtchn(pvcalls_front_dev, evtchn); in create_active() 402 irq = bind_evtchn_to_irqhandler(*evtchn, pvcalls_front_conn_handler, in create_active() 417 if (*evtchn > 0) in create_active() 418 xenbus_free_evtchn(pvcalls_front_dev, *evtchn); in create_active() 429 evtchn_port_t evtchn; in pvcalls_front_connect() local 444 ret = create_active(map, &evtchn); in pvcalls_front_connect() 467 req->u.connect.evtchn = evtchn; in pvcalls_front_connect() 779 evtchn_port_t evtchn; in pvcalls_front_accept() local [all …]
|
H A D | pvcalls-back.c | 320 evtchn_port_t evtchn, in pvcalls_new_active_socket() argument 357 fedata->dev, evtchn, in pvcalls_new_active_socket() 421 req->u.connect.evtchn, in pvcalls_back_connect() 560 req->u.accept.evtchn, in __pvcalls_back_accept() 929 evtchn_port_t evtchn; in backend_connect() local 939 &evtchn); in backend_connect() 955 err = bind_interdomain_evtchn_to_irq_lateeoi(dev, evtchn); in backend_connect()
|
/openbmc/linux/include/xen/ |
H A D | events.h | 19 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); 103 unsigned int irq_from_evtchn(evtchn_port_t evtchn); 105 evtchn_port_t *evtchn);
|
/openbmc/linux/drivers/tty/hvc/ |
H A D | hvc_xen.c | 39 unsigned int evtchn; member 84 notify_remote_via_evtchn(cons->evtchn); in notify_daemon() 267 info->evtchn = v; in xen_hvm_console_init() 291 info->evtchn = xen_start_info->console.domU.evtchn; in xencons_info_pv_init() 309 if (!xen_start_info->console.domU.evtchn) in xen_pv_console_init() 362 info->evtchn = v; in xen_console_update_evtchn() 364 info->evtchn = xen_start_info->console.domU.evtchn; in xen_console_update_evtchn() 373 rebind_evtchn_irq(info->evtchn, info->irq); in xen_console_resume() 384 evtchn_put(info->evtchn); in xencons_disconnect_backend() 386 info->evtchn = 0; in xencons_disconnect_backend() [all …]
|
/openbmc/linux/drivers/char/tpm/ |
H A D | xen-tpmfront.c | 26 unsigned int evtchn; member 126 notify_remote_via_evtchn(priv->evtchn); in vtpm_cancel() 161 notify_remote_via_evtchn(priv->evtchn); in vtpm_send() 262 rv = xenbus_alloc_evtchn(dev, &priv->evtchn); in setup_ring() 266 rv = bind_evtchn_to_irqhandler(priv->evtchn, tpmif_interrupt, 0, in setup_ring() 289 priv->evtchn); in setup_ring()
|
/openbmc/linux/tools/testing/selftests/kvm/x86_64/ |
H A D | xen_shinfo_test.c | 590 .u.evtchn.send_port = 127, in main() 591 .u.evtchn.type = EVTCHNSTAT_interdomain, in main() 592 .u.evtchn.flags = 0, in main() 593 .u.evtchn.deliver.port.port = EVTCHN_TEST1, in main() 594 .u.evtchn.deliver.port.vcpu = vcpu->id + 1, in main() 595 .u.evtchn.deliver.port.priority = KVM_IRQ_ROUTING_XEN_EVTCHN_PRIO_2LEVEL, in main() 600 inj.u.evtchn.flags = KVM_XEN_EVTCHN_UPDATE; in main() 601 inj.u.evtchn.deliver.port.vcpu = vcpu->id; in main() 604 inj.u.evtchn.send_port = 197; in main() 605 inj.u.evtchn.deliver.eventfd.port = 0; in main() [all …]
|
/openbmc/linux/arch/x86/kvm/ |
H A D | xen.c | 1822 u32 port = data->u.evtchn.send_port; in kvm_xen_eventfd_update() 1836 if (evtchnfd->type != data->u.evtchn.type) in kvm_xen_eventfd_update() 1844 evtchnfd->deliver.port.port != data->u.evtchn.deliver.port.port) in kvm_xen_eventfd_update() 1848 if (data->u.evtchn.deliver.port.priority != KVM_IRQ_ROUTING_XEN_EVTCHN_PRIO_2LEVEL) in kvm_xen_eventfd_update() 1851 evtchnfd->deliver.port.priority = data->u.evtchn.deliver.port.priority; in kvm_xen_eventfd_update() 1852 if (evtchnfd->deliver.port.vcpu_id != data->u.evtchn.deliver.port.vcpu) { in kvm_xen_eventfd_update() 1853 evtchnfd->deliver.port.vcpu_id = data->u.evtchn.deliver.port.vcpu; in kvm_xen_eventfd_update() 1869 u32 port = data->u.evtchn.send_port; in kvm_xen_eventfd_assign() 1878 switch(data->u.evtchn.type) { in kvm_xen_eventfd_assign() 1881 if (data->u.evtchn.deliver.port.port != data->u.evtchn.send_port) in kvm_xen_eventfd_assign() [all …]
|
/openbmc/linux/include/xen/interface/io/ |
H A D | pvcalls.h | 55 uint32_t evtchn; member 74 uint32_t evtchn; member
|
/openbmc/linux/drivers/pci/ |
H A D | xen-pcifront.c | 43 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()
|
/openbmc/linux/drivers/input/misc/ |
H A D | xen-kbdfront.c | 425 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()
|
/openbmc/linux/net/9p/ |
H A D | trans_xen.c | 40 int evtchn; member 357 ret = xenbus_alloc_evtchn(dev, &ring->evtchn); in xen_9pfs_front_alloc_dataring() 360 ring->irq = bind_evtchn_to_irqhandler(ring->evtchn, in xen_9pfs_front_alloc_dataring() 366 xenbus_free_evtchn(dev, ring->evtchn); in xen_9pfs_front_alloc_dataring() 452 priv->rings[i].evtchn); in xen_9pfs_front_init()
|
/openbmc/qemu/hw/i386/kvm/ |
H A D | xen_evtchn.c | 538 ha.u.evtchn.send_port = port; in deassign_kernel_port() 539 ha.u.evtchn.flags = KVM_XEN_EVTCHN_DEASSIGN; in deassign_kernel_port() 559 ha.u.evtchn.send_port = port; in assign_kernel_port() 560 ha.u.evtchn.type = type; in assign_kernel_port() 561 ha.u.evtchn.flags = 0; in assign_kernel_port() 562 ha.u.evtchn.deliver.port.port = port; in assign_kernel_port() 563 ha.u.evtchn.deliver.port.vcpu = kvm_arch_vcpu_id(cpu); in assign_kernel_port() 564 ha.u.evtchn.deliver.port.priority = KVM_IRQ_ROUTING_XEN_EVTCHN_PRIO_2LEVEL; in assign_kernel_port() 574 ha.u.evtchn.send_port = port; in assign_kernel_eventfd() 575 ha.u.evtchn.type = type; in assign_kernel_eventfd() [all …]
|
/openbmc/qemu/hw/9pfs/ |
H A D | xen-9p-backend.c | 39 int evtchn; member 412 xen_9pdev->rings[i].evtchn = -1; in xen_9pfs_connect() 424 &xen_9pdev->rings[i].evtchn) == -1) { in xen_9pfs_connect() 470 xen_9pdev->rings[i].evtchn); in xen_9pfs_connect() 474 xen_9pdev->rings[i].evtchn); in xen_9pfs_connect()
|
/openbmc/linux/drivers/video/fbdev/ |
H A D | xen-fbfront.c | 551 int ret, evtchn, irq; in xenfb_connect_backend() local 554 ret = xenbus_alloc_evtchn(dev, &evtchn); in xenfb_connect_backend() 557 irq = bind_evtchn_to_irqhandler(evtchn, xenfb_event_handler, in xenfb_connect_backend() 560 xenbus_free_evtchn(dev, evtchn); in xenfb_connect_backend() 575 evtchn); in xenfb_connect_backend()
|
/openbmc/linux/drivers/block/xen-blkback/ |
H A D | xenbus.c | 193 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() 972 unsigned int nr_grefs, evtchn; in read_per_ring_refs() local 975 &evtchn); in read_per_ring_refs() 1030 err = xen_blkif_map(ring, ring_ref, nr_grefs, evtchn); in read_per_ring_refs() 1032 xenbus_dev_fatal(dev, err, "mapping ring-ref port %u", evtchn); in read_per_ring_refs()
|
/openbmc/qemu/include/hw/xen/interface/ |
H A D | xen.h | 839 uint32_t evtchn; /* Event channel for console page. */ member 865 #define console_evtchn console.domU.evtchn
|
/openbmc/linux/drivers/scsi/ |
H A D | xen-scsifront.c | 112 unsigned int evtchn; member 803 err = xenbus_alloc_evtchn(dev, &info->evtchn); in scsifront_alloc_ring() 809 err = bind_evtchn_to_irq_lateeoi(info->evtchn); in scsifront_alloc_ring() 852 pr_debug("%s: %u %u\n", __func__, info->ring_ref, info->evtchn); in scsifront_init_ring() 867 info->evtchn); in scsifront_init_ring()
|
/openbmc/linux/drivers/net/xen-netback/ |
H A D | xenbus.c | 688 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()
|
/openbmc/linux/usr/include/ |
H A D | Makefile | 52 no-header-test += xen/evtchn.h
|
/openbmc/linux/include/xen/interface/ |
H A D | xen.h | 631 uint32_t evtchn; /* Event channel for console page. */ member
|