| plan 9 kernel history: overview | file list | diff list |
1992/1104/port/segment.c (diff list | history)
| 1992/1104/sys/src/9/port/segment.c:335,340 – 1992/1206/sys/src/9/port/segment.c:335,341 (short | long | prev | next) | ||
| 1991/0705 | if(newtop < s->top) { mfreeseg(s, newtop, (s->top-newtop)/BY2PG); qunlock(&s->lk); | |
| 1992/1206 | flushmmu(); | |
| 1991/0705 | return 0; } | |
| 1992/1104/sys/src/9/port/segment.c:371,394 – 1992/1206/sys/src/9/port/segment.c:372,395 | ||
| 1991/0705 | for(i = soff/PTEMAPMEM; i < SEGMAPSIZE; i++) { if(pages <= 0) | |
| 1992/1206 | break; if(s->map[i] == 0) { pages -= PTEPERTAB-j; j = 0; continue; } while(j < PTEPERTAB) { pg = s->map[i]->pages[j]; if(pg) { putpage(pg); s->map[i]->pages[j] = 0; | |
| 1991/0705 | } | |
| 1992/1206 | if(--pages == 0) return; j++; | |
| 1991/0705 | } | |
| 1991/0726 |
| |
| 1991/0705 | } | |
| 1992/1104/sys/src/9/port/segment.c:407,414 – 1992/1206/sys/src/9/port/segment.c:408,414 | ||
| 1991/0705 | vmemchr(name, 0, ~0); for(sno = 0; sno < NSEG; sno++) | |
| 1992/0307 |
| |
| 1992/1206 | if(u->p->seg[sno] == 0 && sno != ESEG) | |
| 1991/0705 | break; if(sno == NSEG) | |