| plan 9 kernel history: overview | file list | diff list |
1994/1025/carrera/trap.c (diff list | history)
| 1994/0902/sys/src/9/carrera/trap.c:57,62 – 1994/1025/sys/src/9/carrera/trap.c:57,63 (short | long | prev | next) | ||
| 1993/0903 | }; char *fpexcname(Ureg*, ulong, char*); #define FPEXPMASK (0x3f<<12) /* Floating exception bits in fcr31 */ | |
| 1994/1025 | void (*eisadma[8])(void); /* Eisa dma chain vectors */ | |
| 1993/0903 | char *regname[]={ | |
| 1994/0902/sys/src/9/carrera/trap.c:284,291 – 1994/1025/sys/src/9/carrera/trap.c:285,304 | ||
| 1993/0903 | } void | |
| 1994/1025 | seteisadma(int ch, void (*func)(void)) { if(ch < 0 || ch > 7) panic("seteisadma"); if(eisadma[ch] != 0) print("EISA dma%d: intr used twice"); eisadma[ch] = func; } void | |
| 1993/0903 | intr(Ureg *ur) { | |
| 1994/1025 | int i; | |
| 1993/1219 | static uchar devint; | |
| 1993/0903 | ulong cause = ur->cause; | |
| 1994/0225 | ulong isr, vec; | |
| 1994/0902/sys/src/9/carrera/trap.c:351,358 – 1994/1025/sys/src/9/carrera/trap.c:364,379 | ||
| 1994/0307 | case 7: | |
| 1994/0225 | audiosbintr(); | |
| 1994/0307 | break; | |
| 1994/1025 | case 10: mpegintr(); break; | |
| 1994/0307 | case 13: | |
| 1994/1025 | isr = EISAINB(Eisadmaintr) & ~(1<<4); for(i = 0; i < 8; i++) { if(isr & 1) eisadma[i](); isr >>= 1; } | |
| 1994/0225 | break; } | |
| 1993/0904 | cause &= ~INTR4; | |