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 int L4_ktrace_t__Unsigned32;
39typedef unsigned long long L4_ktrace_t__Unsigned64;
40typedef unsigned char L4_ktrace_t__Unsigned8;
41typedef void L4_ktrace_t__cxx__Type_info;
42
43typedef 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;