Lines Matching refs:pm
230 user_va_to_slb_entry(pmap_t pm, vm_offset_t va) in user_va_to_slb_entry() argument
236 ua = pm->pm_slb_tree_root; in user_va_to_slb_entry()
267 va_to_vsid(pmap_t pm, vm_offset_t va) in va_to_vsid() argument
272 if (pm == kernel_pmap) in va_to_vsid()
280 entry = user_va_to_slb_entry(pm, va); in va_to_vsid()
283 return (allocate_user_vsid(pm, in va_to_vsid()
290 allocate_user_vsid(pmap_t pm, uint64_t esid, int large) in allocate_user_vsid() argument
297 KASSERT(pm != kernel_pmap, ("Attempting to allocate a kernel VSID")); in allocate_user_vsid()
299 PMAP_LOCK_ASSERT(pm, MA_OWNED); in allocate_user_vsid()
306 ua = pm->pm_slb_tree_root; in allocate_user_vsid()
348 slb_insert_user(pm, slb); in allocate_user_vsid()
354 free_vsid(pmap_t pm, uint64_t esid, int large) in free_vsid() argument
359 PMAP_LOCK_ASSERT(pm, MA_OWNED); in free_vsid()
361 ua = pm->pm_slb_tree_root; in free_vsid()
407 slb_free_tree(pmap_t pm) in slb_free_tree() argument
410 free_slb_tree_node(pm->pm_slb_tree_root); in slb_free_tree()
472 slb_insert_user(pmap_t pm, struct slb *slb) in slb_insert_user() argument
476 PMAP_LOCK_ASSERT(pm, MA_OWNED); in slb_insert_user()
478 if (pm->pm_slb_len < n_slbs) { in slb_insert_user()
479 i = pm->pm_slb_len; in slb_insert_user()
480 pm->pm_slb_len++; in slb_insert_user()
486 pm->pm_slb[i] = slb; in slb_insert_user()
592 handle_user_slb_spill(pmap_t pm, vm_offset_t addr) in handle_user_slb_spill() argument
598 if (pm->pm_slb == NULL) in handle_user_slb_spill()
603 PMAP_LOCK(pm); in handle_user_slb_spill()
604 user_entry = user_va_to_slb_entry(pm, addr); in handle_user_slb_spill()
608 (void)allocate_user_vsid(pm, esid, 0); in handle_user_slb_spill()
614 for (i = 0; i < pm->pm_slb_len; i++) in handle_user_slb_spill()
615 if (pm->pm_slb[i] == user_entry) in handle_user_slb_spill()
618 if (i == pm->pm_slb_len) in handle_user_slb_spill()
619 slb_insert_user(pm, user_entry); in handle_user_slb_spill()
621 PMAP_UNLOCK(pm); in handle_user_slb_spill()