Lines Matching refs:pte
956 x86pte_t pte;
968 pte = dest[i];
969 if (pte == src[i])
971 if (atomic_cas_64(dest + i, pte, src[i]) != src[i])
1064 x86pte_t pte;
1067 pte = MAKEPTE(pfn, level);
1070 PTE_SET(pte, PT_WRITABLE);
1073 PTE_SET(pte, PT_USER);
1076 PTE_SET(pte, mmu.pt_nx);
1083 PTE_SET(pte, PT_NOCONSIST | PT_REF | PT_MOD);
1085 PTE_SET(pte, PT_NOSYNC | PT_REF | PT_MOD);
1096 PTE_SET(pte, PT_NOCACHE);
1101 PTE_SET(pte, PT_NOCACHE);
1103 PTE_SET(pte, (level == 0) ? PT_PAT_4K : PT_PAT_LARGE);
1105 PTE_SET(pte, PT_WRITETHRU);
1110 return (pte);
1246 hati_sync_pte_to_page(page_t *pp, x86pte_t pte, level_t level)
1251 if (PTE_GET(pte, PT_SOFTWARE) >= PT_NOSYNC)
1254 if (PTE_GET(pte, PT_REF))
1257 if (PTE_GET(pte, PT_MOD))
1300 x86pte_t pte,
1335 * Set the new pte, retrieving the old one at the same time.
1337 old_pte = x86pte_set(ht, entry, pte, pte_ptr);
1352 if (PTE_EQUIV(pte, old_pte))
1384 panic("non-null/page mapping pte=" FMT_PTE, old_pte);
1386 if (PTE2PFN(old_pte, l) != PTE2PFN(pte, l)) {
1391 pf_is_memory(PTE2PFN(pte, l)));
1398 if (PTE_GET(old_pte, ~PT_REMAP_BITS) != PTE_GET(pte, ~PT_REMAP_BITS))
1399 panic("remap bits changed: old_pte="FMT_PTE", pte="FMT_PTE"\n",
1400 old_pte, pte);
1431 x86pte_t pte;
1477 pte = hati_mkpte(pfn, attr, level, flags);
1479 PTE_SET(pte, mmu.pt_global);
1484 rv = hati_pte_map(ht, entry, pp, pte, flags, NULL);
1505 x86pte_t pte;
1517 pte = hati_mkpte(pfn, attr, 0, flags);
1518 PTE_SET(pte, mmu.pt_global);
1532 (void) hati_pte_map(ht, entry, pp, pte, flags, pte_ptr);
1553 * HAT_LOAD_REMAP Reload a valid pte with a different page frame.
1950 * the pte values from the struct hat
2507 x86pte_t pte;
2520 pte = htable_walk(hat, &ht, &vaddr, eaddr);
2525 if (PTE_GET(pte, PT_SOFTWARE) >= PT_NOSYNC ||
2526 PTE_GET(pte, PT_REF | PT_MOD) == 0)
2533 pp = page_numtopp_nolock(PTE2PFN(pte, ht->ht_level));
2537 save_pte = pte;
2538 pte = x86pte_get(ht, entry);
2539 if (pte != save_pte) {
2543 if (PTE_GET(pte, PT_SOFTWARE) >= PT_NOSYNC ||
2544 PTE_GET(pte, PT_REF | PT_MOD) == 0) {
2554 new = pte;
2556 pte = hati_update_pte(ht, entry, pte, new);
2557 if (pte != 0) {
2595 x86pte_t pte;
2602 ht = htable_getpte(hat, vaddr, NULL, &pte, mmu.max_page_level);
2606 if (!PTE_ISVALID(pte) || !PTE_ISPAGE(pte, ht->ht_level)) {
2612 if (PTE_GET(pte, PT_WRITABLE))
2614 if (PTE_GET(pte, PT_USER))
2616 if (!PTE_GET(pte, mmu.pt_nx))
2618 if (PTE_GET(pte, PT_SOFTWARE) >= PT_NOSYNC)
2813 x86pte_t pte;
2817 pte = GET_PTE(PT_INDEX_PTR(mmu.kmap_ptes, pg_index));
2818 if (PTE_ISVALID(pte))
2820 pfn = PTE2PFN(pte, 0);
2922 x86pte_t pte;
2955 pte = htable_walk(ism_hat, &ism_ht, &ism_addr, e_ism_addr);
3009 x86pte_t pte;
3010 pte = x86pte_get(ism_ht, e);
3011 if (!PTE_ISPAGE(pte, l))
3056 pfn = PTE2PFN(pte, ism_ht->ht_level);
3060 * Make a new pte for the PFN for this level.
3061 * Copy protections for the pte from the ISM pte.
3067 if (PTE_GET(pte, PT_WRITABLE))
3069 if (!PTE_GET(pte, PT_NX))
3891 "ht=%p, entry=%d, pte=" FMT_PTE, (void *)ht, entry, oldpte);
3963 x86pte_t pte;
3983 pte = hati_mkpte(pfn, attr, 0, flags);
3985 if (HYPERVISOR_update_va_mapping(va, pte, UVMF_INVLPG | UVMF_LOCAL))
3994 *(x86pte_t *)pteptr = pte;
3996 *(x86pte32_t *)pteptr = (x86pte32_t)pte;
4061 x86pte_t pte;
4068 pte = htable_walk(kas.a_hat, &ht, &vaddr, high);
4075 ASSERT(PTE_ISPAGE(pte, level));
4466 * if an address for pte_ma is passed in, return the MA of the pte