home *** CD-ROM | disk | FTP | other *** search
/ PC Welt 2006 November (DVD) / PCWELT_11_2006.ISO / casper / filesystem.squashfs / usr / src / linux-headers-2.6.17-6 / include / asm-h8300 / ptrace.h < prev    next >
Encoding:
C/C++ Source or Header  |  2006-08-11  |  1.3 KB  |  65 lines

  1. #ifndef _H8300_PTRACE_H
  2. #define _H8300_PTRACE_H
  3.  
  4. #ifndef __ASSEMBLY__
  5.  
  6. #define PT_ER1       0
  7. #define PT_ER2       1
  8. #define PT_ER3       2
  9. #define PT_ER4       3
  10. #define PT_ER5       4
  11. #define PT_ER6       5
  12. #define PT_ER0       6
  13. #define PT_ORIG_ER0       7
  14. #define PT_CCR       8
  15. #define PT_PC       9
  16. #define PT_USP       10
  17. #define PT_EXR     12
  18.  
  19. /* this struct defines the way the registers are stored on the
  20.    stack during a system call. */
  21.  
  22. struct pt_regs {
  23.     long     retpc;
  24.     long     er4;
  25.     long     er5;
  26.     long     er6;
  27.     long     er3;
  28.     long     er2;
  29.     long     er1;
  30.     long     orig_er0;
  31.     unsigned short ccr;
  32.     long     er0;
  33.     long     vector;
  34. #if defined(CONFIG_CPU_H8S)
  35.     unsigned short exr;
  36. #endif
  37.     unsigned long  pc;
  38. } __attribute__((aligned(2),packed));
  39.  
  40. #define PTRACE_GETREGS            12
  41. #define PTRACE_SETREGS            13
  42.  
  43. #ifdef __KERNEL__
  44. #ifndef PS_S
  45. #define PS_S  (0x10)
  46. #endif
  47.  
  48. #if defined(__H8300H__)
  49. #define H8300_REGS_NO 11
  50. #endif
  51. #if defined(__H8300S__)
  52. #define H8300_REGS_NO 12
  53. #endif
  54.  
  55. /* Find the stack offset for a register, relative to thread.esp0. */
  56. #define PT_REG(reg)    ((long)&((struct pt_regs *)0)->reg)
  57.  
  58. #define user_mode(regs) (!((regs)->ccr & PS_S))
  59. #define instruction_pointer(regs) ((regs)->pc)
  60. #define profile_pc(regs) instruction_pointer(regs)
  61. extern void show_regs(struct pt_regs *);
  62. #endif /* __KERNEL__ */
  63. #endif /* __ASSEMBLY__ */
  64. #endif /* _H8300_PTRACE_H */
  65.