L4Re - L4 Runtime Environment
ktrace_events.h
1 /* Note, automatically generated from Fiasco binary */
2 #pragma once
3 
4 enum L4_ktrace_tbuf_entry_fixed
5 {
6  l4_ktrace_tbuf_unused = 0,
7  l4_ktrace_tbuf_pf = 1,
8  l4_ktrace_tbuf_ipc = 2,
9  l4_ktrace_tbuf_ipc_res = 3,
10  l4_ktrace_tbuf_ipc_trace = 4,
11  l4_ktrace_tbuf_ke = 5,
12  l4_ktrace_tbuf_ke_reg = 6,
13  l4_ktrace_tbuf_breakpoint = 7,
14  l4_ktrace_tbuf_ke_bin = 8,
15  l4_ktrace_tbuf_dynentries = 9,
16  l4_ktrace_tbuf_max = 128,
17  l4_ktrace_tbuf_hidden = 128,
18 };
19 
20 typedef unsigned long L4_ktrace_t__Address;
21 typedef unsigned long L4_ktrace_t__Cap_index;
22 typedef void L4_ktrace_t__Context;
23 typedef void L4_ktrace_t__Context__Drq;
24 typedef unsigned L4_ktrace_t__Context__Drq_log__Type;
25 typedef unsigned L4_ktrace_t__Cpu_number;
26 typedef void L4_ktrace_t__Irq_base;
27 typedef void L4_ktrace_t__Irq_chip;
28 typedef void L4_ktrace_t__Kobject;
29 typedef unsigned long L4_ktrace_t__L4_error;
30 typedef unsigned long L4_ktrace_t__L4_msg_tag;
31 typedef unsigned long L4_ktrace_t__L4_obj_ref;
32 typedef unsigned L4_ktrace_t__L4_timeout_pair;
33 typedef unsigned long L4_ktrace_t__Mword;
34 typedef void L4_ktrace_t__Rcu_item;
35 typedef void L4_ktrace_t__Sched_context;
36 typedef long L4_ktrace_t__Smword;
37 typedef void L4_ktrace_t__Space;
38 typedef unsigned short L4_ktrace_t__Unsigned16;
39 typedef unsigned int L4_ktrace_t__Unsigned32;
40 typedef unsigned long long L4_ktrace_t__Unsigned64;
41 typedef unsigned char L4_ktrace_t__Unsigned8;
42 typedef void L4_ktrace_t__cxx__Type_info;
43 
44 typedef struct __attribute__((packed))
45 {
46  L4_ktrace_t__Mword _number; /* 0+8 */
47  L4_ktrace_t__Address _ip; /* 8+8 */
48  L4_ktrace_t__Unsigned64 _tsc; /* 16+8 */
49  L4_ktrace_t__Context *_ctx; /* 24+8 */
50  L4_ktrace_t__Unsigned32 _pmc1; /* 32+4 */
51  L4_ktrace_t__Unsigned32 _pmc2; /* 36+4 */
52  L4_ktrace_t__Unsigned32 _kclock; /* 40+4 */
53  L4_ktrace_t__Unsigned8 _type; /* 44+1 */
54  L4_ktrace_t__Unsigned8 _cpu; /* 45+1 */
55  union __attribute__((__packed__))
56  {
57  struct __attribute__((__packed__))
58  {
59  char __pre_pad[2];
60  void *func; /* 48+8 */
61  L4_ktrace_t__Context *thread; /* 56+8 */
62  L4_ktrace_t__Context__Drq *rq; /* 64+8 */
63  L4_ktrace_t__Cpu_number target_cpu; /* 72+4 */
64  L4_ktrace_t__Context__Drq_log__Type type; /* 76+4 */
65  char wait; /* 80+1 */
66  } drq; /* 88 */
67  struct __attribute__((__packed__))
68  {
69  char __pre_pad[2];
70  L4_ktrace_t__Mword state; /* 48+8 */
71  L4_ktrace_t__Mword ip; /* 56+8 */
72  L4_ktrace_t__Mword sp; /* 64+8 */
73  L4_ktrace_t__Mword space; /* 72+8 */
74  L4_ktrace_t__Mword err; /* 80+8 */
75  unsigned char type; /* 88+1 */
76  unsigned char trap; /* 89+1 */
77  } vcpu; /* 96 */
78  struct __attribute__((__packed__))
79  {
80  char __pre_pad[2];
81  L4_ktrace_t__Smword op; /* 48+8 */
82  L4_ktrace_t__Cap_index buffer; /* 56+8 */
83  L4_ktrace_t__Mword id; /* 64+8 */
84  L4_ktrace_t__Mword ram; /* 72+8 */
85  L4_ktrace_t__Mword newo; /* 80+8 */
86  } factory; /* 88 */
87  struct __attribute__((__packed__))
88  {
89  char __pre_pad[2];
90  L4_ktrace_t__Mword gate_dbg_id; /* 48+8 */
91  L4_ktrace_t__Mword thread_dbg_id; /* 56+8 */
92  L4_ktrace_t__Mword label; /* 64+8 */
93  } gate; /* 72 */
94  struct __attribute__((__packed__))
95  {
96  char __pre_pad[2];
97  L4_ktrace_t__Irq_base *obj; /* 48+8 */
98  L4_ktrace_t__Irq_chip *chip; /* 56+8 */
99  L4_ktrace_t__Mword pin; /* 64+8 */
100  } irq; /* 72 */
101  struct __attribute__((__packed__))
102  {
103  char __pre_pad[2];
104  L4_ktrace_t__Kobject *obj; /* 48+8 */
105  L4_ktrace_t__Mword id; /* 56+8 */
106  L4_ktrace_t__cxx__Type_info *type; /* 64+8 */
107  L4_ktrace_t__Mword ram; /* 72+8 */
108  } destroy; /* 80 */
109  struct __attribute__((__packed__))
110  {
111  char __pre_pad[2];
112  L4_ktrace_t__Cpu_number cpu; /* 48+4 */
113  char __pad_1[4];
114  L4_ktrace_t__Rcu_item *item; /* 56+8 */
115  void *cb; /* 64+8 */
116  unsigned char event; /* 72+1 */
117  } rcu; /* 80 */
118  struct __attribute__((__packed__))
119  {
120  char __pre_pad[2];
121  L4_ktrace_t__Mword id; /* 48+8 */
122  L4_ktrace_t__Mword mask; /* 56+8 */
123  L4_ktrace_t__Mword fpage; /* 64+8 */
124  } tunmap; /* 72 */
125  struct __attribute__((__packed__))
126  {
127  char __pre_pad[2];
128  L4_ktrace_t__Address _address; /* 48+8 */
129  int _len; /* 56+4 */
130  char __pad_1[4];
131  L4_ktrace_t__Mword _value; /* 64+8 */
132  int _mode; /* 72+4 */
133  } bp; /* 80 */
134  struct __attribute__((__packed__))
135  {
136  char __pre_pad[2];
137  L4_ktrace_t__Context *dst; /* 48+8 */
138  L4_ktrace_t__Context *dst_orig; /* 56+8 */
139  L4_ktrace_t__Address kernel_ip; /* 64+8 */
140  L4_ktrace_t__Mword lock_cnt; /* 72+8 */
141  L4_ktrace_t__Space *from_space; /* 80+8 */
142  L4_ktrace_t__Sched_context *from_sched; /* 88+8 */
143  L4_ktrace_t__Mword from_prio; /* 96+8 */
144  } context_switch; /* 104 */
145  struct __attribute__((__packed__))
146  {
147  } generic; /* 48 */
148  struct __attribute__((__packed__))
149  {
150  char __pre_pad[2];
151  L4_ktrace_t__L4_msg_tag _tag; /* 48+8 */
152  unsigned long _dword[2]; /* 56+16 */
153  L4_ktrace_t__L4_obj_ref _dst; /* 72+8 */
154  L4_ktrace_t__Mword _dbg_id; /* 80+8 */
155  L4_ktrace_t__Mword _label; /* 88+8 */
156  L4_ktrace_t__L4_timeout_pair _timeout; /* 96+4 */
157  } ipc; /* 104 */
158  struct __attribute__((__packed__))
159  {
160  char __pre_pad[2];
161  L4_ktrace_t__L4_msg_tag _tag; /* 48+8 */
162  unsigned long _dword[2]; /* 56+16 */
163  L4_ktrace_t__L4_error _result; /* 72+8 */
164  L4_ktrace_t__Mword _from; /* 80+8 */
165  L4_ktrace_t__Mword _pair_event; /* 88+8 */
166  L4_ktrace_t__Unsigned8 _have_snd; /* 96+1 */
167  L4_ktrace_t__Unsigned8 _is_np; /* 97+1 */
168  } ipc_res; /* 104 */
169  struct __attribute__((__packed__))
170  {
171  char __pre_pad[2];
172  L4_ktrace_t__Unsigned64 _snd_tsc; /* 48+8 */
173  L4_ktrace_t__L4_msg_tag _result; /* 56+8 */
174  L4_ktrace_t__L4_obj_ref _snd_dst; /* 64+8 */
175  L4_ktrace_t__Mword _rcv_dst; /* 72+8 */
176  L4_ktrace_t__Unsigned8 _snd_desc; /* 80+1 */
177  L4_ktrace_t__Unsigned8 _rcv_desc; /* 81+1 */
178  } ipc_trace; /* 88 */
179  struct __attribute__((__packed__))
180  {
181  char __pre_pad[2];
182  union __attribute__((__packed__)) {
183  char msg[80]; /* 0+80 */
184  struct __attribute__((__packed__)) {
185  char tag[2]; /* 0+2 */
186  char __pad_1[6];
187  char *ptr; /* 8+8 */
188  } mptr; /* 0+16 */
189  } _msg; /* 48+80 */
190  } ke; /* 128 */
191  struct __attribute__((__packed__))
192  {
193  char _msg[80]; /* 46+80 */
194  } ke_bin; /* 128 */
195  struct __attribute__((__packed__))
196  {
197  char __pre_pad[2];
198  unsigned long v[3]; /* 48+24 */
199  union __attribute__((__packed__)) {
200  char msg[56]; /* 0+56 */
201  struct __attribute__((__packed__)) {
202  char tag[2]; /* 0+2 */
203  char __pad_1[6];
204  char *ptr; /* 8+8 */
205  } mptr; /* 0+16 */
206  } _msg; /* 72+56 */
207  } ke_reg; /* 128 */
208  struct __attribute__((__packed__))
209  {
210  char __pre_pad[2];
211  L4_ktrace_t__Address _pfa; /* 48+8 */
212  L4_ktrace_t__Mword _error; /* 56+8 */
213  L4_ktrace_t__Space *_space; /* 64+8 */
214  } pf; /* 72 */
215  struct __attribute__((__packed__))
216  {
217  unsigned short mode; /* 46+2 */
218  L4_ktrace_t__Context *owner; /* 48+8 */
219  unsigned short id; /* 56+2 */
220  unsigned short prio; /* 58+2 */
221  long left; /* 60+8 */
222  unsigned long quantum; /* 68+8 */
223  } sched; /* 80 */
224  struct __attribute__((__packed__))
225  {
226  char _trapno; /* 46+1 */
227  L4_ktrace_t__Unsigned16 _error; /* 47+2 */
228  L4_ktrace_t__Mword _rbp; /* 49+8 */
229  L4_ktrace_t__Mword _cr2; /* 57+8 */
230  L4_ktrace_t__Mword _rax; /* 65+8 */
231  L4_ktrace_t__Mword _rflags; /* 73+8 */
232  L4_ktrace_t__Mword _rsp; /* 81+8 */
233  L4_ktrace_t__Unsigned16 _cs; /* 89+2 */
234  L4_ktrace_t__Unsigned16 _ds; /* 91+2 */
235  } trap; /* 96 */
236  struct __attribute__((__packed__))
237  {
238  char _padding[80]; /* 46+80 */
239  char __post_pad[2]; /* 126+2 */
240  } fullsize; /* 128 */
241  struct __attribute__((__packed__))
242  {
243  char __pre_pad[2];
244  L4_ktrace_t__Cap_index cap_idx; /* 48+8 */
245  } invexchdl; /* 56 */
246  struct __attribute__((__packed__))
247  {
248  char __pre_pad[2];
249  L4_ktrace_t__Mword pfa; /* 48+8 */
250  L4_ktrace_t__Cap_index cap_idx; /* 56+8 */
251  L4_ktrace_t__Mword err; /* 64+8 */
252  } invpfhdl; /* 72 */
253  struct __attribute__((__packed__))
254  {
255  char __pre_pad[2];
256  L4_ktrace_t__Mword id; /* 48+8 */
257  L4_ktrace_t__Mword ip; /* 56+8 */
258  L4_ktrace_t__Mword sp; /* 64+8 */
259  L4_ktrace_t__Mword op; /* 72+8 */
260  } exregs; /* 80 */
261  struct __attribute__((__packed__))
262  {
263  char __pre_pad[2];
264  L4_ktrace_t__Mword state; /* 48+8 */
265  L4_ktrace_t__Address user_ip; /* 56+8 */
266  L4_ktrace_t__Cpu_number src_cpu; /* 64+4 */
267  L4_ktrace_t__Cpu_number target_cpu; /* 68+4 */
268  } migration; /* 72 */
269  struct __attribute__((__packed__))
270  {
271  char __pre_pad[2];
272  L4_ktrace_t__Irq_base *obj; /* 48+8 */
273  L4_ktrace_t__Address user_ip; /* 56+8 */
274  } timer; /* 64 */
275  struct __attribute__((__packed__))
276  {
277  char __pre_pad[2];
278  L4_ktrace_t__Mword exitcode; /* 48+8 */
279  L4_ktrace_t__Mword exitinfo1; /* 56+8 */
280  L4_ktrace_t__Mword exitinfo2; /* 64+8 */
281  L4_ktrace_t__Mword rip; /* 72+8 */
282  } svm; /* 80 */
283  } m;
284 } l4_tracebuffer_entry_t;