pte 367 kernel/riscv.h #define PTE2PA(pte) (((pte) >> 10) << 12) pte 369 kernel/riscv.h #define PTE_FLAGS(pte) ((pte) & 0x3FF) pte 104 kernel/vm.c pte_t *pte = &pagetable[PX(level, va)]; pte 105 kernel/vm.c if(*pte & PTE_V) { pte 106 kernel/vm.c pagetable = (pagetable_t)PTE2PA(*pte); pte 111 kernel/vm.c *pte = PA2PTE(pagetable) | PTE_V; pte 123 kernel/vm.c pte_t *pte; pte 129 kernel/vm.c pte = walk(pagetable, va, 0); pte 130 kernel/vm.c if(pte == 0) pte 132 kernel/vm.c if((*pte & PTE_V) == 0) pte 134 kernel/vm.c if((*pte & PTE_U) == 0) pte 136 kernel/vm.c pa = PTE2PA(*pte); pte 149 kernel/vm.c pte_t *pte; pte 163 kernel/vm.c if((pte = walk(pagetable, a, 1)) == 0) pte 165 kernel/vm.c if(*pte & PTE_V) pte 167 kernel/vm.c *pte = PA2PTE(pa) | perm | PTE_V; pte 196 kernel/vm.c pte_t *pte; pte 202 kernel/vm.c if((pte = walk(pagetable, a, 0)) == 0) // leaf page table entry allocated? pte 204 kernel/vm.c if((*pte & PTE_V) == 0) // has physical page been allocated? pte 207 kernel/vm.c uint64 pa = PTE2PA(*pte); pte 210 kernel/vm.c *pte = 0; pte 267 kernel/vm.c pte_t pte = pagetable[i]; pte 268 kernel/vm.c if((pte & PTE_V) && (pte & (PTE_R|PTE_W|PTE_X)) == 0){ pte 270 kernel/vm.c uint64 child = PTE2PA(pte); pte 273 kernel/vm.c } else if(pte & PTE_V){ pte 299 kernel/vm.c pte_t *pte; pte 305 kernel/vm.c if((pte = walk(old, i, 0)) == 0) pte 307 kernel/vm.c if((*pte & PTE_V) == 0) pte 309 kernel/vm.c pa = PTE2PA(*pte); pte 310 kernel/vm.c flags = PTE_FLAGS(*pte); pte 331 kernel/vm.c pte_t *pte; pte 333 kernel/vm.c pte = walk(pagetable, va, 0); pte 334 kernel/vm.c if(pte == 0) pte 336 kernel/vm.c *pte &= ~PTE_U; pte 346 kernel/vm.c pte_t *pte; pte 360 kernel/vm.c pte = walk(pagetable, va0, 0); pte 362 kernel/vm.c if((*pte & PTE_W) == 0) pte 478 kernel/vm.c pte_t *pte = walk(pagetable, va, 0); pte 479 kernel/vm.c if (pte == 0) { pte 482 kernel/vm.c if (*pte & PTE_V){