|
|
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 */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.