162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0+ */ 262306a36Sopenharmony_ci#undef TRACE_SYSTEM 362306a36Sopenharmony_ci#define TRACE_SYSTEM rseq 462306a36Sopenharmony_ci 562306a36Sopenharmony_ci#if !defined(_TRACE_RSEQ_H) || defined(TRACE_HEADER_MULTI_READ) 662306a36Sopenharmony_ci#define _TRACE_RSEQ_H 762306a36Sopenharmony_ci 862306a36Sopenharmony_ci#include <linux/tracepoint.h> 962306a36Sopenharmony_ci#include <linux/types.h> 1062306a36Sopenharmony_ci 1162306a36Sopenharmony_ciTRACE_EVENT(rseq_update, 1262306a36Sopenharmony_ci 1362306a36Sopenharmony_ci TP_PROTO(struct task_struct *t), 1462306a36Sopenharmony_ci 1562306a36Sopenharmony_ci TP_ARGS(t), 1662306a36Sopenharmony_ci 1762306a36Sopenharmony_ci TP_STRUCT__entry( 1862306a36Sopenharmony_ci __field(s32, cpu_id) 1962306a36Sopenharmony_ci __field(s32, node_id) 2062306a36Sopenharmony_ci __field(s32, mm_cid) 2162306a36Sopenharmony_ci ), 2262306a36Sopenharmony_ci 2362306a36Sopenharmony_ci TP_fast_assign( 2462306a36Sopenharmony_ci __entry->cpu_id = raw_smp_processor_id(); 2562306a36Sopenharmony_ci __entry->node_id = cpu_to_node(__entry->cpu_id); 2662306a36Sopenharmony_ci __entry->mm_cid = task_mm_cid(t); 2762306a36Sopenharmony_ci ), 2862306a36Sopenharmony_ci 2962306a36Sopenharmony_ci TP_printk("cpu_id=%d node_id=%d mm_cid=%d", __entry->cpu_id, 3062306a36Sopenharmony_ci __entry->node_id, __entry->mm_cid) 3162306a36Sopenharmony_ci); 3262306a36Sopenharmony_ci 3362306a36Sopenharmony_ciTRACE_EVENT(rseq_ip_fixup, 3462306a36Sopenharmony_ci 3562306a36Sopenharmony_ci TP_PROTO(unsigned long regs_ip, unsigned long start_ip, 3662306a36Sopenharmony_ci unsigned long post_commit_offset, unsigned long abort_ip), 3762306a36Sopenharmony_ci 3862306a36Sopenharmony_ci TP_ARGS(regs_ip, start_ip, post_commit_offset, abort_ip), 3962306a36Sopenharmony_ci 4062306a36Sopenharmony_ci TP_STRUCT__entry( 4162306a36Sopenharmony_ci __field(unsigned long, regs_ip) 4262306a36Sopenharmony_ci __field(unsigned long, start_ip) 4362306a36Sopenharmony_ci __field(unsigned long, post_commit_offset) 4462306a36Sopenharmony_ci __field(unsigned long, abort_ip) 4562306a36Sopenharmony_ci ), 4662306a36Sopenharmony_ci 4762306a36Sopenharmony_ci TP_fast_assign( 4862306a36Sopenharmony_ci __entry->regs_ip = regs_ip; 4962306a36Sopenharmony_ci __entry->start_ip = start_ip; 5062306a36Sopenharmony_ci __entry->post_commit_offset = post_commit_offset; 5162306a36Sopenharmony_ci __entry->abort_ip = abort_ip; 5262306a36Sopenharmony_ci ), 5362306a36Sopenharmony_ci 5462306a36Sopenharmony_ci TP_printk("regs_ip=0x%lx start_ip=0x%lx post_commit_offset=%lu abort_ip=0x%lx", 5562306a36Sopenharmony_ci __entry->regs_ip, __entry->start_ip, 5662306a36Sopenharmony_ci __entry->post_commit_offset, __entry->abort_ip) 5762306a36Sopenharmony_ci); 5862306a36Sopenharmony_ci 5962306a36Sopenharmony_ci#endif /* _TRACE_SOCK_H */ 6062306a36Sopenharmony_ci 6162306a36Sopenharmony_ci/* This part must be outside protection */ 6262306a36Sopenharmony_ci#include <trace/define_trace.h> 63