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