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; \
2004 struct tsb_info *tsbinfop; in hat_swapout() local
2007 struct tsb_info *tsbinfop; in hat_swapout() member
2088 for (tsbinfop = sfmmup->sfmmu_tsb; tsbinfop != NULL; in hat_swapout()
2089 tsbinfop = tsbinfop->tsb_next) { in hat_swapout()
2090 ASSERT((tsbinfop->tsb_flags & TSB_SWAPPED) == 0); in hat_swapout()
2097 last = freelist = (struct free_tsb *)tsbinfop->tsb_va; in hat_swapout()
2099 last->next = (struct free_tsb *)tsbinfop->tsb_va; in hat_swapout()
2103 last->tsbinfop = tsbinfop; in hat_swapout()
2104 tsbinfop->tsb_flags |= TSB_SWAPPED; in hat_swapout()
2114 tsbinfop->tsb_tte.ll = 0; in hat_swapout()
2121 sfmmu_tsb_free(freelist->tsbinfop); in hat_swapout()
2718 struct tsb_info *tsbinfop = NULL; in sfmmu_mod_tsb() local
2739 SFMMU_GET_TSBINFO(tsbinfop, sfmmup, ttesz); in sfmmu_mod_tsb()
2748 if (tsbinfop == NULL || (tsbinfop->tsb_flags & TSB_SWAPPED)) in sfmmu_mod_tsb()
2757 if ((tsbinfop->tsb_flags & TSB_RELOC_FLAG) != 0) { in sfmmu_mod_tsb()
2759 tsbinfop->tsb_flags |= TSB_FLUSH_NEEDED; in sfmmu_mod_tsb()
2764 tsb_base = (uint64_t)tsbinfop->tsb_pa; in sfmmu_mod_tsb()
2766 tsb_base = (uint64_t)tsbinfop->tsb_va; in sfmmu_mod_tsb()
2768 tsb_size = tsbinfop->tsb_szc; in sfmmu_mod_tsb()
2799 struct tsb_info *tsbinfop; in sfmmu_unload_tsb_range() local
2829 SFMMU_GET_TSBINFO(tsbinfop, sfmmup, ttesz); in sfmmu_unload_tsb_range()
2838 if (tsbinfop == NULL || (tsbinfop->tsb_flags & TSB_SWAPPED)) in sfmmu_unload_tsb_range()
2847 if ((tsbinfop->tsb_flags & TSB_RELOC_FLAG) != 0) { in sfmmu_unload_tsb_range()
2848 tsbinfop->tsb_flags |= TSB_FLUSH_NEEDED; in sfmmu_unload_tsb_range()
2853 tsb_base = (uint64_t)tsbinfop->tsb_pa; in sfmmu_unload_tsb_range()
2855 tsb_base = (uint64_t)tsbinfop->tsb_va; in sfmmu_unload_tsb_range()
2857 tsb_size = tsbinfop->tsb_szc; in sfmmu_unload_tsb_range()
10350 struct tsb_info *tsbinfop; in sfmmu_size_tsb() local
10355 tsbinfop = sfmmup->sfmmu_tsb; in sfmmu_size_tsb()
10356 ASSERT(tsbinfop != NULL); in sfmmu_size_tsb()
10368 if (!growing && (tsb_szc < tsbinfop->tsb_szc) && in sfmmu_size_tsb()
10370 (void) sfmmu_replace_tsb(sfmmup, tsbinfop, tsb_szc, in sfmmu_size_tsb()
10372 } else if (growing && tsb_szc > tsbinfop->tsb_szc && TSB_OK_GROW()) { in sfmmu_size_tsb()
10373 (void) sfmmu_replace_tsb(sfmmup, tsbinfop, tsb_szc, in sfmmu_size_tsb()
10376 tsbinfop = sfmmup->sfmmu_tsb; in sfmmu_size_tsb()
10399 if (tsbinfop->tsb_next == NULL) { in sfmmu_size_tsb()
10452 tsbinfop = tsbinfop->tsb_next; in sfmmu_size_tsb()
10462 if (!growing && (tsb_szc < tsbinfop->tsb_szc) && in sfmmu_size_tsb()
10464 (void) sfmmu_replace_tsb(sfmmup, tsbinfop, in sfmmu_size_tsb()
10466 } else if (growing && tsb_szc > tsbinfop->tsb_szc && in sfmmu_size_tsb()
10468 (void) sfmmu_replace_tsb(sfmmup, tsbinfop, in sfmmu_size_tsb()
11739 struct tsb_info *tsbinfop, *next; in sfmmu_tsb_swapin() local
11762 for (tsbinfop = sfmmup->sfmmu_tsb; tsbinfop != NULL; tsbinfop = next) { in sfmmu_tsb_swapin()
11763 ASSERT(tsbinfop->tsb_flags & TSB_SWAPPED); in sfmmu_tsb_swapin()
11764 next = tsbinfop->tsb_next; in sfmmu_tsb_swapin()
11765 rc = sfmmu_replace_tsb(sfmmup, tsbinfop, tsbinfop->tsb_szc, in sfmmu_tsb_swapin()
11794 tsbinfop = sfmmup->sfmmu_tsb; in sfmmu_tsb_swapin()
11795 next = tsbinfop->tsb_next; in sfmmu_tsb_swapin()
11796 tsbinfop->tsb_next = NULL; in sfmmu_tsb_swapin()
11799 for (tsbinfop = next; tsbinfop != NULL; tsbinfop = next) { in sfmmu_tsb_swapin()
11800 next = tsbinfop->tsb_next; in sfmmu_tsb_swapin()
11801 sfmmu_tsbinfo_free(tsbinfop); in sfmmu_tsb_swapin()
11810 tsbinfop = sfmmup->sfmmu_tsb; in sfmmu_tsb_swapin()
11811 rc = sfmmu_replace_tsb(sfmmup, tsbinfop, TSB_MIN_SZCODE, in sfmmu_tsb_swapin()
11881 struct tsb_info *tsbinfop; in sfmmu_tsbmiss_exception() local
11984 for (tsbinfop = shsfmmup->sfmmu_tsb; tsbinfop != NULL; in sfmmu_tsbmiss_exception()
11985 tsbinfop = tsbinfop->tsb_next) { in sfmmu_tsbmiss_exception()
11986 if (tsbinfop->tsb_flags & TSB_RELOC_FLAG) { in sfmmu_tsbmiss_exception()
12007 for (tsbinfop = sfmmup->sfmmu_tsb; tsbinfop != NULL; in sfmmu_tsbmiss_exception()
12008 tsbinfop = tsbinfop->tsb_next) { in sfmmu_tsbmiss_exception()
12009 if (tsbinfop->tsb_flags & TSB_RELOC_FLAG) { in sfmmu_tsbmiss_exception()
12726 struct tsb_info *tsbinfop = (struct tsb_info *)tsbinfo; in sfmmu_tsb_pre_relocator() local
12727 sfmmu_t *sfmmup = tsbinfop->tsb_sfmmu; in sfmmu_tsb_pre_relocator()
12741 tsbinfop->tsb_flags |= TSB_RELOC_FLAG; in sfmmu_tsb_pre_relocator()
12743 if (!(tsbinfop->tsb_flags & TSB_SHAREDCTX)) { in sfmmu_tsb_pre_relocator()
12819 struct tsb_info *tsbinfop = (struct tsb_info *)tsbinfo; in sfmmu_tsb_post_relocator() local
12820 sfmmu_t *sfmmup = tsbinfop->tsb_sfmmu; in sfmmu_tsb_post_relocator()
12834 if ((tsbinfop->tsb_flags & TSB_SWAPPED) == 0) { in sfmmu_tsb_post_relocator()
12835 ASSERT(va == tsbinfop->tsb_va); in sfmmu_tsb_post_relocator()
12836 sfmmu_tsbinfo_setup_phys(tsbinfop, newpfn); in sfmmu_tsb_post_relocator()
12838 if (tsbinfop->tsb_flags & TSB_FLUSH_NEEDED) { in sfmmu_tsb_post_relocator()
12839 sfmmu_inv_tsb(tsbinfop->tsb_va, in sfmmu_tsb_post_relocator()
12840 TSB_BYTES(tsbinfop->tsb_szc)); in sfmmu_tsb_post_relocator()
12841 tsbinfop->tsb_flags &= ~TSB_FLUSH_NEEDED; in sfmmu_tsb_post_relocator()
12846 tsbinfop->tsb_flags &= ~TSB_RELOC_FLAG; in sfmmu_tsb_post_relocator()
15202 struct tsb_info *tsbinfop; in sfmmu_finish_join_scd() local
15210 for (tsbinfop = sfmmup->sfmmu_tsb; tsbinfop != NULL; in sfmmu_finish_join_scd()
15211 tsbinfop = tsbinfop->tsb_next) { in sfmmu_finish_join_scd()
15212 if (tsbinfop->tsb_flags & TSB_SWAPPED) { in sfmmu_finish_join_scd()
15215 ASSERT(!(tsbinfop->tsb_flags & TSB_RELOC_FLAG)); in sfmmu_finish_join_scd()
15217 sfmmu_inv_tsb(tsbinfop->tsb_va, in sfmmu_finish_join_scd()
15218 TSB_BYTES(tsbinfop->tsb_szc)); in sfmmu_finish_join_scd()