/linux-4.4.14/drivers/xen/events/ |
H A D | events_base.c | 119 static int set_evtchn_to_irq(unsigned evtchn, unsigned irq) set_evtchn_to_irq() argument 124 if (evtchn >= xen_evtchn_max_channels()) set_evtchn_to_irq() 127 row = EVTCHN_ROW(evtchn); set_evtchn_to_irq() 128 col = EVTCHN_COL(evtchn); set_evtchn_to_irq() 142 evtchn_to_irq[EVTCHN_ROW(evtchn)][EVTCHN_COL(evtchn)] = irq; set_evtchn_to_irq() 146 int get_evtchn_to_irq(unsigned evtchn) get_evtchn_to_irq() argument 148 if (evtchn >= xen_evtchn_max_channels()) get_evtchn_to_irq() 150 if (evtchn_to_irq[EVTCHN_ROW(evtchn)] == NULL) get_evtchn_to_irq() 152 return evtchn_to_irq[EVTCHN_ROW(evtchn)][EVTCHN_COL(evtchn)]; get_evtchn_to_irq() 165 unsigned evtchn, xen_irq_info_common_setup() 174 info->evtchn = evtchn; xen_irq_info_common_setup() 177 ret = set_evtchn_to_irq(evtchn, irq); xen_irq_info_common_setup() 187 unsigned evtchn) xen_irq_info_evtchn_setup() 191 return xen_irq_info_common_setup(info, irq, IRQT_EVTCHN, evtchn, 0); xen_irq_info_evtchn_setup() 196 unsigned evtchn, xen_irq_info_ipi_setup() 205 return xen_irq_info_common_setup(info, irq, IRQT_IPI, evtchn, 0); xen_irq_info_ipi_setup() 210 unsigned evtchn, xen_irq_info_virq_setup() 219 return xen_irq_info_common_setup(info, irq, IRQT_VIRQ, evtchn, 0); xen_irq_info_virq_setup() 223 unsigned evtchn, xen_irq_info_pirq_setup() 236 return xen_irq_info_common_setup(info, irq, IRQT_PIRQ, evtchn, 0); xen_irq_info_pirq_setup() 241 set_evtchn_to_irq(info->evtchn, -1); xen_irq_info_cleanup() 242 info->evtchn = 0; xen_irq_info_cleanup() 253 return info_for_irq(irq)->evtchn; evtchn_from_irq() 256 unsigned irq_from_evtchn(unsigned int evtchn) irq_from_evtchn() argument 258 return get_evtchn_to_irq(evtchn); irq_from_evtchn() 307 unsigned int cpu_from_evtchn(unsigned int evtchn) cpu_from_evtchn() argument 309 int irq = get_evtchn_to_irq(evtchn); cpu_from_evtchn() 349 unsigned int evtchn; xen_evtchn_mask_all() local 351 for (evtchn = 0; evtchn < xen_evtchn_nr_channels(); evtchn++) xen_evtchn_mask_all() 352 mask_evtchn(evtchn); xen_evtchn_mask_all() 365 int evtchn = evtchn_from_irq(irq); notify_remote_via_irq() local 367 if (VALID_EVTCHN(evtchn)) notify_remote_via_irq() 368 notify_remote_via_evtchn(evtchn); notify_remote_via_irq() 483 int evtchn = evtchn_from_irq(data->irq); eoi_pirq() local 487 if (!VALID_EVTCHN(evtchn)) eoi_pirq() 492 int masked = test_and_set_mask(evtchn); eoi_pirq() 494 clear_evtchn(evtchn); eoi_pirq() 499 unmask_evtchn(evtchn); eoi_pirq() 501 clear_evtchn(evtchn); eoi_pirq() 519 int evtchn = evtchn_from_irq(irq); __startup_pirq() local 524 if (VALID_EVTCHN(evtchn)) __startup_pirq() 536 evtchn = bind_pirq.port; __startup_pirq() 540 rc = set_evtchn_to_irq(evtchn, irq); __startup_pirq() 544 info->evtchn = evtchn; __startup_pirq() 545 bind_evtchn_to_cpu(evtchn, 0); __startup_pirq() 552 unmask_evtchn(evtchn); __startup_pirq() 559 xen_evtchn_close(evtchn); __startup_pirq() 572 unsigned evtchn = evtchn_from_irq(irq); shutdown_pirq() local 576 if (!VALID_EVTCHN(evtchn)) shutdown_pirq() 579 mask_evtchn(evtchn); shutdown_pirq() 580 xen_evtchn_close(evtchn); shutdown_pirq() 612 int evtchn = evtchn_from_irq(irq); __unbind_from_irq() local 621 if (VALID_EVTCHN(evtchn)) { __unbind_from_irq() 624 xen_evtchn_close(evtchn); __unbind_from_irq() 840 int bind_evtchn_to_irq(unsigned int evtchn) bind_evtchn_to_irq() argument 845 if (evtchn >= xen_evtchn_max_channels()) bind_evtchn_to_irq() 850 irq = get_evtchn_to_irq(evtchn); bind_evtchn_to_irq() 860 ret = xen_irq_info_evtchn_setup(irq, evtchn); bind_evtchn_to_irq() 867 bind_evtchn_to_cpu(evtchn, 0); bind_evtchn_to_irq() 883 int evtchn, irq; bind_ipi_to_irq() local 902 evtchn = bind_ipi.port; bind_ipi_to_irq() 904 ret = xen_irq_info_ipi_setup(cpu, irq, evtchn, ipi); bind_ipi_to_irq() 910 bind_evtchn_to_cpu(evtchn, cpu); bind_ipi_to_irq() 975 int evtchn, irq, ret; bind_virq_to_irq() local 998 evtchn = bind_virq.port; bind_virq_to_irq() 1003 evtchn = ret; bind_virq_to_irq() 1006 ret = xen_irq_info_virq_setup(cpu, irq, evtchn, virq); bind_virq_to_irq() 1013 bind_evtchn_to_cpu(evtchn, cpu); bind_virq_to_irq() 1032 int bind_evtchn_to_irqhandler(unsigned int evtchn, bind_evtchn_to_irqhandler() argument 1039 irq = bind_evtchn_to_irq(evtchn); bind_evtchn_to_irqhandler() 1145 int evtchn_make_refcounted(unsigned int evtchn) evtchn_make_refcounted() argument 1147 int irq = get_evtchn_to_irq(evtchn); evtchn_make_refcounted() 1166 int evtchn_get(unsigned int evtchn) evtchn_get() argument 1172 if (evtchn >= xen_evtchn_max_channels()) evtchn_get() 1177 irq = get_evtchn_to_irq(evtchn); evtchn_get() 1199 void evtchn_put(unsigned int evtchn) evtchn_put() argument 1201 int irq = get_evtchn_to_irq(evtchn); evtchn_put() 1275 void rebind_evtchn_irq(int evtchn, int irq) rebind_evtchn_irq() argument 1288 /* After resume the irq<->evtchn mappings are all cleared out */ rebind_evtchn_irq() 1289 BUG_ON(get_evtchn_to_irq(evtchn) != -1); rebind_evtchn_irq() 1294 (void)xen_irq_info_evtchn_setup(irq, evtchn); rebind_evtchn_irq() 1298 bind_evtchn_to_cpu(evtchn, info->cpu); rebind_evtchn_irq() 1306 /* Rebind an evtchn so that it gets delivered to a specific cpu */ rebind_irq_to_cpu() 1310 int evtchn = evtchn_from_irq(irq); rebind_irq_to_cpu() local 1313 if (!VALID_EVTCHN(evtchn)) rebind_irq_to_cpu() 1320 bind_vcpu.port = evtchn; rebind_irq_to_cpu() 1327 masked = test_and_set_mask(evtchn); rebind_irq_to_cpu() 1335 bind_evtchn_to_cpu(evtchn, tcpu); rebind_irq_to_cpu() 1338 unmask_evtchn(evtchn); rebind_irq_to_cpu() 1353 int evtchn = evtchn_from_irq(data->irq); enable_dynirq() local 1355 if (VALID_EVTCHN(evtchn)) enable_dynirq() 1356 unmask_evtchn(evtchn); enable_dynirq() 1361 int evtchn = evtchn_from_irq(data->irq); disable_dynirq() local 1363 if (VALID_EVTCHN(evtchn)) disable_dynirq() 1364 mask_evtchn(evtchn); disable_dynirq() 1369 int evtchn = evtchn_from_irq(data->irq); ack_dynirq() local 1371 if (!VALID_EVTCHN(evtchn)) ack_dynirq() 1376 int masked = test_and_set_mask(evtchn); ack_dynirq() 1378 clear_evtchn(evtchn); ack_dynirq() 1383 unmask_evtchn(evtchn); ack_dynirq() 1385 clear_evtchn(evtchn); ack_dynirq() 1396 unsigned int evtchn = evtchn_from_irq(data->irq); retrigger_dynirq() local 1399 if (!VALID_EVTCHN(evtchn)) retrigger_dynirq() 1402 masked = test_and_set_mask(evtchn); retrigger_dynirq() 1403 set_evtchn(evtchn); retrigger_dynirq() 1405 unmask_evtchn(evtchn); retrigger_dynirq() 1451 int virq, irq, evtchn; restore_cpu_virqs() local 1465 evtchn = bind_virq.port; restore_cpu_virqs() 1468 (void)xen_irq_info_virq_setup(cpu, irq, evtchn, virq); restore_cpu_virqs() 1469 bind_evtchn_to_cpu(evtchn, cpu); restore_cpu_virqs() 1476 int ipi, irq, evtchn; restore_cpu_ipis() local 1489 evtchn = bind_ipi.port; restore_cpu_ipis() 1492 (void)xen_irq_info_ipi_setup(cpu, irq, evtchn, ipi); restore_cpu_ipis() 1493 bind_evtchn_to_cpu(evtchn, cpu); restore_cpu_ipis() 1500 int evtchn = evtchn_from_irq(irq); xen_clear_irq_pending() local 1502 if (VALID_EVTCHN(evtchn)) xen_clear_irq_pending() 1503 clear_evtchn(evtchn); xen_clear_irq_pending() 1508 int evtchn = evtchn_from_irq(irq); xen_set_irq_pending() local 1510 if (VALID_EVTCHN(evtchn)) xen_set_irq_pending() 1511 set_evtchn(evtchn); xen_set_irq_pending() 1516 int evtchn = evtchn_from_irq(irq); xen_test_irq_pending() local 1519 if (VALID_EVTCHN(evtchn)) xen_test_irq_pending() 1520 ret = test_evtchn(evtchn); xen_test_irq_pending() 1529 evtchn_port_t evtchn = evtchn_from_irq(irq); xen_poll_irq_timeout() local 1531 if (VALID_EVTCHN(evtchn)) { xen_poll_irq_timeout() 1536 set_xen_guest_handle(poll.ports, &evtchn); xen_poll_irq_timeout() 1578 info->evtchn = 0; /* zap event-channel binding */ xen_irq_resume() 162 xen_irq_info_common_setup(struct irq_info *info, unsigned irq, enum xen_irq_type type, unsigned evtchn, unsigned short cpu) xen_irq_info_common_setup() argument 186 xen_irq_info_evtchn_setup(unsigned irq, unsigned evtchn) xen_irq_info_evtchn_setup() argument 194 xen_irq_info_ipi_setup(unsigned cpu, unsigned irq, unsigned evtchn, enum ipi_vector ipi) xen_irq_info_ipi_setup() argument 208 xen_irq_info_virq_setup(unsigned cpu, unsigned irq, unsigned evtchn, unsigned virq) xen_irq_info_virq_setup() argument 222 xen_irq_info_pirq_setup(unsigned irq, unsigned evtchn, unsigned pirq, unsigned gsi, uint16_t domid, unsigned char flags) xen_irq_info_pirq_setup() argument
|
H A D | events_internal.h | 38 unsigned int evtchn; /* event channel */ member in struct:irq_info 79 int get_evtchn_to_irq(unsigned int evtchn); 83 unsigned cpu_from_evtchn(unsigned int evtchn);
|
H A D | events_2l.c | 38 /* Find the first set bit in a evtchn mask */ 51 clear_bit(info->evtchn, BM(per_cpu(cpu_evtchn_mask, info->cpu))); evtchn_2l_bind_to_cpu() 52 set_bit(info->evtchn, BM(per_cpu(cpu_evtchn_mask, cpu))); evtchn_2l_bind_to_cpu() 175 unsigned int evtchn = evtchn_from_irq(irq); evtchn_2l_handle_events() local 176 word_idx = evtchn / BITS_PER_LONG; evtchn_2l_handle_events() 177 bit_idx = evtchn % BITS_PER_LONG; evtchn_2l_handle_events()
|
H A D | events_fifo.c | 143 unsigned port = info->evtchn; evtchn_fifo_setup()
|
/linux-4.4.14/drivers/xen/ |
H A D | evtchn.c | 2 * evtchn.c 57 #include <xen/evtchn.h> 65 /* Notification ring, accessed via /dev/xen/evtchn. */ 114 static int add_evtchn(struct per_user_data *u, struct user_evtchn *evtchn) add_evtchn() argument 126 if (this->port < evtchn->port) add_evtchn() 128 else if (this->port > evtchn->port) add_evtchn() 135 rb_link_node(&evtchn->node, parent, new); add_evtchn() 136 rb_insert_color(&evtchn->node, &u->evtchns); add_evtchn() 141 static void del_evtchn(struct per_user_data *u, struct user_evtchn *evtchn) del_evtchn() argument 144 rb_erase(&evtchn->node, &u->evtchns); del_evtchn() 145 kfree(evtchn); del_evtchn() 153 struct user_evtchn *evtchn; find_evtchn() local 155 evtchn = container_of(node, struct user_evtchn, node); find_evtchn() 157 if (evtchn->port < port) find_evtchn() 159 else if (evtchn->port > port) find_evtchn() 162 return evtchn; find_evtchn() 169 struct user_evtchn *evtchn = data; evtchn_interrupt() local 170 struct per_user_data *u = evtchn->user; evtchn_interrupt() 172 WARN(!evtchn->enabled, evtchn_interrupt() 174 evtchn->port, u); evtchn_interrupt() 177 evtchn->enabled = false; evtchn_interrupt() 182 *evtchn_ring_entry(u, u->ring_prod) = evtchn->port; evtchn_interrupt() 297 struct user_evtchn *evtchn; evtchn_write() local 299 evtchn = find_evtchn(u, port); evtchn_write() 300 if (evtchn && !evtchn->enabled) { evtchn_write() 301 evtchn->enabled = true; evtchn_write() 373 struct user_evtchn *evtchn; evtchn_bind_to_user() local 386 evtchn = kzalloc(sizeof(*evtchn), GFP_KERNEL); evtchn_bind_to_user() 387 if (!evtchn) evtchn_bind_to_user() 390 evtchn->user = u; evtchn_bind_to_user() 391 evtchn->port = port; evtchn_bind_to_user() 392 evtchn->enabled = true; /* start enabled */ evtchn_bind_to_user() 394 rc = add_evtchn(u, evtchn); evtchn_bind_to_user() 403 u->name, evtchn); evtchn_bind_to_user() 415 del_evtchn(u, evtchn); evtchn_bind_to_user() 420 struct user_evtchn *evtchn) evtchn_unbind_from_user() 422 int irq = irq_from_evtchn(evtchn->port); evtchn_unbind_from_user() 426 unbind_from_irqhandler(irq, evtchn); evtchn_unbind_from_user() 428 del_evtchn(u, evtchn); evtchn_unbind_from_user() 507 struct user_evtchn *evtchn; evtchn_ioctl() local 518 evtchn = find_evtchn(u, unbind.port); evtchn_ioctl() 519 if (!evtchn) evtchn_ioctl() 523 evtchn_unbind_from_user(u, evtchn); evtchn_ioctl() 530 struct user_evtchn *evtchn; evtchn_ioctl() local 537 evtchn = find_evtchn(u, notify.port); evtchn_ioctl() 538 if (evtchn) { evtchn_ioctl() 592 u->name = kasprintf(GFP_KERNEL, "evtchn:%s", current->comm); evtchn_open() 615 struct user_evtchn *evtchn; evtchn_release() local 617 evtchn = rb_entry(node, struct user_evtchn, node); evtchn_release() 618 disable_irq(irq_from_evtchn(evtchn->port)); evtchn_release() 619 evtchn_unbind_from_user(u, evtchn); evtchn_release() 643 .name = "xen/evtchn", 653 /* Create '/dev/xen/evtchn'. */ evtchn_init() 656 pr_err("Could not register /dev/xen/evtchn\n"); evtchn_init() 419 evtchn_unbind_from_user(struct per_user_data *u, struct user_evtchn *evtchn) evtchn_unbind_from_user() argument
|
H A D | Makefile | 21 obj-$(CONFIG_XEN_DEV_EVTCHN) += xen-evtchn.o 39 xen-evtchn-y := evtchn.o
|
H A D | platform-pci.c | 151 dev_warn(&pdev->dev, "Unable to set the evtchn callback " platform_pci_init()
|
H A D | xen-scsiback.c | 796 evtchn_port_t evtchn) scsiback_init_sring() 812 err = bind_interdomain_evtchn_to_irq(info->domid, evtchn); scsiback_init_sring() 837 unsigned int ring_ref, evtchn; scsiback_map() local 842 "event-channel", "%u", &evtchn, NULL); scsiback_map() 848 return scsiback_init_sring(info, ring_ref, evtchn); scsiback_map() 795 scsiback_init_sring(struct vscsibk_info *info, grant_ref_t ring_ref, evtchn_port_t evtchn) scsiback_init_sring() argument
|
/linux-4.4.14/include/xen/ |
H A D | events.h | 15 int bind_evtchn_to_irq(unsigned int evtchn); 16 int bind_evtchn_to_irqhandler(unsigned int evtchn, 53 * Allow extra references to event channels exposed to userspace by evtchn 55 int evtchn_make_refcounted(unsigned int evtchn); 56 int evtchn_get(unsigned int evtchn); 57 void evtchn_put(unsigned int evtchn); 60 void rebind_evtchn_irq(int evtchn, int irq); 86 unsigned irq_from_evtchn(unsigned int evtchn); 90 /* Xen HVM evtchn vector callback */
|
H A D | xenbus_dev.h | 2 * evtchn.h
|
/linux-4.4.14/drivers/tty/hvc/ |
H A D | hvc_xen.c | 51 unsigned int evtchn; member in struct:xencons_info 87 /* Use evtchn: this is called early, before irq is set up. */ notify_daemon() 88 notify_remote_via_evtchn(cons->evtchn); notify_daemon() 220 * default value is 0. Even though gfn = 0 and evtchn = 0 are xen_hvm_console_init() 227 info->evtchn = v; xen_hvm_console_init() 255 if (!xen_start_info->console.domU.evtchn) xen_pv_console_init() 267 info->evtchn = xen_start_info->console.domU.evtchn; xen_pv_console_init() 311 info->evtchn = v; xen_console_update_evtchn() 313 info->evtchn = xen_start_info->console.domU.evtchn; xen_console_update_evtchn() 322 rebind_evtchn_irq(info->evtchn, info->irq); xen_console_resume() 331 if (info->evtchn > 0) xencons_disconnect_backend() 332 xenbus_free_evtchn(info->xbdev, info->evtchn); xencons_disconnect_backend() 333 info->evtchn = 0; xencons_disconnect_backend() 375 int ret, evtchn, devid, ref, irq; xencons_connect_backend() local 379 ret = xenbus_alloc_evtchn(dev, &evtchn); xencons_connect_backend() 382 info->evtchn = evtchn; xencons_connect_backend() 383 irq = bind_evtchn_to_irq(evtchn); xencons_connect_backend() 412 evtchn); xencons_connect_backend() 547 info->irq = bind_evtchn_to_irq(info->evtchn); xen_hvc_init()
|
/linux-4.4.14/include/uapi/xen/ |
H A D | evtchn.h | 2 * evtchn.h 4 * Interface to /dev/xen/evtchn.
|
/linux-4.4.14/drivers/char/tpm/ |
H A D | xen-tpmfront.c | 28 unsigned int evtchn; member in struct:tpm_private 66 notify_remote_via_evtchn(priv->evtchn); vtpm_cancel() 101 notify_remote_via_evtchn(priv->evtchn); vtpm_send() 210 rv = xenbus_alloc_evtchn(dev, &priv->evtchn); setup_ring() 214 rv = bind_evtchn_to_irqhandler(priv->evtchn, tpmif_interrupt, 0, setup_ring() 237 priv->evtchn); setup_ring()
|
/linux-4.4.14/drivers/input/misc/ |
H A D | xen-kbdfront.c | 237 int ret, evtchn; xenkbd_connect_backend() local 246 ret = xenbus_alloc_evtchn(dev, &evtchn); xenkbd_connect_backend() 249 ret = bind_evtchn_to_irqhandler(evtchn, input_handler, xenkbd_connect_backend() 271 evtchn); xenkbd_connect_backend() 292 xenbus_free_evtchn(dev, evtchn); xenkbd_connect_backend()
|
/linux-4.4.14/drivers/block/xen-blkback/ |
H A D | xenbus.c | 161 unsigned int nr_grefs, unsigned int evtchn) xen_blkif_map() 203 err = bind_interdomain_evtchn_to_irqhandler(blkif->domid, evtchn, xen_blkif_map() 833 unsigned int evtchn, nr_grefs, ring_page_order; connect_ring() local 842 &evtchn); connect_ring() 849 pr_info("event-channel %u\n", evtchn); connect_ring() 919 nr_grefs, evtchn, be->blkif->blk_protocol, protocol, connect_ring() 941 err = xen_blkif_map(be->blkif, ring_ref, nr_grefs, evtchn); connect_ring() 943 xenbus_dev_fatal(dev, err, "mapping ring-ref port %u", evtchn); connect_ring() 160 xen_blkif_map(struct xen_blkif *blkif, grant_ref_t *gref, unsigned int nr_grefs, unsigned int evtchn) xen_blkif_map() argument
|
/linux-4.4.14/include/xen/interface/io/ |
H A D | netif.h | 86 * /local/domain/1/device/vif/0/queue-0/event-channel-tx = "<evtchn-tx0>" 87 * /local/domain/1/device/vif/0/queue-0/event-channel-rx = "<evtchn-rx0>" 91 * /local/domain/1/device/vif/0/queue-1/event-channel-tx = "<evtchn-tx1>" 92 * /local/domain/1/device/vif/0/queue-1/event-channel-rx = "<evtchn-rx1>"
|
/linux-4.4.14/drivers/pci/ |
H A D | xen-pcifront.c | 42 int evtchn; member in struct:pcifront_device 118 evtchn_port_t port = pdev->evtchn; do_pci_op() 158 * reuse same evtchn with pci_conf backend response. So re-schedule do_pci_op() 671 notify_remote_via_evtchn(pdev->evtchn); pcifront_do_aer() 749 pdev->evtchn = INVALID_EVTCHN; alloc_pdev() 772 if (pdev->evtchn != INVALID_EVTCHN) free_pdev() 773 xenbus_free_evtchn(pdev->xdev, pdev->evtchn); free_pdev() 798 err = xenbus_alloc_evtchn(pdev->xdev, &pdev->evtchn); pcifront_publish_info() 802 err = bind_evtchn_to_irqhandler(pdev->evtchn, pcifront_handler_aer, pcifront_publish_info() 823 "event-channel", "%u", pdev->evtchn); pcifront_publish_info()
|
/linux-4.4.14/drivers/video/fbdev/ |
H A D | xen-fbfront.c | 569 int ret, evtchn, irq; xenfb_connect_backend() local 572 ret = xenbus_alloc_evtchn(dev, &evtchn); xenfb_connect_backend() 575 irq = bind_evtchn_to_irqhandler(evtchn, xenfb_event_handler, xenfb_connect_backend() 578 xenbus_free_evtchn(dev, evtchn); xenfb_connect_backend() 593 evtchn); xenfb_connect_backend()
|
/linux-4.4.14/drivers/scsi/ |
H A D | xen-scsifront.c | 106 unsigned int evtchn; member in struct:vscsifrnt_info 739 err = xenbus_alloc_evtchn(dev, &info->evtchn); scsifront_alloc_ring() 745 err = bind_evtchn_to_irq(info->evtchn); scsifront_alloc_ring() 790 pr_debug("%s: %u %u\n", __func__, info->ring_ref, info->evtchn); scsifront_init_ring() 805 info->evtchn); scsifront_init_ring()
|
/linux-4.4.14/drivers/xen/xen-pciback/ |
H A D | pciback_ops.c | 302 * Now the same evtchn is used for both pcifront conf_read_write request
|
H A D | xenbus.c | 115 "Attaching to frontend resources - gnt_ref=%d evtchn=%d\n", xen_pcibk_do_attach()
|
/linux-4.4.14/drivers/block/ |
H A D | xen-blkfront.c | 139 unsigned int evtchn, irq; member in struct:blkfront_info 1182 info->evtchn = info->irq = 0; blkif_free() 1439 err = xenbus_alloc_evtchn(dev, &info->evtchn); setup_blkring() 1443 err = bind_evtchn_to_irqhandler(info->evtchn, blkif_interrupt, 0, setup_blkring() 1518 "event-channel", "%u", info->evtchn); talk_to_blkback()
|
/linux-4.4.14/include/xen/interface/ |
H A D | xen.h | 629 uint32_t evtchn; /* Event channel for console page. */ member in struct:start_info::__anon14755::__anon14756
|
/linux-4.4.14/arch/x86/xen/ |
H A D | enlighten.c | 1701 xen_start_info->console.domU.evtchn = 0; xen_start_kernel()
|