Home | History | Annotate | Download | only in arm

Lines Matching refs:sbp

34 arch_enable_breakpoint(pid_t pid, struct breakpoint *sbp)
40 debug(1, "arch_enable_breakpoint(%d,%p)", pid, sbp->addr);
47 orig.b[j] = sbp->orig_value[i * sizeof(long) + j];
49 current.l = ptrace(PTRACE_PEEKTEXT, pid, sbp->addr + i * sizeof(long), 0);
52 current.l, orig.l, sbp->arch.thumb_mode);
55 sbp->orig_value[i * sizeof(long) + j] = bytes[j];
56 if (!sbp->arch.thumb_mode) {
63 ptrace(PTRACE_POKETEXT, pid, sbp->addr + i * sizeof(long),
69 arch_disable_breakpoint(pid_t pid, const struct breakpoint *sbp)
73 debug(1, "arch_disable_breakpoint(%d,%p)", pid, sbp->addr);
80 orig.b[j] = sbp->orig_value[i * sizeof(long) + j];
82 current.l = ptrace(PTRACE_PEEKTEXT, pid, sbp->addr + i * sizeof(long), 0);
85 current.l, orig.l, sbp->arch.thumb_mode);
87 bytes[j] = sbp->orig_value[i * sizeof(long) + j];
89 ptrace(PTRACE_POKETEXT, pid, sbp->addr + i * sizeof(long),
95 arch_breakpoint_init(struct process *proc, struct breakpoint *sbp)
98 sbp->arch.thumb_mode = ((uintptr_t)sbp->addr) & 1;
99 if (sbp->arch.thumb_mode)
101 sbp->addr = (arch_addr_t)((uintptr_t)sbp->addr & ~1);
106 arch_breakpoint_destroy(struct breakpoint *sbp)
111 arch_breakpoint_clone(struct breakpoint *retp, struct breakpoint *sbp)
113 retp->arch.thumb_mode = sbp->arch.thumb_mode;