Xen Test Framework
include
xen
event_channel.h
Go to the documentation of this file.
1
#ifndef XEN_PUBLIC_EVENT_CHANNEL_H
2
#define XEN_PUBLIC_EVENT_CHANNEL_H
3
4
#include <
xen/xen.h
>
5
6
#define EVTCHNOP_close 3
7
#define EVTCHNOP_send 4
8
#define EVTCHNOP_status 5
9
#define EVTCHNOP_alloc_unbound 6
10
#define EVTCHNOP_init_control 11
11
#define EVTCHNOP_expand_array 12
12
13
typedef
uint32_t
evtchn_port_t
;
14
15
struct
evtchn_status
{
16
/* IN parameters */
17
domid_t
dom
;
18
uint16_t
_pad0
;
19
evtchn_port_t
port
;
20
/* OUT parameters */
21
#define EVTCHN_STATUS_closed 0
/* Not in use */
22
#define EVTCHN_STATUS_unbound 1
/* Waiting for connection */
23
#define EVTCHN_STATUS_interdomain 2
/* Connected to remote domain */
24
#define EVTCHN_STATUS_pirq 3
/* Connected to a physical IRQ */
25
#define EVTCHN_STATUS_virq 4
/* Connected to a virtual IRQ */
26
#define EVTCHN_STATUS_ipi 5
/* Connected to a virtual IPI */
27
uint32_t
status
;
28
uint32_t
vcpu
;
29
union
{
30
struct
{
31
domid_t
dom
;
32
}
unbound
;
/* EVTCHN_STATUS_unbound */
33
struct
{
34
domid_t
dom
;
35
evtchn_port_t
port
;
36
}
interdomain
;
/* EVTCHN_STATUS_interdomain */
37
uint32_t
pirq
;
/* EVTCHN_STATUS_pirq */
38
uint32_t
virq
;
/* EVTCHN_STATUS_virq */
39
};
40
};
41
42
struct
evtchn_alloc_unbound
{
43
/* IN parameters. */
44
domid_t
dom
,
remote_dom
;
45
/* OUT parameters. */
46
evtchn_port_t
port
;
47
};
48
49
struct
evtchn_init_control
{
50
/* IN parameters. */
51
uint64_t
control_gfn
;
52
uint32_t
offset
;
53
uint32_t
vcpu
;
54
/* OUT parameters. */
55
uint8_t
link_bits
;
56
uint8_t
_pad
[7];
57
};
58
59
struct
evtchn_expand_array
{
60
/* IN parameters. */
61
uint64_t
array_gfn
;
62
};
63
64
#endif
/* XEN_PUBLIC_EVENT_CHANNEL_H */
65
66
/*
67
* Local variables:
68
* mode: C
69
* c-file-style: "BSD"
70
* c-basic-offset: 4
71
* tab-width: 4
72
* indent-tabs-mode: nil
73
* End:
74
*/
evtchn_port_t
uint32_t evtchn_port_t
Definition:
event_channel.h:13
uint32_t
__UINT32_TYPE__ uint32_t
Definition:
stdint.h:16
uint64_t
__UINT64_TYPE__ uint64_t
Definition:
stdint.h:17
uint8_t
__UINT8_TYPE__ uint8_t
Definition:
stdint.h:14
uint16_t
__UINT16_TYPE__ uint16_t
Definition:
stdint.h:15
evtchn_alloc_unbound
Definition:
event_channel.h:42
evtchn_alloc_unbound::port
evtchn_port_t port
Definition:
event_channel.h:46
evtchn_alloc_unbound::dom
domid_t dom
Definition:
event_channel.h:44
evtchn_alloc_unbound::remote_dom
domid_t remote_dom
Definition:
event_channel.h:44
evtchn_expand_array
Definition:
event_channel.h:59
evtchn_expand_array::array_gfn
uint64_t array_gfn
Definition:
event_channel.h:61
evtchn_init_control
Definition:
event_channel.h:49
evtchn_init_control::vcpu
uint32_t vcpu
Definition:
event_channel.h:53
evtchn_init_control::offset
uint32_t offset
Definition:
event_channel.h:52
evtchn_init_control::_pad
uint8_t _pad[7]
Definition:
event_channel.h:56
evtchn_init_control::control_gfn
uint64_t control_gfn
Definition:
event_channel.h:51
evtchn_init_control::link_bits
uint8_t link_bits
Definition:
event_channel.h:55
evtchn_status
Definition:
event_channel.h:15
evtchn_status::pirq
uint32_t pirq
Definition:
event_channel.h:37
evtchn_status::port
evtchn_port_t port
Definition:
event_channel.h:19
evtchn_status::interdomain
struct evtchn_status::@41::@44 interdomain
evtchn_status::vcpu
uint32_t vcpu
Definition:
event_channel.h:28
evtchn_status::virq
uint32_t virq
Definition:
event_channel.h:38
evtchn_status::_pad0
uint16_t _pad0
Definition:
event_channel.h:18
evtchn_status::dom
domid_t dom
Definition:
event_channel.h:17
evtchn_status::status
uint32_t status
Definition:
event_channel.h:27
evtchn_status::unbound
struct evtchn_status::@41::@43 unbound
xen.h
domid_t
uint16_t domid_t
Definition:
xen.h:66
Generated by
1.9.4