Lines Matching full:pte
83 /* PTE */
107 * PTE AVA field manipulation macros.
123 /* Masks to obtain the Physical Address from PTE low 64-bit word. */
215 * by VSID, in order to find out the EA from a PTE. in slb_init()
311 ppc64_pt_entry_t pte, *p; in pte_get() local
313 p = _kvm_pmap_get(kd, ptex, sizeof(pte)); in pte_get()
314 pte.pte_hi = be64toh(p->pte_hi); in pte_get()
315 pte.pte_lo = be64toh(p->pte_lo); in pte_get()
316 return (pte); in pte_get()
328 ppc64_pt_entry_t pte; in pte_search() local
379 pte = pte_get(kd, ptex); in pte_search()
382 if ((pte.pte_hi & LPTEH_HID) != hid || in pte_search()
383 (pte.pte_hi & LPTEH_VALID) == 0 || in pte_search()
384 (pte.pte_hi & LPTEH_B_MASK) != LPTEH_B_256MB) in pte_search()
388 if (PTEH_AVA_VSID(pte.pte_hi) != va_vsid || in pte_search()
389 (PTEH_AVA_PAGE(pte.pte_hi) >> ava_pg_shift) != in pte_search()
394 * Check if PTE[L] matches SLBV[L]. in pte_search()
396 * Note: this check ignores PTE[LP], as does the kernel. in pte_search()
399 if (pte.pte_hi & LPTEH_BIG) in pte_search()
401 } else if ((pte.pte_hi & LPTEH_BIG) == 0) in pte_search()
405 dprintf("%s: PTE found: ptex=0x%jx, pteh=0x%016jx, " in pte_search()
407 __func__, (uintmax_t)ptex, (uintmax_t)pte.pte_hi, in pte_search()
408 (uintmax_t)pte.pte_lo); in pte_search()
419 "%s: pte not found", __func__); in pte_search()
424 /* PTE found */ in pte_search()
425 *p = pte; in pte_search()
430 pte_lookup(kvm_t *kd, kvaddr_t ea, ppc64_pt_entry_t *pte) in pte_lookup() argument
438 /* Next, find PTE */ in pte_lookup()
439 return (pte_search(kd, slb, 0, ea, pte)); in pte_lookup()
447 ppc64_pt_entry_t pte; in ppc64mmu_hpt_kvatop() local
484 if ((err = pte_lookup(kd, va, &pte)) == -1) { in ppc64mmu_hpt_kvatop()
486 "%s: pte not valid", __func__); in ppc64mmu_hpt_kvatop()
490 if (pte.pte_hi & LPTEH_BIG) in ppc64mmu_hpt_kvatop()
491 pgpa = (pte.pte_lo & PTEL_LP_PA_MASK) | in ppc64mmu_hpt_kvatop()
494 pgpa = pte.pte_lo & PTEL_PA_MASK; in ppc64mmu_hpt_kvatop()
519 entry_to_prot(ppc64_pt_entry_t *pte) in entry_to_prot() argument
523 if (pte->pte_lo & LPTEL_RW) in entry_to_prot()
525 if ((pte->pte_lo & LPTEL_NOEXEC) != 0) in entry_to_prot()
561 get_ea(kvm_t *kd, ppc64_pt_entry_t *pte, u_long ptex) in get_ea() argument
568 vsid = PTEH_AVA_VSID(pte->pte_hi); in get_ea()
589 ea |= (PTEH_AVA_PAGE(pte->pte_hi) >> shift) << in get_ea()
595 if (pte->pte_hi & LPTEH_HID) in get_ea()
617 ppc64_pt_entry_t pte = pte_get(kd, ptex); in ppc64mmu_hpt_walk_pages() local
618 if ((pte.pte_hi & LPTEH_VALID) == 0) in ppc64mmu_hpt_walk_pages()
622 vsid = PTEH_AVA_VSID(pte.pte_hi); in ppc64mmu_hpt_walk_pages()
628 if ((va = get_ea(kd, &pte, ptex)) == ~0UL) in ppc64mmu_hpt_walk_pages()
632 if (pte.pte_hi & LPTEH_BIG) { in ppc64mmu_hpt_walk_pages()
633 pa = pte.pte_lo & PTEL_LP_PA_MASK; in ppc64mmu_hpt_walk_pages()
636 pa = pte.pte_lo & PTEL_PA_MASK; in ppc64mmu_hpt_walk_pages()
644 entry_to_prot(&pte), pagesz, 0)) in ppc64mmu_hpt_walk_pages()