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  
10  DECLARE_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   */
34  DEFINE_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   */
48  DEFINE_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