Annotation of lucent/sys/src/9/pc/io.h, revision 1.1.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.