1 /* SPDX-License-Identifier: GPL-2.0+ */ 2 #undef TRACE_SYSTEM 3 #define TRACE_SYSTEM rseq 4 5 #if !defined(_TRACE_RSEQ_H) || defined(TRACE_HEADER_MULTI_READ) 6 #define _TRACE_RSEQ_H 7 8 #include <linux/tracepoint.h> 9 #include <linux/types.h> 10 11 TRACE_EVENT(rseq_update, 12 13 TP_PROTO(struct task_struct *t), 14 15 TP_ARGS(t), 16 17 TP_STRUCT__entry( 18 __field(s32, cpu_id) 19 ), 20 21 TP_fast_assign( 22 __entry->cpu_id = raw_smp_processor_id(); 23 ), 24 25 TP_printk("cpu_id=%d", __entry->cpu_id) 26 ); 27 28 TRACE_EVENT(rseq_ip_fixup, 29 30 TP_PROTO(unsigned long regs_ip, unsigned long start_ip, 31 unsigned long post_commit_offset, unsigned long abort_ip), 32 33 TP_ARGS(regs_ip, start_ip, post_commit_offset, abort_ip), 34 35 TP_STRUCT__entry( 36 __field(unsigned long, regs_ip) 37 __field(unsigned long, start_ip) 38 __field(unsigned long, post_commit_offset) 39 __field(unsigned long, abort_ip) 40 ), 41 42 TP_fast_assign( 43 __entry->regs_ip = regs_ip; 44 __entry->start_ip = start_ip; 45 __entry->post_commit_offset = post_commit_offset; 46 __entry->abort_ip = abort_ip; 47 ), 48 49 TP_printk("regs_ip=0x%lx start_ip=0x%lx post_commit_offset=%lu abort_ip=0x%lx", 50 __entry->regs_ip, __entry->start_ip, 51 __entry->post_commit_offset, __entry->abort_ip) 52 ); 53 54 #endif /* _TRACE_SOCK_H */ 55 56 /* This part must be outside protection */ 57 #include <trace/define_trace.h> 58