Annotation of lucent/sys/src/9/pc/io.h, revision 1.1

1.1     ! root        1: /*
        !             2:  *  programmable interrupt vectors (for the 8259's)
        !             3:  */
        !             4: enum
        !             5: {
        !             6:        Bptvec=         3,              /* breakpoints */
        !             7:        Mathemuvec=     7,              /* math coprocessor emulation interrupt */
        !             8:        Mathovervec=    9,              /* math coprocessor overrun interrupt */
        !             9:        Matherr1vec=    16,             /* math coprocessor error interrupt */
        !            10:        Faultvec=       14,             /* page fault */
        !            11: 
        !            12:        Int0vec=        24,             /* first 8259 */
        !            13:         Clockvec=      Int0vec+0,      /*  clock interrupts */
        !            14:         Kbdvec=        Int0vec+1,      /*  keyboard interrupts */
        !            15:         Uart1vec=      Int0vec+3,      /*  modem line */
        !            16:         Uart0vec=      Int0vec+4,      /*  serial line */
        !            17:         PCMCIAvec=     Int0vec+5,      /*  PCMCIA card change */
        !            18:         Floppyvec=     Int0vec+6,      /*  floppy interrupts */
        !            19:         Parallelvec=   Int0vec+7,      /*  parallel port interrupts */
        !            20:        Int1vec=        Int0vec+8,
        !            21:         Ethervec=      Int0vec+10,     /*  ethernet interrupt */
        !            22:         Mousevec=      Int0vec+12,     /*  mouse interrupt */
        !            23:         Matherr2vec=   Int0vec+13,     /*  math coprocessor */
        !            24:         ATAvec0=       Int0vec+14,     /*  ATA controller #1 */
        !            25:         ATAvec1=       Int0vec+15,     /*  ATA controller #2 */
        !            26: 
        !            27:        Syscallvec=     64,
        !            28: };
        !            29: 
        !            30: /*
        !            31:  *  8259 interrupt controllers
        !            32:  */
        !            33: enum
        !            34: {
        !            35:        Int0ctl=        0x20,           /* control port (ICW1, OCW2, OCW3) */
        !            36:        Int0aux=        0x21,           /* everything else (ICW2, ICW3, ICW4, OCW1) */
        !            37:        Int1ctl=        0xA0,           /* control port */
        !            38:        Int1aux=        0xA1,           /* everything else (ICW2, ICW3, ICW4, OCW1) */
        !            39: 
        !            40:        Icw1=           0x10,           /* select bit in ctl register */
        !            41:        Ocw2=           0x00,
        !            42:        Ocw3=           0x08,
        !            43: 
        !            44:        EOI=            0x20,           /* non-specific end of interrupt */
        !            45: };
        !            46: 
        !            47: extern int     int0mask;       /* interrupts enabled for first 8259 */
        !            48: extern int     int1mask;       /* interrupts enabled for second 8259 */

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.