pagetable 36 kernel/exec.c pagetable_t pagetable = 0, oldpagetable; pagetable 56 kernel/exec.c if ((pagetable = proc_pagetable(p)) == 0) pagetable 72 kernel/exec.c if ((sz1 = uvmalloc(pagetable, sz, ph.vaddr + ph.memsz, pagetable 76 kernel/exec.c if (loadseg(pagetable, ph.vaddr, ip, ph.off, ph.filesz) < 0) pagetable 91 kernel/exec.c if ((sz1 = uvmalloc(pagetable, sz, sz + (USERSTACK + 1) * PGSIZE, PTE_W)) == pagetable 95 kernel/exec.c uvmclear(pagetable, sz - (USERSTACK + 1) * PGSIZE); pagetable 106 kernel/exec.c if (copyout(pagetable, sz, sp, argv[argc], strlen(argv[argc]) + 1) < 0) pagetable 117 kernel/exec.c if (copyout(pagetable, sz, sp, (char *)ustack, (argc + 1) * sizeof(uint64)) < pagetable 133 kernel/exec.c oldpagetable = p->pagetable; pagetable 134 kernel/exec.c p->pagetable = pagetable; pagetable 143 kernel/exec.c if (pagetable) pagetable 144 kernel/exec.c proc_freepagetable(pagetable, sz); pagetable 157 kernel/exec.c loadseg(pagetable_t pagetable, uint64 va, struct inode *ip, uint offset, pagetable 164 kernel/exec.c pa = walkaddr(pagetable, va + i); pagetable 97 kernel/file.c if (copyout(p->pagetable, p->sz, addr, (char *)&st, sizeof(st)) < 0) pagetable 96 kernel/pipe.c if (copyin(pr->pagetable, pr->sz, &ch, addr + i, 1) == -1) { pagetable 133 kernel/pipe.c if (copyout(pr->pagetable, pr->sz, 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 178 kernel/proc.c pagetable_t pagetable; pagetable 181 kernel/proc.c pagetable = uvmcreate(); pagetable 182 kernel/proc.c if (pagetable == 0) pagetable 189 kernel/proc.c if (mappages(pagetable, TRAMPOLINE, PGSIZE, (uint64)trampoline, pagetable 191 kernel/proc.c uvmfree(pagetable, 0); pagetable 197 kernel/proc.c if (mappages(pagetable, TRAPFRAME, PGSIZE, (uint64)(p->trapframe), pagetable 199 kernel/proc.c uvmunmap(pagetable, TRAMPOLINE, 1, 0); pagetable 200 kernel/proc.c uvmfree(pagetable, 0); pagetable 204 kernel/proc.c return pagetable; pagetable 210 kernel/proc.c proc_freepagetable(pagetable_t pagetable, uint64 sz) pagetable 212 kernel/proc.c uvmunmap(pagetable, TRAMPOLINE, 1, 0); pagetable 213 kernel/proc.c uvmunmap(pagetable, TRAPFRAME, 1, 0); pagetable 214 kernel/proc.c uvmfree(pagetable, sz); pagetable 246 kernel/proc.c if ((sz = uvmalloc(p->pagetable, sz, sz + n, PTE_W)) == 0) { pagetable 250 kernel/proc.c sz = uvmdealloc(p->pagetable, sz, sz + n); pagetable 271 kernel/proc.c if (uvmcopy(p->pagetable, np->pagetable, p->sz) < 0) { pagetable 391 kernel/proc.c copyout(p->pagetable, p->sz, addr, (char *)&pp->xstate, pagetable 540 kernel/proc.c uint64 satp = MAKE_SATP(p->pagetable); pagetable 651 kernel/proc.c return copyout(p->pagetable, p->sz, dst, src, len); pagetable 666 kernel/proc.c return copyin(p->pagetable, p->sz, dst, src, len); pagetable 98 kernel/proc.h pagetable_t pagetable; // User page table pagetable 248 kernel/riscv.h #define MAKE_SATP(pagetable) (SATP_SV39 | (((uint64)pagetable) >> 12)) pagetable 18 kernel/syscall.c if (copyin(p->pagetable, p->sz, (char *)ip, addr, sizeof(*ip)) != 0) pagetable 29 kernel/syscall.c if (copyinstr(p->pagetable, p->sz, buf, addr, max) < 0) pagetable 520 kernel/sysfile.c if (copyout(p->pagetable, p->sz, fdarray, (char *)&fd0, sizeof(fd0)) < 0 || pagetable 521 kernel/sysfile.c copyout(p->pagetable, p->sz, fdarray + sizeof(fd0), (char *)&fd1, pagetable 72 kernel/trap.c vmfault(p->pagetable, p->sz, r_stval(), pagetable 91 kernel/trap.c uint64 satp = MAKE_SATP(p->pagetable); pagetable 99 kernel/vm.c walk(pagetable_t pagetable, uint64 va, int alloc) pagetable 105 kernel/vm.c pte_t *pte = &pagetable[PX(level, va)]; pagetable 107 kernel/vm.c pagetable = (pagetable_t)PTE2PA(*pte); pagetable 109 kernel/vm.c if (!alloc || (pagetable = (pde_t *)kalloc()) == 0) pagetable 111 kernel/vm.c memset(pagetable, 0, PGSIZE); pagetable 112 kernel/vm.c *pte = PA2PTE(pagetable) | PTE_V; pagetable 115 kernel/vm.c return &pagetable[PX(0, va)]; pagetable 122 kernel/vm.c walkaddr(pagetable_t pagetable, uint64 va) pagetable 130 kernel/vm.c pte = walk(pagetable, va, 0); pagetable 147 kernel/vm.c mappages(pagetable_t pagetable, uint64 va, uint64 size, uint64 pa, int perm) pagetable 164 kernel/vm.c if ((pte = walk(pagetable, a, 1)) == 0) pagetable 182 kernel/vm.c pagetable_t pagetable; pagetable 183 kernel/vm.c pagetable = (pagetable_t)kalloc(); pagetable 184 kernel/vm.c if (pagetable == 0) pagetable 186 kernel/vm.c memset(pagetable, 0, PGSIZE); pagetable 187 kernel/vm.c return pagetable; pagetable 194 kernel/vm.c uvmunmap(pagetable_t pagetable, uint64 va, uint64 npages, int do_free) pagetable 203 kernel/vm.c if ((pte = walk(pagetable, a, 0)) == 0) // leaf page table entry allocated? pagetable 218 kernel/vm.c uvmalloc(pagetable_t pagetable, uint64 oldsz, uint64 newsz, int xperm) pagetable 230 kernel/vm.c uvmdealloc(pagetable, a, oldsz); pagetable 234 kernel/vm.c if (mappages(pagetable, a, PGSIZE, (uint64)mem, PTE_R | PTE_U | xperm) != pagetable 237 kernel/vm.c uvmdealloc(pagetable, a, oldsz); pagetable 249 kernel/vm.c uvmdealloc(pagetable_t pagetable, uint64 oldsz, uint64 newsz) pagetable 256 kernel/vm.c uvmunmap(pagetable, PGROUNDUP(newsz), npages, 1); pagetable 265 kernel/vm.c freewalk(pagetable_t pagetable) pagetable 269 kernel/vm.c pte_t pte = pagetable[i]; pagetable 274 kernel/vm.c pagetable[i] = 0; pagetable 279 kernel/vm.c kfree((void *)pagetable); pagetable 285 kernel/vm.c uvmfree(pagetable_t pagetable, uint64 sz) pagetable 288 kernel/vm.c uvmunmap(pagetable, 0, PGROUNDUP(sz) / PGSIZE, 1); pagetable 289 kernel/vm.c freewalk(pagetable); pagetable 331 kernel/vm.c uvmclear(pagetable_t pagetable, uint64 va) pagetable 335 kernel/vm.c pte = walk(pagetable, va, 0); pagetable 345 kernel/vm.c copyout(pagetable_t pagetable, uint64 psz, uint64 dstva, char *src, uint64 len) pagetable 355 kernel/vm.c pa0 = walkaddr(pagetable, va0); pagetable 357 kernel/vm.c if ((pa0 = vmfault(pagetable, psz, va0, 0)) == 0) { pagetable 362 kernel/vm.c pte = walk(pagetable, va0, 0); pagetable 383 kernel/vm.c copyin(pagetable_t pagetable, uint64 psz, char *dst, uint64 srcva, uint64 len) pagetable 389 kernel/vm.c pa0 = walkaddr(pagetable, va0); pagetable 391 kernel/vm.c if ((pa0 = vmfault(pagetable, psz, va0, 1)) == 0) { pagetable 412 kernel/vm.c copyinstr(pagetable_t pagetable, uint64 psz, char *dst, uint64 srcva, pagetable 420 kernel/vm.c pa0 = walkaddr(pagetable, va0); pagetable 422 kernel/vm.c if ((pa0 = vmfault(pagetable, psz, va0, 1)) == 0) { pagetable 459 kernel/vm.c vmfault(pagetable_t pagetable, uint64 psz, uint64 va, int read) pagetable 466 kernel/vm.c if (ismapped(pagetable, va)) { pagetable 473 kernel/vm.c if (mappages(pagetable, va, PGSIZE, mem, PTE_W | PTE_U | PTE_R) != 0) { pagetable 481 kernel/vm.c ismapped(pagetable_t pagetable, uint64 va) pagetable 483 kernel/vm.c pte_t *pte = walk(pagetable, va, 0);