ptrace.h 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. /*
  2. * Copyright (C) 2004-2006 Atmel Corporation
  3. *
  4. * This program is free software; you can redistribute it and/or modify
  5. * it under the terms of the GNU General Public License version 2 as
  6. * published by the Free Software Foundation.
  7. */
  8. #ifndef __ASM_AVR32_PTRACE_H
  9. #define __ASM_AVR32_PTRACE_H
  10. #include <uapi/asm/ptrace.h>
  11. #ifndef __ASSEMBLY__
  12. #include <asm/ocd.h>
  13. #define arch_has_single_step() (1)
  14. #define arch_ptrace_attach(child) ocd_enable(child)
  15. #define user_mode(regs) (((regs)->sr & MODE_MASK) == MODE_USER)
  16. #define instruction_pointer(regs) ((regs)->pc)
  17. #define profile_pc(regs) instruction_pointer(regs)
  18. static __inline__ int valid_user_regs(struct pt_regs *regs)
  19. {
  20. /*
  21. * Some of the Java bits might be acceptable if/when we
  22. * implement some support for that stuff...
  23. */
  24. if ((regs->sr & 0xffff0000) == 0)
  25. return 1;
  26. /*
  27. * Force status register flags to be sane and report this
  28. * illegal behaviour...
  29. */
  30. regs->sr &= 0x0000ffff;
  31. return 0;
  32. }
  33. #endif /* ! __ASSEMBLY__ */
  34. #endif /* __ASM_AVR32_PTRACE_H */