Lines Matching +full:close +full:- +full:range
1 // SPDX-License-Identifier: GPL-2.0+
17 /* Overlapping address range */
21 /* Non-overlapping address range */
38 while (getline(&line, &len, fp) != -1) { in pid_max_addr()
51 return -1; in pid_max_addr()
57 attr->type = PERF_TYPE_BREAKPOINT; in perf_user_event_attr_set()
58 attr->size = sizeof(struct perf_event_attr); in perf_user_event_attr_set()
59 attr->bp_type = HW_BREAKPOINT_R; in perf_user_event_attr_set()
60 attr->bp_addr = addr; in perf_user_event_attr_set()
61 attr->bp_len = len; in perf_user_event_attr_set()
62 attr->exclude_kernel = 1; in perf_user_event_attr_set()
63 attr->exclude_hv = 1; in perf_user_event_attr_set()
69 attr->type = PERF_TYPE_BREAKPOINT; in perf_kernel_event_attr_set()
70 attr->size = sizeof(struct perf_event_attr); in perf_kernel_event_attr_set()
71 attr->bp_type = HW_BREAKPOINT_R; in perf_kernel_event_attr_set()
72 attr->bp_addr = pid_max_addr(); in perf_kernel_event_attr_set()
73 attr->bp_len = sizeof(unsigned long); in perf_kernel_event_attr_set()
74 attr->exclude_user = 1; in perf_kernel_event_attr_set()
75 attr->exclude_hv = 1; in perf_kernel_event_attr_set()
83 return syscall(__NR_perf_event_open, &attr, -1, cpu, -1, 0); in perf_cpu_event_open()
91 return syscall(__NR_perf_event_open, &attr, child_pid, -1, -1, 0); in perf_thread_event_open()
99 return syscall(__NR_perf_event_open, &attr, child_pid, cpu, -1, 0); in perf_thread_cpu_event_open()
107 return syscall(__NR_perf_event_open, &attr, child_pid, -1, -1, 0); in perf_thread_kernel_event_open()
115 return syscall(__NR_perf_event_open, &attr, -1, cpu, -1, 0); in perf_cpu_kernel_event_open()
127 kill(getpid(), SIGUSR1); /* --> parent (SIGUSR1) */ in child()
135 info->version = 1; in ptrace_ppc_hw_breakpoint()
136 info->trigger_type = type; in ptrace_ppc_hw_breakpoint()
137 info->condition_mode = PPC_BREAKPOINT_CONDITION_NONE; in ptrace_ppc_hw_breakpoint()
138 info->addr = addr; in ptrace_ppc_hw_breakpoint()
139 info->addr2 = addr + len; in ptrace_ppc_hw_breakpoint()
140 info->condition_value = 0; in ptrace_ppc_hw_breakpoint()
142 info->addr_mode = PPC_BREAKPOINT_MODE_EXACT; in ptrace_ppc_hw_breakpoint()
144 info->addr_mode = PPC_BREAKPOINT_MODE_RANGE_INCLUSIVE; in ptrace_ppc_hw_breakpoint()
164 * if (addr range overlaps) in test1()
170 return -1; in test1()
174 ret = -1; in test1()
176 close(perf_fd); in test1()
189 * if (addr range does not overlaps) in test2()
195 return -1; in test2()
199 ret = -1; in test2()
205 close(perf_fd); in test2()
218 * if (addr range overlaps) in test3()
224 return -1; in test3()
228 ret = -1; in test3()
230 close(perf_fd); in test3()
243 * if (addr range does not overlaps) in test4()
249 return -1; in test4()
253 ret = -1; in test4()
259 close(perf_fd); in test4()
284 ret = -1; in test5()
290 ret = -1; in test5()
296 close(perf_fd); in test5()
312 * -- OR -- in test6()
319 return -1; in test6()
323 ret = -1; in test6()
326 close(perf_fd); in test6()
330 ret = -1; in test6()
333 close(perf_fd); in test6()
349 * if (addr range overlaps) in test7()
354 return -1; in test7()
359 ret = -1; in test7()
374 * if (addr range does not overlaps) in test8()
379 return -1; in test8()
384 ret = -1; in test8()
387 close(perf_fd); in test8()
408 return -1; in test9()
419 ret = -1; in test9()
422 close(perf_fd); in test9()
439 * if (addr range overlaps) in test10()
444 return -1; in test10()
448 ret = -1; in test10()
463 * if (addr range does not overlap) in test11()
468 return -1; in test11()
472 ret = -1; in test11()
475 close(perf_fd); in test11()
491 * if (addr range overlaps) in test12()
496 return -1; in test12()
500 ret = -1; in test12()
515 * if (addr range does not overlap) in test13()
520 return -1; in test13()
524 ret = -1; in test13()
527 close(perf_fd); in test13()
548 return -1; in test14()
560 ret = -1; in test14()
563 close(perf_fd); in test14()
584 "perf cpu event -> ptrace thread event (Overlapping)",
585 "perf cpu event -> ptrace thread event (Non-overlapping)",
586 "perf thread event -> ptrace same thread event (Overlapping)",
587 "perf thread event -> ptrace same thread event (Non-overlapping)",
588 "perf thread event -> ptrace other thread event",
589 "ptrace thread event -> perf kernel event",
590 "ptrace thread event -> perf same thread event (Overlapping)",
591 "ptrace thread event -> perf same thread event (Non-overlapping)",
592 "ptrace thread event -> perf other thread event",
593 "ptrace thread event -> perf cpu event (Overlapping)",
594 "ptrace thread event -> perf cpu event (Non-overlapping)",
595 "ptrace thread event -> perf same thread & cpu event (Overlapping)",
596 "ptrace thread event -> perf same thread & cpu event (Non-overlapping)",
597 "ptrace thread event -> perf other thread & cpu event",
626 exit(-1); in get_dbginfo()
641 wait(NULL); /* <-- child (SIGUSR1) */ in ptrace_perf_hwbreak()
648 close(ret); in ptrace_perf_hwbreak()
658 return test_harness(ptrace_perf_hwbreak, "ptrace-perf-hwbreak"); in main()