pgdir 187 defs.h void clearpteu(pde_t *pgdir, char *uva); pgdir 19 exec.c pde_t *pgdir, *oldpgdir; pgdir 30 exec.c pgdir = 0; pgdir 38 exec.c if((pgdir = setupkvm()) == 0) pgdir 52 exec.c if((sz = allocuvm(pgdir, sz, ph.vaddr + ph.memsz)) == 0) pgdir 56 exec.c if(loaduvm(pgdir, (char*)ph.vaddr, ip, ph.off, ph.filesz) < 0) pgdir 66 exec.c if((sz = allocuvm(pgdir, sz, sz + 2*PGSIZE)) == 0) pgdir 68 exec.c clearpteu(pgdir, (char*)(sz - 2*PGSIZE)); pgdir 76 exec.c if(copyout(pgdir, sp, argv[argc], strlen(argv[argc]) + 1) < 0) pgdir 87 exec.c if(copyout(pgdir, sp, ustack, (3+argc+1)*4) < 0) pgdir 97 exec.c oldpgdir = curproc->pgdir; pgdir 98 exec.c curproc->pgdir = pgdir; pgdir 107 exec.c if(pgdir) pgdir 108 exec.c freevm(pgdir); pgdir 129 proc.c if((p->pgdir = setupkvm()) == 0) pgdir 131 proc.c inituvm(p->pgdir, _binary_initcode_start, (int)_binary_initcode_size); pgdir 166 proc.c if((sz = allocuvm(curproc->pgdir, sz, sz + n)) == 0) pgdir 169 proc.c if((sz = deallocuvm(curproc->pgdir, sz, sz + n)) == 0) pgdir 193 proc.c if((np->pgdir = copyuvm(curproc->pgdir, curproc->sz)) == 0){ pgdir 292 proc.c freevm(p->pgdir); pgdir 40 proc.h pde_t* pgdir; // Page table pgdir 36 vm.c walkpgdir(pde_t *pgdir, const void *va, int alloc) pgdir 41 vm.c pde = &pgdir[PDX(va)]; pgdir 61 vm.c mappages(pde_t *pgdir, void *va, uint size, uint pa, int perm) pgdir 69 vm.c if((pte = walkpgdir(pgdir, a, 1)) == 0) pgdir 121 vm.c pde_t *pgdir; pgdir 124 vm.c if((pgdir = (pde_t*)kalloc()) == 0) pgdir 126 vm.c memset(pgdir, 0, PGSIZE); pgdir 130 vm.c if(mappages(pgdir, k->virt, k->phys_end - k->phys_start, pgdir 132 vm.c freevm(pgdir); pgdir 135 vm.c return pgdir; pgdir 163 vm.c if(p->pgdir == 0) pgdir 176 vm.c lcr3(V2P(p->pgdir)); // switch to process's address space pgdir 183 vm.c inituvm(pde_t *pgdir, char *init, uint sz) pgdir 191 vm.c mappages(pgdir, 0, PGSIZE, V2P(mem), PTE_W|PTE_U); pgdir 198 vm.c loaduvm(pde_t *pgdir, char *addr, struct inode *ip, uint offset, uint sz) pgdir 206 vm.c if((pte = walkpgdir(pgdir, addr+i, 0)) == 0) pgdir 222 vm.c allocuvm(pde_t *pgdir, uint oldsz, uint newsz) pgdir 237 vm.c deallocuvm(pgdir, newsz, oldsz); pgdir 241 vm.c if(mappages(pgdir, (char*)a, PGSIZE, V2P(mem), PTE_W|PTE_U) < 0){ pgdir 243 vm.c deallocuvm(pgdir, newsz, oldsz); pgdir 256 vm.c deallocuvm(pde_t *pgdir, uint oldsz, uint newsz) pgdir 266 vm.c pte = walkpgdir(pgdir, (char*)a, 0); pgdir 284 vm.c freevm(pde_t *pgdir) pgdir 288 vm.c if(pgdir == 0) pgdir 290 vm.c deallocuvm(pgdir, KERNBASE, 0); pgdir 292 vm.c if(pgdir[i] & PTE_P){ pgdir 293 vm.c char * v = P2V(PTE_ADDR(pgdir[i])); pgdir 297 vm.c kfree((char*)pgdir); pgdir 303 vm.c clearpteu(pde_t *pgdir, char *uva) pgdir 307 vm.c pte = walkpgdir(pgdir, uva, 0); pgdir 316 vm.c copyuvm(pde_t *pgdir, uint sz) pgdir 326 vm.c if((pte = walkpgdir(pgdir, (void *) i, 0)) == 0) pgdir 350 vm.c uva2ka(pde_t *pgdir, char *uva) pgdir 354 vm.c pte = walkpgdir(pgdir, uva, 0); pgdir 366 vm.c copyout(pde_t *pgdir, uint va, void *p, uint len) pgdir 374 vm.c pa0 = uva2ka(pgdir, (char*)va0);