]> git.proxmox.com Git - mirror_ubuntu-zesty-kernel.git/blame - arch/powerpc/include/asm/trace.h
powerpc: Fix dedotify for binutils >= 2.26
[mirror_ubuntu-zesty-kernel.git] / arch / powerpc / include / asm / trace.h
CommitLineData
1bf4af16
AB
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
9struct pt_regs;
10
d136e273 11DECLARE_EVENT_CLASS(ppc64_interrupt_class,
1bf4af16
AB
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
d136e273 28DEFINE_EVENT(ppc64_interrupt_class, irq_entry,
1bf4af16
AB
29
30 TP_PROTO(struct pt_regs *regs),
31
d136e273 32 TP_ARGS(regs)
1bf4af16
AB
33);
34
d136e273 35DEFINE_EVENT(ppc64_interrupt_class, irq_exit,
6795b85c
AB
36
37 TP_PROTO(struct pt_regs *regs),
38
d136e273 39 TP_ARGS(regs)
6795b85c
AB
40);
41
d136e273 42DEFINE_EVENT(ppc64_interrupt_class, timer_interrupt_entry,
6795b85c
AB
43
44 TP_PROTO(struct pt_regs *regs),
45
d136e273
AB
46 TP_ARGS(regs)
47);
6795b85c 48
d136e273 49DEFINE_EVENT(ppc64_interrupt_class, timer_interrupt_exit,
6795b85c 50
d136e273 51 TP_PROTO(struct pt_regs *regs),
6795b85c 52
d136e273 53 TP_ARGS(regs)
6795b85c
AB
54);
55
c8cd093a
AB
56#ifdef CONFIG_PPC_PSERIES
57extern void hcall_tracepoint_regfunc(void);
58extern void hcall_tracepoint_unregfunc(void);
59
60TRACE_EVENT_FN(hcall_entry,
61
6f26353c 62 TP_PROTO(unsigned long opcode, unsigned long *args),
c8cd093a 63
6f26353c 64 TP_ARGS(opcode, args),
c8cd093a
AB
65
66 TP_STRUCT__entry(
67 __field(unsigned long, opcode)
68 ),
69
70 TP_fast_assign(
71 __entry->opcode = opcode;
72 ),
73
74 TP_printk("opcode=%lu", __entry->opcode),
75
76 hcall_tracepoint_regfunc, hcall_tracepoint_unregfunc
77);
78
79TRACE_EVENT_FN(hcall_exit,
80
6f26353c
AB
81 TP_PROTO(unsigned long opcode, unsigned long retval,
82 unsigned long *retbuf),
c8cd093a 83
6f26353c 84 TP_ARGS(opcode, retval, retbuf),
c8cd093a
AB
85
86 TP_STRUCT__entry(
87 __field(unsigned long, opcode)
88 __field(unsigned long, retval)
89 ),
90
91 TP_fast_assign(
92 __entry->opcode = opcode;
93 __entry->retval = retval;
94 ),
95
96 TP_printk("opcode=%lu retval=%lu", __entry->opcode, __entry->retval),
97
98 hcall_tracepoint_regfunc, hcall_tracepoint_unregfunc
99);
100#endif
101
c49f6353
AB
102#ifdef CONFIG_PPC_POWERNV
103extern void opal_tracepoint_regfunc(void);
104extern void opal_tracepoint_unregfunc(void);
105
106TRACE_EVENT_FN(opal_entry,
107
108 TP_PROTO(unsigned long opcode, unsigned long *args),
109
110 TP_ARGS(opcode, args),
111
112 TP_STRUCT__entry(
113 __field(unsigned long, opcode)
114 ),
115
116 TP_fast_assign(
117 __entry->opcode = opcode;
118 ),
119
120 TP_printk("opcode=%lu", __entry->opcode),
121
122 opal_tracepoint_regfunc, opal_tracepoint_unregfunc
123);
124
125TRACE_EVENT_FN(opal_exit,
126
127 TP_PROTO(unsigned long opcode, unsigned long retval),
128
129 TP_ARGS(opcode, retval),
130
131 TP_STRUCT__entry(
132 __field(unsigned long, opcode)
133 __field(unsigned long, retval)
134 ),
135
136 TP_fast_assign(
137 __entry->opcode = opcode;
138 __entry->retval = retval;
139 ),
140
141 TP_printk("opcode=%lu retval=%lu", __entry->opcode, __entry->retval),
142
143 opal_tracepoint_regfunc, opal_tracepoint_unregfunc
144);
145#endif
146
cfcb3d80
AK
147TRACE_EVENT(hash_fault,
148
149 TP_PROTO(unsigned long addr, unsigned long access, unsigned long trap),
150 TP_ARGS(addr, access, trap),
151 TP_STRUCT__entry(
152 __field(unsigned long, addr)
153 __field(unsigned long, access)
154 __field(unsigned long, trap)
155 ),
156
157 TP_fast_assign(
158 __entry->addr = addr;
159 __entry->access = access;
160 __entry->trap = trap;
161 ),
162
163 TP_printk("hash fault with addr 0x%lx and access = 0x%lx trap = 0x%lx",
164 __entry->addr, __entry->access, __entry->trap)
165);
166
1bf4af16
AB
167#endif /* _TRACE_POWERPC_H */
168
169#undef TRACE_INCLUDE_PATH
170#undef TRACE_INCLUDE_FILE
171
172#define TRACE_INCLUDE_PATH asm
173#define TRACE_INCLUDE_FILE trace
174
175#include <trace/define_trace.h>