xref: /qemu/hw/i386/kvm/xen_evtchn.h (revision 306670461bb19e7af42b3d68d007d7690efd2334)
191cce756SDavid Woodhouse /*
291cce756SDavid Woodhouse  * QEMU Xen emulation: Event channel support
391cce756SDavid Woodhouse  *
491cce756SDavid Woodhouse  * Copyright © 2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.
591cce756SDavid Woodhouse  *
691cce756SDavid Woodhouse  * Authors: David Woodhouse <dwmw2@infradead.org>
791cce756SDavid Woodhouse  *
891cce756SDavid Woodhouse  * This work is licensed under the terms of the GNU GPL, version 2 or later.
991cce756SDavid Woodhouse  * See the COPYING file in the top-level directory.
1091cce756SDavid Woodhouse  */
1191cce756SDavid Woodhouse 
1291cce756SDavid Woodhouse #ifndef QEMU_XEN_EVTCHN_H
1391cce756SDavid Woodhouse #define QEMU_XEN_EVTCHN_H
1491cce756SDavid Woodhouse 
1591cce756SDavid Woodhouse void xen_evtchn_create(void);
1691cce756SDavid Woodhouse int xen_evtchn_set_callback_param(uint64_t param);
1791cce756SDavid Woodhouse 
184858ba20SDavid Woodhouse struct evtchn_status;
1983eb5811SDavid Woodhouse struct evtchn_close;
20190cc3c0SDavid Woodhouse struct evtchn_unmask;
21c723d4c1SDavid Woodhouse struct evtchn_bind_virq;
22f5417856SDavid Woodhouse struct evtchn_bind_ipi;
23cf7679abSDavid Woodhouse struct evtchn_send;
24e1db61b8SDavid Woodhouse struct evtchn_alloc_unbound;
2584327881SDavid Woodhouse struct evtchn_bind_interdomain;
26*30667046SDavid Woodhouse struct evtchn_bind_vcpu;
274858ba20SDavid Woodhouse int xen_evtchn_status_op(struct evtchn_status *status);
2883eb5811SDavid Woodhouse int xen_evtchn_close_op(struct evtchn_close *close);
29190cc3c0SDavid Woodhouse int xen_evtchn_unmask_op(struct evtchn_unmask *unmask);
30c723d4c1SDavid Woodhouse int xen_evtchn_bind_virq_op(struct evtchn_bind_virq *virq);
31f5417856SDavid Woodhouse int xen_evtchn_bind_ipi_op(struct evtchn_bind_ipi *ipi);
32cf7679abSDavid Woodhouse int xen_evtchn_send_op(struct evtchn_send *send);
33e1db61b8SDavid Woodhouse int xen_evtchn_alloc_unbound_op(struct evtchn_alloc_unbound *alloc);
3484327881SDavid Woodhouse int xen_evtchn_bind_interdomain_op(struct evtchn_bind_interdomain *interdomain);
35*30667046SDavid Woodhouse int xen_evtchn_bind_vcpu_op(struct evtchn_bind_vcpu *vcpu);
364858ba20SDavid Woodhouse 
3791cce756SDavid Woodhouse #endif /* QEMU_XEN_EVTCHN_H */
38