| /* SPDX-License-Identifier: GPL-2.0 */ | |
| #ifndef __PERF_TESTS__HISTS_COMMON_H__ | |
| #define __PERF_TESTS__HISTS_COMMON_H__ | |
| struct machine; | |
| struct machines; | |
| #define FAKE_PID_PERF1 100 | |
| #define FAKE_PID_PERF2 200 | |
| #define FAKE_PID_BASH 300 | |
| #define FAKE_MAP_PERF 0x400000 | |
| #define FAKE_MAP_BASH 0x400000 | |
| #define FAKE_MAP_LIBC 0x500000 | |
| #define FAKE_MAP_KERNEL 0xf00000 | |
| #define FAKE_MAP_LENGTH 0x100000 | |
| #define FAKE_SYM_OFFSET1 700 | |
| #define FAKE_SYM_OFFSET2 800 | |
| #define FAKE_SYM_OFFSET3 900 | |
| #define FAKE_SYM_LENGTH 100 | |
| #define FAKE_IP_PERF_MAIN FAKE_MAP_PERF + FAKE_SYM_OFFSET1 | |
| #define FAKE_IP_PERF_RUN_COMMAND FAKE_MAP_PERF + FAKE_SYM_OFFSET2 | |
| #define FAKE_IP_PERF_CMD_RECORD FAKE_MAP_PERF + FAKE_SYM_OFFSET3 | |
| #define FAKE_IP_BASH_MAIN FAKE_MAP_BASH + FAKE_SYM_OFFSET1 | |
| #define FAKE_IP_BASH_XMALLOC FAKE_MAP_BASH + FAKE_SYM_OFFSET2 | |
| #define FAKE_IP_BASH_XFREE FAKE_MAP_BASH + FAKE_SYM_OFFSET3 | |
| #define FAKE_IP_LIBC_MALLOC FAKE_MAP_LIBC + FAKE_SYM_OFFSET1 | |
| #define FAKE_IP_LIBC_FREE FAKE_MAP_LIBC + FAKE_SYM_OFFSET2 | |
| #define FAKE_IP_LIBC_REALLOC FAKE_MAP_LIBC + FAKE_SYM_OFFSET3 | |
| #define FAKE_IP_KERNEL_SCHEDULE FAKE_MAP_KERNEL + FAKE_SYM_OFFSET1 | |
| #define FAKE_IP_KERNEL_PAGE_FAULT FAKE_MAP_KERNEL + FAKE_SYM_OFFSET2 | |
| #define FAKE_IP_KERNEL_SYS_PERF_EVENT_OPEN FAKE_MAP_KERNEL + FAKE_SYM_OFFSET3 | |
| /* | |
| * The setup_fake_machine() provides a test environment which consists | |
| * of 3 processes that have 3 mappings and in turn, have 3 symbols | |
| * respectively. See below table: | |
| * | |
| * Command: Pid Shared Object Symbol | |
| * ............. ............. ................... | |
| * perf: 100 perf main | |
| * perf: 100 perf run_command | |
| * perf: 100 perf cmd_record | |
| * perf: 100 libc malloc | |
| * perf: 100 libc free | |
| * perf: 100 libc realloc | |
| * perf: 100 [kernel] schedule | |
| * perf: 100 [kernel] page_fault | |
| * perf: 100 [kernel] sys_perf_event_open | |
| * perf: 200 perf main | |
| * perf: 200 perf run_command | |
| * perf: 200 perf cmd_record | |
| * perf: 200 libc malloc | |
| * perf: 200 libc free | |
| * perf: 200 libc realloc | |
| * perf: 200 [kernel] schedule | |
| * perf: 200 [kernel] page_fault | |
| * perf: 200 [kernel] sys_perf_event_open | |
| * bash: 300 bash main | |
| * bash: 300 bash xmalloc | |
| * bash: 300 bash xfree | |
| * bash: 300 libc malloc | |
| * bash: 300 libc free | |
| * bash: 300 libc realloc | |
| * bash: 300 [kernel] schedule | |
| * bash: 300 [kernel] page_fault | |
| * bash: 300 [kernel] sys_perf_event_open | |
| */ | |
| struct machine *setup_fake_machine(struct machines *machines); | |
| void print_hists_in(struct hists *hists); | |
| void print_hists_out(struct hists *hists); | |
| #endif /* __PERF_TESTS__HISTS_COMMON_H__ */ |