Lines Matching refs:bp
364 static void ptrace_hbptriggered(struct perf_event *bp,
369 struct arch_hw_breakpoint *bkpt = counter_arch_bp(bp);
371 if (bp->attr.bp_type & HW_BREAKPOINT_X) {
373 if (current->thread.ptrace_bp[i] == bp)
378 if (current->thread.ptrace_wp[i] == bp)
417 struct perf_event *bp;
427 bp = child->thread.ptrace_wp[idx];
429 bp = child->thread.ptrace_bp[idx];
431 if (bp) {
432 user_data[0] = bp->attr.bp_addr;
433 user_data[1] = bp->attr.disabled ? 0 : bp->attr.bp_len;
435 if (bp->attr.bp_type & HW_BREAKPOINT_R)
437 if (bp->attr.bp_type & HW_BREAKPOINT_W)
451 struct perf_event *bp;
466 bp = child->thread.ptrace_wp[idx];
472 bp = child->thread.ptrace_bp[idx];
476 if (!bp) {
477 bp = ptrace_hbp_create(child,
479 if (IS_ERR(bp))
480 return PTR_ERR(bp);
482 child->thread.ptrace_wp[idx] = bp;
484 child->thread.ptrace_bp[idx] = bp;
487 attr = bp->attr;
493 return modify_user_hw_breakpoint(bp, &attr);