pagetable 35 kernel/exec.c pagetable_t pagetable = 0, oldpagetable; pagetable 55 kernel/exec.c if((pagetable = proc_pagetable(p)) == 0) pagetable 71 kernel/exec.c if((sz1 = uvmalloc(pagetable, sz, ph.vaddr + ph.memsz, flags2perm(ph.flags))) == 0) pagetable 74 kernel/exec.c if(loadseg(pagetable, ph.vaddr, ip, ph.off, ph.filesz) < 0) pagetable 89 kernel/exec.c if((sz1 = uvmalloc(pagetable, sz, sz + (USERSTACK+1)*PGSIZE, PTE_W)) == 0) pagetable 92 kernel/exec.c uvmclear(pagetable, sz-(USERSTACK+1)*PGSIZE); pagetable 105 kernel/exec.c if(copyout(pagetable, sp, argv[argc], strlen(argv[argc]) + 1) < 0) pagetable 116 kernel/exec.c if(copyout(pagetable, sp, (char *)ustack, (argc+1)*sizeof(uint64)) < 0) pagetable 131 kernel/exec.c oldpagetable = p->pagetable; pagetable 132 kernel/exec.c p->pagetable = pagetable; pagetable 141 kernel/exec.c if(pagetable) pagetable 142 kernel/exec.c proc_freepagetable(pagetable, sz); pagetable 155 kernel/exec.c loadseg(pagetable_t pagetable, uint64 va, struct inode *ip, uint offset, uint sz) pagetable 161 kernel/exec.c pa = walkaddr(pagetable, va + i); pagetable 97 kernel/file.c if(copyout(p->pagetable, addr, (char *)&st, sizeof(st)) < 0) pagetable 93 kernel/pipe.c if(copyin(pr->pagetable, &ch, addr + i, 1) == -1) pagetable 124 kernel/pipe.c if(copyout(pr->pagetable, addr + i, &ch, 1) == -1) pagetable 136 kernel/proc.c p->pagetable = proc_pagetable(p); pagetable 137 kernel/proc.c if(p->pagetable == 0){ pagetable 161 kernel/proc.c if(p->pagetable) pagetable 162 kernel/proc.c proc_freepagetable(p->pagetable, p->sz); pagetable 163 kernel/proc.c p->pagetable = 0; pagetable 179 kernel/proc.c pagetable_t pagetable; pagetable 182 kernel/proc.c pagetable = uvmcreate(); pagetable 183 kernel/proc.c if(pagetable == 0) pagetable 190 kernel/proc.c if(mappages(pagetable, TRAMPOLINE, PGSIZE, pagetable 192 kernel/proc.c uvmfree(pagetable, 0); pagetable 198 kernel/proc.c if(mappages(pagetable, TRAPFRAME, PGSIZE, pagetable 200 kernel/proc.c uvmunmap(pagetable, TRAMPOLINE, 1, 0); pagetable 201 kernel/proc.c uvmfree(pagetable, 0); pagetable 205 kernel/proc.c return pagetable; pagetable 211 kernel/proc.c proc_freepagetable(pagetable_t pagetable, uint64 sz) pagetable 213 kernel/proc.c uvmunmap(pagetable, TRAMPOLINE, 1, 0); pagetable 214 kernel/proc.c uvmunmap(pagetable, TRAPFRAME, 1, 0); pagetable 215 kernel/proc.c uvmfree(pagetable, sz); pagetable 244 kernel/proc.c if((sz = uvmalloc(p->pagetable, sz, sz + n, PTE_W)) == 0) { pagetable 248 kernel/proc.c sz = uvmdealloc(p->pagetable, sz, sz + n); pagetable 269 kernel/proc.c if(uvmcopy(p->pagetable, np->pagetable, p->sz) < 0){ pagetable 388 kernel/proc.c if(addr != 0 && copyout(p->pagetable, addr, (char *)&pp->xstate, pagetable 532 kernel/proc.c uint64 satp = MAKE_SATP(p->pagetable); pagetable 637 kernel/proc.c return copyout(p->pagetable, dst, src, len); pagetable 652 kernel/proc.c return copyin(p->pagetable, dst, src, len); pagetable 101 kernel/proc.h pagetable_t pagetable; // User page table pagetable 225 kernel/riscv.h #define MAKE_SATP(pagetable) (SATP_SV39 | (((uint64)pagetable) >> 12)) pagetable 17 kernel/syscall.c if(copyin(p->pagetable, (char *)ip, addr, sizeof(*ip)) != 0) pagetable 28 kernel/syscall.c if(copyinstr(p->pagetable, buf, addr, max) < 0) pagetable 496 kernel/sysfile.c if(copyout(p->pagetable, fdarray, (char*)&fd0, sizeof(fd0)) < 0 || pagetable 497 kernel/sysfile.c copyout(p->pagetable, fdarray+sizeof(fd0), (char *)&fd1, sizeof(fd1)) < 0){ pagetable 72 kernel/trap.c vmfault(p->pagetable, r_stval(), (r_scause() == 13)? 1 : 0) != 0) { pagetable 90 kernel/trap.c uint64 satp = MAKE_SATP(p->pagetable); pagetable 98 kernel/vm.c walk(pagetable_t pagetable, uint64 va, int alloc) pagetable 104 kernel/vm.c pte_t *pte = &pagetable[PX(level, va)]; pagetable 106 kernel/vm.c pagetable = (pagetable_t)PTE2PA(*pte); pagetable 108 kernel/vm.c if(!alloc || (pagetable = (pde_t*)kalloc()) == 0) pagetable 110 kernel/vm.c memset(pagetable, 0, PGSIZE); pagetable 111 kernel/vm.c *pte = PA2PTE(pagetable) | PTE_V; pagetable 114 kernel/vm.c return &pagetable[PX(0, va)]; pagetable 121 kernel/vm.c walkaddr(pagetable_t pagetable, uint64 va) pagetable 129 kernel/vm.c pte = walk(pagetable, va, 0); pagetable 146 kernel/vm.c mappages(pagetable_t pagetable, uint64 va, uint64 size, uint64 pa, int perm) pagetable 163 kernel/vm.c if((pte = walk(pagetable, a, 1)) == 0) pagetable 181 kernel/vm.c pagetable_t pagetable; pagetable 182 kernel/vm.c pagetable = (pagetable_t) kalloc(); pagetable 183 kernel/vm.c if(pagetable == 0) pagetable 185 kernel/vm.c memset(pagetable, 0, PGSIZE); pagetable 186 kernel/vm.c return pagetable; pagetable 193 kernel/vm.c uvmunmap(pagetable_t pagetable, uint64 va, uint64 npages, int do_free) pagetable 202 kernel/vm.c if((pte = walk(pagetable, a, 0)) == 0) // leaf page table entry allocated? pagetable 217 kernel/vm.c uvmalloc(pagetable_t pagetable, uint64 oldsz, uint64 newsz, int xperm) pagetable 229 kernel/vm.c uvmdealloc(pagetable, a, oldsz); pagetable 233 kernel/vm.c if(mappages(pagetable, a, PGSIZE, (uint64)mem, PTE_R|PTE_U|xperm) != 0){ pagetable 235 kernel/vm.c uvmdealloc(pagetable, a, oldsz); pagetable 247 kernel/vm.c uvmdealloc(pagetable_t pagetable, uint64 oldsz, uint64 newsz) pagetable 254 kernel/vm.c uvmunmap(pagetable, PGROUNDUP(newsz), npages, 1); pagetable 263 kernel/vm.c freewalk(pagetable_t pagetable) pagetable 267 kernel/vm.c pte_t pte = pagetable[i]; pagetable 272 kernel/vm.c pagetable[i] = 0; pagetable 277 kernel/vm.c kfree((void*)pagetable); pagetable 283 kernel/vm.c uvmfree(pagetable_t pagetable, uint64 sz) pagetable 286 kernel/vm.c uvmunmap(pagetable, 0, PGROUNDUP(sz)/PGSIZE, 1); pagetable 287 kernel/vm.c freewalk(pagetable); pagetable 329 kernel/vm.c uvmclear(pagetable_t pagetable, uint64 va) pagetable 333 kernel/vm.c pte = walk(pagetable, va, 0); pagetable 343 kernel/vm.c copyout(pagetable_t pagetable, uint64 dstva, char *src, uint64 len) pagetable 353 kernel/vm.c pa0 = walkaddr(pagetable, va0); pagetable 355 kernel/vm.c if((pa0 = vmfault(pagetable, va0, 0)) == 0) { pagetable 360 kernel/vm.c pte = walk(pagetable, va0, 0); pagetable 381 kernel/vm.c copyin(pagetable_t pagetable, char *dst, uint64 srcva, uint64 len) pagetable 387 kernel/vm.c pa0 = walkaddr(pagetable, va0); pagetable 389 kernel/vm.c if((pa0 = vmfault(pagetable, va0, 0)) == 0) { pagetable 410 kernel/vm.c copyinstr(pagetable_t pagetable, char *dst, uint64 srcva, uint64 max) pagetable 417 kernel/vm.c pa0 = walkaddr(pagetable, va0); pagetable 453 kernel/vm.c vmfault(pagetable_t pagetable, uint64 va, int read) pagetable 461 kernel/vm.c if(ismapped(pagetable, va)) { pagetable 468 kernel/vm.c if (mappages(p->pagetable, va, PGSIZE, mem, PTE_W|PTE_U|PTE_R) != 0) { pagetable 476 kernel/vm.c ismapped(pagetable_t pagetable, uint64 va) pagetable 478 kernel/vm.c pte_t *pte = walk(pagetable, va, 0);