aboutsummaryrefslogtreecommitdiffstats
path: root/tools/testing/selftests/bpf/trace_helpers.h
diff options
context:
space:
mode:
authorYonghong Song <yhs@fb.com>2018-04-28 22:28:13 -0700
committerAlexei Starovoitov <ast@kernel.org>2018-04-29 08:45:54 -0700
commit28dbf861deacb0321604bf1c5e1ccc34dd215669 (patch)
treeae98045b9d24ea60e1034b08200d74e762dde8bb /tools/testing/selftests/bpf/trace_helpers.h
parenttools/bpf: add bpf_get_stack helper to tools headers (diff)
downloadlinux-dev-28dbf861deacb0321604bf1c5e1ccc34dd215669.tar.xz
linux-dev-28dbf861deacb0321604bf1c5e1ccc34dd215669.zip
samples/bpf: move common-purpose trace functions to selftests
There is no functionality change in this patch. The common-purpose trace functions, including perf_event polling and ksym lookup, are moved from trace_output_user.c and bpf_load.c to selftests/bpf/trace_helpers.c so that these function can be reused later in selftests. Acked-by: Alexei Starovoitov <ast@fb.com> Signed-off-by: Yonghong Song <yhs@fb.com> Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Diffstat (limited to 'tools/testing/selftests/bpf/trace_helpers.h')
-rw-r--r--tools/testing/selftests/bpf/trace_helpers.h23
1 files changed, 23 insertions, 0 deletions
diff --git a/tools/testing/selftests/bpf/trace_helpers.h b/tools/testing/selftests/bpf/trace_helpers.h
new file mode 100644
index 000000000000..fe3eefd21e86
--- /dev/null
+++ b/tools/testing/selftests/bpf/trace_helpers.h
@@ -0,0 +1,23 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+#ifndef __TRACE_HELPER_H
+#define __TRACE_HELPER_H
+
+struct ksym {
+ long addr;
+ char *name;
+};
+
+int load_kallsyms(void);
+struct ksym *ksym_search(long key);
+
+typedef int (*perf_event_print_fn)(void *data, int size);
+
+/* return code for perf_event_print_fn */
+#define PERF_EVENT_DONE 0
+#define PERF_EVENT_ERROR -1
+#define PERF_EVENT_CONT -2
+
+int perf_event_mmap(int fd);
+/* return PERF_EVENT_DONE or PERF_EVENT_ERROR */
+int perf_event_poller(int fd, perf_event_print_fn output_fn);
+#endif