xref: /linux/arch/arm64/kernel/trace-events-emulation.h (revision d784e2988a3e70a6f1047e80e01465a903ea2eba)
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