|  | /* SPDX-License-Identifier: GPL-2.0+ */ | 
|  | #undef TRACE_SYSTEM | 
|  | #define TRACE_SYSTEM rseq | 
|  |  | 
|  | #if !defined(_TRACE_RSEQ_H) || defined(TRACE_HEADER_MULTI_READ) | 
|  | #define _TRACE_RSEQ_H | 
|  |  | 
|  | #include <linux/tracepoint.h> | 
|  | #include <linux/types.h> | 
|  |  | 
|  | TRACE_EVENT(rseq_update, | 
|  |  | 
|  | TP_PROTO(struct task_struct *t), | 
|  |  | 
|  | TP_ARGS(t), | 
|  |  | 
|  | TP_STRUCT__entry( | 
|  | __field(s32, cpu_id) | 
|  | ), | 
|  |  | 
|  | TP_fast_assign( | 
|  | __entry->cpu_id = raw_smp_processor_id(); | 
|  | ), | 
|  |  | 
|  | TP_printk("cpu_id=%d", __entry->cpu_id) | 
|  | ); | 
|  |  | 
|  | TRACE_EVENT(rseq_ip_fixup, | 
|  |  | 
|  | TP_PROTO(unsigned long regs_ip, unsigned long start_ip, | 
|  | unsigned long post_commit_offset, unsigned long abort_ip), | 
|  |  | 
|  | TP_ARGS(regs_ip, start_ip, post_commit_offset, abort_ip), | 
|  |  | 
|  | TP_STRUCT__entry( | 
|  | __field(unsigned long, regs_ip) | 
|  | __field(unsigned long, start_ip) | 
|  | __field(unsigned long, post_commit_offset) | 
|  | __field(unsigned long, abort_ip) | 
|  | ), | 
|  |  | 
|  | TP_fast_assign( | 
|  | __entry->regs_ip = regs_ip; | 
|  | __entry->start_ip = start_ip; | 
|  | __entry->post_commit_offset = post_commit_offset; | 
|  | __entry->abort_ip = abort_ip; | 
|  | ), | 
|  |  | 
|  | TP_printk("regs_ip=0x%lx start_ip=0x%lx post_commit_offset=%lu abort_ip=0x%lx", | 
|  | __entry->regs_ip, __entry->start_ip, | 
|  | __entry->post_commit_offset, __entry->abort_ip) | 
|  | ); | 
|  |  | 
|  | #endif /* _TRACE_SOCK_H */ | 
|  |  | 
|  | /* This part must be outside protection */ | 
|  | #include <trace/define_trace.h> |