diff options
Diffstat (limited to 'include/trace/syscall.h')
-rw-r--r-- | include/trace/syscall.h | 33 |
1 files changed, 15 insertions, 18 deletions
diff --git a/include/trace/syscall.h b/include/trace/syscall.h index 5dc283ba5ae0..961fda3556bb 100644 --- a/include/trace/syscall.h +++ b/include/trace/syscall.h | |||
@@ -12,51 +12,48 @@ | |||
12 | * A syscall entry in the ftrace syscalls array. | 12 | * A syscall entry in the ftrace syscalls array. |
13 | * | 13 | * |
14 | * @name: name of the syscall | 14 | * @name: name of the syscall |
15 | * @syscall_nr: number of the syscall | ||
15 | * @nb_args: number of parameters it takes | 16 | * @nb_args: number of parameters it takes |
16 | * @types: list of types as strings | 17 | * @types: list of types as strings |
17 | * @args: list of args as strings (args[i] matches types[i]) | 18 | * @args: list of args as strings (args[i] matches types[i]) |
18 | * @enter_id: associated ftrace enter event id | ||
19 | * @exit_id: associated ftrace exit event id | ||
20 | * @enter_event: associated syscall_enter trace event | 19 | * @enter_event: associated syscall_enter trace event |
21 | * @exit_event: associated syscall_exit trace event | 20 | * @exit_event: associated syscall_exit trace event |
22 | */ | 21 | */ |
23 | struct syscall_metadata { | 22 | struct syscall_metadata { |
24 | const char *name; | 23 | const char *name; |
24 | int syscall_nr; | ||
25 | int nb_args; | 25 | int nb_args; |
26 | const char **types; | 26 | const char **types; |
27 | const char **args; | 27 | const char **args; |
28 | int enter_id; | ||
29 | int exit_id; | ||
30 | 28 | ||
31 | struct ftrace_event_call *enter_event; | 29 | struct ftrace_event_call *enter_event; |
32 | struct ftrace_event_call *exit_event; | 30 | struct ftrace_event_call *exit_event; |
33 | }; | 31 | }; |
34 | 32 | ||
35 | #ifdef CONFIG_FTRACE_SYSCALLS | 33 | #ifdef CONFIG_FTRACE_SYSCALLS |
36 | extern struct syscall_metadata *syscall_nr_to_meta(int nr); | 34 | extern unsigned long arch_syscall_addr(int nr); |
37 | extern int syscall_name_to_nr(char *name); | 35 | extern int init_syscall_trace(struct ftrace_event_call *call); |
38 | void set_syscall_enter_id(int num, int id); | 36 | |
39 | void set_syscall_exit_id(int num, int id); | ||
40 | extern struct trace_event event_syscall_enter; | ||
41 | extern struct trace_event event_syscall_exit; | ||
42 | extern int reg_event_syscall_enter(void *ptr); | ||
43 | extern void unreg_event_syscall_enter(void *ptr); | ||
44 | extern int reg_event_syscall_exit(void *ptr); | ||
45 | extern void unreg_event_syscall_exit(void *ptr); | ||
46 | extern int syscall_enter_format(struct ftrace_event_call *call, | 37 | extern int syscall_enter_format(struct ftrace_event_call *call, |
47 | struct trace_seq *s); | 38 | struct trace_seq *s); |
48 | extern int syscall_exit_format(struct ftrace_event_call *call, | 39 | extern int syscall_exit_format(struct ftrace_event_call *call, |
49 | struct trace_seq *s); | 40 | struct trace_seq *s); |
50 | extern int syscall_enter_define_fields(struct ftrace_event_call *call); | 41 | extern int syscall_enter_define_fields(struct ftrace_event_call *call); |
51 | extern int syscall_exit_define_fields(struct ftrace_event_call *call); | 42 | extern int syscall_exit_define_fields(struct ftrace_event_call *call); |
43 | extern int reg_event_syscall_enter(struct ftrace_event_call *call); | ||
44 | extern void unreg_event_syscall_enter(struct ftrace_event_call *call); | ||
45 | extern int reg_event_syscall_exit(struct ftrace_event_call *call); | ||
46 | extern void unreg_event_syscall_exit(struct ftrace_event_call *call); | ||
47 | extern int | ||
48 | ftrace_format_syscall(struct ftrace_event_call *call, struct trace_seq *s); | ||
52 | enum print_line_t print_syscall_enter(struct trace_iterator *iter, int flags); | 49 | enum print_line_t print_syscall_enter(struct trace_iterator *iter, int flags); |
53 | enum print_line_t print_syscall_exit(struct trace_iterator *iter, int flags); | 50 | enum print_line_t print_syscall_exit(struct trace_iterator *iter, int flags); |
54 | #endif | 51 | #endif |
55 | #ifdef CONFIG_EVENT_PROFILE | 52 | #ifdef CONFIG_EVENT_PROFILE |
56 | int reg_prof_syscall_enter(char *name); | 53 | int prof_sysenter_enable(struct ftrace_event_call *call); |
57 | void unreg_prof_syscall_enter(char *name); | 54 | void prof_sysenter_disable(struct ftrace_event_call *call); |
58 | int reg_prof_syscall_exit(char *name); | 55 | int prof_sysexit_enable(struct ftrace_event_call *call); |
59 | void unreg_prof_syscall_exit(char *name); | 56 | void prof_sysexit_disable(struct ftrace_event_call *call); |
60 | 57 | ||
61 | #endif | 58 | #endif |
62 | 59 | ||