1/* 2 * linux/arch/arm/kernel/ptrace.h 3 * 4 * Copyright (C) 2000-2003 Russell King 5 * 6 * This program is free software; you can redistribute it and/or modify 7 * it under the terms of the GNU General Public License version 2 as 8 * published by the Free Software Foundation. 9 */ 10#include <linux/ptrace.h> 11 12extern void ptrace_cancel_bpt(struct task_struct *); 13extern void ptrace_set_bpt(struct task_struct *); 14extern void ptrace_break(struct task_struct *, struct pt_regs *); 15 16/* 17 * Send SIGTRAP if we're single-stepping 18 */ 19static inline void single_step_trap(struct task_struct *task) 20{ 21 if (task->ptrace & PT_SINGLESTEP) { 22 ptrace_cancel_bpt(task); 23 send_sig(SIGTRAP, task, 1); 24 } 25} 26 27static inline void single_step_clear(struct task_struct *task) 28{ 29 if (task->ptrace & PT_SINGLESTEP) 30 ptrace_cancel_bpt(task); 31} 32 33static inline void single_step_set(struct task_struct *task) 34{ 35 if (task->ptrace & PT_SINGLESTEP) 36 ptrace_set_bpt(task); 37} 38