Commit | Line | Data |
---|---|---|
f50a7f3d | 1 | /* SPDX-License-Identifier: GPL-2.0-only */ |
3752e453 ME |
2 | /* |
3 | * Copyright 2014, Michael Ellerman, IBM Corp. | |
3752e453 ME |
4 | */ |
5 | ||
6 | #ifndef __SELFTESTS_POWERPC_PMU_LIB_H | |
7 | #define __SELFTESTS_POWERPC_PMU_LIB_H | |
8 | ||
9 | #include <stdio.h> | |
10 | #include <stdint.h> | |
11 | #include <string.h> | |
12 | #include <unistd.h> | |
13 | ||
14 | union pipe { | |
15 | struct { | |
16 | int read_fd; | |
17 | int write_fd; | |
18 | }; | |
19 | int fds[2]; | |
20 | }; | |
21 | ||
3752e453 ME |
22 | extern int bind_to_cpu(int cpu); |
23 | extern int kill_child_and_wait(pid_t child_pid); | |
24 | extern int wait_for_child(pid_t child_pid); | |
25 | extern int sync_with_child(union pipe read_pipe, union pipe write_pipe); | |
26 | extern int wait_for_parent(union pipe read_pipe); | |
27 | extern int notify_parent(union pipe write_pipe); | |
28 | extern int notify_parent_of_error(union pipe write_pipe); | |
29 | extern pid_t eat_cpu(int (test_function)(void)); | |
30 | extern bool require_paranoia_below(int level); | |
31 | ||
32 | struct addr_range { | |
33 | uint64_t first, last; | |
34 | }; | |
35 | ||
36 | extern struct addr_range libc, vdso; | |
37 | ||
38 | int parse_proc_maps(void); | |
39 | ||
40 | #endif /* __SELFTESTS_POWERPC_PMU_LIB_H */ |