From 8e4bff4cab0ddac6060645b0715210484d02ff40 Mon Sep 17 00:00:00 2001 From: Yuval Adam <_@yuv.al> Date: Wed, 30 Aug 2017 08:25:59 +0000 Subject: Initial file dump from open source release --- arch/blackfin/include/asm/ptrace.h | 42 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 arch/blackfin/include/asm/ptrace.h (limited to 'arch/blackfin/include/asm/ptrace.h') diff --git a/arch/blackfin/include/asm/ptrace.h b/arch/blackfin/include/asm/ptrace.h new file mode 100644 index 00000000..c0049159 --- /dev/null +++ b/arch/blackfin/include/asm/ptrace.h @@ -0,0 +1,42 @@ +/* + * Copyright 2004-2008 Analog Devices Inc. + * + * Licensed under the GPL-2 or later. + */ +#ifndef _BFIN_PTRACE_H +#define _BFIN_PTRACE_H + +#include + +#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 + +#endif /* __ASSEMBLY__ */ +#endif /* _BFIN_PTRACE_H */ -- cgit v1.3.1