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