77 lines · c
1/* SPDX-License-Identifier: GPL-2.0 */2#ifndef __PERF_TESTS__HISTS_COMMON_H__3#define __PERF_TESTS__HISTS_COMMON_H__4 5struct machine;6struct machines;7 8#define FAKE_PID_PERF1 1009#define FAKE_PID_PERF2 20010#define FAKE_PID_BASH 30011 12#define FAKE_MAP_PERF 0x40000013#define FAKE_MAP_BASH 0x40000014#define FAKE_MAP_LIBC 0x50000015#define FAKE_MAP_KERNEL 0xf0000016#define FAKE_MAP_LENGTH 0x10000017 18#define FAKE_SYM_OFFSET1 70019#define FAKE_SYM_OFFSET2 80020#define FAKE_SYM_OFFSET3 90021#define FAKE_SYM_LENGTH 10022 23#define FAKE_IP_PERF_MAIN FAKE_MAP_PERF + FAKE_SYM_OFFSET124#define FAKE_IP_PERF_RUN_COMMAND FAKE_MAP_PERF + FAKE_SYM_OFFSET225#define FAKE_IP_PERF_CMD_RECORD FAKE_MAP_PERF + FAKE_SYM_OFFSET326#define FAKE_IP_BASH_MAIN FAKE_MAP_BASH + FAKE_SYM_OFFSET127#define FAKE_IP_BASH_XMALLOC FAKE_MAP_BASH + FAKE_SYM_OFFSET228#define FAKE_IP_BASH_XFREE FAKE_MAP_BASH + FAKE_SYM_OFFSET329#define FAKE_IP_LIBC_MALLOC FAKE_MAP_LIBC + FAKE_SYM_OFFSET130#define FAKE_IP_LIBC_FREE FAKE_MAP_LIBC + FAKE_SYM_OFFSET231#define FAKE_IP_LIBC_REALLOC FAKE_MAP_LIBC + FAKE_SYM_OFFSET332#define FAKE_IP_KERNEL_SCHEDULE FAKE_MAP_KERNEL + FAKE_SYM_OFFSET133#define FAKE_IP_KERNEL_PAGE_FAULT FAKE_MAP_KERNEL + FAKE_SYM_OFFSET234#define FAKE_IP_KERNEL_SYS_PERF_EVENT_OPEN FAKE_MAP_KERNEL + FAKE_SYM_OFFSET335 36/*37 * The setup_fake_machine() provides a test environment which consists38 * of 3 processes that have 3 mappings and in turn, have 3 symbols39 * respectively. See below table:40 *41 * Command: Pid Shared Object Symbol42 * ............. ............. ...................43 * perf: 100 perf main44 * perf: 100 perf run_command45 * perf: 100 perf cmd_record46 * perf: 100 libc malloc47 * perf: 100 libc free48 * perf: 100 libc realloc49 * perf: 100 [kernel] schedule50 * perf: 100 [kernel] page_fault51 * perf: 100 [kernel] sys_perf_event_open52 * perf: 200 perf main53 * perf: 200 perf run_command54 * perf: 200 perf cmd_record55 * perf: 200 libc malloc56 * perf: 200 libc free57 * perf: 200 libc realloc58 * perf: 200 [kernel] schedule59 * perf: 200 [kernel] page_fault60 * perf: 200 [kernel] sys_perf_event_open61 * bash: 300 bash main62 * bash: 300 bash xmalloc63 * bash: 300 bash xfree64 * bash: 300 libc malloc65 * bash: 300 libc free66 * bash: 300 libc realloc67 * bash: 300 [kernel] schedule68 * bash: 300 [kernel] page_fault69 * bash: 300 [kernel] sys_perf_event_open70 */71struct machine *setup_fake_machine(struct machines *machines);72 73void print_hists_in(struct hists *hists);74void print_hists_out(struct hists *hists);75 76#endif /* __PERF_TESTS__HISTS_COMMON_H__ */77