#include <lttng/tracepoint-event.h>
#include <linux/writeback.h>
+#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,13,0))
+LTTNG_TRACEPOINT_EVENT_MAP(add_device_randomness,
+
+ random_add_device_randomness,
+
+ TP_PROTO(int bytes, unsigned long IP),
+
+ TP_ARGS(bytes, IP),
+
+ TP_FIELDS(
+ ctf_integer(int, bytes, bytes)
+ ctf_integer_hex(unsigned long, IP, IP)
+ )
+)
+#endif
+
#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,17,0))
LTTNG_TRACEPOINT_EVENT_CLASS(random__mix_pool_bytes,
TP_PROTO(int bytes, unsigned long IP),
)
#endif
+#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,13,0))
+LTTNG_TRACEPOINT_EVENT_MAP(push_to_pool,
+
+ random_push_to_pool,
+
+ TP_PROTO(const char *pool_name, int pool_bits, int input_bits),
+
+ TP_ARGS(pool_name, pool_bits, input_bits),
+
+ TP_FIELDS(
+ ctf_string(pool_name, pool_name)
+ ctf_integer(int, pool_bits, pool_bits)
+ ctf_integer(int, input_bits, input_bits)
+ )
+)
+#endif
+
+#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,17,0))
+LTTNG_TRACEPOINT_EVENT_MAP(debit_entropy,
+
+ random_debit_entropy,
+
+ TP_PROTO(int debit_bits),
+
+ TP_ARGS(debit_bits),
+
+ TP_FIELDS(
+ ctf_integer(int, debit_bits, debit_bits)
+ )
+)
+#elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,13,0))
+LTTNG_TRACEPOINT_EVENT_MAP(debit_entropy,
+
+ random_debit_entropy,
+
+ TP_PROTO(const char *pool_name, int debit_bits),
+
+ TP_ARGS(pool_name, debit_bits),
+
+ TP_FIELDS(
+ ctf_string(pool_name, pool_name)
+ ctf_integer(int, debit_bits, debit_bits)
+ )
+)
+#endif
+
+#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,13,0))
+LTTNG_TRACEPOINT_EVENT_MAP(add_input_randomness,
+
+ random_add_input_randomness,
+
+ TP_PROTO(int input_bits),
+
+ TP_ARGS(input_bits),
+
+ TP_FIELDS(
+ ctf_integer(int, input_bits, input_bits)
+ )
+)
+
+LTTNG_TRACEPOINT_EVENT_MAP(add_disk_randomness,
+
+ random_add_disk_randomness,
+
+ TP_PROTO(dev_t dev, int input_bits),
+
+ TP_ARGS(dev, input_bits),
+
+ TP_FIELDS(
+ ctf_integer(dev_t, dev, dev)
+ ctf_integer(int, input_bits, input_bits)
+ )
+)
+
+LTTNG_TRACEPOINT_EVENT_MAP(xfer_secondary_pool,
+
+ random_xfer_secondary_pool,
+
+ TP_PROTO(const char *pool_name, int xfer_bits, int request_bits,
+ int pool_entropy, int input_entropy),
+
+ TP_ARGS(pool_name, xfer_bits, request_bits, pool_entropy,
+ input_entropy),
+
+ TP_FIELDS(
+ ctf_string(pool_name, pool_name)
+ ctf_integer(int, xfer_bits, xfer_bits)
+ ctf_integer(int, request_bits, request_bits)
+ ctf_integer(int, pool_entropy, pool_entropy)
+ ctf_integer(int, input_entropy, input_entropy)
+ )
+)
+#endif
+
+#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,13,0))
+LTTNG_TRACEPOINT_EVENT_CLASS(random__get_random_bytes,
+
+ TP_PROTO(int nbytes, unsigned long IP),
+
+ TP_ARGS(nbytes, IP),
+
+ TP_FIELDS(
+ ctf_integer(int, nbytes, nbytes)
+ ctf_integer_hex(unsigned long, IP, IP)
+ )
+)
+
+LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(random__get_random_bytes, get_random_bytes,
+
+ random_get_random_bytes,
+
+ TP_PROTO(int nbytes, unsigned long IP),
+
+ TP_ARGS(nbytes, IP)
+)
+
+LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(random__get_random_bytes, get_random_bytes_arch,
+
+ random_get_random_bytes_arch,
+
+ TP_PROTO(int nbytes, unsigned long IP),
+
+ TP_ARGS(nbytes, IP)
+)
+#else
LTTNG_TRACEPOINT_EVENT_MAP(get_random_bytes,
random_get_random_bytes,
ctf_integer_hex(unsigned long, IP, IP)
)
)
+#endif
#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,17,0))
LTTNG_TRACEPOINT_EVENT_CLASS(random__extract_entropy,
)
#endif
+#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,13,0))
+LTTNG_TRACEPOINT_EVENT_MAP(random_read,
+
+ random_random_read,
+
+ TP_PROTO(int got_bits, int need_bits, int pool_left, int input_left),
+
+ TP_ARGS(got_bits, need_bits, pool_left, input_left),
+
+ TP_FIELDS(
+ ctf_integer(int, got_bits, got_bits)
+ ctf_integer(int, need_bits, need_bits)
+ ctf_integer(int, pool_left, pool_left)
+ ctf_integer(int, input_left, input_left)
+ )
+)
+
+LTTNG_TRACEPOINT_EVENT_MAP(urandom_read,
+
+ random_urandom_read,
+
+ TP_PROTO(int got_bits, int pool_left, int input_left),
+
+ TP_ARGS(got_bits, pool_left, input_left),
+
+ TP_FIELDS(
+ ctf_integer(int, got_bits, got_bits)
+ ctf_integer(int, pool_left, pool_left)
+ ctf_integer(int, input_left, input_left)
+ )
+)
+#endif
+
+#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,9,0))
+LTTNG_TRACEPOINT_EVENT_MAP(prandom_u32,
+
+ random_prandom_u32,
+
+ TP_PROTO(unsigned int ret),
+
+ TP_ARGS(ret),
+
+ TP_FIELDS(
+ ctf_integer(unsigned int, ret, ret)
+ )
+)
+#endif
#endif /* LTTNG_TRACE_RANDOM_H */