Lines Matching refs:pte

406  * Returns the lowest valid pte block or table entry for a given virtual
518 pmap_pte_valid_cacheable(pt_entry_t pte)
521 return (((pte & ATTR_DESCR_MASK) == L1_BLOCK) &&
522 ((pte & ATTR_IDX_MASK) == ATTR_IDX(CACHED_MEMORY)));
533 #define PTE_SYNC(pte) cpu_dcache_wb_range((vm_offset_t)pte, sizeof(*pte))
540 pmap_page_dirty(pt_entry_t pte)
543 return ((pte & (ATTR_AF | ATTR_AP_RW_BIT)) ==
989 pt_entry_t *pte, tpte;
999 pte = pmap_pte(pmap, va, &lvl);
1000 if (pte != NULL) {
1001 tpte = pmap_load(pte);
1006 ("pmap_extract: Invalid L1 pte found: %lx",
1012 ("pmap_extract: Invalid L2 pte found: %lx",
1018 ("pmap_extract: Invalid L3 pte found: %lx",
1038 pt_entry_t *pte, tpte;
1048 pte = pmap_pte(pmap, va, &lvl);
1049 if (pte != NULL) {
1050 tpte = pmap_load(pte);
1057 ("pmap_extract_and_hold: Invalid pte at L%d: %lx", lvl,
1087 pt_entry_t *pte, tpte;
1095 pte = pmap_pte(kernel_pmap, va, &lvl);
1096 if (pte != NULL) {
1097 tpte = pmap_load(pte);
1102 ("pmap_kextract: Invalid L1 pte found: %lx",
1108 ("pmap_kextract: Invalid L2 pte found: %lx",
1114 ("pmap_kextract: Invalid L3 pte found: %lx",
1132 pt_entry_t *pte, attr;
1154 pte = pmap_l2_to_l3(pde, va);
1155 pmap_load_store(pte, (pa & ~L3_OFFSET) | attr);
1156 PTE_SYNC(pte);
1178 pt_entry_t *pte;
1181 pte = pmap_pte(kernel_pmap, va, &lvl);
1182 KASSERT(pte != NULL, ("pmap_kremove: Invalid address"));
1183 KASSERT(lvl == 3, ("pmap_kremove: Invalid pte level %d", lvl));
1185 if (pmap_l3_valid_cacheable(pmap_load(pte)))
1187 pmap_load_clear(pte);
1188 PTE_SYNC(pte);
1195 pt_entry_t *pte;
1206 pte = pmap_pte(kernel_pmap, va, &lvl);
1207 KASSERT(pte != NULL, ("Invalid page table, va: 0x%lx", va));
1210 pmap_load_clear(pte);
1211 PTE_SYNC(pte);
1251 pt_entry_t *pte, pa;
1269 pte = pmap_l2_to_l3(pde, va);
1270 pmap_load_store(pte, pa);
1271 PTE_SYNC(pte);
1285 pt_entry_t *pte;
1293 pte = pmap_pte(kernel_pmap, va, &lvl);
1296 if (pte != NULL) {
1297 if (pmap_l3_valid_cacheable(pmap_load(pte)))
1299 pmap_load_clear(pte);
1300 PTE_SYNC(pte);
1617 pt_entry_t *pte;
1642 pte = pmap_l0_to_l1(pde, va);
1643 KASSERT(pmap_load(pte) == 0,
1649 pte = pmap_l1_to_l2(pde, va);
1650 KASSERT(pmap_load(pte) == 0,
1667 * Here if the pte page isn't mapped, or if it has been deallocated.
1859 pt_entry_t *pte, tpte;
1941 pte = pmap_l2_to_l3(pde, va);
1942 tpte = pmap_load(pte);
1945 tpte = pmap_load_clear(pte);
1946 PTE_SYNC(pte);
2521 pt_entry_t *pte, tpte;
2548 pte = pmap_pte(pmap, va, &lvl);
2549 KASSERT(pte != NULL,
2552 ("pmap_remove_all: invalid pte level %d", lvl));
2554 pmap_demote_l2_locked(pmap, pte, va, &lock);
2580 pte = pmap_l2_to_l3(pde, pv->pv_va);
2581 tpte = pmap_load(pte);
2585 pmap_load_clear(pte);
2586 PTE_SYNC(pte);
2730 pmap_update_entry(pmap_t pmap, pd_entry_t *pte, pd_entry_t newpte,
2746 pmap_load_clear(pte);
2747 PTE_SYNC(pte);
2751 pmap_load_store(pte, newpte);
2752 PTE_SYNC(pte);
2880 * that the related pte can not be reclaimed.
3601 pt_entry_t *pte;
3623 pte = pmap_pte(pmap, pv->pv_va, &lvl);
3624 if (pte != NULL && (pmap_load(pte) & ATTR_SW_WIRED) != 0)
3644 pte = pmap_pte(pmap, pv->pv_va, &lvl);
3645 if (pte != NULL &&
3646 (pmap_load(pte) & ATTR_SW_WIRED) != 0)
3675 pt_entry_t *pte, tpte;
3709 pte = pmap_l1_to_l2(pde, pv->pv_va);
3710 tpte = pmap_load(pte);
3715 tpte = pmap_load(pte);
3718 pte = pmap_l2_to_l3(pde, pv->pv_va);
3719 tpte = pmap_load(pte);
3749 ("pmap_remove_pages: bad pte %#jx",
3763 pmap_load_clear(pte);
3764 PTE_SYNC(pte);
3860 pt_entry_t *pte, mask, value;
3881 pte = pmap_pte(pmap, pv->pv_va, &lvl);
3894 rv = (pmap_load(pte) & mask) == value;
3915 pte = pmap_pte(pmap, pv->pv_va, &lvl);
3928 rv = (pmap_load(pte) & mask) == value;
3972 pt_entry_t *pte;
3978 pte = pmap_pte(pmap, addr, &lvl);
3979 if (pte != NULL && pmap_load(pte) != 0) {
4011 pt_entry_t oldpte, *pte;
4045 pte = pmap_pte(pmap, pv->pv_va, &lvl);
4046 if ((pmap_load(pte) & ATTR_AP_RW_BIT) == ATTR_AP(ATTR_AP_RW))
4047 pmap_demote_l2_locked(pmap, pte, va & ~L2_OFFSET,
4069 pte = pmap_pte(pmap, pv->pv_va, &lvl);
4071 oldpte = pmap_load(pte);
4073 if (!atomic_cmpset_long(pte, oldpte,
4087 safe_to_clear_referenced(pmap_t pmap, pt_entry_t pte)
4117 pt_entry_t *pte, tpte;
4160 pte = pmap_l1_to_l2(pde, pv->pv_va);
4161 tpte = pmap_load(pte);
4200 } else if (pmap_demote_l2_locked(pmap, pte,
4205 l3 = pmap_l2_to_l3(pte, va);
4207 pmap_load(pte), NULL, &lock);
4264 pte = pmap_l2_to_l3(pde, pv->pv_va);
4265 tpte = pmap_load(pte);
4283 pmap_remove_l3(pmap, pte, pv->pv_va, tpde,
4411 pt_entry_t l3, *pte, *newpte;
4423 pte = pmap_pte(kernel_pmap, va, &lvl);
4424 if (pte == NULL)
4427 if ((pmap_load(pte) & ATTR_IDX_MASK) == ATTR_IDX(mode)) {
4454 newpte = pmap_demote_l1(kernel_pmap, pte,
4458 pte = pmap_l1_to_l2(pte, tmpva);
4460 newpte = pmap_demote_l2(kernel_pmap, pte,
4464 pte = pmap_l2_to_l3(pte, tmpva);
4467 l3 = pmap_load(pte);
4473 pmap_update_entry(kernel_pmap, pte, l3, tmpva,
4686 pt_entry_t *pte, tpte;
4694 pte = pmap_pte(pmap, addr, &lvl);
4695 if (pte != NULL) {
4696 tpte = pmap_load(pte);