xref: /openbmc/linux/arch/powerpc/include/asm/trace.h (revision df2634f43f5106947f3735a0b61a6527a4b278cd)
1 #undef TRACE_SYSTEM
2 #define TRACE_SYSTEM powerpc
3 
4 #if !defined(_TRACE_POWERPC_H) || defined(TRACE_HEADER_MULTI_READ)
5 #define _TRACE_POWERPC_H
6 
7 #include <linux/tracepoint.h>
8 
9 struct pt_regs;
10 
11 TRACE_EVENT(irq_entry,
12 
13 	TP_PROTO(struct pt_regs *regs),
14 
15 	TP_ARGS(regs),
16 
17 	TP_STRUCT__entry(
18 		__field(struct pt_regs *, regs)
19 	),
20 
21 	TP_fast_assign(
22 		__entry->regs = regs;
23 	),
24 
25 	TP_printk("pt_regs=%p", __entry->regs)
26 );
27 
28 TRACE_EVENT(irq_exit,
29 
30 	TP_PROTO(struct pt_regs *regs),
31 
32 	TP_ARGS(regs),
33 
34 	TP_STRUCT__entry(
35 		__field(struct pt_regs *, regs)
36 	),
37 
38 	TP_fast_assign(
39 		__entry->regs = regs;
40 	),
41 
42 	TP_printk("pt_regs=%p", __entry->regs)
43 );
44 
45 TRACE_EVENT(timer_interrupt_entry,
46 
47 	TP_PROTO(struct pt_regs *regs),
48 
49 	TP_ARGS(regs),
50 
51 	TP_STRUCT__entry(
52 		__field(struct pt_regs *, regs)
53 	),
54 
55 	TP_fast_assign(
56 		__entry->regs = regs;
57 	),
58 
59 	TP_printk("pt_regs=%p", __entry->regs)
60 );
61 
62 TRACE_EVENT(timer_interrupt_exit,
63 
64 	TP_PROTO(struct pt_regs *regs),
65 
66 	TP_ARGS(regs),
67 
68 	TP_STRUCT__entry(
69 		__field(struct pt_regs *, regs)
70 	),
71 
72 	TP_fast_assign(
73 		__entry->regs = regs;
74 	),
75 
76 	TP_printk("pt_regs=%p", __entry->regs)
77 );
78 
79 #ifdef CONFIG_PPC_PSERIES
80 extern void hcall_tracepoint_regfunc(void);
81 extern void hcall_tracepoint_unregfunc(void);
82 
83 TRACE_EVENT_FN(hcall_entry,
84 
85 	TP_PROTO(unsigned long opcode, unsigned long *args),
86 
87 	TP_ARGS(opcode, args),
88 
89 	TP_STRUCT__entry(
90 		__field(unsigned long, opcode)
91 	),
92 
93 	TP_fast_assign(
94 		__entry->opcode = opcode;
95 	),
96 
97 	TP_printk("opcode=%lu", __entry->opcode),
98 
99 	hcall_tracepoint_regfunc, hcall_tracepoint_unregfunc
100 );
101 
102 TRACE_EVENT_FN(hcall_exit,
103 
104 	TP_PROTO(unsigned long opcode, unsigned long retval,
105 		unsigned long *retbuf),
106 
107 	TP_ARGS(opcode, retval, retbuf),
108 
109 	TP_STRUCT__entry(
110 		__field(unsigned long, opcode)
111 		__field(unsigned long, retval)
112 	),
113 
114 	TP_fast_assign(
115 		__entry->opcode = opcode;
116 		__entry->retval = retval;
117 	),
118 
119 	TP_printk("opcode=%lu retval=%lu", __entry->opcode, __entry->retval),
120 
121 	hcall_tracepoint_regfunc, hcall_tracepoint_unregfunc
122 );
123 #endif
124 
125 #endif /* _TRACE_POWERPC_H */
126 
127 #undef TRACE_INCLUDE_PATH
128 #undef TRACE_INCLUDE_FILE
129 
130 #define TRACE_INCLUDE_PATH asm
131 #define TRACE_INCLUDE_FILE trace
132 
133 #include <trace/define_trace.h>
134