| Viewing file:  ptrace.h (1.19 KB)      -rw-r--r-- Select action/file-type:
 
  (+) |  (+) |  (+) | Code (+) | Session (+) |  (+) | SDB (+) |  (+) |  (+) |  (+) |  (+) |  (+) | 
 
/** Copyright 2004-2008 Analog Devices Inc.
 *
 * Licensed under the GPL-2 or later.
 */
 #ifndef _BFIN_PTRACE_H
 #define _BFIN_PTRACE_H
 
 #include <uapi/asm/ptrace.h>
 
 #ifndef __ASSEMBLY__
 
 /* user_mode returns true if only one bit is set in IPEND, other than the
 master interrupt enable.  */
 #define user_mode(regs) (!(((regs)->ipend & ~0x10) & (((regs)->ipend & ~0x10) - 1)))
 
 #define arch_has_single_step()    (1)
 /* common code demands this function */
 #define ptrace_disable(child) user_disable_single_step(child)
 #define current_user_stack_pointer() rdusp()
 
 extern int is_user_addr_valid(struct task_struct *child,
 unsigned long start, unsigned long len);
 
 /*
 * Get the address of the live pt_regs for the specified task.
 * These are saved onto the top kernel stack when the process
 * is not running.
 *
 * Note: if a user thread is execve'd from kernel space, the
 * kernel stack will not be empty on entry to the kernel, so
 * ptracing these tasks will fail.
 */
 #define task_pt_regs(task) \
 (struct pt_regs *) \
 ((unsigned long)task_stack_page(task) + \
 (THREAD_SIZE - sizeof(struct pt_regs)))
 
 #include <asm-generic/ptrace.h>
 
 #endif                /* __ASSEMBLY__ */
 #endif                /* _BFIN_PTRACE_H */
 
 |