Commit | Line | Data |
---|---|---|
6841ae81 MD |
1 | // SPDX-License-Identifier: MIT |
2 | /* | |
3 | * Copyright 2022 Mathieu Desnoyers <mathieu.desnoyers@efficios.com> | |
4 | */ | |
5 | ||
6 | #include <side/trace.h> | |
7 | #include "tracer.h" | |
85b765b8 | 8 | #include "rcu.h" |
6841ae81 | 9 | |
29b3374e MD |
10 | #define SIDE_EVENT_ENABLED_KERNEL_USER_EVENT_MASK 0x80000000 |
11 | ||
6841ae81 MD |
12 | void side_call(const struct side_event_description *desc, const struct side_arg_vec_description *sav_desc) |
13 | { | |
14 | if (side_unlikely(desc->flags & SIDE_EVENT_FLAG_VARIADIC)) { | |
15 | printf("ERROR: unexpected variadic event description\n"); | |
16 | abort(); | |
17 | } | |
d5cdb129 | 18 | if (side_unlikely(*desc->enabled & SIDE_EVENT_ENABLED_KERNEL_USER_EVENT_MASK)) { |
dda82f46 | 19 | // TODO: call kernel write. |
6841ae81 MD |
20 | } |
21 | //TODO: replace tracer_call by rcu iteration on list of registered callbacks | |
4a7d8700 | 22 | tracer_call(desc, sav_desc, NULL); |
6841ae81 MD |
23 | } |
24 | ||
25 | void side_call_variadic(const struct side_event_description *desc, | |
26 | const struct side_arg_vec_description *sav_desc, | |
27 | const struct side_arg_dynamic_event_struct *var_struct) | |
28 | { | |
d5cdb129 | 29 | if (side_unlikely(*desc->enabled & SIDE_EVENT_ENABLED_KERNEL_USER_EVENT_MASK)) { |
dda82f46 | 30 | // TODO: call kernel write. |
6841ae81 MD |
31 | } |
32 | //TODO: replace tracer_call by rcu iteration on list of registered callbacks | |
4a7d8700 | 33 | tracer_call_variadic(desc, sav_desc, var_struct, NULL); |
6841ae81 | 34 | } |