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