]>
Commit | Line | Data |
---|---|---|
673fd82c OA |
1 | /* SPDX-License-Identifier: GPL-2.0 |
2 | * | |
3 | * (C) 2003 - Rolf Neugebauer - Intel Research Cambridge | |
4 | * (C) 2005 - Grzegorz Milos - Intel Reseach Cambridge | |
5 | * (C) 2020 - EPAM Systems Inc. | |
6 | * | |
7 | * File: events.h | |
8 | * Author: Rolf Neugebauer ([email protected]) | |
9 | * Changes: Grzegorz Milos ([email protected]) | |
10 | * | |
11 | * Date: Jul 2003, changes Jun 2005 | |
12 | * | |
13 | * Description: Deals with events on the event channels | |
14 | */ | |
15 | #ifndef _EVENTS_H_ | |
16 | #define _EVENTS_H_ | |
17 | ||
2193e160 | 18 | #include <asm/ptrace.h> |
673fd82c OA |
19 | #include <asm/xen/hypercall.h> |
20 | #include <xen/interface/event_channel.h> | |
21 | ||
22 | void init_events(void); | |
23 | void fini_events(void); | |
24 | ||
25 | int do_event(evtchn_port_t port, struct pt_regs *regs); | |
26 | void unbind_evtchn(evtchn_port_t port); | |
27 | void unbind_all_ports(void); | |
28 | int evtchn_alloc_unbound(domid_t pal, | |
29 | void (*handler)(evtchn_port_t, struct pt_regs *, void *), | |
30 | void *data, evtchn_port_t *port); | |
31 | ||
32 | /* Send notification via event channel */ | |
33 | static inline int notify_remote_via_evtchn(evtchn_port_t port) | |
34 | { | |
35 | struct evtchn_send op; | |
36 | ||
37 | op.port = port; | |
38 | return HYPERVISOR_event_channel_op(EVTCHNOP_send, &op); | |
39 | } | |
40 | ||
41 | void eventchn_poll(void); | |
42 | ||
43 | #endif /* _EVENTS_H_ */ |