root/include/asm-sparc/ptrace.h

/* [previous][next][first][last][top][bottom][index][help] */

INCLUDED FROM


   1 #ifndef _SPARC_PTRACE_H
   2 #define _SPARC_PTRACE_H
   3 
   4 /* I have not looked enough into how this should be done. Without playing
   5  * lots of tricks to optimize I think we need to save the whole register
   6  * window frame plus the floating-point registers. We'll see...
   7  */
   8 
   9 /* this struct defines the way the registers are stored on the 
  10    stack during a system call. */
  11 
  12 struct pt_regs {
  13         unsigned long ps;    /* previous supervisor, same as alpha I believe */
  14         unsigned long pc;    /* current and next program counter */
  15         unsigned long npc;
  16         unsigned long sp;    /* stack and frame pointer */
  17         unsigned long fp;
  18         unsigned long psr;   /* for condition codes */
  19         unsigned long nuwin; /* number of user windows */
  20         /* not sure yet whether all regs are necessary
  21          * but this is how it is traditionally done on the sparc.
  22          */
  23         unsigned long u_regs[24*16];
  24         unsigned long f_regs[64];    /* yuck yuck yuck */
  25 };
  26 
  27 #define user_mode(regs) (~((regs)->ps&0x1))  /* if previous supervisor is 0, came from user */
  28 
  29 #endif

/* [previous][next][first][last][top][bottom][index][help] */