Lines Matching refs:tsbinfop
837 #define SFMMU_GET_TSBINFO(tsbinfop, sfmmup, tte_szc) { \ argument
838 (tsbinfop) = (sfmmup)->sfmmu_tsb; \
839 ASSERT(((tsbinfop)->tsb_flags & TSB_SHAREDCTX) || \
842 ASSERT((tsbinfop) != NULL); \
843 (tsbinfop) = (tsbinfop)->tsb_next; \
1998 struct tsb_info *tsbinfop; in hat_swapout() local
2001 struct tsb_info *tsbinfop; in hat_swapout() member
2079 for (tsbinfop = sfmmup->sfmmu_tsb; tsbinfop != NULL; in hat_swapout()
2080 tsbinfop = tsbinfop->tsb_next) { in hat_swapout()
2081 ASSERT((tsbinfop->tsb_flags & TSB_SWAPPED) == 0); in hat_swapout()
2088 last = freelist = (struct free_tsb *)tsbinfop->tsb_va; in hat_swapout()
2090 last->next = (struct free_tsb *)tsbinfop->tsb_va; in hat_swapout()
2094 last->tsbinfop = tsbinfop; in hat_swapout()
2095 tsbinfop->tsb_flags |= TSB_SWAPPED; in hat_swapout()
2105 tsbinfop->tsb_tte.ll = 0; in hat_swapout()
2112 sfmmu_tsb_free(freelist->tsbinfop); in hat_swapout()
2688 struct tsb_info *tsbinfop = NULL; in sfmmu_mod_tsb() local
2709 SFMMU_GET_TSBINFO(tsbinfop, sfmmup, ttesz); in sfmmu_mod_tsb()
2718 if (tsbinfop == NULL || (tsbinfop->tsb_flags & TSB_SWAPPED)) in sfmmu_mod_tsb()
2727 if ((tsbinfop->tsb_flags & TSB_RELOC_FLAG) != 0) { in sfmmu_mod_tsb()
2729 tsbinfop->tsb_flags |= TSB_FLUSH_NEEDED; in sfmmu_mod_tsb()
2734 tsb_base = (uint64_t)tsbinfop->tsb_pa; in sfmmu_mod_tsb()
2736 tsb_base = (uint64_t)tsbinfop->tsb_va; in sfmmu_mod_tsb()
2738 tsb_size = tsbinfop->tsb_szc; in sfmmu_mod_tsb()
2769 struct tsb_info *tsbinfop; in sfmmu_unload_tsb_range() local
2799 SFMMU_GET_TSBINFO(tsbinfop, sfmmup, ttesz); in sfmmu_unload_tsb_range()
2808 if (tsbinfop == NULL || (tsbinfop->tsb_flags & TSB_SWAPPED)) in sfmmu_unload_tsb_range()
2817 if ((tsbinfop->tsb_flags & TSB_RELOC_FLAG) != 0) { in sfmmu_unload_tsb_range()
2818 tsbinfop->tsb_flags |= TSB_FLUSH_NEEDED; in sfmmu_unload_tsb_range()
2823 tsb_base = (uint64_t)tsbinfop->tsb_pa; in sfmmu_unload_tsb_range()
2825 tsb_base = (uint64_t)tsbinfop->tsb_va; in sfmmu_unload_tsb_range()
2827 tsb_size = tsbinfop->tsb_szc; in sfmmu_unload_tsb_range()
10163 struct tsb_info *tsbinfop; in sfmmu_size_tsb() local
10168 tsbinfop = sfmmup->sfmmu_tsb; in sfmmu_size_tsb()
10169 ASSERT(tsbinfop != NULL); in sfmmu_size_tsb()
10181 if (!growing && (tsb_szc < tsbinfop->tsb_szc) && in sfmmu_size_tsb()
10183 (void) sfmmu_replace_tsb(sfmmup, tsbinfop, tsb_szc, in sfmmu_size_tsb()
10185 } else if (growing && tsb_szc > tsbinfop->tsb_szc && TSB_OK_GROW()) { in sfmmu_size_tsb()
10186 (void) sfmmu_replace_tsb(sfmmup, tsbinfop, tsb_szc, in sfmmu_size_tsb()
10189 tsbinfop = sfmmup->sfmmu_tsb; in sfmmu_size_tsb()
10212 if (tsbinfop->tsb_next == NULL) { in sfmmu_size_tsb()
10265 tsbinfop = tsbinfop->tsb_next; in sfmmu_size_tsb()
10275 if (!growing && (tsb_szc < tsbinfop->tsb_szc) && in sfmmu_size_tsb()
10277 (void) sfmmu_replace_tsb(sfmmup, tsbinfop, in sfmmu_size_tsb()
10279 } else if (growing && tsb_szc > tsbinfop->tsb_szc && in sfmmu_size_tsb()
10281 (void) sfmmu_replace_tsb(sfmmup, tsbinfop, in sfmmu_size_tsb()
11550 struct tsb_info *tsbinfop, *next; in sfmmu_tsb_swapin() local
11573 for (tsbinfop = sfmmup->sfmmu_tsb; tsbinfop != NULL; tsbinfop = next) { in sfmmu_tsb_swapin()
11574 ASSERT(tsbinfop->tsb_flags & TSB_SWAPPED); in sfmmu_tsb_swapin()
11575 next = tsbinfop->tsb_next; in sfmmu_tsb_swapin()
11576 rc = sfmmu_replace_tsb(sfmmup, tsbinfop, tsbinfop->tsb_szc, in sfmmu_tsb_swapin()
11605 tsbinfop = sfmmup->sfmmu_tsb; in sfmmu_tsb_swapin()
11606 next = tsbinfop->tsb_next; in sfmmu_tsb_swapin()
11607 tsbinfop->tsb_next = NULL; in sfmmu_tsb_swapin()
11610 for (tsbinfop = next; tsbinfop != NULL; tsbinfop = next) { in sfmmu_tsb_swapin()
11611 next = tsbinfop->tsb_next; in sfmmu_tsb_swapin()
11612 sfmmu_tsbinfo_free(tsbinfop); in sfmmu_tsb_swapin()
11621 tsbinfop = sfmmup->sfmmu_tsb; in sfmmu_tsb_swapin()
11622 rc = sfmmu_replace_tsb(sfmmup, tsbinfop, TSB_MIN_SZCODE, in sfmmu_tsb_swapin()
11692 struct tsb_info *tsbinfop; in sfmmu_tsbmiss_exception() local
11795 for (tsbinfop = shsfmmup->sfmmu_tsb; tsbinfop != NULL; in sfmmu_tsbmiss_exception()
11796 tsbinfop = tsbinfop->tsb_next) { in sfmmu_tsbmiss_exception()
11797 if (tsbinfop->tsb_flags & TSB_RELOC_FLAG) { in sfmmu_tsbmiss_exception()
11818 for (tsbinfop = sfmmup->sfmmu_tsb; tsbinfop != NULL; in sfmmu_tsbmiss_exception()
11819 tsbinfop = tsbinfop->tsb_next) { in sfmmu_tsbmiss_exception()
11820 if (tsbinfop->tsb_flags & TSB_RELOC_FLAG) { in sfmmu_tsbmiss_exception()
12537 struct tsb_info *tsbinfop = (struct tsb_info *)tsbinfo; in sfmmu_tsb_pre_relocator() local
12538 sfmmu_t *sfmmup = tsbinfop->tsb_sfmmu; in sfmmu_tsb_pre_relocator()
12552 tsbinfop->tsb_flags |= TSB_RELOC_FLAG; in sfmmu_tsb_pre_relocator()
12554 if (!(tsbinfop->tsb_flags & TSB_SHAREDCTX)) { in sfmmu_tsb_pre_relocator()
12630 struct tsb_info *tsbinfop = (struct tsb_info *)tsbinfo; in sfmmu_tsb_post_relocator() local
12631 sfmmu_t *sfmmup = tsbinfop->tsb_sfmmu; in sfmmu_tsb_post_relocator()
12645 if ((tsbinfop->tsb_flags & TSB_SWAPPED) == 0) { in sfmmu_tsb_post_relocator()
12646 ASSERT(va == tsbinfop->tsb_va); in sfmmu_tsb_post_relocator()
12647 sfmmu_tsbinfo_setup_phys(tsbinfop, newpfn); in sfmmu_tsb_post_relocator()
12649 if (tsbinfop->tsb_flags & TSB_FLUSH_NEEDED) { in sfmmu_tsb_post_relocator()
12650 sfmmu_inv_tsb(tsbinfop->tsb_va, in sfmmu_tsb_post_relocator()
12651 TSB_BYTES(tsbinfop->tsb_szc)); in sfmmu_tsb_post_relocator()
12652 tsbinfop->tsb_flags &= ~TSB_FLUSH_NEEDED; in sfmmu_tsb_post_relocator()
12657 tsbinfop->tsb_flags &= ~TSB_RELOC_FLAG; in sfmmu_tsb_post_relocator()
14997 struct tsb_info *tsbinfop; in sfmmu_finish_join_scd() local
15005 for (tsbinfop = sfmmup->sfmmu_tsb; tsbinfop != NULL; in sfmmu_finish_join_scd()
15006 tsbinfop = tsbinfop->tsb_next) { in sfmmu_finish_join_scd()
15007 if (tsbinfop->tsb_flags & TSB_SWAPPED) { in sfmmu_finish_join_scd()
15010 ASSERT(!(tsbinfop->tsb_flags & TSB_RELOC_FLAG)); in sfmmu_finish_join_scd()
15012 sfmmu_inv_tsb(tsbinfop->tsb_va, in sfmmu_finish_join_scd()
15013 TSB_BYTES(tsbinfop->tsb_szc)); in sfmmu_finish_join_scd()