pte 369 kernel/riscv.h #define PTE2PA(pte) (((pte) >> 10) << 12) pte 371 kernel/riscv.h #define PTE_FLAGS(pte) ((pte) & 0x3FF) pte 92 kernel/vm.c pte_t *pte = &pagetable[PX(level, va)]; pte 93 kernel/vm.c if(*pte & PTE_V) { pte 94 kernel/vm.c pagetable = (pagetable_t)PTE2PA(*pte); pte 99 kernel/vm.c *pte = PA2PTE(pagetable) | PTE_V; pte 111 kernel/vm.c pte_t *pte; pte 117 kernel/vm.c pte = walk(pagetable, va, 0); pte 118 kernel/vm.c if(pte == 0) pte 120 kernel/vm.c if((*pte & PTE_V) == 0) pte 122 kernel/vm.c if((*pte & PTE_U) == 0) pte 124 kernel/vm.c pa = PTE2PA(*pte); pte 147 kernel/vm.c pte_t *pte; pte 161 kernel/vm.c if((pte = walk(pagetable, a, 1)) == 0) pte 163 kernel/vm.c if(*pte & PTE_V) pte 165 kernel/vm.c *pte = PA2PTE(pa) | perm | PTE_V; pte 181 kernel/vm.c pte_t *pte; pte 187 kernel/vm.c if((pte = walk(pagetable, a, 0)) == 0) pte 189 kernel/vm.c if((*pte & PTE_V) == 0) pte 191 kernel/vm.c if(PTE_FLAGS(*pte) == PTE_V) pte 194 kernel/vm.c uint64 pa = PTE2PA(*pte); pte 197 kernel/vm.c *pte = 0; pte 283 kernel/vm.c pte_t pte = pagetable[i]; pte 284 kernel/vm.c if((pte & PTE_V) && (pte & (PTE_R|PTE_W|PTE_X)) == 0){ pte 286 kernel/vm.c uint64 child = PTE2PA(pte); pte 289 kernel/vm.c } else if(pte & PTE_V){ pte 315 kernel/vm.c pte_t *pte; pte 321 kernel/vm.c if((pte = walk(old, i, 0)) == 0) pte 323 kernel/vm.c if((*pte & PTE_V) == 0) pte 325 kernel/vm.c pa = PTE2PA(*pte); pte 326 kernel/vm.c flags = PTE_FLAGS(*pte); pte 347 kernel/vm.c pte_t *pte; pte 349 kernel/vm.c pte = walk(pagetable, va, 0); pte 350 kernel/vm.c if(pte == 0) pte 352 kernel/vm.c *pte &= ~PTE_U; pte 362 kernel/vm.c pte_t *pte; pte 368 kernel/vm.c pte = walk(pagetable, va0, 0); pte 369 kernel/vm.c if(pte == 0 || (*pte & PTE_V) == 0 || (*pte & PTE_U) == 0 || pte 370 kernel/vm.c (*pte & PTE_W) == 0) pte 372 kernel/vm.c pa0 = PTE2PA(*pte);