Lines Matching refs:bp
49 int arch_install_hw_breakpoint(struct perf_event *bp) in arch_install_hw_breakpoint() argument
51 struct arch_hw_breakpoint *info = counter_arch_bp(bp); in arch_install_hw_breakpoint()
58 *slot = bp; in arch_install_hw_breakpoint()
81 void arch_uninstall_hw_breakpoint(struct perf_event *bp) in arch_uninstall_hw_breakpoint() argument
83 struct arch_hw_breakpoint *info = counter_arch_bp(bp); in arch_uninstall_hw_breakpoint()
89 if (*slot == bp) { in arch_uninstall_hw_breakpoint()
126 int arch_check_bp_in_kernelspace(struct perf_event *bp) in arch_check_bp_in_kernelspace() argument
130 struct arch_hw_breakpoint *info = counter_arch_bp(bp); in arch_check_bp_in_kernelspace()
176 static int arch_build_bp_info(struct perf_event *bp) in arch_build_bp_info() argument
178 struct arch_hw_breakpoint *info = counter_arch_bp(bp); in arch_build_bp_info()
180 info->address = bp->attr.bp_addr; in arch_build_bp_info()
183 switch (bp->attr.bp_len) { in arch_build_bp_info()
201 switch (bp->attr.bp_type) { in arch_build_bp_info()
221 int arch_validate_hwbkpt_settings(struct perf_event *bp) in arch_validate_hwbkpt_settings() argument
223 struct arch_hw_breakpoint *info = counter_arch_bp(bp); in arch_validate_hwbkpt_settings()
227 ret = arch_build_bp_info(bp); in arch_validate_hwbkpt_settings()
284 struct perf_event *bp; in hw_breakpoint_handler() local
319 bp = per_cpu(bp_per_reg[i], cpu); in hw_breakpoint_handler()
320 if (bp) in hw_breakpoint_handler()
333 if (!bp) { in hw_breakpoint_handler()
342 if (bp->overflow_handler == ptrace_triggered) in hw_breakpoint_handler()
345 perf_bp_event(bp, args->regs); in hw_breakpoint_handler()
348 if (!arch_check_bp_in_kernelspace(bp)) { in hw_breakpoint_handler()
404 void hw_breakpoint_pmu_read(struct perf_event *bp) in hw_breakpoint_pmu_read() argument