| plan 9 kernel history: overview | file list | diff list |
1990/11211/power/trap.c (diff list | history)
| 1990/1113/sys/src/9/power/trap.c:327,333 – 1990/11211/sys/src/9/power/trap.c:327,332 (short | long | prev | next) | ||
| 1990/0227 | l = &ur->status; for(i=0; i<sizeof regname/sizeof(char*); i+=2, l+=2) print("%s\t%.8lux\t%s\t%.8lux\n", regname[i], l[0], regname[i+1], l[1]); | |
| 1990/1113/sys/src/9/power/trap.c:393,421 – 1990/11211/sys/src/9/power/trap.c:392,420 | ||
| 1990/0227 | #undef CHDIR /* BUG */ | |
| 1990/11211 | #include "/sys/src/libc/Nmips9sys/sys.h" | |
| 1990/0227 | typedef long Syscall(ulong*); | |
| 1990/11211 | Syscall sysbind, sysbrk_, syschdir, sysclose, syscreate, sysdeath; | |
| 1990/0227 | Syscall sysdup, syserrstr, sysexec, sysexits, sysfork, sysforkpgrp; | |
| 1990/11211 | Syscall sysfstat, sysfwstat, sysgetpid, sysmount, sysnoted; | |
| 1990/0227 | Syscall sysnotify, sysopen, syspipe, sysr1, sysread, sysremove, sysseek; | |
| 1990/11211 | Syscall syssleep, sysstat, syswait, syswrite, syswstat; | |
| 1990/0227 | Syscall *systab[]={ [SYSR1] sysr1, | |
| 1990/0826 |
| |
| 1990/11211 | [ERRSTR] syserrstr, | |
| 1990/0227 | [BIND] sysbind, [CHDIR] syschdir, [CLOSE] sysclose, [DUP] sysdup, | |
| 1990/11211 | [___ERRSTR___] sysdeath, | |
| 1990/0227 | [EXEC] sysexec, [EXITS] sysexits, [FORK] sysfork, [FORKPGRP] sysforkpgrp, [FSTAT] sysfstat, | |
| 1990/11211 | [___LASTERR___] sysdeath, | |
| 1990/0227 | [MOUNT] sysmount, [OPEN] sysopen, [READ] sysread, | |
| 1990/1113/sys/src/9/power/trap.c:426,432 – 1990/11211/sys/src/9/power/trap.c:425,431 | ||
| 1990/0227 | [WRITE] syswrite, [PIPE] syspipe, [CREATE] syscreate, | |
| 1990/11211 | [___USERSTR___] sysdeath, | |
| 1990/0227 | [BRK_] sysbrk_, [REMOVE] sysremove, [WSTAT] syswstat, | |
| 1990/1113/sys/src/9/power/trap.c:467,473 – 1990/11211/sys/src/9/power/trap.c:466,472 | ||
| 1990/1110 | msg = "sys: bad sys call"; | |
| 1990/0511 | Bad: postnote(u->p, 1, msg, NDebug); | |
| 1990/11211 | error(Ebadarg); | |
| 1990/0511 | } if(sp & (BY2WD-1)){ pprint("odd sp in sys call pc %lux sp %lux\n", ((Ureg*)UREGADDR)->pc, ((Ureg*)UREGADDR)->sp); | |
| 1990/1113/sys/src/9/power/trap.c:474,481 – 1990/11211/sys/src/9/power/trap.c:473,480 | ||
| 1990/1110 | msg = "sys: odd stack"; | |
| 1990/0511 | goto Bad; } | |
| 1990/0515 |
| |
| 1990/11211 | if(sp<(USTKTOP-BY2PG) || sp>(USTKTOP-5*BY2WD)) validaddr(sp, 5*BY2WD, 0); | |
| 1990/0227 | ret = (*systab[r1])((ulong*)(sp+2*BY2WD)); | |
| 1990/0511 | } | |
| 1990/0227 | ur->pc += 4; | |
| 1990/1113/sys/src/9/power/trap.c:491,507 – 1990/11211/sys/src/9/power/trap.c:490,508 | ||
| 1990/0227 | return ret; } | |
| 1990/11211 | #include "errstr.h" | |
| 1990/0227 | void | |
| 1990/11211 | error(int code) | |
| 1990/0227 | { | |
| 1990/11211 | strncpy(u->error, errstrtab[code], NAMELEN); nexterror(); } void errors(char *err) { strncpy(u->error, err, NAMELEN); | |
| 1990/0227 | nexterror(); } | |