aboutsummaryrefslogtreecommitdiffstats
path: root/include/xen/events.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/xen/events.h')
-rw-r--r--include/xen/events.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/include/xen/events.h b/include/xen/events.h
index a15d93262e30..c1717ca5ac13 100644
--- a/include/xen/events.h
+++ b/include/xen/events.h
@@ -53,6 +53,10 @@ bool xen_test_irq_pending(int irq);
53 irq will be disabled so it won't deliver an interrupt. */ 53 irq will be disabled so it won't deliver an interrupt. */
54void xen_poll_irq(int irq); 54void xen_poll_irq(int irq);
55 55
56/* Poll waiting for an irq to become pending with a timeout. In the usual case,
57 * the irq will be disabled so it won't deliver an interrupt. */
58void xen_poll_irq_timeout(int irq, u64 timeout);
59
56/* Determine the IRQ which is bound to an event channel */ 60/* Determine the IRQ which is bound to an event channel */
57unsigned irq_from_evtchn(unsigned int evtchn); 61unsigned irq_from_evtchn(unsigned int evtchn);
58 62
@@ -63,4 +67,18 @@ int xen_set_callback_via(uint64_t via);
63void xen_evtchn_do_upcall(struct pt_regs *regs); 67void xen_evtchn_do_upcall(struct pt_regs *regs);
64void xen_hvm_evtchn_do_upcall(void); 68void xen_hvm_evtchn_do_upcall(void);
65 69
70/* Allocate an irq for a physical interrupt, given a gsi. "Legacy"
71 * GSIs are identity mapped; others are dynamically allocated as
72 * usual. */
73int xen_allocate_pirq(unsigned gsi, int shareable, char *name);
74
75/* De-allocates the above mentioned physical interrupt. */
76int xen_destroy_irq(int irq);
77
78/* Return vector allocated to pirq */
79int xen_vector_from_irq(unsigned pirq);
80
81/* Return gsi allocated to pirq */
82int xen_gsi_from_irq(unsigned pirq);
83
66#endif /* _XEN_EVENTS_H */ 84#endif /* _XEN_EVENTS_H */