pgdir 180 defs.h void clearpteu(pde_t *pgdir, char *uva); pgdir 19 exec.c pde_t *pgdir, *oldpgdir; pgdir 27 exec.c pgdir = 0; pgdir 35 exec.c if((pgdir = setupkvm()) == 0) pgdir 47 exec.c if((sz = allocuvm(pgdir, sz, ph.vaddr + ph.memsz)) == 0) pgdir 49 exec.c if(loaduvm(pgdir, (char*)ph.vaddr, ip, ph.off, ph.filesz) < 0) pgdir 59 exec.c if((sz = allocuvm(pgdir, sz, sz + 2*PGSIZE)) == 0) pgdir 61 exec.c clearpteu(pgdir, (char*)(sz - 2*PGSIZE)); pgdir 69 exec.c if(copyout(pgdir, sp, argv[argc], strlen(argv[argc]) + 1) < 0) pgdir 80 exec.c if(copyout(pgdir, sp, ustack, (3+argc+1)*4) < 0) pgdir 90 exec.c oldpgdir = proc->pgdir; pgdir 91 exec.c proc->pgdir = pgdir; pgdir 100 exec.c if(pgdir) pgdir 101 exec.c freevm(pgdir); pgdir 86 proc.c if((p->pgdir = setupkvm()) == 0) pgdir 88 proc.c inituvm(p->pgdir, _binary_initcode_start, (int)_binary_initcode_size); pgdir 114 proc.c if((sz = allocuvm(proc->pgdir, sz, sz + n)) == 0) pgdir 117 proc.c if((sz = deallocuvm(proc->pgdir, sz, sz + n)) == 0) pgdir 139 proc.c if((np->pgdir = copyuvm(proc->pgdir, proc->sz)) == 0){ pgdir 235 proc.c freevm(p->pgdir); pgdir 57 proc.h pde_t* pgdir; // Page table pgdir 46 vm.c walkpgdir(pde_t *pgdir, const void *va, int alloc) pgdir 51 vm.c pde = &pgdir[PDX(va)]; pgdir 71 vm.c mappages(pde_t *pgdir, void *va, uint size, uint pa, int perm) pgdir 79 vm.c if((pte = walkpgdir(pgdir, a, 1)) == 0) pgdir 131 vm.c pde_t *pgdir; pgdir 134 vm.c if((pgdir = (pde_t*)kalloc()) == 0) pgdir 136 vm.c memset(pgdir, 0, PGSIZE); pgdir 140 vm.c if(mappages(pgdir, k->virt, k->phys_end - k->phys_start, pgdir 143 vm.c return pgdir; pgdir 173 vm.c if(p->pgdir == 0) pgdir 175 vm.c lcr3(v2p(p->pgdir)); // switch to new address space pgdir 182 vm.c inituvm(pde_t *pgdir, char *init, uint sz) pgdir 190 vm.c mappages(pgdir, 0, PGSIZE, v2p(mem), PTE_W|PTE_U); pgdir 197 vm.c loaduvm(pde_t *pgdir, char *addr, struct inode *ip, uint offset, uint sz) pgdir 205 vm.c if((pte = walkpgdir(pgdir, addr+i, 0)) == 0) pgdir 221 vm.c allocuvm(pde_t *pgdir, uint oldsz, uint newsz) pgdir 236 vm.c deallocuvm(pgdir, newsz, oldsz); pgdir 240 vm.c mappages(pgdir, (char*)a, PGSIZE, v2p(mem), PTE_W|PTE_U); pgdir 250 vm.c deallocuvm(pde_t *pgdir, uint oldsz, uint newsz) pgdir 260 vm.c pte = walkpgdir(pgdir, (char*)a, 0); pgdir 278 vm.c freevm(pde_t *pgdir) pgdir 282 vm.c if(pgdir == 0) pgdir 284 vm.c deallocuvm(pgdir, KERNBASE, 0); pgdir 286 vm.c if(pgdir[i] & PTE_P){ pgdir 287 vm.c char * v = p2v(PTE_ADDR(pgdir[i])); pgdir 291 vm.c kfree((char*)pgdir); pgdir 297 vm.c clearpteu(pde_t *pgdir, char *uva) pgdir 301 vm.c pte = walkpgdir(pgdir, uva, 0); pgdir 310 vm.c copyuvm(pde_t *pgdir, uint sz) pgdir 320 vm.c if((pte = walkpgdir(pgdir, (void *) i, 0)) == 0) pgdir 342 vm.c uva2ka(pde_t *pgdir, char *uva) pgdir 346 vm.c pte = walkpgdir(pgdir, uva, 0); pgdir 358 vm.c copyout(pde_t *pgdir, uint va, void *p, uint len) pgdir 366 vm.c pa0 = uva2ka(pgdir, (char*)va0);