11da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#ifndef _ASMAXP_PTRACE_H
21da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define _ASMAXP_PTRACE_H
31da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
496433f6ee49032d7a8bda76de2b05cfde2914354David Howells#include <uapi/asm/ptrace.h>
51da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
6481bed454247538e9f57d4ea37b153ccba24ba7bChristoph Hellwig
7fd341abba65e3d93fc24c132e4c0278d18b6d2fcChristoph Hellwig#define arch_has_single_step()		(1)
81da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define user_mode(regs) (((regs)->ps & 8) != 0)
91da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define instruction_pointer(regs) ((regs)->pc)
101da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define profile_pc(regs) instruction_pointer(regs)
111ca97bb541a1f5a735e697a8bba763cde3aab452Al Viro#define current_user_stack_pointer() rdusp()
121da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
13e52f4ca2a7cfea3495cabae23d48f1538f09ccf2Andrew Morton#define task_pt_regs(task) \
1427f451304aa6f2bccf34ef3c2b049c01d05d6fffAl Viro  ((struct pt_regs *) (task_stack_page(task) + 2*PAGE_SIZE) - 1)
151da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
16be53db6e4edd9dc013b21a929ad2b142dea8b9c0Al Viro#define current_pt_regs() \
17be53db6e4edd9dc013b21a929ad2b142dea8b9c0Al Viro  ((struct pt_regs *) ((char *)current_thread_info() + 2*PAGE_SIZE) - 1)
1822062a96300dabfef93368a28c34bdf35c9b8308Al Viro#define signal_pt_regs current_pt_regs
19be53db6e4edd9dc013b21a929ad2b142dea8b9c0Al Viro
20be53db6e4edd9dc013b21a929ad2b142dea8b9c0Al Viro#define force_successful_syscall_return() (current_pt_regs()->r0 = 0)
211da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
22a9302e8439445710552886e7b623dbcfa943a1f2蔡正龙static inline unsigned long regs_return_value(struct pt_regs *regs)
23a9302e8439445710552886e7b623dbcfa943a1f2蔡正龙{
24a9302e8439445710552886e7b623dbcfa943a1f2蔡正龙	return regs->r0;
25a9302e8439445710552886e7b623dbcfa943a1f2蔡正龙}
26a9302e8439445710552886e7b623dbcfa943a1f2蔡正龙
271da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#endif
28