1/* SPDX-License-Identifier: GPL-2.0 */
2#undef TRACE_SYSTEM
3#define TRACE_SYSTEM context_tracking
4
5#if !defined(_TRACE_CONTEXT_TRACKING_H) || defined(TRACE_HEADER_MULTI_READ)
6#define _TRACE_CONTEXT_TRACKING_H
7
8#include <linux/tracepoint.h>
9
10DECLARE_EVENT_CLASS(context_tracking_user,
11
12	TP_PROTO(int dummy),
13
14	TP_ARGS(dummy),
15
16	TP_STRUCT__entry(
17		__field( int,	dummy	)
18	),
19
20	TP_fast_assign(
21		__entry->dummy		= dummy;
22	),
23
24	TP_printk("%s", "")
25);
26
27/**
28 * user_enter - called when the kernel resumes to userspace
29 * @dummy:	dummy arg to make trace event macro happy
30 *
31 * This event occurs when the kernel resumes to userspace  after
32 * an exception or a syscall.
33 */
34DEFINE_EVENT(context_tracking_user, user_enter,
35
36	TP_PROTO(int dummy),
37
38	TP_ARGS(dummy)
39);
40
41/**
42 * user_exit - called when userspace enters the kernel
43 * @dummy:	dummy arg to make trace event macro happy
44 *
45 * This event occurs when userspace enters the kernel through
46 * an exception or a syscall.
47 */
48DEFINE_EVENT(context_tracking_user, user_exit,
49
50	TP_PROTO(int dummy),
51
52	TP_ARGS(dummy)
53);
54
55
56#endif /*  _TRACE_CONTEXT_TRACKING_H */
57
58/* This part must be outside protection */
59#include <trace/define_trace.h>
60