Lines Matching refs:child
31 static unsigned long get_pseudo_pc(struct task_struct *child);
80 void user_enable_single_step(struct task_struct *child) in user_enable_single_step() argument
88 if (!get_reg(child, PT_SPC)) { in user_enable_single_step()
90 tmp = get_reg(child, PT_ERP) & ~1; in user_enable_single_step()
91 put_reg(child, PT_SPC, tmp); in user_enable_single_step()
93 tmp = get_reg(child, PT_CCS) | SBIT_USER; in user_enable_single_step()
94 put_reg(child, PT_CCS, tmp); in user_enable_single_step()
97 void user_disable_single_step(struct task_struct *child) in user_disable_single_step() argument
99 put_reg(child, PT_SPC, 0); in user_disable_single_step()
101 if (!get_debugreg(child->pid, PT_BP_CTRL)) { in user_disable_single_step()
104 tmp = get_reg(child, PT_CCS) & ~SBIT_USER; in user_disable_single_step()
105 put_reg(child, PT_CCS, tmp); in user_disable_single_step()
115 ptrace_disable(struct task_struct *child) in ptrace_disable() argument
118 user_disable_single_step(child); in ptrace_disable()
119 put_reg(child, PT_SPC, 0); in ptrace_disable()
122 deconfigure_bp(child->pid); in ptrace_disable()
126 long arch_ptrace(struct task_struct *child, long request, in arch_ptrace() argument
150 copied = access_process_vm(child, addr, &tmp, sizeof(tmp), 0); in arch_ptrace()
168 tmp = get_reg(child, regno); in arch_ptrace()
176 ret = generic_ptrace_pokedata(child, addr, data); in arch_ptrace()
190 data |= get_reg(child, PT_CCS) & ~CCS_MASK; in arch_ptrace()
192 if (put_reg(child, regno, data)) in arch_ptrace()
203 tmp = get_reg(child, i); in arch_ptrace()
230 tmp |= get_reg(child, PT_CCS) & ~CCS_MASK; in arch_ptrace()
233 put_reg(child, i, tmp); in arch_ptrace()
242 ret = ptrace_request(child, request, addr, data); in arch_ptrace()
275 static int insn_size(struct task_struct *child, unsigned long pc) in insn_size() argument
282 copied = access_process_vm(child, pc, &opcode, sizeof(opcode), 0); in insn_size()
311 static unsigned long get_pseudo_pc(struct task_struct *child) in get_pseudo_pc() argument
314 unsigned long pc = get_reg(child, PT_ERP); in get_pseudo_pc()
317 unsigned long spc = get_reg(child, PT_SPC); in get_pseudo_pc()
328 pc += insn_size(child, pc & ~1) - 1; in get_pseudo_pc()