| plan 9 kernel history: overview | file list | diff list |
1994/0220/carrera/trap.c (diff list | history)
| 1994/0220/sys/src/9/carrera/trap.c:289,295 – 1994/0225/sys/src/9/carrera/trap.c:289,295 (short | long | prev | next) | ||
| 1993/0903 | { | |
| 1993/1219 | static uchar devint; | |
| 1993/0903 | ulong cause = ur->cause; | |
| 1994/0220 |
| |
| 1994/0225 | ulong isr, vec; | |
| 1993/0903 | m->intr++; cause &= INTR7|INTR6|INTR5|INTR4|INTR3|INTR2|INTR1|INTR0; | |
| 1994/0220/sys/src/9/carrera/trap.c:319,326 – 1994/0225/sys/src/9/carrera/trap.c:319,327 | ||
| 1993/0904 | } | |
| 1993/0908 | if(cause & INTR2) { | |
| 1994/0220 | isr = IO(ulong, R4030Isr); | |
| 1994/0225 | ||
| 1994/0220 | if(isr & (1<<5)) { | |
| 1994/0225 | audiodmaintr(); | |
| 1994/0220 | isr &= ~(1<<5); } if(isr) { | |
| 1994/0220/sys/src/9/carrera/trap.c:334,340 – 1994/0225/sys/src/9/carrera/trap.c:335,356 | ||
| 1993/0908 | } | |
| 1993/0904 | if(cause & INTR4) { | |
| 1993/0905 | devint = IO(uchar, I386ack); | |
| 1993/1212 |
| |
| 1994/0225 | vec = devint&~0x7; /* reenable the 8259 interrupt */ if(vec == Int0vec || vec == Int1vec){ EISAOUTB(Int0ctl, EOI); if(vec == Int1vec) EISAOUTB(Int1ctl, EOI); } switch(devint) { default: iprint("i386ACK #%lux\n", devint); break; case 5: audiosbintr(); break; } | |
| 1993/0904 | cause &= ~INTR4; } if(cause & INTR7) { | |