pagetable 31 kernel/exec.c pagetable_t pagetable = 0, oldpagetable; pagetable 49 kernel/exec.c if((pagetable = proc_pagetable(p)) == 0) pagetable 65 kernel/exec.c if((sz1 = uvmalloc(pagetable, sz, ph.vaddr + ph.memsz, flags2perm(ph.flags))) == 0) pagetable 68 kernel/exec.c if(loadseg(pagetable, ph.vaddr, ip, ph.off, ph.filesz) < 0) pagetable 83 kernel/exec.c if((sz1 = uvmalloc(pagetable, sz, sz + (USERSTACK+1)*PGSIZE, PTE_W)) == 0) pagetable 86 kernel/exec.c uvmclear(pagetable, sz-(USERSTACK+1)*PGSIZE); pagetable 98 kernel/exec.c if(copyout(pagetable, sp, argv[argc], strlen(argv[argc]) + 1) < 0) pagetable 109 kernel/exec.c if(copyout(pagetable, sp, (char *)ustack, (argc+1)*sizeof(uint64)) < 0) pagetable 124 kernel/exec.c oldpagetable = p->pagetable; pagetable 125 kernel/exec.c p->pagetable = pagetable; pagetable 134 kernel/exec.c if(pagetable) pagetable 135 kernel/exec.c proc_freepagetable(pagetable, sz); pagetable 148 kernel/exec.c loadseg(pagetable_t pagetable, uint64 va, struct inode *ip, uint offset, uint sz) pagetable 154 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 242 kernel/proc.c uvmfirst(p->pagetable, initcode, sizeof(initcode)); pagetable 267 kernel/proc.c if((sz = uvmalloc(p->pagetable, sz, sz + n, PTE_W)) == 0) { pagetable 271 kernel/proc.c sz = uvmdealloc(p->pagetable, sz, sz + n); pagetable 292 kernel/proc.c if(uvmcopy(p->pagetable, np->pagetable, p->sz) < 0){ pagetable 411 kernel/proc.c if(addr != 0 && copyout(p->pagetable, addr, (char *)&pp->xstate, pagetable 645 kernel/proc.c return copyout(p->pagetable, dst, src, len); pagetable 660 kernel/proc.c return copyin(p->pagetable, dst, src, len); pagetable 101 kernel/proc.h pagetable_t pagetable; // User page table pagetable 227 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 123 kernel/trap.c uint64 satp = MAKE_SATP(p->pagetable); pagetable 86 kernel/vm.c walk(pagetable_t pagetable, uint64 va, int alloc) pagetable 92 kernel/vm.c pte_t *pte = &pagetable[PX(level, va)]; pagetable 94 kernel/vm.c pagetable = (pagetable_t)PTE2PA(*pte); pagetable 96 kernel/vm.c if(!alloc || (pagetable = (pde_t*)kalloc()) == 0) pagetable 98 kernel/vm.c memset(pagetable, 0, PGSIZE); pagetable 99 kernel/vm.c *pte = PA2PTE(pagetable) | PTE_V; pagetable 102 kernel/vm.c return &pagetable[PX(0, va)]; pagetable 109 kernel/vm.c walkaddr(pagetable_t pagetable, uint64 va) pagetable 117 kernel/vm.c pte = walk(pagetable, va, 0); pagetable 144 kernel/vm.c mappages(pagetable_t pagetable, uint64 va, uint64 size, uint64 pa, int perm) pagetable 161 kernel/vm.c if((pte = walk(pagetable, a, 1)) == 0) pagetable 178 kernel/vm.c uvmunmap(pagetable_t pagetable, uint64 va, uint64 npages, int do_free) pagetable 187 kernel/vm.c if((pte = walk(pagetable, a, 0)) == 0) pagetable 206 kernel/vm.c pagetable_t pagetable; pagetable 207 kernel/vm.c pagetable = (pagetable_t) kalloc(); pagetable 208 kernel/vm.c if(pagetable == 0) pagetable 210 kernel/vm.c memset(pagetable, 0, PGSIZE); pagetable 211 kernel/vm.c return pagetable; pagetable 218 kernel/vm.c uvmfirst(pagetable_t pagetable, uchar *src, uint sz) pagetable 226 kernel/vm.c mappages(pagetable, 0, PGSIZE, (uint64)mem, PTE_W|PTE_R|PTE_X|PTE_U); pagetable 233 kernel/vm.c uvmalloc(pagetable_t pagetable, uint64 oldsz, uint64 newsz, int xperm) pagetable 245 kernel/vm.c uvmdealloc(pagetable, a, oldsz); pagetable 249 kernel/vm.c if(mappages(pagetable, a, PGSIZE, (uint64)mem, PTE_R|PTE_U|xperm) != 0){ pagetable 251 kernel/vm.c uvmdealloc(pagetable, a, oldsz); pagetable 263 kernel/vm.c uvmdealloc(pagetable_t pagetable, uint64 oldsz, uint64 newsz) pagetable 270 kernel/vm.c uvmunmap(pagetable, PGROUNDUP(newsz), npages, 1); pagetable 279 kernel/vm.c freewalk(pagetable_t pagetable) pagetable 283 kernel/vm.c pte_t pte = pagetable[i]; pagetable 288 kernel/vm.c pagetable[i] = 0; pagetable 293 kernel/vm.c kfree((void*)pagetable); pagetable 299 kernel/vm.c uvmfree(pagetable_t pagetable, uint64 sz) pagetable 302 kernel/vm.c uvmunmap(pagetable, 0, PGROUNDUP(sz)/PGSIZE, 1); pagetable 303 kernel/vm.c freewalk(pagetable); pagetable 345 kernel/vm.c uvmclear(pagetable_t pagetable, uint64 va) pagetable 349 kernel/vm.c pte = walk(pagetable, va, 0); pagetable 359 kernel/vm.c copyout(pagetable_t pagetable, uint64 dstva, char *src, uint64 len) pagetable 368 kernel/vm.c pte = walk(pagetable, va0, 0); pagetable 389 kernel/vm.c copyin(pagetable_t pagetable, char *dst, uint64 srcva, uint64 len) pagetable 395 kernel/vm.c pa0 = walkaddr(pagetable, va0); pagetable 415 kernel/vm.c copyinstr(pagetable_t pagetable, char *dst, uint64 srcva, uint64 max) pagetable 422 kernel/vm.c pa0 = walkaddr(pagetable, va0);