2005-04-17 05:20:36 +07:00
|
|
|
#ifndef _ASMAXP_PTRACE_H
|
|
|
|
#define _ASMAXP_PTRACE_H
|
|
|
|
|
2012-12-17 20:47:09 +07:00
|
|
|
#include <uapi/asm/ptrace.h>
|
2005-04-17 05:20:36 +07:00
|
|
|
|
2005-11-07 15:59:47 +07:00
|
|
|
|
2010-03-11 06:22:47 +07:00
|
|
|
#define arch_has_single_step() (1)
|
2005-04-17 05:20:36 +07:00
|
|
|
#define user_mode(regs) (((regs)->ps & 8) != 0)
|
|
|
|
#define instruction_pointer(regs) ((regs)->pc)
|
|
|
|
#define profile_pc(regs) instruction_pointer(regs)
|
2012-11-19 00:50:10 +07:00
|
|
|
#define current_user_stack_pointer() rdusp()
|
2005-04-17 05:20:36 +07:00
|
|
|
|
2006-01-12 16:05:37 +07:00
|
|
|
#define task_pt_regs(task) \
|
2006-01-12 16:05:36 +07:00
|
|
|
((struct pt_regs *) (task_stack_page(task) + 2*PAGE_SIZE) - 1)
|
2005-04-17 05:20:36 +07:00
|
|
|
|
2012-08-19 09:40:59 +07:00
|
|
|
#define current_pt_regs() \
|
|
|
|
((struct pt_regs *) ((char *)current_thread_info() + 2*PAGE_SIZE) - 1)
|
2012-11-06 01:00:27 +07:00
|
|
|
#define signal_pt_regs current_pt_regs
|
2012-08-19 09:40:59 +07:00
|
|
|
|
|
|
|
#define force_successful_syscall_return() (current_pt_regs()->r0 = 0)
|
2005-04-17 05:20:36 +07:00
|
|
|
|
2013-12-20 09:04:10 +07:00
|
|
|
static inline unsigned long regs_return_value(struct pt_regs *regs)
|
|
|
|
{
|
|
|
|
return regs->r0;
|
|
|
|
}
|
|
|
|
|
2005-04-17 05:20:36 +07:00
|
|
|
#endif
|