| plan 9 kernel history: overview | file list | diff list |
1993/1115/pc/trap.c (diff list | history)
| 1993/1114/sys/src/9/pc/trap.c:136,144 – 1993/1115/sys/src/9/pc/trap.c:136,144 (short | long | prev | next) | ||
| 1993/1114 | sethvec(11, intr11, SEGIG, 0); sethvec(12, intr12, SEGIG, 0); sethvec(13, intr13, SEGIG, 0); | |
| 1992/0806 |
| |
| 1993/1115 | sethvec(14, intr14, SEGIG, 0); /* page fault */ | |
| 1993/1114 | sethvec(15, intr15, SEGIG, 0); | |
| 1992/0806 |
| |
| 1993/1115 | sethvec(16, intr16, SEGIG, 0); /* math coprocessor */ | |
| 1991/0731 | /* | |
| 1991/0904 | * device interrupts | |
| 1993/1114/sys/src/9/pc/trap.c:223,229 – 1993/1115/sys/src/9/pc/trap.c:223,231 | ||
| 1993/0915 | ||
| 1991/0614 | /* | |
| 1991/0703 |
| |
| 1993/1115 | * All trapscome here. It is slower to have all traps call trap() rather than * directly vectoring the handler. However, this avoids a lot of code duplication * and possible bugs. | |
| 1991/0614 | */ | |
| 1991/0710 | void | |
| 1991/0703 | trap(Ureg *ur) | |
| 1993/1114/sys/src/9/pc/trap.c:239,251 – 1993/1115/sys/src/9/pc/trap.c:241,246 | ||
| 1991/1112 | if(user) | |
| 1993/0915 | up->dbgreg = ur; | |
| 1991/1112 | ||
| 1993/1113 |
| |
| 1991/0709 | /* * tell the 8259 that we're done with the | |
| 1991/0801 | * highest level interrupt (interrupts are still | |
| 1993/1114/sys/src/9/pc/trap.c:313,325 – 1993/1115/sys/src/9/pc/trap.c:308,326 | ||
| 1991/0718 | void | |
| 1993/0915 | dumpregs2(Ureg *ur) | |
| 1991/0718 | { | |
| 1993/1115 | ur->cs &= 0xffff; ur->ds &= 0xffff; ur->es &= 0xffff; ur->fs &= 0xffff; ur->gs &= 0xffff; | |
| 1993/0915 | if(up) print("registers for %s %d\n", up->text, up->pid); | |
| 1991/0718 | else print("registers for kernel\n"); | |
| 1993/0915 |
| |
| 1993/1115 | print("FLAGS=%lux TRAP=%lux ECODE=%lux CS=%4.4lux PC=%lux", ur->flags, ur->trap, | |
| 1993/1113 | ur->ecode, ur->cs, ur->pc); | |
| 1993/1115 | print(" SS=%4.4lux USP=%lux\n", ur->ss&0xffff, ur->usp); | |
| 1991/0718 | print(" AX %8.8lux BX %8.8lux CX %8.8lux DX %8.8lux\n", ur->ax, ur->bx, ur->cx, ur->dx); | |
| 1991/1214 | print(" SI %8.8lux DI %8.8lux BP %8.8lux\n", | |
| 1993/1114/sys/src/9/pc/trap.c:326,332 – 1993/1115/sys/src/9/pc/trap.c:327,332 | ||
| 1991/1214 | ur->si, ur->di, ur->bp); | |
| 1993/1113 | print(" DS %4.4lux ES %4.4lux FS %4.4lux GS %4.4lux\n", ur->ds, ur->es, ur->fs, ur->gs); | |
| 1993/0915 | ||
| 1991/0718 | } | |
| 1991/0720 | void | |