Commit | Line | Data |
---|---|---|
b7cdc182 | 1 | /* SPDX-License-Identifier: GPL-2.0-only */ |
b87700e3 AG |
2 | #undef TRACE_SYSTEM |
3 | #define TRACE_SYSTEM random | |
4 | ||
3bc29f0a MD |
5 | #if !defined(LTTNG_TRACE_RANDOM_H) || defined(TRACE_HEADER_MULTI_READ) |
6 | #define LTTNG_TRACE_RANDOM_H | |
b87700e3 | 7 | |
3b4aafcb | 8 | #include <lttng/tracepoint-event.h> |
b87700e3 | 9 | #include <linux/writeback.h> |
b87700e3 | 10 | |
7ff05f73 MJ |
11 | LTTNG_TRACEPOINT_EVENT_MAP(add_device_randomness, |
12 | ||
13 | random_add_device_randomness, | |
14 | ||
15 | TP_PROTO(int bytes, unsigned long IP), | |
16 | ||
17 | TP_ARGS(bytes, IP), | |
18 | ||
19 | TP_FIELDS( | |
20 | ctf_integer(int, bytes, bytes) | |
21 | ctf_integer_hex(unsigned long, IP, IP) | |
22 | ) | |
23 | ) | |
7ff05f73 | 24 | |
464034ba MJ |
25 | #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,17,0)) |
26 | LTTNG_TRACEPOINT_EVENT_CLASS(random__mix_pool_bytes, | |
27 | TP_PROTO(int bytes, unsigned long IP), | |
28 | ||
29 | TP_ARGS(bytes, IP), | |
30 | ||
31 | TP_FIELDS( | |
32 | ctf_integer(int, bytes, bytes) | |
33 | ctf_integer_hex(unsigned long, IP, IP) | |
34 | ) | |
35 | ) | |
36 | ||
37 | LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(random__mix_pool_bytes, mix_pool_bytes, | |
38 | ||
39 | random_mix_pool_bytes, | |
40 | ||
41 | TP_PROTO(int bytes, unsigned long IP), | |
42 | ||
43 | TP_ARGS(bytes, IP) | |
44 | ) | |
45 | ||
46 | LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(random__mix_pool_bytes, mix_pool_bytes_nolock, | |
47 | ||
48 | random_mix_pool_bytes_nolock, | |
49 | ||
50 | TP_PROTO(int bytes, unsigned long IP), | |
51 | ||
52 | TP_ARGS(bytes, IP) | |
53 | ) | |
54 | #else | |
3bc29f0a | 55 | LTTNG_TRACEPOINT_EVENT_CLASS(random__mix_pool_bytes, |
b87700e3 AG |
56 | TP_PROTO(const char *pool_name, int bytes, unsigned long IP), |
57 | ||
58 | TP_ARGS(pool_name, bytes, IP), | |
59 | ||
f127e61e MD |
60 | TP_FIELDS( |
61 | ctf_string(pool_name, pool_name) | |
62 | ctf_integer(int, bytes, bytes) | |
2c054599 | 63 | ctf_integer_hex(unsigned long, IP, IP) |
f127e61e | 64 | ) |
b87700e3 AG |
65 | ) |
66 | ||
3bc29f0a | 67 | LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(random__mix_pool_bytes, mix_pool_bytes, |
9cf29d3e MD |
68 | |
69 | random_mix_pool_bytes, | |
70 | ||
b87700e3 AG |
71 | TP_PROTO(const char *pool_name, int bytes, unsigned long IP), |
72 | ||
73 | TP_ARGS(pool_name, bytes, IP) | |
74 | ) | |
75 | ||
3bc29f0a | 76 | LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(random__mix_pool_bytes, mix_pool_bytes_nolock, |
9cf29d3e MD |
77 | |
78 | random_mix_pool_bytes_nolock, | |
79 | ||
b87700e3 AG |
80 | TP_PROTO(const char *pool_name, int bytes, unsigned long IP), |
81 | ||
82 | TP_ARGS(pool_name, bytes, IP) | |
83 | ) | |
464034ba | 84 | #endif |
b87700e3 | 85 | |
464034ba MJ |
86 | #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,17,0)) |
87 | LTTNG_TRACEPOINT_EVENT_MAP(credit_entropy_bits, | |
88 | ||
89 | random_credit_entropy_bits, | |
90 | ||
91 | TP_PROTO(int bits, int entropy_count, unsigned long IP), | |
92 | ||
93 | TP_ARGS(bits, entropy_count, IP), | |
94 | ||
95 | TP_FIELDS( | |
96 | ctf_integer(int, bits, bits) | |
97 | ctf_integer(int, entropy_count, entropy_count) | |
98 | ctf_integer_hex(unsigned long, IP, IP) | |
99 | ) | |
100 | ) | |
101 | #elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,2,0)) | |
a6a26911 MJ |
102 | LTTNG_TRACEPOINT_EVENT_MAP(credit_entropy_bits, |
103 | ||
104 | random_credit_entropy_bits, | |
105 | ||
106 | TP_PROTO(const char *pool_name, int bits, int entropy_count, | |
107 | unsigned long IP), | |
108 | ||
109 | TP_ARGS(pool_name, bits, entropy_count, IP), | |
110 | ||
111 | TP_FIELDS( | |
112 | ctf_string(pool_name, pool_name) | |
113 | ctf_integer(int, bits, bits) | |
114 | ctf_integer(int, entropy_count, entropy_count) | |
2c054599 | 115 | ctf_integer_hex(unsigned long, IP, IP) |
a6a26911 MJ |
116 | ) |
117 | ) | |
118 | #else | |
3bc29f0a | 119 | LTTNG_TRACEPOINT_EVENT_MAP(credit_entropy_bits, |
9cf29d3e MD |
120 | |
121 | random_credit_entropy_bits, | |
122 | ||
b87700e3 AG |
123 | TP_PROTO(const char *pool_name, int bits, int entropy_count, |
124 | int entropy_total, unsigned long IP), | |
125 | ||
126 | TP_ARGS(pool_name, bits, entropy_count, entropy_total, IP), | |
127 | ||
f127e61e MD |
128 | TP_FIELDS( |
129 | ctf_string(pool_name, pool_name) | |
130 | ctf_integer(int, bits, bits) | |
131 | ctf_integer(int, entropy_count, entropy_count) | |
132 | ctf_integer(int, entropy_total, entropy_total) | |
2c054599 | 133 | ctf_integer_hex(unsigned long, IP, IP) |
f127e61e | 134 | ) |
b87700e3 | 135 | ) |
a6a26911 | 136 | #endif |
b87700e3 | 137 | |
7ff05f73 MJ |
138 | LTTNG_TRACEPOINT_EVENT_MAP(push_to_pool, |
139 | ||
140 | random_push_to_pool, | |
141 | ||
142 | TP_PROTO(const char *pool_name, int pool_bits, int input_bits), | |
143 | ||
144 | TP_ARGS(pool_name, pool_bits, input_bits), | |
145 | ||
146 | TP_FIELDS( | |
147 | ctf_string(pool_name, pool_name) | |
148 | ctf_integer(int, pool_bits, pool_bits) | |
149 | ctf_integer(int, input_bits, input_bits) | |
150 | ) | |
151 | ) | |
7ff05f73 MJ |
152 | |
153 | #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,17,0)) | |
154 | LTTNG_TRACEPOINT_EVENT_MAP(debit_entropy, | |
155 | ||
156 | random_debit_entropy, | |
157 | ||
158 | TP_PROTO(int debit_bits), | |
159 | ||
160 | TP_ARGS(debit_bits), | |
161 | ||
162 | TP_FIELDS( | |
163 | ctf_integer(int, debit_bits, debit_bits) | |
164 | ) | |
165 | ) | |
9e9b82f4 | 166 | #else |
7ff05f73 MJ |
167 | LTTNG_TRACEPOINT_EVENT_MAP(debit_entropy, |
168 | ||
169 | random_debit_entropy, | |
170 | ||
171 | TP_PROTO(const char *pool_name, int debit_bits), | |
172 | ||
173 | TP_ARGS(pool_name, debit_bits), | |
174 | ||
175 | TP_FIELDS( | |
176 | ctf_string(pool_name, pool_name) | |
177 | ctf_integer(int, debit_bits, debit_bits) | |
178 | ) | |
179 | ) | |
180 | #endif | |
181 | ||
7ff05f73 MJ |
182 | LTTNG_TRACEPOINT_EVENT_MAP(add_input_randomness, |
183 | ||
184 | random_add_input_randomness, | |
185 | ||
186 | TP_PROTO(int input_bits), | |
187 | ||
188 | TP_ARGS(input_bits), | |
189 | ||
190 | TP_FIELDS( | |
191 | ctf_integer(int, input_bits, input_bits) | |
192 | ) | |
193 | ) | |
194 | ||
195 | LTTNG_TRACEPOINT_EVENT_MAP(add_disk_randomness, | |
196 | ||
197 | random_add_disk_randomness, | |
198 | ||
199 | TP_PROTO(dev_t dev, int input_bits), | |
200 | ||
201 | TP_ARGS(dev, input_bits), | |
202 | ||
203 | TP_FIELDS( | |
204 | ctf_integer(dev_t, dev, dev) | |
205 | ctf_integer(int, input_bits, input_bits) | |
206 | ) | |
207 | ) | |
208 | ||
209 | LTTNG_TRACEPOINT_EVENT_MAP(xfer_secondary_pool, | |
210 | ||
211 | random_xfer_secondary_pool, | |
212 | ||
213 | TP_PROTO(const char *pool_name, int xfer_bits, int request_bits, | |
214 | int pool_entropy, int input_entropy), | |
215 | ||
216 | TP_ARGS(pool_name, xfer_bits, request_bits, pool_entropy, | |
217 | input_entropy), | |
218 | ||
219 | TP_FIELDS( | |
220 | ctf_string(pool_name, pool_name) | |
221 | ctf_integer(int, xfer_bits, xfer_bits) | |
222 | ctf_integer(int, request_bits, request_bits) | |
223 | ctf_integer(int, pool_entropy, pool_entropy) | |
224 | ctf_integer(int, input_entropy, input_entropy) | |
225 | ) | |
226 | ) | |
7ff05f73 | 227 | |
7ff05f73 MJ |
228 | LTTNG_TRACEPOINT_EVENT_CLASS(random__get_random_bytes, |
229 | ||
230 | TP_PROTO(int nbytes, unsigned long IP), | |
231 | ||
232 | TP_ARGS(nbytes, IP), | |
233 | ||
234 | TP_FIELDS( | |
235 | ctf_integer(int, nbytes, nbytes) | |
236 | ctf_integer_hex(unsigned long, IP, IP) | |
237 | ) | |
238 | ) | |
239 | ||
240 | LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(random__get_random_bytes, get_random_bytes, | |
241 | ||
242 | random_get_random_bytes, | |
243 | ||
244 | TP_PROTO(int nbytes, unsigned long IP), | |
245 | ||
246 | TP_ARGS(nbytes, IP) | |
247 | ) | |
248 | ||
249 | LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(random__get_random_bytes, get_random_bytes_arch, | |
250 | ||
251 | random_get_random_bytes_arch, | |
252 | ||
253 | TP_PROTO(int nbytes, unsigned long IP), | |
254 | ||
255 | TP_ARGS(nbytes, IP) | |
256 | ) | |
b87700e3 | 257 | |
464034ba MJ |
258 | #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,17,0)) |
259 | LTTNG_TRACEPOINT_EVENT_CLASS(random__extract_entropy, | |
260 | TP_PROTO(int nbytes, int entropy_count, unsigned long IP), | |
261 | ||
262 | TP_ARGS(nbytes, entropy_count, IP), | |
263 | ||
264 | TP_FIELDS( | |
265 | ctf_integer(int, nbytes, nbytes) | |
266 | ctf_integer(int, entropy_count, entropy_count) | |
267 | ctf_integer_hex(unsigned long, IP, IP) | |
268 | ) | |
269 | ) | |
270 | ||
271 | ||
272 | LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(random__extract_entropy, extract_entropy, | |
273 | ||
274 | random_extract_entropy, | |
275 | ||
276 | TP_PROTO(int nbytes, int entropy_count, unsigned long IP), | |
277 | ||
278 | TP_ARGS(nbytes, entropy_count, IP) | |
279 | ) | |
280 | ||
281 | LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(random__extract_entropy, extract_entropy_user, | |
282 | ||
283 | random_extract_entropy_user, | |
284 | ||
285 | TP_PROTO(int nbytes, int entropy_count, unsigned long IP), | |
286 | ||
287 | TP_ARGS(nbytes, entropy_count, IP) | |
288 | ) | |
289 | #else | |
3bc29f0a | 290 | LTTNG_TRACEPOINT_EVENT_CLASS(random__extract_entropy, |
b87700e3 AG |
291 | TP_PROTO(const char *pool_name, int nbytes, int entropy_count, |
292 | unsigned long IP), | |
293 | ||
294 | TP_ARGS(pool_name, nbytes, entropy_count, IP), | |
295 | ||
f127e61e MD |
296 | TP_FIELDS( |
297 | ctf_string(pool_name, pool_name) | |
298 | ctf_integer(int, nbytes, nbytes) | |
299 | ctf_integer(int, entropy_count, entropy_count) | |
2c054599 | 300 | ctf_integer_hex(unsigned long, IP, IP) |
f127e61e | 301 | ) |
b87700e3 AG |
302 | ) |
303 | ||
304 | ||
3bc29f0a | 305 | LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(random__extract_entropy, extract_entropy, |
9cf29d3e MD |
306 | |
307 | random_extract_entropy, | |
308 | ||
b87700e3 AG |
309 | TP_PROTO(const char *pool_name, int nbytes, int entropy_count, |
310 | unsigned long IP), | |
311 | ||
312 | TP_ARGS(pool_name, nbytes, entropy_count, IP) | |
313 | ) | |
314 | ||
3bc29f0a | 315 | LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(random__extract_entropy, extract_entropy_user, |
9cf29d3e MD |
316 | |
317 | random_extract_entropy_user, | |
318 | ||
b87700e3 AG |
319 | TP_PROTO(const char *pool_name, int nbytes, int entropy_count, |
320 | unsigned long IP), | |
321 | ||
322 | TP_ARGS(pool_name, nbytes, entropy_count, IP) | |
323 | ) | |
464034ba | 324 | #endif |
b87700e3 | 325 | |
7ff05f73 MJ |
326 | LTTNG_TRACEPOINT_EVENT_MAP(random_read, |
327 | ||
328 | random_random_read, | |
329 | ||
330 | TP_PROTO(int got_bits, int need_bits, int pool_left, int input_left), | |
331 | ||
332 | TP_ARGS(got_bits, need_bits, pool_left, input_left), | |
333 | ||
334 | TP_FIELDS( | |
335 | ctf_integer(int, got_bits, got_bits) | |
336 | ctf_integer(int, need_bits, need_bits) | |
337 | ctf_integer(int, pool_left, pool_left) | |
338 | ctf_integer(int, input_left, input_left) | |
339 | ) | |
340 | ) | |
341 | ||
342 | LTTNG_TRACEPOINT_EVENT_MAP(urandom_read, | |
343 | ||
344 | random_urandom_read, | |
345 | ||
346 | TP_PROTO(int got_bits, int pool_left, int input_left), | |
347 | ||
348 | TP_ARGS(got_bits, pool_left, input_left), | |
349 | ||
350 | TP_FIELDS( | |
351 | ctf_integer(int, got_bits, got_bits) | |
352 | ctf_integer(int, pool_left, pool_left) | |
353 | ctf_integer(int, input_left, input_left) | |
354 | ) | |
355 | ) | |
7ff05f73 MJ |
356 | |
357 | #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,9,0)) | |
358 | LTTNG_TRACEPOINT_EVENT_MAP(prandom_u32, | |
359 | ||
360 | random_prandom_u32, | |
361 | ||
362 | TP_PROTO(unsigned int ret), | |
363 | ||
364 | TP_ARGS(ret), | |
365 | ||
366 | TP_FIELDS( | |
367 | ctf_integer(unsigned int, ret, ret) | |
368 | ) | |
369 | ) | |
370 | #endif | |
b87700e3 AG |
371 | |
372 | ||
3bc29f0a | 373 | #endif /* LTTNG_TRACE_RANDOM_H */ |
b87700e3 AG |
374 | |
375 | /* This part must be outside protection */ | |
3b4aafcb | 376 | #include <lttng/define_trace.h> |