fix: random: rather than entropy_store abstraction, use global (v5.17)
[lttng-modules.git] / include / instrumentation / events / random.h
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 #undef TRACE_SYSTEM
3 #define TRACE_SYSTEM random
4
5 #if !defined(LTTNG_TRACE_RANDOM_H) || defined(TRACE_HEADER_MULTI_READ)
6 #define LTTNG_TRACE_RANDOM_H
7
8 #include <lttng/tracepoint-event.h>
9 #include <linux/writeback.h>
10
11 #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,17,0))
12 LTTNG_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
23 LTTNG_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
32 LTTNG_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
41 LTTNG_TRACEPOINT_EVENT_CLASS(random__mix_pool_bytes,
42 TP_PROTO(const char *pool_name, int bytes, unsigned long IP),
43
44 TP_ARGS(pool_name, bytes, IP),
45
46 TP_FIELDS(
47 ctf_string(pool_name, pool_name)
48 ctf_integer(int, bytes, bytes)
49 ctf_integer_hex(unsigned long, IP, IP)
50 )
51 )
52
53 LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(random__mix_pool_bytes, mix_pool_bytes,
54
55 random_mix_pool_bytes,
56
57 TP_PROTO(const char *pool_name, int bytes, unsigned long IP),
58
59 TP_ARGS(pool_name, bytes, IP)
60 )
61
62 LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(random__mix_pool_bytes, mix_pool_bytes_nolock,
63
64 random_mix_pool_bytes_nolock,
65
66 TP_PROTO(const char *pool_name, int bytes, unsigned long IP),
67
68 TP_ARGS(pool_name, bytes, IP)
69 )
70 #endif
71
72 #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,17,0))
73 LTTNG_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))
88 LTTNG_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)
101 ctf_integer_hex(unsigned long, IP, IP)
102 )
103 )
104 #else
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 int entropy_total, unsigned long IP),
111
112 TP_ARGS(pool_name, bits, entropy_count, entropy_total, 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)
118 ctf_integer(int, entropy_total, entropy_total)
119 ctf_integer_hex(unsigned long, IP, IP)
120 )
121 )
122 #endif
123
124 LTTNG_TRACEPOINT_EVENT_MAP(get_random_bytes,
125
126 random_get_random_bytes,
127
128 TP_PROTO(int nbytes, unsigned long IP),
129
130 TP_ARGS(nbytes, IP),
131
132 TP_FIELDS(
133 ctf_integer(int, nbytes, nbytes)
134 ctf_integer_hex(unsigned long, IP, IP)
135 )
136 )
137
138 #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,17,0))
139 LTTNG_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
152 LTTNG_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
161 LTTNG_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
170 LTTNG_TRACEPOINT_EVENT_CLASS(random__extract_entropy,
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
176 TP_FIELDS(
177 ctf_string(pool_name, pool_name)
178 ctf_integer(int, nbytes, nbytes)
179 ctf_integer(int, entropy_count, entropy_count)
180 ctf_integer_hex(unsigned long, IP, IP)
181 )
182 )
183
184
185 LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(random__extract_entropy, extract_entropy,
186
187 random_extract_entropy,
188
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
195 LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(random__extract_entropy, extract_entropy_user,
196
197 random_extract_entropy_user,
198
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 )
204 #endif
205
206
207
208 #endif /* LTTNG_TRACE_RANDOM_H */
209
210 /* This part must be outside protection */
211 #include <lttng/define_trace.h>
This page took 0.03337 seconds and 4 git commands to generate.