Lines Matching full:child
217 check_condition_bit(struct task_struct *child) in check_condition_bit() argument
219 return (int)((get_stack_long(child, PT_PSW) >> 8) & 1); in check_condition_bit()
224 unsigned long regno2, struct task_struct *child) in check_condition_src() argument
228 reg2 = get_stack_long(child, reg_offset[regno2]); in check_condition_src()
232 reg1 = get_stack_long(child, reg_offset[regno1]); in check_condition_src()
235 reg1 = get_stack_long(child, reg_offset[regno1]); in check_condition_src()
258 struct task_struct *child) in compute_next_pc_for_16bit_insn() argument
280 if (!check_condition_bit(child)) { in compute_next_pc_for_16bit_insn()
288 if (check_condition_bit(child)) { in compute_next_pc_for_16bit_insn()
321 *next_pc = get_stack_long(child, PT_BPC); in compute_next_pc_for_16bit_insn()
326 if (op3 == 0xc && check_condition_bit(child)) { in compute_next_pc_for_16bit_insn()
328 *next_pc = get_stack_long(child, in compute_next_pc_for_16bit_insn()
334 if (op3 == 0xc && !check_condition_bit(child)) { in compute_next_pc_for_16bit_insn()
336 *next_pc = get_stack_long(child, in compute_next_pc_for_16bit_insn()
345 *next_pc = get_stack_long(child, in compute_next_pc_for_16bit_insn()
361 struct task_struct *child) in compute_next_pc_for_32bit_insn() argument
374 if (!check_condition_bit(child)) { in compute_next_pc_for_32bit_insn()
382 if (check_condition_bit(child)) { in compute_next_pc_for_32bit_insn()
407 if (check_condition_src(op2, regno1, regno2, child)) { in compute_next_pc_for_32bit_insn()
420 unsigned long *next_pc, struct task_struct *child) in compute_next_pc() argument
423 compute_next_pc_for_32bit_insn(insn, pc, next_pc, child); in compute_next_pc()
425 compute_next_pc_for_16bit_insn(insn, pc, next_pc, child); in compute_next_pc()
429 register_debug_trap(struct task_struct *child, unsigned long next_pc, in register_debug_trap() argument
432 struct debug_trap *p = &child->thread.debug_trap; in register_debug_trap()
459 unregister_debug_trap(struct task_struct *child, unsigned long addr, in unregister_debug_trap() argument
462 struct debug_trap *p = &child->thread.debug_trap; in unregister_debug_trap()
491 unregister_all_debug_traps(struct task_struct *child) in unregister_all_debug_traps() argument
493 struct debug_trap *p = &child->thread.debug_trap; in unregister_all_debug_traps()
497 access_process_vm(child, p->addr[i], &p->insn[i], sizeof(p->insn[i]), 1); in unregister_all_debug_traps()
536 embed_debug_trap(struct task_struct *child, unsigned long next_pc) in embed_debug_trap() argument
541 if (access_process_vm(child, addr, &next_insn, sizeof(next_insn), 0) in embed_debug_trap()
547 if (register_debug_trap(child, next_pc, next_insn, &code)) { in embed_debug_trap()
550 if (access_process_vm(child, addr, &code, sizeof(code), 1) in embed_debug_trap()
572 init_debug_traps(struct task_struct *child) in init_debug_traps() argument
574 struct debug_trap *p = &child->thread.debug_trap; in init_debug_traps()
583 void user_enable_single_step(struct task_struct *child) in user_enable_single_step() argument
588 clear_tsk_thread_flag(child, TIF_SYSCALL_TRACE); in user_enable_single_step()
591 pc = get_stack_long(child, PT_BPC); in user_enable_single_step()
593 if (access_process_vm(child, pc&~3, &insn, sizeof(insn), 0) in user_enable_single_step()
597 compute_next_pc(insn, pc, &next_pc, child); in user_enable_single_step()
601 if (embed_debug_trap(child, next_pc)) in user_enable_single_step()
608 void user_disable_single_step(struct task_struct *child) in user_disable_single_step() argument
610 unregister_all_debug_traps(child); in user_disable_single_step()
619 void ptrace_disable(struct task_struct *child) in ptrace_disable() argument
625 arch_ptrace(struct task_struct *child, long request, in arch_ptrace() argument
633 * read word at location "addr" in the child process. in arch_ptrace()
637 ret = generic_ptrace_peekdata(child, addr, data); in arch_ptrace()
644 ret = ptrace_read_user(child, addr, datap); in arch_ptrace()
652 ret = generic_ptrace_pokedata(child, addr, data); in arch_ptrace()
661 ret = ptrace_write_user(child, addr, data); in arch_ptrace()
665 ret = ptrace_getregs(child, datap); in arch_ptrace()
669 ret = ptrace_setregs(child, datap); in arch_ptrace()
673 ret = ptrace_request(child, request, addr, data); in arch_ptrace()