Searched refs:evtchn (Results 1 - 24 of 24) sorted by relevance

/linux-4.4.14/drivers/xen/events/
H A Devents_base.c119 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 Devents_internal.h38 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 Devents_2l.c38 /* 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 Devents_fifo.c143 unsigned port = info->evtchn; evtchn_fifo_setup()
/linux-4.4.14/drivers/xen/
H A Devtchn.c2 * 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 DMakefile21 obj-$(CONFIG_XEN_DEV_EVTCHN) += xen-evtchn.o
39 xen-evtchn-y := evtchn.o
H A Dplatform-pci.c151 dev_warn(&pdev->dev, "Unable to set the evtchn callback " platform_pci_init()
H A Dxen-scsiback.c796 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 Devents.h15 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 Dxenbus_dev.h2 * evtchn.h
/linux-4.4.14/drivers/tty/hvc/
H A Dhvc_xen.c51 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 Devtchn.h2 * evtchn.h
4 * Interface to /dev/xen/evtchn.
/linux-4.4.14/drivers/char/tpm/
H A Dxen-tpmfront.c28 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 Dxen-kbdfront.c237 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 Dxenbus.c161 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 Dnetif.h86 * /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 Dxen-pcifront.c42 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 Dxen-fbfront.c569 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 Dxen-scsifront.c106 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 Dpciback_ops.c302 * Now the same evtchn is used for both pcifront conf_read_write request
H A Dxenbus.c115 "Attaching to frontend resources - gnt_ref=%d evtchn=%d\n", xen_pcibk_do_attach()
/linux-4.4.14/drivers/block/
H A Dxen-blkfront.c139 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 Dxen.h629 uint32_t evtchn; /* Event channel for console page. */ member in struct:start_info::__anon14755::__anon14756
/linux-4.4.14/arch/x86/xen/
H A Denlighten.c1701 xen_start_info->console.domU.evtchn = 0; xen_start_kernel()

Completed in 732 milliseconds