| plan 9 kernel history: overview | file list | diff list |
1990/06021/gnot/main.c (diff list | history)
| 1990/05313/sys/src/9/gnot/main.c:17,22 – 1990/06021/sys/src/9/gnot/main.c:17,23 (short | long | prev | next) | ||
| 1990/0312 | #define BOOT ((Boot*)0) char protouser[NAMELEN]; | |
| 1990/06021 | int bank[2]; | |
| 1990/0312 | void unloadboot(void); | |
| 1990/05313/sys/src/9/gnot/main.c:27,33 – 1990/06021/sys/src/9/gnot/main.c:28,36 | ||
| 1990/03091 | machinit(); mmuinit(); confinit(); | |
| 1990/06021 | kmapinit(); | |
| 1990/03091 | printinit(); | |
| 1990/06021 | print("bank 0: %dM bank 1: %dM\n", bank[0], bank[1]); | |
| 1990/03091 | flushmmu(); procinit0(); pgrpinit(); | |
| 1990/05313/sys/src/9/gnot/main.c:36,41 – 1990/06021/sys/src/9/gnot/main.c:39,45 | ||
| 1990/03091 | chandevreset(); | |
| 1990/0310 | streaminit(); | |
| 1990/03091 | pageinit(); | |
| 1990/06021 | kmapinit(); | |
| 1990/03091 | userinit(); schedinit(); } | |
| 1990/05313/sys/src/9/gnot/main.c:102,107 – 1990/06021/sys/src/9/gnot/main.c:106,112 | ||
| 1990/03091 | Proc *p; Seg *s; User *up; | |
| 1990/06021 | KMap *k; | |
| 1990/03091 | p = newproc(); p->pgrp = newpgrp(); | |
| 1990/05313/sys/src/9/gnot/main.c:121,128 – 1990/06021/sys/src/9/gnot/main.c:126,135 | ||
| 1990/03091 | /* * User */ | |
| 1990/06021 | k = kmap(p->upage); up = (User*)k->va; | |
| 1990/03091 | up->p = p; | |
| 1990/06021 | kunmap(k); | |
| 1990/03091 | /* * User Stack | |
| 1990/05313/sys/src/9/gnot/main.c:140,146 – 1990/06021/sys/src/9/gnot/main.c:147,155 | ||
| 1990/03091 | s->proc = p; s->o = neworig(UTZERO, 1, 0, 0); s->o->pte[0].page = newpage(0, 0, UTZERO); | |
| 1990/06021 | k = kmap(s->o->pte[0].page); memcpy((ulong*)k->va, initcode, sizeof initcode); kunmap(k); | |
| 1990/03091 | s->minva = UTZERO; s->maxva = UTZERO+BY2PG; | |
| 1990/05313/sys/src/9/gnot/main.c:225,230 – 1990/06021/sys/src/9/gnot/main.c:234,264 | ||
| 1990/03091 | where->next = old->next; } | |
| 1990/06021 | banksize(int base) { ulong va; if(&end > (int *)((KZERO|1024L*1024L)-BY2PG)) return 0; va = UZERO; /* user page 1 is free to play with */ putmmu(va, PTEVALID|(base+0)*1024L*1024L/BY2PG); *(ulong*)va=0; /* 0 at 0M */ putmmu(va, PTEVALID|(base+1)*1024L*1024L/BY2PG); *(ulong*)va=1; /* 1 at 1M */ putmmu(va, PTEVALID|(base+4)*1024L*1024L/BY2PG); *(ulong*)va=4; /* 4 at 4M */ putmmu(va, PTEVALID|(base+0)*1024L*1024L/BY2PG); if(*(ulong*)va==0) return 16; putmmu(va, PTEVALID|(base+1)*1024L*1024L/BY2PG); if(*(ulong*)va==1) return 4; putmmu(va, PTEVALID|(base+4)*1024L*1024L/BY2PG); if(*(ulong*)va==2) return 1; return 0; } | |
| 1990/03091 | Conf conf; void | |
| 1990/05313/sys/src/9/gnot/main.c:233,241 – 1990/06021/sys/src/9/gnot/main.c:267,281 | ||
| 1990/03091 | conf.nmach = 1; if(conf.nmach > MAXMACH) panic("confinit"); | |
| 1990/0320 |
| |
| 1990/06021 | conf.nproc = 40; | |
| 1990/03091 | conf.npgrp = 15; | |
| 1990/0320 |
| |
| 1990/06021 | bank[0] = banksize(0); bank[1] = banksize(16); conf.npage0 = (bank[0]*1024*1024)/BY2PG; conf.base0 = 0; conf.npage1 = (bank[1]*1024*1024)/BY2PG; conf.base1 = 16*1024*1024; conf.npage = conf.npage0+conf.npage1; | |
| 1990/03091 | conf.npte = 500; | |
| 1990/05313 | conf.nmod = 200; | |
| 1990/0312 | conf.nalarm = 1000; | |