| plan 9 kernel history: overview | file list | diff list |
1992/0714/pc/trap.c (diff list | history)
| 1992/0714/sys/src/9/pc/trap.c:274,279 – 1992/0804/sys/src/9/pc/trap.c:274,298 (short | long | prev | next) | ||
| 1991/0720 | void dumpstack(void) { | |
| 1992/0804 | ulong l, v, i; extern ulong etext; if(u == 0) return; i = 0; for(l=(ulong)&l; l<USERADDR+BY2PG; l+=4){ v = *(ulong*)l; if(KTZERO < v && v < (ulong)&etext){ print("%lux ", v); i++; } if(i == 4){ i = 0; print("\n"); } } | |
| 1991/0720 | } | |
| 1991/1214 | long | |
| 1992/0714/sys/src/9/pc/trap.c:334,341 – 1992/0804/sys/src/9/pc/trap.c:353,362 | ||
| 1992/0625 | u->s = *((Sargs*)(sp+1*BY2WD)); | |
| 1992/06271 | u->p->psstate = sysctab[u->scallnr]; | |
| 1992/0625 | ||
| 1992/0804 | if(u->p->fgrp->ref <= 0) print("before syscall %s\n", u->p->psstate); | |
| 1992/06271 | ret = (*systab[u->scallnr])(u->s.args); | |
| 1991/0720 | poperror(); | |
| 1992/0804 | if(u->p->fgrp->ref <= 0) print("after syscall %s\n", u->p->psstate); | |
| 1991/0720 | } if(u->nerrlab){ | |
| 1992/06271 | print("bad errstack [%d]: %d extra\n", u->scallnr, u->nerrlab); | |
| 1992/0714/sys/src/9/pc/trap.c:361,366 – 1992/0804/sys/src/9/pc/trap.c:382,388 | ||
| 1992/0103 | splhi(); /* avoid interrupts during the iret */ | |
| 1992/06271 | if(u->scallnr!=RFORK && (u->p->procctl || u->nnote)) | |
| 1991/0720 | notify(ur); | |
| 1992/0804 | ||
| 1991/0720 | return ret; | |
| 1991/0710 | } | |