L4Re Operating System Framework – Interface and Usage Documentation
Loading...
Searching...
No Matches
ktrace_events.h
1/* Note, automatically generated from Fiasco binary */
2#pragma once
3
4enum 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
20typedef unsigned long L4_ktrace_t__Address;
21typedef unsigned long L4_ktrace_t__Cap_index;
22typedef void L4_ktrace_t__Context;
23typedef void L4_ktrace_t__Context__Drq;
24typedef unsigned L4_ktrace_t__Context__Drq_log__Type;
25typedef unsigned L4_ktrace_t__Cpu_number;
26typedef void L4_ktrace_t__Irq_base;
27typedef void L4_ktrace_t__Irq_chip;
28typedef void L4_ktrace_t__Kobject;
29typedef unsigned long L4_ktrace_t__L4_error;
30typedef unsigned long L4_ktrace_t__L4_msg_tag;
31typedef unsigned long L4_ktrace_t__L4_obj_ref;
32typedef unsigned L4_ktrace_t__L4_timeout_pair;
33typedef unsigned long L4_ktrace_t__Mword;
34typedef void L4_ktrace_t__Rcu_item;
35typedef void L4_ktrace_t__Sched_context;
36typedef long L4_ktrace_t__Smword;
37typedef void L4_ktrace_t__Space;
38typedef unsigned short L4_ktrace_t__Unsigned16;
39typedef unsigned int L4_ktrace_t__Unsigned32;
40typedef unsigned long long L4_ktrace_t__Unsigned64;
41typedef unsigned char L4_ktrace_t__Unsigned8;
42typedef void L4_ktrace_t__cxx__Type_info;
43
44typedef 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 char map; /* 72+1 */
125 } tmap; /* 80 */
126 struct __attribute__((__packed__))
127 {
128 char __pre_pad[2];
129 L4_ktrace_t__Address _address; /* 48+8 */
130 int _len; /* 56+4 */
131 char __pad_1[4];
132 L4_ktrace_t__Mword _value; /* 64+8 */
133 int _mode; /* 72+4 */
134 } bp; /* 80 */
135 struct __attribute__((__packed__))
136 {
137 char __pre_pad[2];
138 L4_ktrace_t__Context *dst; /* 48+8 */
139 L4_ktrace_t__Context *dst_orig; /* 56+8 */
140 L4_ktrace_t__Address kernel_ip; /* 64+8 */
141 L4_ktrace_t__Mword lock_cnt; /* 72+8 */
142 L4_ktrace_t__Space *from_space; /* 80+8 */
143 L4_ktrace_t__Sched_context *from_sched; /* 88+8 */
144 L4_ktrace_t__Mword from_prio; /* 96+8 */
145 } context_switch; /* 104 */
146 struct __attribute__((__packed__))
147 {
148 } empty; /* 48 */
149 struct __attribute__((__packed__))
150 {
151 char __pre_pad[2];
152 L4_ktrace_t__L4_msg_tag _tag; /* 48+8 */
153 L4_ktrace_t__Mword _dword[2]; /* 56+16 */
154 L4_ktrace_t__L4_obj_ref _dst; /* 72+8 */
155 L4_ktrace_t__Mword _dbg_id; /* 80+8 */
156 L4_ktrace_t__Mword _label; /* 88+8 */
157 L4_ktrace_t__L4_timeout_pair _timeout; /* 96+4 */
158 } ipc; /* 104 */
159 struct __attribute__((__packed__))
160 {
161 char __pre_pad[2];
162 L4_ktrace_t__L4_msg_tag _tag; /* 48+8 */
163 L4_ktrace_t__Mword _dword[2]; /* 56+16 */
164 L4_ktrace_t__L4_error _result; /* 72+8 */
165 L4_ktrace_t__Mword _from; /* 80+8 */
166 L4_ktrace_t__Mword _pair_event; /* 88+8 */
167 L4_ktrace_t__Unsigned8 _have_snd; /* 96+1 */
168 L4_ktrace_t__Unsigned8 _is_np; /* 97+1 */
169 } ipc_res; /* 104 */
170 struct __attribute__((__packed__))
171 {
172 char __pre_pad[2];
173 L4_ktrace_t__Unsigned64 _snd_tsc; /* 48+8 */
174 L4_ktrace_t__L4_msg_tag _result; /* 56+8 */
175 L4_ktrace_t__L4_obj_ref _snd_dst; /* 64+8 */
176 L4_ktrace_t__Mword _rcv_dst; /* 72+8 */
177 L4_ktrace_t__Unsigned8 _snd_desc; /* 80+1 */
178 L4_ktrace_t__Unsigned8 _rcv_desc; /* 81+1 */
179 } ipc_trace; /* 88 */
180 struct __attribute__((__packed__))
181 {
182 char __pre_pad[2];
183 union __attribute__((__packed__)) {
184 char msg[80]; /* 0+80 */
185 struct __attribute__((__packed__)) {
186 char tag[2]; /* 0+2 */
187 char __pad_1[6];
188 char *ptr; /* 8+8 */
189 } mptr; /* 0+16 */
190 } msg; /* 48+80 */
191 } ke; /* 128 */
192 struct __attribute__((__packed__))
193 {
194 char _msg[80]; /* 46+80 */
195 } ke_bin; /* 128 */
196 struct __attribute__((__packed__))
197 {
198 char __pre_pad[2];
199 L4_ktrace_t__Mword v[3]; /* 48+24 */
200 union __attribute__((__packed__)) {
201 char msg[56]; /* 0+56 */
202 struct __attribute__((__packed__)) {
203 char tag[2]; /* 0+2 */
204 char __pad_1[6];
205 char *ptr; /* 8+8 */
206 } mptr; /* 0+16 */
207 } msg; /* 72+56 */
208 } ke_reg; /* 128 */
209 struct __attribute__((__packed__))
210 {
211 char __pre_pad[2];
212 L4_ktrace_t__Address _pfa; /* 48+8 */
213 L4_ktrace_t__Mword _error; /* 56+8 */
214 L4_ktrace_t__Space *_space; /* 64+8 */
215 } pf; /* 72 */
216 struct __attribute__((__packed__))
217 {
218 unsigned short mode; /* 46+2 */
219 L4_ktrace_t__Context *owner; /* 48+8 */
220 unsigned short id; /* 56+2 */
221 unsigned short prio; /* 58+2 */
222 long left; /* 60+8 */
223 unsigned long quantum; /* 68+8 */
224 } sched; /* 80 */
225 struct __attribute__((__packed__))
226 {
227 char _trapno; /* 46+1 */
228 L4_ktrace_t__Unsigned16 _error; /* 47+2 */
229 L4_ktrace_t__Mword _rbp; /* 49+8 */
230 L4_ktrace_t__Mword _cr2; /* 57+8 */
231 L4_ktrace_t__Mword _rax; /* 65+8 */
232 L4_ktrace_t__Mword _rflags; /* 73+8 */
233 L4_ktrace_t__Mword _rsp; /* 81+8 */
234 L4_ktrace_t__Unsigned16 _cs; /* 89+2 */
235 L4_ktrace_t__Unsigned16 _ds; /* 91+2 */
236 } trap; /* 96 */
237 struct __attribute__((__packed__))
238 {
239 char _padding[80]; /* 46+80 */
240 char __post_pad[2]; /* 126+2 */
241 } fullsize; /* 128 */
242 struct __attribute__((__packed__))
243 {
244 char __pre_pad[2];
245 L4_ktrace_t__Cap_index cap_idx; /* 48+8 */
246 } ieh; /* 56 */
247 struct __attribute__((__packed__))
248 {
249 char __pre_pad[2];
250 L4_ktrace_t__Mword pfa; /* 48+8 */
251 L4_ktrace_t__Cap_index cap_idx; /* 56+8 */
252 L4_ktrace_t__Mword err; /* 64+8 */
253 } ipfh; /* 72 */
254 struct __attribute__((__packed__))
255 {
256 char __pre_pad[2];
257 L4_ktrace_t__Mword id; /* 48+8 */
258 L4_ktrace_t__Mword ip; /* 56+8 */
259 L4_ktrace_t__Mword sp; /* 64+8 */
260 L4_ktrace_t__Mword op; /* 72+8 */
261 } exregs; /* 80 */
262 struct __attribute__((__packed__))
263 {
264 char __pre_pad[2];
265 L4_ktrace_t__Mword state; /* 48+8 */
266 L4_ktrace_t__Address user_ip; /* 56+8 */
267 L4_ktrace_t__Cpu_number src_cpu; /* 64+4 */
268 L4_ktrace_t__Cpu_number target_cpu; /* 68+4 */
269 } migration; /* 72 */
270 struct __attribute__((__packed__))
271 {
272 char __pre_pad[2];
273 L4_ktrace_t__Irq_base *obj; /* 48+8 */
274 L4_ktrace_t__Address user_ip; /* 56+8 */
275 } timer; /* 64 */
276 struct __attribute__((__packed__))
277 {
278 char __pre_pad[2];
279 L4_ktrace_t__Mword exitcode; /* 48+8 */
280 L4_ktrace_t__Mword exitinfo1; /* 56+8 */
281 L4_ktrace_t__Mword exitinfo2; /* 64+8 */
282 L4_ktrace_t__Mword rip; /* 72+8 */
283 } svm; /* 80 */
284 } m;
285} l4_tracebuffer_entry_t;