fix: random: rather than entropy_store abstraction, use global (v5.17)
[lttng-modules.git] / include / instrumentation / events / random.h
CommitLineData
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
464034ba
MJ
11#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,17,0))
12LTTNG_TRACEPOINT_EVENT_CLASS(random__mix_pool_bytes,
13 TP_PROTO(int bytes, unsigned long IP),
14
15 TP_ARGS(bytes, IP),
16
17 TP_FIELDS(
18 ctf_integer(int, bytes, bytes)
19 ctf_integer_hex(unsigned long, IP, IP)
20 )
21)
22
23LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(random__mix_pool_bytes, mix_pool_bytes,
24
25 random_mix_pool_bytes,
26
27 TP_PROTO(int bytes, unsigned long IP),
28
29 TP_ARGS(bytes, IP)
30)
31
32LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(random__mix_pool_bytes, mix_pool_bytes_nolock,
33
34 random_mix_pool_bytes_nolock,
35
36 TP_PROTO(int bytes, unsigned long IP),
37
38 TP_ARGS(bytes, IP)
39)
40#else
3bc29f0a 41LTTNG_TRACEPOINT_EVENT_CLASS(random__mix_pool_bytes,
b87700e3
AG
42 TP_PROTO(const char *pool_name, int bytes, unsigned long IP),
43
44 TP_ARGS(pool_name, bytes, IP),
45
f127e61e
MD
46 TP_FIELDS(
47 ctf_string(pool_name, pool_name)
48 ctf_integer(int, bytes, bytes)
2c054599 49 ctf_integer_hex(unsigned long, IP, IP)
f127e61e 50 )
b87700e3
AG
51)
52
3bc29f0a 53LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(random__mix_pool_bytes, mix_pool_bytes,
9cf29d3e
MD
54
55 random_mix_pool_bytes,
56
b87700e3
AG
57 TP_PROTO(const char *pool_name, int bytes, unsigned long IP),
58
59 TP_ARGS(pool_name, bytes, IP)
60)
61
3bc29f0a 62LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(random__mix_pool_bytes, mix_pool_bytes_nolock,
9cf29d3e
MD
63
64 random_mix_pool_bytes_nolock,
65
b87700e3
AG
66 TP_PROTO(const char *pool_name, int bytes, unsigned long IP),
67
68 TP_ARGS(pool_name, bytes, IP)
69)
464034ba 70#endif
b87700e3 71
464034ba
MJ
72#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,17,0))
73LTTNG_TRACEPOINT_EVENT_MAP(credit_entropy_bits,
74
75 random_credit_entropy_bits,
76
77 TP_PROTO(int bits, int entropy_count, unsigned long IP),
78
79 TP_ARGS(bits, entropy_count, IP),
80
81 TP_FIELDS(
82 ctf_integer(int, bits, bits)
83 ctf_integer(int, entropy_count, entropy_count)
84 ctf_integer_hex(unsigned long, IP, IP)
85 )
86)
87#elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,2,0))
a6a26911
MJ
88LTTNG_TRACEPOINT_EVENT_MAP(credit_entropy_bits,
89
90 random_credit_entropy_bits,
91
92 TP_PROTO(const char *pool_name, int bits, int entropy_count,
93 unsigned long IP),
94
95 TP_ARGS(pool_name, bits, entropy_count, IP),
96
97 TP_FIELDS(
98 ctf_string(pool_name, pool_name)
99 ctf_integer(int, bits, bits)
100 ctf_integer(int, entropy_count, entropy_count)
2c054599 101 ctf_integer_hex(unsigned long, IP, IP)
a6a26911
MJ
102 )
103)
104#else
3bc29f0a 105LTTNG_TRACEPOINT_EVENT_MAP(credit_entropy_bits,
9cf29d3e
MD
106
107 random_credit_entropy_bits,
108
b87700e3
AG
109 TP_PROTO(const char *pool_name, int bits, int entropy_count,
110 int entropy_total, unsigned long IP),
111
112 TP_ARGS(pool_name, bits, entropy_count, entropy_total, IP),
113
f127e61e
MD
114 TP_FIELDS(
115 ctf_string(pool_name, pool_name)
116 ctf_integer(int, bits, bits)
117 ctf_integer(int, entropy_count, entropy_count)
118 ctf_integer(int, entropy_total, entropy_total)
2c054599 119 ctf_integer_hex(unsigned long, IP, IP)
f127e61e 120 )
b87700e3 121)
a6a26911 122#endif
b87700e3 123
3bc29f0a 124LTTNG_TRACEPOINT_EVENT_MAP(get_random_bytes,
9cf29d3e
MD
125
126 random_get_random_bytes,
127
b87700e3
AG
128 TP_PROTO(int nbytes, unsigned long IP),
129
130 TP_ARGS(nbytes, IP),
131
f127e61e
MD
132 TP_FIELDS(
133 ctf_integer(int, nbytes, nbytes)
2c054599 134 ctf_integer_hex(unsigned long, IP, IP)
f127e61e 135 )
b87700e3
AG
136)
137
464034ba
MJ
138#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,17,0))
139LTTNG_TRACEPOINT_EVENT_CLASS(random__extract_entropy,
140 TP_PROTO(int nbytes, int entropy_count, unsigned long IP),
141
142 TP_ARGS(nbytes, entropy_count, IP),
143
144 TP_FIELDS(
145 ctf_integer(int, nbytes, nbytes)
146 ctf_integer(int, entropy_count, entropy_count)
147 ctf_integer_hex(unsigned long, IP, IP)
148 )
149)
150
151
152LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(random__extract_entropy, extract_entropy,
153
154 random_extract_entropy,
155
156 TP_PROTO(int nbytes, int entropy_count, unsigned long IP),
157
158 TP_ARGS(nbytes, entropy_count, IP)
159)
160
161LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(random__extract_entropy, extract_entropy_user,
162
163 random_extract_entropy_user,
164
165 TP_PROTO(int nbytes, int entropy_count, unsigned long IP),
166
167 TP_ARGS(nbytes, entropy_count, IP)
168)
169#else
3bc29f0a 170LTTNG_TRACEPOINT_EVENT_CLASS(random__extract_entropy,
b87700e3
AG
171 TP_PROTO(const char *pool_name, int nbytes, int entropy_count,
172 unsigned long IP),
173
174 TP_ARGS(pool_name, nbytes, entropy_count, IP),
175
f127e61e
MD
176 TP_FIELDS(
177 ctf_string(pool_name, pool_name)
178 ctf_integer(int, nbytes, nbytes)
179 ctf_integer(int, entropy_count, entropy_count)
2c054599 180 ctf_integer_hex(unsigned long, IP, IP)
f127e61e 181 )
b87700e3
AG
182)
183
184
3bc29f0a 185LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(random__extract_entropy, extract_entropy,
9cf29d3e
MD
186
187 random_extract_entropy,
188
b87700e3
AG
189 TP_PROTO(const char *pool_name, int nbytes, int entropy_count,
190 unsigned long IP),
191
192 TP_ARGS(pool_name, nbytes, entropy_count, IP)
193)
194
3bc29f0a 195LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(random__extract_entropy, extract_entropy_user,
9cf29d3e
MD
196
197 random_extract_entropy_user,
198
b87700e3
AG
199 TP_PROTO(const char *pool_name, int nbytes, int entropy_count,
200 unsigned long IP),
201
202 TP_ARGS(pool_name, nbytes, entropy_count, IP)
203)
464034ba 204#endif
b87700e3
AG
205
206
207
3bc29f0a 208#endif /* LTTNG_TRACE_RANDOM_H */
b87700e3
AG
209
210/* This part must be outside protection */
3b4aafcb 211#include <lttng/define_trace.h>
This page took 0.056916 seconds and 4 git commands to generate.