/arch/powerpc/kernel/ |
D | hw_breakpoint.c | 54 int arch_install_hw_breakpoint(struct perf_event *bp) in arch_install_hw_breakpoint() argument 56 struct arch_hw_breakpoint *info = counter_arch_bp(bp); in arch_install_hw_breakpoint() 59 *slot = bp; in arch_install_hw_breakpoint() 65 if (current->thread.last_hit_ubp != bp) in arch_install_hw_breakpoint() 80 void arch_uninstall_hw_breakpoint(struct perf_event *bp) in arch_uninstall_hw_breakpoint() argument 84 if (*slot != bp) { in arch_uninstall_hw_breakpoint() 97 void arch_unregister_hw_breakpoint(struct perf_event *bp) in arch_unregister_hw_breakpoint() argument 105 if (bp->ctx && bp->ctx->task && bp->ctx->task != ((void *)-1L)) in arch_unregister_hw_breakpoint() 106 bp->ctx->task->thread.last_hit_ubp = NULL; in arch_unregister_hw_breakpoint() 132 int hw_breakpoint_arch_parse(struct perf_event *bp, in hw_breakpoint_arch_parse() argument [all …]
|
/arch/powerpc/sysdev/ |
D | grackle.c | 26 static inline void grackle_set_stg(struct pci_controller* bp, int enable) in grackle_set_stg() argument 30 out_be32(bp->cfg_addr, GRACKLE_CFA(0, 0, 0xa8)); in grackle_set_stg() 31 val = in_le32(bp->cfg_data); in grackle_set_stg() 34 out_be32(bp->cfg_addr, GRACKLE_CFA(0, 0, 0xa8)); in grackle_set_stg() 35 out_le32(bp->cfg_data, val); in grackle_set_stg() 36 (void)in_le32(bp->cfg_data); in grackle_set_stg() 39 static inline void grackle_set_loop_snoop(struct pci_controller *bp, int enable) in grackle_set_loop_snoop() argument 43 out_be32(bp->cfg_addr, GRACKLE_CFA(0, 0, 0xa8)); in grackle_set_loop_snoop() 44 val = in_le32(bp->cfg_data); in grackle_set_loop_snoop() 47 out_be32(bp->cfg_addr, GRACKLE_CFA(0, 0, 0xa8)); in grackle_set_loop_snoop() [all …]
|
/arch/xtensa/kernel/ |
D | hw_breakpoint.c | 50 int hw_breakpoint_arch_parse(struct perf_event *bp, in hw_breakpoint_arch_parse() argument 134 struct perf_event *bp) in alloc_slot() argument 140 slot[i] = bp; in alloc_slot() 147 static void set_ibreak_regs(int reg, struct perf_event *bp) in set_ibreak_regs() argument 149 struct arch_hw_breakpoint *info = counter_arch_bp(bp); in set_ibreak_regs() 157 static void set_dbreak_regs(int reg, struct perf_event *bp) in set_dbreak_regs() argument 159 struct arch_hw_breakpoint *info = counter_arch_bp(bp); in set_dbreak_regs() 171 int arch_install_hw_breakpoint(struct perf_event *bp) in arch_install_hw_breakpoint() argument 175 if (counter_arch_bp(bp)->type == XTENSA_BREAKPOINT_EXECUTE) { in arch_install_hw_breakpoint() 177 i = alloc_slot(this_cpu_ptr(bp_on_reg), XCHAL_NUM_IBREAK, bp); in arch_install_hw_breakpoint() [all …]
|
D | ptrace.c | 365 static void ptrace_hbptriggered(struct perf_event *bp, in ptrace_hbptriggered() argument 370 struct arch_hw_breakpoint *bkpt = counter_arch_bp(bp); in ptrace_hbptriggered() 372 if (bp->attr.bp_type & HW_BREAKPOINT_X) { in ptrace_hbptriggered() 374 if (current->thread.ptrace_bp[i] == bp) in ptrace_hbptriggered() 379 if (current->thread.ptrace_wp[i] == bp) in ptrace_hbptriggered() 418 struct perf_event *bp; in ptrace_gethbpregs() local 428 bp = child->thread.ptrace_wp[idx]; in ptrace_gethbpregs() 430 bp = child->thread.ptrace_bp[idx]; in ptrace_gethbpregs() 432 if (bp) { in ptrace_gethbpregs() 433 user_data[0] = bp->attr.bp_addr; in ptrace_gethbpregs() [all …]
|
/arch/x86/kernel/ |
D | unwind_frame.c | 28 return state->regs ? &state->regs->ip : state->bp + 1; in unwind_get_return_address_ptr() 93 return state->bp == last_frame(state); in is_last_frame() 135 return (state->bp == aligned_bp && *(aligned_bp + 1) == *(last_bp + 1)); in is_last_aligned_frame() 155 return (state->bp == last_ftrace_bp && in is_last_ftrace_frame() 156 *state->bp == *(state->bp + 2) && in is_last_ftrace_frame() 157 *(state->bp + 1) == *(state->bp + 4)); in is_last_ftrace_frame() 171 static struct pt_regs *decode_frame_pointer(unsigned long *bp) in decode_frame_pointer() argument 173 unsigned long regs = (unsigned long)bp; in decode_frame_pointer() 181 static struct pt_regs *decode_frame_pointer(unsigned long *bp) in decode_frame_pointer() argument 183 unsigned long regs = (unsigned long)bp; in decode_frame_pointer() [all …]
|
D | hw_breakpoint.c | 94 int arch_install_hw_breakpoint(struct perf_event *bp) in arch_install_hw_breakpoint() argument 96 struct arch_hw_breakpoint *info = counter_arch_bp(bp); in arch_install_hw_breakpoint() 104 *slot = bp; in arch_install_hw_breakpoint() 134 void arch_uninstall_hw_breakpoint(struct perf_event *bp) in arch_uninstall_hw_breakpoint() argument 136 struct arch_hw_breakpoint *info = counter_arch_bp(bp); in arch_uninstall_hw_breakpoint() 143 if (*slot == bp) { in arch_uninstall_hw_breakpoint() 230 static int arch_build_bp_info(struct perf_event *bp, in arch_build_bp_info() argument 314 int hw_breakpoint_arch_parse(struct perf_event *bp, in hw_breakpoint_arch_parse() argument 322 ret = arch_build_bp_info(bp, attr, hw); in hw_breakpoint_arch_parse() 370 struct perf_event *bp; in aout_dump_debugregs() local [all …]
|
D | kgdb.c | 54 { "bp", 4, offsetof(struct pt_regs, bp) }, 70 { "bp", 8, offsetof(struct pt_regs, bp) }, 153 gdb_regs[GDB_BP] = ((struct inactive_task_frame *)p->thread.sp)->bp; in sleeping_thread_to_gdb_regs() 194 struct perf_event *bp; in kgdb_correct_hw_break() local 208 bp = *per_cpu_ptr(breakinfo[breakno].pev, cpu); in kgdb_correct_hw_break() 209 info = counter_arch_bp(bp); in kgdb_correct_hw_break() 210 if (bp->attr.disabled != 1) in kgdb_correct_hw_break() 212 bp->attr.bp_addr = breakinfo[breakno].addr; in kgdb_correct_hw_break() 213 bp->attr.bp_len = breakinfo[breakno].len; in kgdb_correct_hw_break() 214 bp->attr.bp_type = breakinfo[breakno].type; in kgdb_correct_hw_break() [all …]
|
D | ptrace.c | 82 REG_OFFSET_NAME(bp), 475 static void ptrace_triggered(struct perf_event *bp, in ptrace_triggered() argument 487 if (thread->ptrace_bps[i] == bp) in ptrace_triggered() 499 static unsigned long ptrace_get_dr7(struct perf_event *bp[]) in ptrace_get_dr7() argument 506 if (bp[i] && !bp[i]->attr.disabled) { in ptrace_get_dr7() 507 info = counter_arch_bp(bp[i]); in ptrace_get_dr7() 548 static int ptrace_modify_breakpoint(struct perf_event *bp, int len, int type, in ptrace_modify_breakpoint() argument 551 struct perf_event_attr attr = bp->attr; in ptrace_modify_breakpoint() 558 return modify_user_hw_breakpoint(bp, &attr); in ptrace_modify_breakpoint() 579 struct perf_event *bp = thread->ptrace_bps[i]; in ptrace_write_dr7() local [all …]
|
/arch/sh/kernel/ |
D | hw_breakpoint.c | 47 int arch_install_hw_breakpoint(struct perf_event *bp) in arch_install_hw_breakpoint() argument 49 struct arch_hw_breakpoint *info = counter_arch_bp(bp); in arch_install_hw_breakpoint() 56 *slot = bp; in arch_install_hw_breakpoint() 79 void arch_uninstall_hw_breakpoint(struct perf_event *bp) in arch_uninstall_hw_breakpoint() argument 81 struct arch_hw_breakpoint *info = counter_arch_bp(bp); in arch_uninstall_hw_breakpoint() 87 if (*slot == bp) { in arch_uninstall_hw_breakpoint() 174 static int arch_build_bp_info(struct perf_event *bp, in arch_build_bp_info() argument 219 int hw_breakpoint_arch_parse(struct perf_event *bp, in hw_breakpoint_arch_parse() argument 226 ret = arch_build_bp_info(bp, attr, hw); in hw_breakpoint_arch_parse() 276 struct perf_event *bp; in hw_breakpoint_handler() local [all …]
|
D | ptrace_32.c | 63 void ptrace_triggered(struct perf_event *bp, in ptrace_triggered() argument 72 attr = bp->attr; in ptrace_triggered() 74 modify_user_hw_breakpoint(bp, &attr); in ptrace_triggered() 80 struct perf_event *bp; in set_single_step() local 83 bp = thread->ptrace_bps[0]; in set_single_step() 84 if (!bp) { in set_single_step() 91 bp = register_user_hw_breakpoint(&attr, ptrace_triggered, in set_single_step() 93 if (IS_ERR(bp)) in set_single_step() 94 return PTR_ERR(bp); in set_single_step() 96 thread->ptrace_bps[0] = bp; in set_single_step() [all …]
|
/arch/sparc/kernel/ |
D | chmc.c | 487 static int chmc_bank_match(struct chmc_bank_info *bp, unsigned long phys_addr) in chmc_bank_match() argument 493 if (bp->valid == 0) in chmc_bank_match() 497 upper_bits ^= bp->um; /* What bits are different? */ in chmc_bank_match() 499 upper_bits |= bp->uk; /* What bits don't matter for matching? */ in chmc_bank_match() 506 lower_bits ^= bp->lm; /* What bits are different? */ in chmc_bank_match() 508 lower_bits |= bp->lk; /* What bits don't matter for matching? */ in chmc_bank_match() 527 struct chmc_bank_info *bp; in chmc_find_bank() local 529 bp = &p->logical_banks[bank_no]; in chmc_find_bank() 530 if (chmc_bank_match(bp, phys_addr)) in chmc_find_bank() 531 return bp; in chmc_find_bank() [all …]
|
/arch/x86/include/asm/ |
D | hw_breakpoint.h | 57 extern int hw_breakpoint_arch_parse(struct perf_event *bp, 64 int arch_install_hw_breakpoint(struct perf_event *bp); 65 void arch_uninstall_hw_breakpoint(struct perf_event *bp); 66 void hw_breakpoint_pmu_read(struct perf_event *bp); 67 void hw_breakpoint_pmu_unthrottle(struct perf_event *bp); 70 arch_fill_perf_breakpoint(struct perf_event *bp);
|
D | mem_encrypt.h | 40 void __init sme_encrypt_kernel(struct boot_params *bp); 41 void __init sme_enable(struct boot_params *bp); 69 static inline void __init sme_encrypt_kernel(struct boot_params *bp) { } in sme_encrypt_kernel() argument 70 static inline void __init sme_enable(struct boot_params *bp) { } in sme_enable() argument
|
/arch/sh/include/asm/ |
D | hw_breakpoint.h | 58 extern int hw_breakpoint_arch_parse(struct perf_event *bp, 64 int arch_install_hw_breakpoint(struct perf_event *bp); 65 void arch_uninstall_hw_breakpoint(struct perf_event *bp); 66 void hw_breakpoint_pmu_read(struct perf_event *bp); 68 extern void arch_fill_perf_breakpoint(struct perf_event *bp);
|
/arch/powerpc/include/asm/ |
D | hw_breakpoint.h | 52 extern int hw_breakpoint_arch_parse(struct perf_event *bp, 57 int arch_install_hw_breakpoint(struct perf_event *bp); 58 void arch_uninstall_hw_breakpoint(struct perf_event *bp); 59 void arch_unregister_hw_breakpoint(struct perf_event *bp); 60 void hw_breakpoint_pmu_read(struct perf_event *bp); 64 extern void ptrace_triggered(struct perf_event *bp,
|
/arch/xtensa/include/asm/ |
D | hw_breakpoint.h | 40 int hw_breakpoint_arch_parse(struct perf_event *bp, 46 int arch_install_hw_breakpoint(struct perf_event *bp); 47 void arch_uninstall_hw_breakpoint(struct perf_event *bp); 48 void hw_breakpoint_pmu_read(struct perf_event *bp);
|
/arch/um/kernel/ |
D | stacktrace.c | 21 unsigned long *sp, bp, addr; in dump_trace() local 25 bp = get_frame_pointer(tsk, segv_regs); in dump_trace() 28 frame = (struct stack_frame *)bp; in dump_trace() 33 if ((unsigned long) sp == bp + sizeof(long)) { in dump_trace() 35 bp = (unsigned long)frame; in dump_trace()
|
/arch/powerpc/xmon/ |
D | xmon.c | 116 #define BP_NUM(bp) ((bp) - bpts + 1) argument 456 struct bpt *bp; in xmon_core() local 473 bp = in_breakpoint_table(regs->nip, &offset); in xmon_core() 474 if (bp != NULL) { in xmon_core() 475 regs->nip = bp->address + offset; in xmon_core() 476 atomic_dec(&bp->ref_count); in xmon_core() 513 bp = NULL; in xmon_core() 515 bp = at_breakpoint(regs->nip); in xmon_core() 516 if (bp || unrecoverable_excp(regs)) in xmon_core() 522 if (bp) { in xmon_core() [all …]
|
/arch/arm/kernel/ |
D | hw_breakpoint.c | 322 int arch_install_hw_breakpoint(struct perf_event *bp) in arch_install_hw_breakpoint() argument 324 struct arch_hw_breakpoint *info = counter_arch_bp(bp); in arch_install_hw_breakpoint() 350 *slot = bp; in arch_install_hw_breakpoint() 379 void arch_uninstall_hw_breakpoint(struct perf_event *bp) in arch_uninstall_hw_breakpoint() argument 381 struct arch_hw_breakpoint *info = counter_arch_bp(bp); in arch_uninstall_hw_breakpoint() 401 if (*slot == bp) { in arch_uninstall_hw_breakpoint() 509 static int arch_build_bp_info(struct perf_event *bp, in arch_build_bp_info() argument 583 int hw_breakpoint_arch_parse(struct perf_event *bp, in hw_breakpoint_arch_parse() argument 595 ret = arch_build_bp_info(bp, attr, hw); in hw_breakpoint_arch_parse() 626 if (is_default_overflow_handler(bp)) { in hw_breakpoint_arch_parse() [all …]
|
D | ptrace.c | 377 static void ptrace_hbptriggered(struct perf_event *bp, in ptrace_hbptriggered() argument 381 struct arch_hw_breakpoint *bkpt = counter_arch_bp(bp); in ptrace_hbptriggered() 386 if (current->thread.debug.hbp[i] == bp) in ptrace_hbptriggered() 463 struct perf_event *bp; in ptrace_gethbpregs() local 475 bp = tsk->thread.debug.hbp[idx]; in ptrace_gethbpregs() 476 if (!bp) { in ptrace_gethbpregs() 481 arch_ctrl = counter_arch_bp(bp)->ctrl; in ptrace_gethbpregs() 491 reg = bp->attr.bp_addr; in ptrace_gethbpregs() 509 struct perf_event *bp; in ptrace_sethbpregs() local 531 bp = tsk->thread.debug.hbp[idx]; in ptrace_sethbpregs() [all …]
|
/arch/arm64/kernel/ |
D | hw_breakpoint.c | 160 static int is_compat_bp(struct perf_event *bp) in is_compat_bp() argument 162 struct task_struct *tsk = bp->hw.target; in is_compat_bp() 189 struct perf_event *bp, in hw_breakpoint_slot_setup() argument 200 *slot = bp; in hw_breakpoint_slot_setup() 205 if (*slot == bp) { in hw_breakpoint_slot_setup() 211 if (*slot == bp) in hw_breakpoint_slot_setup() 222 static int hw_breakpoint_control(struct perf_event *bp, in hw_breakpoint_control() argument 225 struct arch_hw_breakpoint *info = counter_arch_bp(bp); in hw_breakpoint_control() 248 i = hw_breakpoint_slot_setup(slots, max_slots, bp, ops); in hw_breakpoint_control() 288 int arch_install_hw_breakpoint(struct perf_event *bp) in arch_install_hw_breakpoint() argument [all …]
|
D | ptrace.c | 170 static void ptrace_hbptriggered(struct perf_event *bp, in ptrace_hbptriggered() argument 174 struct arch_hw_breakpoint *bkpt = counter_arch_bp(bp); in ptrace_hbptriggered() 183 if (current->thread.debug.hbp_break[i] == bp) { in ptrace_hbptriggered() 190 if (current->thread.debug.hbp_watch[i] == bp) { in ptrace_hbptriggered() 238 struct perf_event *bp = ERR_PTR(-EINVAL); in ptrace_hbp_get_event() local 245 bp = tsk->thread.debug.hbp_break[idx]; in ptrace_hbp_get_event() 251 bp = tsk->thread.debug.hbp_watch[idx]; in ptrace_hbp_get_event() 256 return bp; in ptrace_hbp_get_event() 262 struct perf_event *bp) in ptrace_hbp_set_event() argument 271 tsk->thread.debug.hbp_break[idx] = bp; in ptrace_hbp_set_event() [all …]
|
/arch/x86/um/asm/ |
D | processor_64.h | 35 #define current_bp() ({ unsigned long bp; __asm__("movq %%rbp, %0" : "=r" (bp) : ); bp; })
|
D | processor_32.h | 51 #define current_bp() ({ unsigned long bp; __asm__("movl %%ebp, %0" : "=r" (bp) : ); bp; })
|
/arch/arm/include/asm/ |
D | hw_breakpoint.h | 122 extern int hw_breakpoint_arch_parse(struct perf_event *bp, 132 int arch_install_hw_breakpoint(struct perf_event *bp); 133 void arch_uninstall_hw_breakpoint(struct perf_event *bp); 134 void hw_breakpoint_pmu_read(struct perf_event *bp);
|