home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 15 / 15.iso / s / s053 / 8.ddi / usr / include / sys / pic.h < prev    next >
Encoding:
C/C++ Source or Header  |  1990-12-08  |  2.8 KB  |  67 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_PIC_H
  11. #define _SYS_PIC_H
  12.  
  13. #ident    "@(#)/usr/include/sys/pic.h.sl 1.1 4.0 12/08/90 18989 AT&T-USL"
  14.  
  15. /* Definitions for 8259 Programmable Interrupt Controller */
  16.  
  17. #define PIC_NEEDICW4    0x01            /* ICW4 needed */
  18. #define PIC_ICW1BASE    0x10            /* base for ICW1 */
  19. #define PIC_86MODE      0x01            /* MCS 86 mode */
  20. #define PIC_AUTOEOI     0x02            /* do auto eoi's */
  21. #define PIC_SLAVEBUF    0x08            /* put slave in buffered mode */
  22. #define PIC_MASTERBUF   0x0C            /* put master in bnuffered mode */
  23. #define PIC_SPFMODE     0x10            /* special fully nested mode */
  24. #define PIC_READISR     0x0B            /* Read the ISR */
  25. #define PIC_NSEOI       0x20            /* Non-specific EOI command */
  26.  
  27. #define PIC_VECTBASE    0x40            /* Vectors for external interrupts */
  28.                     /* start at 64.                    */
  29. /*
  30.  * Interrupt configuration information specific to a particular computer.
  31.  * These constants are used to initialize tables in modules/pic/space.c.
  32.  * NOTE: The master pic must always be pic zero.
  33.  */
  34.  
  35. #if defined (MB1) || defined (MB2)
  36.  
  37. #define NPIC    2                       /* 2 PICs */
  38. /* Port addresses */
  39. #define MCMD_PORT       0xC0            /* master command port */
  40. #define MIMR_PORT       0xC2            /* master intr mask register port */
  41. #define SCMD_PORT       0xC4            /* slave command port */
  42. #define SIMR_PORT       0xC6            /* slave intr mask register port */
  43. #define MASTERLINE      0x07            /* slave on IR7 of the master PIC */
  44. #define SLAVEBASE       ((MASTERLINE+1)*8) /* slave IR0 interrupt number */
  45. #define PICBUFFERED     1               /* PICs in buffered mode */
  46. #define I82380          0               /* i82380 chip not used */
  47.  
  48. #endif /* MB1 || MB2 */
  49.  
  50.  
  51. #ifdef AT386            /* AT386 board */
  52.  
  53. #define NPIC    2                       /* 2 PICs */
  54. /* Port addresses */
  55. #define MCMD_PORT       0x20            /* master command port */
  56. #define MIMR_PORT       0x21            /* master intr mask register port */
  57. #define SCMD_PORT       0xA0            /* slave command port */
  58. #define SIMR_PORT       0xA1            /* slave intr mask register port */
  59. #define MASTERLINE      0x02            /* slave on IR2 of master PIC */
  60. #define SLAVEBASE       8               /* slave IR0 interrupt number */
  61. #define PICBUFFERED     0               /* PICs not in buffered mode */
  62. #define I82380          0               /* i82380 chip not used */
  63.  
  64. #endif /* AT386 */
  65.  
  66. #endif    /* _SYS_PIC_H */
  67.