| plan 9 kernel history: overview | file list | diff list |
1990/0816/gnot/trap.c (diff list | history)
| 1990/0816/sys/src/9/gnot/trap.c:243,248 – 1990/08163/sys/src/9/gnot/trap.c:243,249 (short | long | prev | next) | ||
| 1990/03091 | ulong r0; Ureg *ur; | |
| 1990/0513 | char *msg; | |
| 1990/08163 | long fpnull = 0; | |
| 1990/03091 | u->p->insyscall = 1; ur = aur; | |
| 1990/0816/sys/src/9/gnot/trap.c:249,264 – 1990/08163/sys/src/9/gnot/trap.c:250,268 | ||
| 1990/0312 | u->p->pc = ur->pc; | |
| 1990/03091 | if(ur->sr & SUPER) panic("recursive system call"); | |
| 1990/08163 | * guarantee anything about registers, but the fpcr is more than * just a register... BUG | |
| 1990/03091 | */ | |
| 1990/08163 | splhi(); fpsave(&u->fpsave); if(u->p->fpstate==FPactive || u->fpsave.type){ fprestore((FPsave*)&fpnull); u->p->fpstate = FPinit; m->fpstate = FPinit; | |
| 1990/03091 | } | |
| 1990/08163 | spllo(); | |
| 1990/03091 | r0 = ur->r0; sp = ur->usp; | |