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