1b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */ 2d784e298SPunit Agrawal #undef TRACE_SYSTEM 3d784e298SPunit Agrawal #define TRACE_SYSTEM emulation 4d784e298SPunit Agrawal 5d784e298SPunit Agrawal #if !defined(_TRACE_EMULATION_H) || defined(TRACE_HEADER_MULTI_READ) 6d784e298SPunit Agrawal #define _TRACE_EMULATION_H 7d784e298SPunit Agrawal 8d784e298SPunit Agrawal #include <linux/tracepoint.h> 9d784e298SPunit Agrawal 10d784e298SPunit Agrawal TRACE_EVENT(instruction_emulation, 11d784e298SPunit Agrawal 12d784e298SPunit Agrawal TP_PROTO(const char *instr, u64 addr), 13d784e298SPunit Agrawal TP_ARGS(instr, addr), 14d784e298SPunit Agrawal 15d784e298SPunit Agrawal TP_STRUCT__entry( 16d784e298SPunit Agrawal __string(instr, instr) 17d784e298SPunit Agrawal __field(u64, addr) 18d784e298SPunit Agrawal ), 19d784e298SPunit Agrawal 20d784e298SPunit Agrawal TP_fast_assign( 21*2c92ca84SSteven Rostedt (Google) __assign_str(instr); 22d784e298SPunit Agrawal __entry->addr = addr; 23d784e298SPunit Agrawal ), 24d784e298SPunit Agrawal 25d784e298SPunit Agrawal TP_printk("instr=\"%s\" addr=0x%llx", __get_str(instr), __entry->addr) 26d784e298SPunit Agrawal ); 27d784e298SPunit Agrawal 28d784e298SPunit Agrawal #endif /* _TRACE_EMULATION_H */ 29d784e298SPunit Agrawal 30d784e298SPunit Agrawal /* This part must be outside protection */ 31d784e298SPunit Agrawal #undef TRACE_INCLUDE_PATH 32d784e298SPunit Agrawal #undef TRACE_INCLUDE_FILE 33d784e298SPunit Agrawal #define TRACE_INCLUDE_PATH . 34d784e298SPunit Agrawal 35d784e298SPunit Agrawal #define TRACE_INCLUDE_FILE trace-events-emulation 36d784e298SPunit Agrawal #include <trace/define_trace.h> 37