Lines Matching refs:bp
194 struct perf_event *bp, in hw_breakpoint_slot_setup() argument
205 *slot = bp; in hw_breakpoint_slot_setup()
210 if (*slot == bp) { in hw_breakpoint_slot_setup()
216 if (*slot == bp) in hw_breakpoint_slot_setup()
227 static int hw_breakpoint_control(struct perf_event *bp, in hw_breakpoint_control() argument
230 struct arch_hw_breakpoint *info = counter_arch_bp(bp); in hw_breakpoint_control()
253 i = hw_breakpoint_slot_setup(slots, max_slots, bp, ops); in hw_breakpoint_control()
293 int arch_install_hw_breakpoint(struct perf_event *bp) in arch_install_hw_breakpoint() argument
295 return hw_breakpoint_control(bp, HW_BREAKPOINT_INSTALL); in arch_install_hw_breakpoint()
298 void arch_uninstall_hw_breakpoint(struct perf_event *bp) in arch_uninstall_hw_breakpoint() argument
300 hw_breakpoint_control(bp, HW_BREAKPOINT_UNINSTALL); in arch_uninstall_hw_breakpoint()
328 int arch_check_bp_in_kernelspace(struct perf_event *bp) in arch_check_bp_in_kernelspace() argument
332 struct arch_hw_breakpoint *info = counter_arch_bp(bp); in arch_check_bp_in_kernelspace()
390 static int arch_build_bp_info(struct perf_event *bp) in arch_build_bp_info() argument
392 struct arch_hw_breakpoint *info = counter_arch_bp(bp); in arch_build_bp_info()
395 switch (bp->attr.bp_type) { in arch_build_bp_info()
413 switch (bp->attr.bp_len) { in arch_build_bp_info()
452 info->address = bp->attr.bp_addr; in arch_build_bp_info()
459 if (arch_check_bp_in_kernelspace(bp)) in arch_build_bp_info()
465 info->ctrl.enabled = !bp->attr.disabled; in arch_build_bp_info()
473 int arch_validate_hwbkpt_settings(struct perf_event *bp) in arch_validate_hwbkpt_settings() argument
475 struct arch_hw_breakpoint *info = counter_arch_bp(bp); in arch_validate_hwbkpt_settings()
480 ret = arch_build_bp_info(bp); in arch_validate_hwbkpt_settings()
530 if (info->ctrl.privilege == AARCH64_BREAKPOINT_EL1 && bp->hw.target) in arch_validate_hwbkpt_settings()
586 struct perf_event *bp, **slots; in breakpoint_handler() local
597 bp = slots[i]; in breakpoint_handler()
599 if (bp == NULL) in breakpoint_handler()
613 counter_arch_bp(bp)->trigger = addr; in breakpoint_handler()
614 perf_bp_event(bp, regs); in breakpoint_handler()
617 if (!bp->overflow_handler) in breakpoint_handler()
943 void hw_breakpoint_pmu_read(struct perf_event *bp) in hw_breakpoint_pmu_read() argument