xref: /openbmc/qemu/hw/i386/kvm/xen_evtchn.h (revision 84327881)
1 /*
2  * QEMU Xen emulation: Event channel support
3  *
4  * Copyright © 2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.
5  *
6  * Authors: David Woodhouse <dwmw2@infradead.org>
7  *
8  * This work is licensed under the terms of the GNU GPL, version 2 or later.
9  * See the COPYING file in the top-level directory.
10  */
11 
12 #ifndef QEMU_XEN_EVTCHN_H
13 #define QEMU_XEN_EVTCHN_H
14 
15 void xen_evtchn_create(void);
16 int xen_evtchn_set_callback_param(uint64_t param);
17 
18 struct evtchn_status;
19 struct evtchn_close;
20 struct evtchn_unmask;
21 struct evtchn_bind_virq;
22 struct evtchn_bind_ipi;
23 struct evtchn_send;
24 struct evtchn_alloc_unbound;
25 struct evtchn_bind_interdomain;
26 int xen_evtchn_status_op(struct evtchn_status *status);
27 int xen_evtchn_close_op(struct evtchn_close *close);
28 int xen_evtchn_unmask_op(struct evtchn_unmask *unmask);
29 int xen_evtchn_bind_virq_op(struct evtchn_bind_virq *virq);
30 int xen_evtchn_bind_ipi_op(struct evtchn_bind_ipi *ipi);
31 int xen_evtchn_send_op(struct evtchn_send *send);
32 int xen_evtchn_alloc_unbound_op(struct evtchn_alloc_unbound *alloc);
33 int xen_evtchn_bind_interdomain_op(struct evtchn_bind_interdomain *interdomain);
34 
35 #endif /* QEMU_XEN_EVTCHN_H */
36