Root/
1 | #ifndef _TRACE_SYSCALL_H |
2 | #define _TRACE_SYSCALL_H |
3 | |
4 | #include <linux/tracepoint.h> |
5 | #include <linux/unistd.h> |
6 | #include <linux/ftrace_event.h> |
7 | |
8 | #include <asm/ptrace.h> |
9 | |
10 | |
11 | /* |
12 | * A syscall entry in the ftrace syscalls array. |
13 | * |
14 | * @name: name of the syscall |
15 | * @syscall_nr: number of the syscall |
16 | * @nb_args: number of parameters it takes |
17 | * @types: list of types as strings |
18 | * @args: list of args as strings (args[i] matches types[i]) |
19 | * @enter_event: associated syscall_enter trace event |
20 | * @exit_event: associated syscall_exit trace event |
21 | */ |
22 | struct syscall_metadata { |
23 | const char *name; |
24 | int syscall_nr; |
25 | int nb_args; |
26 | const char **types; |
27 | const char **args; |
28 | struct list_head enter_fields; |
29 | |
30 | struct ftrace_event_call *enter_event; |
31 | struct ftrace_event_call *exit_event; |
32 | }; |
33 | |
34 | #ifdef CONFIG_FTRACE_SYSCALLS |
35 | extern unsigned long arch_syscall_addr(int nr); |
36 | extern int init_syscall_trace(struct ftrace_event_call *call); |
37 | |
38 | extern int reg_event_syscall_enter(struct ftrace_event_call *call); |
39 | extern void unreg_event_syscall_enter(struct ftrace_event_call *call); |
40 | extern int reg_event_syscall_exit(struct ftrace_event_call *call); |
41 | extern void unreg_event_syscall_exit(struct ftrace_event_call *call); |
42 | extern int |
43 | ftrace_format_syscall(struct ftrace_event_call *call, struct trace_seq *s); |
44 | enum print_line_t print_syscall_enter(struct trace_iterator *iter, int flags, |
45 | struct trace_event *event); |
46 | enum print_line_t print_syscall_exit(struct trace_iterator *iter, int flags, |
47 | struct trace_event *event); |
48 | #endif |
49 | |
50 | #ifdef CONFIG_PERF_EVENTS |
51 | int perf_sysenter_enable(struct ftrace_event_call *call); |
52 | void perf_sysenter_disable(struct ftrace_event_call *call); |
53 | int perf_sysexit_enable(struct ftrace_event_call *call); |
54 | void perf_sysexit_disable(struct ftrace_event_call *call); |
55 | #endif |
56 | |
57 | #endif /* _TRACE_SYSCALL_H */ |
58 |
Branches:
ben-wpan
ben-wpan-stefan
javiroman/ks7010
jz-2.6.34
jz-2.6.34-rc5
jz-2.6.34-rc6
jz-2.6.34-rc7
jz-2.6.35
jz-2.6.36
jz-2.6.37
jz-2.6.38
jz-2.6.39
jz-3.0
jz-3.1
jz-3.11
jz-3.12
jz-3.13
jz-3.15
jz-3.16
jz-3.18-dt
jz-3.2
jz-3.3
jz-3.4
jz-3.5
jz-3.6
jz-3.6-rc2-pwm
jz-3.9
jz-3.9-clk
jz-3.9-rc8
jz47xx
jz47xx-2.6.38
master
Tags:
od-2011-09-04
od-2011-09-18
v2.6.34-rc5
v2.6.34-rc6
v2.6.34-rc7
v3.9