| plan 9 kernel history: overview | file list | diff list |
1990/1212/port/sysproc.c (diff list | history)
| 1990/1211/sys/src/9/port/sysproc.c:205,214 – 1990/1212/sys/src/9/port/sysproc.c:205,211 (short | long | prev | next) | ||
| 1990/0227 | Binary: t = (UTZERO+sizeof(Exec)+exec.text+(BY2PG-1)) & ~(BY2PG-1); | |
| 1990/1212 | d = (t + exec.data + (BY2PG-1)) & ~(BY2PG-1); | |
| 1990/1211 | bssend = t + exec.data + exec.bss; b = (bssend + (BY2PG-1)) & ~(BY2PG-1); | |
| 1990/0227 | if((t|d|b) & KZERO) | |
| 1990/1211/sys/src/9/port/sysproc.c:311,317 – 1990/1212/sys/src/9/port/sysproc.c:308,314 | ||
| 1990/0227 | if(o == 0){ o = neworig(t, (d-t)>>PGSHIFT, OWRPERM|OPURE|OCACHED, tc); o->minca = p->seg[TSEG].o->maxca; | |
| 1990/1212 | o->maxca = o->minca + exec.data; | |
| 1990/0227 | } s->o = o; s->minva = t; | |
| 1990/1211/sys/src/9/port/sysproc.c:319,333 – 1990/1212/sys/src/9/port/sysproc.c:316,328 | ||
| 1990/0227 | s->mod = 0; /* | |
| 1990/1212 | * BSS. Created afresh. | |
| 1990/0227 | */ s = &p->seg[BSEG]; s->proc = p; | |
| 1990/1212 | o = neworig(d, (b-d)>>PGSHIFT, OWRPERM, 0); o->minca = 0; o->maxca = 0; | |
| 1990/0227 | s->o = o; s->minva = d; s->maxva = b; | |
| 1990/1211/sys/src/9/port/sysproc.c:353,359 – 1990/1212/sys/src/9/port/sysproc.c:348,354 | ||
| 1990/0227 | unlock(o); flushmmu(); | |
| 1990/1211 |
| |
| 1990/1212 | clearmmucache(); | |
| 1990/1211 | ((Ureg*)UREGADDR)->pc = exec.entry + ENTRYOFFSET; | |
| 1990/0227 | sp = (ulong*)(USTKTOP - ssize); *--sp = nargs; | |
| 1990/1211/sys/src/9/port/sysproc.c:362,368 – 1990/1212/sys/src/9/port/sysproc.c:357,363 | ||
| 1990/0227 | u->nnote = 0; u->notify = 0; u->notified = 0; | |
| 1990/1211 |
| |
| 1990/1212 | procsetup(p); | |
| 1990/0227 | unlock(&p->debug); return 0; } | |