| plan 9 kernel history: overview | file list | diff list |
1991/0425/port/devcons.c (diff list | history)
| 1991/0421/sys/src/9/port/devcons.c:320,325 – 1991/0425/sys/src/9/port/devcons.c:320,326 (short | long | prev | next) | ||
| 1990/0227 | Qtime, Quser, | |
| 1990/11161 | Qvmereset, | |
| 1991/0425 | Qsysstat, | |
| 1990/0227 | }; Dirtab consdir[]={ | |
| 1991/0421/sys/src/9/port/devcons.c:334,339 – 1991/0425/sys/src/9/port/devcons.c:335,341 | ||
| 1990/11211 | "time", {Qtime}, 12, 0600, "user", {Quser}, 0, 0600, "vmereset", {Qvmereset}, 0, 0600, | |
| 1991/0425 | "sysstat", {Qsysstat}, 0, 0600, | |
| 1990/0227 | }; #define NCONS (sizeof consdir/sizeof(Dirtab)) | |
| 1991/0421/sys/src/9/port/devcons.c:443,455 – 1991/0425/sys/src/9/port/devcons.c:445,458 | ||
| 1990/0227 | long | |
| 1991/0411 | consread(Chan *c, void *buf, long n, ulong offset) | |
| 1990/0227 | { | |
| 1991/0425 | int ch, i, j, k, id; | |
| 1990/0227 | ulong l; uchar *out; char *cbuf = buf; char *user; int userlen; | |
| 1991/0425 | char tmp[6*NUMSIZE], xbuf[512]; Mach *mp; | |
| 1990/0227 | if(n <= 0) return n; | |
| 1991/0421/sys/src/9/port/devcons.c:532,537 – 1991/0425/sys/src/9/port/devcons.c:535,552 | ||
| 1990/0720 | case Qlog: | |
| 1991/0411 | return readlog(offset, buf, n); | |
| 1990/0720 | ||
| 1991/0425 | case Qsysstat: j = 0; for(id = 0; id < 32; id++) { if(active.machs & (1<<id)) { mp = MACHP(id); j += sprint(&xbuf[j], "%d %d %d %d %d %d %d %d\n", id, mp->cs, mp->intr, mp->syscall, mp->pfault, mp->tlbfault, mp->tlbpurge, mp->spinlock); } } return readstr(offset, buf, n, xbuf); | |
| 1990/0227 | case Qnull: return 0; | |
| 1991/0421/sys/src/9/port/devcons.c:547,553 – 1991/0425/sys/src/9/port/devcons.c:562,570 | ||
| 1990/0227 | char cbuf[64]; char buf[256]; long l, m; | |
| 1991/0425 | int id; | |
| 1990/0227 | char *a = va; | |
| 1991/0425 | Mach *mp; | |
| 1990/0227 | ||
| 1990/11211 | switch(c->qid.path){ | |
| 1990/0227 | case Qcons: | |
| 1991/0421/sys/src/9/port/devcons.c:601,607 – 1991/0425/sys/src/9/port/devcons.c:618,638 | ||
| 1990/11211 | error(Eperm); | |
| 1990/11161 | vmereset(); break; | |
| 1991/0425 | case Qsysstat: for(id = 0; id < 32; id++) { if(active.machs & (1<<id)) { mp = MACHP(id); mp->cs = 0; mp->intr = 0; mp->syscall = 0; mp->pfault = 0; mp->tlbfault = 0; mp->tlbpurge = 0; mp->spinlock = 0; } } | |
| 1990/11161 | ||
| 1991/0425 | break; | |
| 1990/0227 | default: | |
| 1990/11211 | error(Egreg); | |
| 1990/0227 | } | |