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