home *** CD-ROM | disk | FTP | other *** search
/ NeXTSTEP 3.2 (Developer) / NS_dev_3.2.iso / NextDeveloper / Headers / bsd / m68k / psl.h < prev    next >
C/C++ Source or Header  |  1993-10-19  |  1KB  |  46 lines

  1. /* 
  2.  * HISTORY
  3.  * 21-Jul-88  Avadis Tevanian, Jr. (avie) at NeXT
  4.  *    Allow SR_TSINGLE and SR_TFLOW status register bits to be
  5.  *    set by the user (remove from SR_USERCLR).
  6.  *
  7.  * 09-Nov-86  John Seamons (jks) at NeXT
  8.  *    Ported to NeXT.
  9.  */ 
  10.  
  11. #ifndef _M68K_PSL_
  12. #define    _M68K_PSL_
  13.  
  14. /*
  15.  *  68030 status register definitions
  16.  */
  17.  
  18. #define    SR_TSINGLE    0x8000        /* trace single instruction */
  19. #define    SR_TFLOW    0x4000        /* trace on flow change */
  20. #define    SR_SUPER    0x2000        /* super/user state */
  21. #define    SR_MASTER    0x1000        /* master/interrupt state */
  22. #define    SR_IPL        0x0700        /* interrupt priority level */
  23. #define    SR_X        0x0010        /* extend */
  24. #define    SR_N        0x0008        /* negative */
  25. #define    SR_Z        0x0004        /* zero */
  26. #define    SR_V        0x0002        /* overflow */
  27. #define    SR_C        0x0001        /* carry */
  28. #define    SR_CC        0x001f        /* all of them */
  29.  
  30. /* shorthand */
  31. #define    SR_HIGH        0x2700        /* super mode, highest ipl */
  32. #define    SR_LOW        0x2000        /* super mode, lowest ipl */
  33. #define    SR_USER        0x0000        /* user mode, lowest ipl */
  34. #define    SR_USERCLR    0x3f00        /* throw away user bits */
  35. #define srtoipl(x)    (((x)&SR_IPL)>>8)    /* integral ipl level */
  36.  
  37. /* used by machine independent code (shifts are used because
  38.    machine independent code accesses as ints and SR is a short
  39.    on an int boundary) */
  40. #define    PSL_USERSET    (SR_USER << 16)
  41. #define    PSL_USERCLR    (SR_USERCLR << 16)
  42. #define    PSL_ALLCC    (SR_CC << 16)
  43. #define    PSL_T        (SR_TSINGLE << 16)
  44.  
  45. #endif _M68K_PSL_
  46.