| plan 9 kernel history: overview | file list | diff list |
1992/0805/power/trap.c (diff list | history)
| 1992/0803/sys/src/9/power/trap.c:83,92 – 1992/0805/sys/src/9/power/trap.c:83,91 (short | long | prev | next) | ||
| 1990/0227 | ecode = EXCCODE(ur->cause); | |
| 1992/0527 | LEDON(ecode); | |
| 1990/0227 | user = ur->status&KUP; | |
| 1991/1110 |
| |
| 1990/0227 |
| |
| 1992/0805 | if(u) | |
| 1991/1110 | u->dbgreg = ur; | |
| 1992/0805 | ||
| 1990/0227 | switch(ecode){ case CINT: if(u && u->p->state==Running){ | |
| 1992/0803/sys/src/9/power/trap.c:505,511 – 1992/0805/sys/src/9/power/trap.c:504,510 | ||
| 1992/0407 | p = u->p; p->insyscall = 1; | |
| 1990/0227 | ur = aur; | |
| 1992/0407 |
| |
| 1992/0805 | p->pc = ur->pc; | |
| 1991/1110 | u->dbgreg = aur; | |
| 1990/0901 | ur->cause = 15<<2; /* for debugging: system call is undef 15; | |
| 1990/0227 | /* | |
| 1992/0803/sys/src/9/power/trap.c:574,579 – 1992/0805/sys/src/9/power/trap.c:573,579 | ||
| 1991/1214 | *--sp = nargs; ((Ureg*)UREGADDR)->usp = (ulong)sp; ((Ureg*)UREGADDR)->pc = entry - 4; /* syscall advances it */ | |
| 1992/0805 | u->fpsave.fpstatus = initfp.fpstatus; | |
| 1991/1214 | return USTKTOP-BY2WD; /* address of user-level clock */ | |
| 1990/0227 | } | |