~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

Linux Cross Reference
Linux/include/asm-m68k/ptrace.h

Version: ~ [ 2.4.0 ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 #ifndef _M68K_PTRACE_H
  2 #define _M68K_PTRACE_H
  3 
  4 #define PT_D1      0
  5 #define PT_D2      1
  6 #define PT_D3      2
  7 #define PT_D4      3
  8 #define PT_D5      4
  9 #define PT_D6      5
 10 #define PT_D7      6
 11 #define PT_A0      7
 12 #define PT_A1      8
 13 #define PT_A2      9
 14 #define PT_A3      10
 15 #define PT_A4      11
 16 #define PT_A5      12
 17 #define PT_A6      13
 18 #define PT_D0      14
 19 #define PT_USP     15
 20 #define PT_ORIG_D0 16
 21 #define PT_SR      17
 22 #define PT_PC      18
 23 
 24 #ifndef __ASSEMBLY__
 25 
 26 /* this struct defines the way the registers are stored on the
 27    stack during a system call. */
 28 
 29 struct pt_regs {
 30   long     d1;
 31   long     d2;
 32   long     d3;
 33   long     d4;
 34   long     d5;
 35   long     a0;
 36   long     a1;
 37   long     a2;
 38   long     d0;
 39   long     orig_d0;
 40   long     stkadj;
 41   unsigned short sr;
 42   unsigned long  pc;
 43   unsigned format :  4; /* frame format specifier */
 44   unsigned vector : 12; /* vector offset */
 45 };
 46 
 47 /*
 48  * This is the extended stack used by signal handlers and the context
 49  * switcher: it's pushed after the normal "struct pt_regs".
 50  */
 51 struct switch_stack {
 52         unsigned long  d6;
 53         unsigned long  d7;
 54         unsigned long  a3;
 55         unsigned long  a4;
 56         unsigned long  a5;
 57         unsigned long  a6;
 58         unsigned long  retpc;
 59 };
 60 
 61 /* Arbitrarily choose the same ptrace numbers as used by the Sparc code. */
 62 #define PTRACE_GETREGS            12
 63 #define PTRACE_SETREGS            13
 64 #define PTRACE_GETFPREGS          14
 65 #define PTRACE_SETFPREGS          15
 66 
 67 #ifdef __KERNEL__
 68 
 69 #ifndef PS_S
 70 #define PS_S  (0x2000)
 71 #define PS_M  (0x1000)
 72 #endif
 73 
 74 #define user_mode(regs) (!((regs)->sr & PS_S))
 75 #define instruction_pointer(regs) ((regs)->pc)
 76 extern void show_regs(struct pt_regs *);
 77 #endif /* __KERNEL__ */
 78 #endif /* __ASSEMBLY__ */
 79 #endif /* _M68K_PTRACE_H */
 80 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

This page was automatically generated by the LXR engine.
Visit the LXR main site for more information.