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