Lines Matching refs:hmebp
1997 struct hmehash_bucket *hmebp; in hat_swapout() local
2029 hmebp = &uhme_hash[i]; in hat_swapout()
2030 SFMMU_HASH_LOCK(hmebp); in hat_swapout()
2031 hmeblkp = hmebp->hmeblkp; in hat_swapout()
2048 sfmmu_hblk_hash_rm(hmebp, hmeblkp, pr_hblk, in hat_swapout()
2055 SFMMU_HASH_UNLOCK(hmebp); in hat_swapout()
2592 struct hmehash_bucket *hmebp; in sfmmu_memload_batchsmall() local
2600 hmebp = sfmmu_tteload_acquire_hashbucket(hat, vaddr, TTE8K, in sfmmu_memload_batchsmall()
2602 ASSERT(hmebp); in sfmmu_memload_batchsmall()
2607 hmeblkp = sfmmu_tteload_find_hmeblk(hat, hmebp, vaddr, in sfmmu_memload_batchsmall()
2647 sfmmu_tteload_release_hashbucket(hmebp); in sfmmu_memload_batchsmall()
2909 struct hmehash_bucket *hmebp; in sfmmu_tteload_array() local
2923 hmebp = sfmmu_tteload_acquire_hashbucket(sfmmup, vaddr, size, rid); in sfmmu_tteload_array()
2924 ASSERT(hmebp); in sfmmu_tteload_array()
2929 hmeblkp = sfmmu_tteload_find_hmeblk(sfmmup, hmebp, vaddr, size, flags, in sfmmu_tteload_array()
2942 sfmmu_tteload_release_hashbucket(hmebp); in sfmmu_tteload_array()
2954 struct hmehash_bucket *hmebp; in sfmmu_tteload_acquire_hashbucket() local
2962 hmebp = HME_HASH_FUNCTION(htagid, vaddr, hmeshift); in sfmmu_tteload_acquire_hashbucket()
2964 SFMMU_HASH_LOCK(hmebp); in sfmmu_tteload_acquire_hashbucket()
2966 return (hmebp); in sfmmu_tteload_acquire_hashbucket()
2975 sfmmu_tteload_find_hmeblk(sfmmu_t *sfmmup, struct hmehash_bucket *hmebp, in sfmmu_tteload_find_hmeblk() argument
2993 HME_HASH_SEARCH_PREV(hmebp, hblktag, hmeblkp, pr_hblk, &list); in sfmmu_tteload_find_hmeblk()
3002 SFMMU_HASH_UNLOCK(hmebp); in sfmmu_tteload_find_hmeblk()
3006 SFMMU_HASH_LOCK(hmebp); in sfmmu_tteload_find_hmeblk()
3011 hmeblkp = sfmmu_hblk_alloc(sfmmup, vaddr, hmebp, size, in sfmmu_tteload_find_hmeblk()
3025 sfmmu_hblk_hash_rm(hmebp, hmeblkp, pr_hblk, in sfmmu_tteload_find_hmeblk()
3036 sfmmu_shadow_hcleanup(sfmmup, hmeblkp, hmebp); in sfmmu_tteload_find_hmeblk()
3037 ASSERT(SFMMU_HASH_LOCK_ISHELD(hmebp)); in sfmmu_tteload_find_hmeblk()
3399 sfmmu_tteload_release_hashbucket(struct hmehash_bucket *hmebp) in sfmmu_tteload_release_hashbucket() argument
3401 ASSERT(SFMMU_HASH_LOCK_ISHELD(hmebp)); in sfmmu_tteload_release_hashbucket()
3402 SFMMU_HASH_UNLOCK(hmebp); in sfmmu_tteload_release_hashbucket()
3620 struct hmehash_bucket *hmebp; in sfmmu_shadow_hcreate() local
3646 hmebp = HME_HASH_FUNCTION(sfmmup, vaddr, hmeshift); in sfmmu_shadow_hcreate()
3648 SFMMU_HASH_LOCK(hmebp); in sfmmu_shadow_hcreate()
3650 HME_HASH_FAST_SEARCH(hmebp, hblktag, hmeblkp); in sfmmu_shadow_hcreate()
3653 hmeblkp = sfmmu_hblk_alloc(sfmmup, vaddr, hmebp, size, in sfmmu_shadow_hcreate()
3683 SFMMU_HASH_UNLOCK(hmebp); in sfmmu_shadow_hcreate()
3699 struct hmehash_bucket *hmebp) in sfmmu_shadow_hcleanup() argument
3707 ASSERT(SFMMU_HASH_LOCK_ISHELD(hmebp)); in sfmmu_shadow_hcleanup()
3718 SFMMU_HASH_UNLOCK(hmebp); in sfmmu_shadow_hcleanup()
3722 SFMMU_HASH_LOCK(hmebp); in sfmmu_shadow_hcleanup()
3731 struct hmehash_bucket *hmebp; in sfmmu_free_hblks() local
3744 hmebp = HME_HASH_FUNCTION(sfmmup, addr, hmeshift); in sfmmu_free_hblks()
3745 SFMMU_HASH_LOCK(hmebp); in sfmmu_free_hblks()
3747 hmeblkp = hmebp->hmeblkp; in sfmmu_free_hblks()
3757 hmeblkp, hmebp); in sfmmu_free_hblks()
3775 sfmmu_hblk_hash_rm(hmebp, hmeblkp, pr_hblk, in sfmmu_free_hblks()
3783 SFMMU_HASH_UNLOCK(hmebp); in sfmmu_free_hblks()
3810 struct hmehash_bucket *hmebp; in sfmmu_cleanup_rhblk() local
3823 hmebp = HME_HASH_FUNCTION(srdp, addr, hmeshift); in sfmmu_cleanup_rhblk()
3825 SFMMU_HASH_LOCK(hmebp); in sfmmu_cleanup_rhblk()
3826 HME_HASH_SEARCH_PREV(hmebp, hblktag, hmeblkp, pr_hblk, &list); in sfmmu_cleanup_rhblk()
3834 sfmmu_hblk_hash_rm(hmebp, hmeblkp, pr_hblk, in sfmmu_cleanup_rhblk()
3837 SFMMU_HASH_UNLOCK(hmebp); in sfmmu_cleanup_rhblk()
3858 struct hmehash_bucket *hmebp; in sfmmu_unload_hmeregion_va() local
3872 hmebp = HME_HASH_FUNCTION(srdp, addr, hmeshift); in sfmmu_unload_hmeregion_va()
3874 SFMMU_HASH_LOCK(hmebp); in sfmmu_unload_hmeregion_va()
3875 HME_HASH_SEARCH_PREV(hmebp, hblktag, hmeblkp, pr_hblk, &list); in sfmmu_unload_hmeregion_va()
3885 sfmmu_hblk_hash_rm(hmebp, hmeblkp, pr_hblk, in sfmmu_unload_hmeregion_va()
3888 SFMMU_HASH_UNLOCK(hmebp); in sfmmu_unload_hmeregion_va()
3965 struct hmehash_bucket *hmebp; in hat_unlock() local
3991 hmebp = HME_HASH_FUNCTION(sfmmup, addr, hmeshift); in hat_unlock()
3993 SFMMU_HASH_LOCK(hmebp); in hat_unlock()
3995 HME_HASH_SEARCH(hmebp, hblktag, hmeblkp, &list); in hat_unlock()
4011 SFMMU_HASH_UNLOCK(hmebp); in hat_unlock()
4015 SFMMU_HASH_UNLOCK(hmebp); in hat_unlock()
4045 struct hmehash_bucket *hmebp; in hat_unlock_region() local
4090 hmebp = HME_HASH_FUNCTION(srdp, va, hmeshift); in hat_unlock_region()
4091 SFMMU_HASH_LOCK(hmebp); in hat_unlock_region()
4092 HME_HASH_SEARCH_PREV(hmebp, hblktag, hmeblkp, pr_hblk, in hat_unlock_region()
4095 SFMMU_HASH_UNLOCK(hmebp); in hat_unlock_region()
4103 SFMMU_HASH_UNLOCK(hmebp); in hat_unlock_region()
4321 struct hmehash_bucket *hmebp; in hat_add_callback() local
4375 hmebp = HME_HASH_FUNCTION(ksfmmup, saddr, hmeshift); in hat_add_callback()
4377 SFMMU_HASH_LOCK(hmebp); in hat_add_callback()
4379 HME_HASH_FAST_SEARCH(hmebp, hblktag, hmeblkp); in hat_add_callback()
4382 SFMMU_HASH_UNLOCK(hmebp); in hat_add_callback()
4397 SFMMU_HASH_UNLOCK(hmebp); in hat_add_callback()
4410 SFMMU_HASH_UNLOCK(hmebp); in hat_add_callback()
4425 SFMMU_HASH_UNLOCK(hmebp); in hat_add_callback()
4451 SFMMU_HASH_UNLOCK(hmebp); in hat_add_callback()
4484 SFMMU_HASH_UNLOCK(hmebp); in hat_add_callback()
4497 SFMMU_HASH_UNLOCK(hmebp); in hat_add_callback()
4531 SFMMU_HASH_UNLOCK(hmebp); in hat_add_callback()
4550 struct hmehash_bucket *hmebp; in hat_delete_callback() local
4583 hmebp = HME_HASH_FUNCTION(ksfmmup, saddr, hmeshift); in hat_delete_callback()
4585 SFMMU_HASH_LOCK(hmebp); in hat_delete_callback()
4587 HME_HASH_FAST_SEARCH(hmebp, hblktag, hmeblkp); in hat_delete_callback()
4590 SFMMU_HASH_UNLOCK(hmebp); in hat_delete_callback()
4602 SFMMU_HASH_UNLOCK(hmebp); in hat_delete_callback()
4608 SFMMU_HASH_UNLOCK(hmebp); in hat_delete_callback()
4630 SFMMU_HASH_UNLOCK(hmebp); in hat_delete_callback()
4657 SFMMU_HASH_UNLOCK(hmebp); in hat_delete_callback()
4669 SFMMU_HASH_UNLOCK(hmebp); in hat_delete_callback()
4736 SFMMU_HASH_UNLOCK(hmebp); in hat_delete_callback()
4746 SFMMU_HASH_UNLOCK(hmebp); in hat_delete_callback()
4909 struct hmehash_bucket *hmebp; in sfmmu_chgattr() local
4938 hmebp = HME_HASH_FUNCTION(sfmmup, addr, hmeshift); in sfmmu_chgattr()
4940 SFMMU_HASH_LOCK(hmebp); in sfmmu_chgattr()
4942 HME_HASH_SEARCH(hmebp, hblktag, hmeblkp, &list); in sfmmu_chgattr()
4958 SFMMU_HASH_UNLOCK(hmebp); in sfmmu_chgattr()
4962 SFMMU_HASH_UNLOCK(hmebp); in sfmmu_chgattr()
5238 struct hmehash_bucket *hmebp; in hat_chgprot() local
5279 hmebp = HME_HASH_FUNCTION(sfmmup, addr, hmeshift); in hat_chgprot()
5281 SFMMU_HASH_LOCK(hmebp); in hat_chgprot()
5283 HME_HASH_SEARCH(hmebp, hblktag, hmeblkp, &list); in hat_chgprot()
5299 SFMMU_HASH_UNLOCK(hmebp); in hat_chgprot()
5303 SFMMU_HASH_UNLOCK(hmebp); in hat_chgprot()
5540 struct hmehash_bucket *hmebp; in hat_unload_large_virtual() local
5567 hmebp = &uhme_hash[i]; in hat_unload_large_virtual()
5568 SFMMU_HASH_LOCK(hmebp); in hat_unload_large_virtual()
5569 hmeblkp = hmebp->hmeblkp; in hat_unload_large_virtual()
5603 sfmmu_hblk_hash_rm(hmebp, hmeblkp, pr_hblk, in hat_unload_large_virtual()
5642 SFMMU_HASH_UNLOCK(hmebp); in hat_unload_large_virtual()
5683 struct hmehash_bucket *hmebp; in hat_unload_callback() local
5780 hmebp = HME_HASH_FUNCTION(sfmmup, addr, hmeshift); in hat_unload_callback()
5782 SFMMU_HASH_LOCK(hmebp); in hat_unload_callback()
5784 HME_HASH_SEARCH_PREV(hmebp, hblktag, hmeblkp, pr_hblk, &list); in hat_unload_callback()
5790 SFMMU_HASH_UNLOCK(hmebp); in hat_unload_callback()
5843 sfmmu_hblk_hash_rm(hmebp, hmeblkp, pr_hblk, in hat_unload_callback()
5846 SFMMU_HASH_UNLOCK(hmebp); in hat_unload_callback()
5884 SFMMU_HASH_UNLOCK(hmebp); in hat_unload_callback()
5908 sfmmu_hblk_hash_rm(hmebp, hmeblkp, pr_hblk, &list, 0); in hat_unload_callback()
5910 SFMMU_HASH_UNLOCK(hmebp); in hat_unload_callback()
6322 struct hmehash_bucket *hmebp; in hat_sync() local
6353 hmebp = HME_HASH_FUNCTION(sfmmup, addr, hmeshift); in hat_sync()
6355 SFMMU_HASH_LOCK(hmebp); in hat_sync()
6357 HME_HASH_SEARCH(hmebp, hblktag, hmeblkp, &list); in hat_sync()
6373 SFMMU_HASH_UNLOCK(hmebp); in hat_sync()
6377 SFMMU_HASH_UNLOCK(hmebp); in hat_sync()
8012 struct hmehash_bucket *hmebp; in sfmmu_uvatopfn() local
8070 hmebp = HME_HASH_FUNCTION(sfmmup, vaddr, hmeshift); in sfmmu_uvatopfn()
8072 SFMMU_HASH_LOCK(hmebp); in sfmmu_uvatopfn()
8074 HME_HASH_FAST_SEARCH(hmebp, hblktag, hmeblkp); in sfmmu_uvatopfn()
8079 SFMMU_HASH_UNLOCK(hmebp); in sfmmu_uvatopfn()
8086 SFMMU_HASH_UNLOCK(hmebp); in sfmmu_uvatopfn()
8102 hmebp = HME_HASH_FUNCTION(srdp, sv_vaddr, hmeshift); in sfmmu_uvatopfn()
8104 SFMMU_HASH_LOCK(hmebp); in sfmmu_uvatopfn()
8105 for (hmeblkp = hmebp->hmeblkp; hmeblkp != NULL; in sfmmu_uvatopfn()
8142 SFMMU_HASH_UNLOCK(hmebp); in sfmmu_uvatopfn()
8147 SFMMU_HASH_UNLOCK(hmebp); in sfmmu_uvatopfn()
8152 SFMMU_HASH_UNLOCK(hmebp); in sfmmu_uvatopfn()
9102 struct hmehash_bucket *hmebp; in sfmmu_hblkcache_reclaim() local
9142 hmebp = uhmehash_reclaim_hand; in sfmmu_hblkcache_reclaim()
9143 if (hmebp == NULL || hmebp > &uhme_hash[UHMEHASH_SZ]) in sfmmu_hblkcache_reclaim()
9144 uhmehash_reclaim_hand = hmebp = uhme_hash; in sfmmu_hblkcache_reclaim()
9148 if (SFMMU_HASH_LOCK_TRYENTER(hmebp) != 0) { in sfmmu_hblkcache_reclaim()
9149 hmeblkp = hmebp->hmeblkp; in sfmmu_hblkcache_reclaim()
9155 sfmmu_hblk_hash_rm(hmebp, hmeblkp, in sfmmu_hblkcache_reclaim()
9162 SFMMU_HASH_UNLOCK(hmebp); in sfmmu_hblkcache_reclaim()
9164 if (hmebp++ == &uhme_hash[UHMEHASH_SZ]) in sfmmu_hblkcache_reclaim()
9165 hmebp = uhme_hash; in sfmmu_hblkcache_reclaim()
9168 hmebp = khmehash_reclaim_hand; in sfmmu_hblkcache_reclaim()
9169 if (hmebp == NULL || hmebp > &khme_hash[KHMEHASH_SZ]) in sfmmu_hblkcache_reclaim()
9170 khmehash_reclaim_hand = hmebp = khme_hash; in sfmmu_hblkcache_reclaim()
9174 if (SFMMU_HASH_LOCK_TRYENTER(hmebp) != 0) { in sfmmu_hblkcache_reclaim()
9175 hmeblkp = hmebp->hmeblkp; in sfmmu_hblkcache_reclaim()
9181 sfmmu_hblk_hash_rm(hmebp, hmeblkp, in sfmmu_hblkcache_reclaim()
9188 SFMMU_HASH_UNLOCK(hmebp); in sfmmu_hblkcache_reclaim()
9190 if (hmebp++ == &khme_hash[KHMEHASH_SZ]) in sfmmu_hblkcache_reclaim()
9191 hmebp = khme_hash; in sfmmu_hblkcache_reclaim()
10814 struct hmehash_bucket *hmebp; in sfmmu_hblk_swap() local
10839 hmebp = sfmmu_tteload_acquire_hashbucket(ksfmmup, base, TTE8K, in sfmmu_hblk_swap()
10850 sfmmu_hblk_hash_add(hmebp, new, newpa); in sfmmu_hblk_swap()
10859 hblkp = hmebp->hmeblkp; hblkp != NULL && hblkp != old; in sfmmu_hblk_swap()
10907 sfmmu_hblk_hash_rm(hmebp, old, prev, &list, 1); in sfmmu_hblk_swap()
10915 HME_HASH_FAST_SEARCH(hmebp, hblktag, found); in sfmmu_hblk_swap()
10921 SFMMU_HASH_UNLOCK(hmebp); in sfmmu_hblk_swap()
11111 struct hmehash_bucket *hmebp, uint_t size, hmeblk_tag hblktag, in sfmmu_hblk_alloc() argument
11126 ASSERT(SFMMU_HASH_LOCK_ISHELD(hmebp)); in sfmmu_hblk_alloc()
11176 SFMMU_HASH_UNLOCK(hmebp); in sfmmu_hblk_alloc()
11303 SFMMU_HASH_LOCK(hmebp); in sfmmu_hblk_alloc()
11304 HME_HASH_FAST_SEARCH(hmebp, hblktag, newhblkp); in sfmmu_hblk_alloc()
11306 SFMMU_HASH_UNLOCK(hmebp); in sfmmu_hblk_alloc()
11360 SFMMU_HASH_LOCK(hmebp); in sfmmu_hblk_alloc()
11361 HME_HASH_FAST_SEARCH(hmebp, hblktag, newhblkp); in sfmmu_hblk_alloc()
11383 SFMMU_HASH_UNLOCK(hmebp); in sfmmu_hblk_alloc()
11393 SFMMU_HASH_UNLOCK(hmebp); in sfmmu_hblk_alloc()
11411 ASSERT(SFMMU_HASH_LOCK_ISHELD(hmebp)); in sfmmu_hblk_alloc()
11424 sfmmu_hblk_hash_add(hmebp, hmeblkp, hblkpa); in sfmmu_hblk_alloc()
11489 struct hmehash_bucket *hmebp; in sfmmu_hblk_steal() local
11511 hmebp = (uhmehash_steal_hand == NULL) ? uhme_hash : in sfmmu_hblk_steal()
11513 ASSERT(hmebp >= uhme_hash && hmebp <= &uhme_hash[UHMEHASH_SZ]); in sfmmu_hblk_steal()
11517 SFMMU_HASH_LOCK(hmebp); in sfmmu_hblk_steal()
11518 hmeblkp = hmebp->hmeblkp; in sfmmu_hblk_steal()
11519 hblkpa = hmebp->hmeh_nextpa; in sfmmu_hblk_steal()
11540 if (sfmmu_steal_this_hblk(hmebp, in sfmmu_hblk_steal()
11555 SFMMU_HASH_UNLOCK(hmebp); in sfmmu_hblk_steal()
11556 if (hmebp++ == &uhme_hash[UHMEHASH_SZ]) in sfmmu_hblk_steal()
11557 hmebp = uhme_hash; in sfmmu_hblk_steal()
11559 uhmehash_steal_hand = hmebp; in sfmmu_hblk_steal()
11568 for (i = 0, hmebp = khme_hash; i <= KHMEHASH_SZ; i++) { in sfmmu_hblk_steal()
11569 SFMMU_HASH_LOCK(hmebp); in sfmmu_hblk_steal()
11570 hmeblkp = hmebp->hmeblkp; in sfmmu_hblk_steal()
11571 hblkpa = hmebp->hmeh_nextpa; in sfmmu_hblk_steal()
11581 if (sfmmu_steal_this_hblk(hmebp, in sfmmu_hblk_steal()
11598 SFMMU_HASH_UNLOCK(hmebp); in sfmmu_hblk_steal()
11599 if (hmebp++ == &khme_hash[KHMEHASH_SZ]) in sfmmu_hblk_steal()
11600 hmebp = khme_hash; in sfmmu_hblk_steal()
11618 sfmmu_steal_this_hblk(struct hmehash_bucket *hmebp, struct hme_blk *hmeblkp, in sfmmu_steal_this_hblk() argument
11627 ASSERT(SFMMU_HASH_LOCK_ISHELD(hmebp)); in sfmmu_steal_this_hblk()
11658 sfmmu_hblk_hash_rm(hmebp, hmeblkp, pr_hblk, &list, 1); in sfmmu_steal_this_hblk()
15651 sfmmu_hblk_hash_add(struct hmehash_bucket *hmebp, struct hme_blk *hmeblkp, in sfmmu_hblk_hash_add() argument
15654 ASSERT(SFMMU_HASH_LOCK_ISHELD(hmebp)); in sfmmu_hblk_hash_add()
15656 if (hmebp->hmeblkp == NULL) { in sfmmu_hblk_hash_add()
15657 ASSERT(hmebp->hmeh_nextpa == HMEBLK_ENDPA); in sfmmu_hblk_hash_add()
15661 hmeblkp->hblk_nextpa = hmebp->hmeh_nextpa; in sfmmu_hblk_hash_add()
15669 hmebp->hmeh_nextpa = hblkpa; in sfmmu_hblk_hash_add()
15670 hmeblkp->hblk_next = hmebp->hmeblkp; in sfmmu_hblk_hash_add()
15671 hmebp->hmeblkp = hmeblkp; in sfmmu_hblk_hash_add()
15707 sfmmu_hblk_hash_rm(struct hmehash_bucket *hmebp, struct hme_blk *hmeblkp, in sfmmu_hblk_hash_rm() argument
15718 ASSERT(SFMMU_HASH_LOCK_ISHELD(hmebp)); in sfmmu_hblk_hash_rm()
15720 if (hmebp->hmeblkp == hmeblkp) { in sfmmu_hblk_hash_rm()
15721 hmebp->hmeh_nextpa = hmeblkp->hblk_nextpa; in sfmmu_hblk_hash_rm()
15722 hmebp->hmeblkp = hmeblkp->hblk_next; in sfmmu_hblk_hash_rm()