home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 15 / 15.iso / s / s053 / 8.ddi / usr / include / sys / regset.h < prev    next >
Encoding:
C/C++ Source or Header  |  1990-12-08  |  1.8 KB  |  90 lines

  1. /*    Copyright (c) 1990 UNIX System Laboratories, Inc.    */
  2. /*    Copyright (c) 1984, 1986, 1987, 1988, 1989, 1990 AT&T    */
  3. /*      All Rights Reserved      */
  4.  
  5. /*    THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF         */
  6. /*    UNIX System Laboratories, Inc.                         */
  7. /*    The copyright notice above does not evidence any       */
  8. /*    actual or intended publication of such source code.    */
  9.  
  10. #ifndef _SYS_REGSET_H
  11. #define _SYS_REGSET_H
  12.  
  13. #ident    "@(#)/usr/include/sys/regset.h.sl 1.1 4.0 12/08/90 7316 AT&T-USL"
  14.  
  15. /* General register access (3B2) */
  16.  
  17. typedef int greg_t;
  18. #ifdef u3b2
  19. #define NGREG   16
  20. #endif
  21.  
  22. #ifdef i386
  23. #define NGREG   19
  24. #endif
  25.  
  26. typedef    greg_t    gregset_t[NGREG];
  27.  
  28. #ifdef u3b2
  29. #define    R_R0    0
  30. #define    R_R1    1
  31. #define    R_R2    2
  32. #define    R_R3    3
  33. #define    R_R4    4
  34. #define    R_R5    5
  35. #define    R_R6    6
  36. #define    R_R7    7
  37. #define    R_R8    8
  38. #define    R_FP    9
  39. #define    R_AP    10
  40. #define    R_PS    11
  41. #define    R_SP    12
  42. #define    R_PCBP    13
  43. #define    R_ISP    14
  44. #define    R_PC    15
  45.  
  46. /* Floating-point register access (3B2 MAU) */
  47.  
  48. typedef    struct fpregset {
  49.     int    f_asr;
  50.     int    f_dr[3];
  51.     int    f_fpregs[4][3];
  52. } fpregset_t;
  53. #endif  /* u3b2 */
  54.  
  55. #ifdef i386
  56. /*
  57.  * The following picks up the defines for '386 registers.
  58.  *
  59.  */
  60.  
  61. #include <sys/reg.h>
  62.  
  63. typedef struct fpregset {
  64.     union {
  65.         struct fpchip_state     /* fp extension state */
  66.         {
  67.             int state[27];  /* 287/387 saved state */
  68.             int status;     /* status word saved at exception */
  69.         } fpchip_state;
  70.         struct fp_emul_space        /* for emulator(s) */
  71.         {
  72.             char    fp_emul[246];
  73.             char    fp_epad[2];
  74.         } fp_emul_space;
  75.         int f_fpregs[62];       /* union of the above */
  76.     } fp_reg_set;
  77.     long    f_wregs[33];            /* saved weitek state */
  78. } fpregset_t;
  79.  
  80. #define NDEBUGREG    8
  81.  
  82. typedef struct dbregset {
  83.     unsigned    debugreg[NDEBUGREG];
  84. } dbregset_t;
  85.  
  86. #endif  /* i386 */
  87.  
  88.  
  89. #endif    /* _SYS_REGSET_H */
  90.