| plan 9 kernel history: overview | file list | diff list |
1991/0318/port/sysproc.c (diff list | history)
| 1991/0118/sys/src/9/port/sysproc.c:42,51 – 1991/0318/sys/src/9/port/sysproc.c:42,51 (short | long | prev | next) | ||
| 1990/0227 | * Save time: only copy u-> data and useful stack */ | |
| 1990/1211 | clearmmucache(); | |
| 1990/0227 |
| |
| 1991/0318 | memmove((void*)upa, u, sizeof(User)); | |
| 1990/0227 | n = USERADDR+BY2PG - (ulong)&lastvar; n = (n+32) & ~(BY2WD-1); /* be safe & word align */ | |
| 1990/0614 |
| |
| 1991/0318 | memmove((void*)(upa+BY2PG-n), (void*)(USERADDR+BY2PG-n), n); | |
| 1990/0227 | ((User *)upa)->p = p; | |
| 1990/0614 | kunmap(k); | |
| 1990/0227 | ||
| 1991/0118/sys/src/9/port/sysproc.c:79,88 – 1991/0318/sys/src/9/port/sysproc.c:79,88 | ||
| 1990/0227 | p->seg[SSEG].o->pte[i].page = np; if(i == 0){ /* only part of last stack page */ | |
| 1990/0614 | memset((void*)VA(k), 0, usp); | |
| 1991/0318 | memmove((void*)(VA(k)+usp), | |
| 1990/0614 | (void*)(op->va+usp), BY2PG-usp); | |
| 1990/0227 | }else /* all of higher pages */ | |
| 1990/0614 |
| |
| 1991/0318 | memmove((void*)VA(k), (void*)op->va, BY2PG); | |
| 1990/0614 | kunmap(k); | |
| 1990/0227 | } } | |
| 1991/0118/sys/src/9/port/sysproc.c:133,139 – 1991/0318/sys/src/9/port/sysproc.c:133,139 | ||
| 1990/0227 | pid = p->pid; memset(p->time, 0, sizeof(p->time)); p->time[TReal] = MACHP(0)->ticks; | |
| 1991/0318 | memmove(p->text, u->p->text, NAMELEN); | |
| 1990/0227 | ready(p); flushmmu(); | |
| 1990/1211 | clearmmucache(); | |
| 1991/0118/sys/src/9/port/sysproc.c:185,191 – 1991/0318/sys/src/9/port/sysproc.c:185,191 | ||
| 1990/0227 | /* * Process #! /bin/sh args ... */ | |
| 1991/0318 | memmove(line, &exec, sizeof(Exec)); | |
| 1990/0227 | if(indir || line[0]!='#' || line[1]!='!') goto Err; n = shargs(line, n, progarg); | |
| 1991/0118/sys/src/9/port/sysproc.c:265,275 – 1991/0318/sys/src/9/port/sysproc.c:265,275 | ||
| 1990/0227 | } *argv++ = charp + (USTKTOP-TSTKTOP); n = strlen(*argp) + 1; | |
| 1991/0318 | memmove(charp, *argp++, n); | |
| 1990/0227 | charp += n; } | |
| 1991/0318 | memmove(p->text, elem, NAMELEN); | |
| 1990/0227 | /* * Committed. Free old memory | |
| 1991/0118/sys/src/9/port/sysproc.c:448,454 – 1991/0318/sys/src/9/port/sysproc.c:448,454 | ||
| 1990/0227 | char buf[ERRLEN]; | |
| 1990/11211 | validaddr(arg[0], ERRLEN, 1); | |
| 1991/0318 | memmove((char*)arg[0], u->error, ERRLEN); | |
| 1990/0227 | return 0; } | |
| 1991/0118/sys/src/9/port/sysproc.c:465,471 – 1991/0318/sys/src/9/port/sysproc.c:465,471 | ||
| 1990/0227 | if(arg[0] == 0) pgrpcpy(pg, u->p->pgrp); | |
| 1990/1009 | else | |
| 1991/0318 | memmove(pg->user, u->p->pgrp->user, NAMELEN); | |
| 1990/0227 | closepgrp(u->p->pgrp); u->p->pgrp = pg; return pg->pgrpid; | |