| plan 9 kernel history: overview | file list | diff list |
1991/1114/power/trap.c (diff list | history)
| 1991/1111/sys/src/9/power/trap.c:166,179 – 1991/1114/sys/src/9/power/trap.c:166,179 (short | long | prev | next) | ||
| 1990/0227 | } } | |
| 1991/0705 | ||
| 1991/1110 |
| |
| 1991/0705 | ||
| 1990/0227 | splhi(); | |
| 1991/0314 |
| |
| 1990/0227 |
| |
| 1991/1114 | if(user) { notify(ur); if(u->p->fpstate == FPinactive) { restfpregs(&u->fpsave, u->fpsave.fpstatus); u->p->fpstate = FPactive; ur->status |= CU1; } | |
| 1990/0227 | } } | |
| 1991/1111/sys/src/9/power/trap.c:367,378 – 1991/1114/sys/src/9/power/trap.c:367,380 | ||
| 1990/0227 | void notify(Ureg *ur) { | |
| 1991/1114 | ulong s, sp; | |
| 1990/0227 | ||
| 1991/1110 | if(u->p->procctl) procctl(u->p); if(u->nnote == 0) | |
| 1990/0227 | return; | |
| 1991/1114 | s = spllo(); | |
| 1991/1110 | lock(&u->p->debug); | |
| 1991/0727 | u->p->notepending = 0; | |
| 1990/0227 | if(u->note[0].flag!=NUser && (u->notified || u->notify==0)){ | |
| 1991/1111/sys/src/9/power/trap.c:412,417 – 1991/1114/sys/src/9/power/trap.c:414,420 | ||
| 1991/0318 | memmove(&u->note[0], &u->note[1], u->nnote*sizeof(Note)); | |
| 1990/0227 | } unlock(&u->p->debug); | |
| 1991/1114 | splx(s); | |
| 1990/0227 | } /* | |
| 1991/1111/sys/src/9/power/trap.c:524,535 – 1991/1114/sys/src/9/power/trap.c:527,538 | ||
| 1990/0227 | ur->pc += 4; u->nerrlab = 0; | |
| 1991/0705 | ||
| 1990/0227 |
| |
| 1991/0926 | u->p->psstate = 0; | |
| 1990/03091 | u->p->insyscall = 0; | |
| 1991/0926 | if(r1 == NOTED) /* ugly hack */ | |
| 1991/0717 | noted(&aur, *(ulong*)(sp+BY2WD)); /* doesn't return */ | |
| 1991/1110 |
| |
| 1991/1114 | splhi(); if(r1!=FORK && (u->p->procctl || u->nnote)){ | |
| 1990/0227 | ur->r1 = ret; notify(ur); } | |