ptrace.h 754 B

12345678910111213141516171819202122232425262728
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. #ifndef _ASMAXP_PTRACE_H
  3. #define _ASMAXP_PTRACE_H
  4. #include <uapi/asm/ptrace.h>
  5. #define arch_has_single_step() (1)
  6. #define user_mode(regs) (((regs)->ps & 8) != 0)
  7. #define instruction_pointer(regs) ((regs)->pc)
  8. #define profile_pc(regs) instruction_pointer(regs)
  9. #define current_user_stack_pointer() rdusp()
  10. #define task_pt_regs(task) \
  11. ((struct pt_regs *) (task_stack_page(task) + 2*PAGE_SIZE) - 1)
  12. #define current_pt_regs() \
  13. ((struct pt_regs *) ((char *)current_thread_info() + 2*PAGE_SIZE) - 1)
  14. #define signal_pt_regs current_pt_regs
  15. #define force_successful_syscall_return() (current_pt_regs()->r0 = 0)
  16. static inline unsigned long regs_return_value(struct pt_regs *regs)
  17. {
  18. return regs->r0;
  19. }
  20. #endif