Lines Matching refs:hme_blk
155 #define HBLK_RESERVE ((struct hme_blk *)hblk_reserve)
160 static struct hme_blk *freehblkp;
393 static struct hme_blk *sfmmu_shadow_hcreate(sfmmu_t *, caddr_t, int, uint_t);
394 static struct hme_blk *sfmmu_hblk_alloc(sfmmu_t *, caddr_t,
397 static caddr_t sfmmu_hblk_unload(struct hat *, struct hme_blk *, caddr_t,
399 static caddr_t sfmmu_hblk_sync(struct hat *, struct hme_blk *, caddr_t,
401 static void sfmmu_hblk_free(struct hme_blk **);
402 static void sfmmu_hblks_list_purge(struct hme_blk **, int);
403 static uint_t sfmmu_get_free_hblk(struct hme_blk **, uint_t);
404 static uint_t sfmmu_put_free_hblk(struct hme_blk *, uint_t);
405 static struct hme_blk *sfmmu_hblk_steal(int);
407 struct hme_blk *, uint64_t, struct hme_blk *);
408 static caddr_t sfmmu_hblk_unlock(struct hme_blk *, caddr_t, caddr_t);
422 static struct hme_blk *sfmmu_tteload_find_hmeblk(sfmmu_t *,
425 static int sfmmu_tteload_addentry(sfmmu_t *, struct hme_blk *, tte_t *,
454 struct hme_blk *, int);
455 static void sfmmu_tlbcache_demap(caddr_t, sfmmu_t *, struct hme_blk *,
457 static void sfmmu_ismtlbcache_demap(caddr_t, sfmmu_t *, struct hme_blk *,
459 static void sfmmu_tlb_demap(caddr_t, sfmmu_t *, struct hme_blk *, int, int);
488 static caddr_t sfmmu_hblk_chgattr(sfmmu_t *, struct hme_blk *, caddr_t,
493 static caddr_t sfmmu_hblk_chgprot(sfmmu_t *, struct hme_blk *, caddr_t,
501 static void sfmmu_shadow_hcleanup(sfmmu_t *, struct hme_blk *,
503 static void sfmmu_hblk_hash_rm(struct hmehash_bucket *, struct hme_blk *,
504 struct hme_blk *, struct hme_blk **, int);
505 static void sfmmu_hblk_hash_add(struct hmehash_bucket *, struct hme_blk *,
507 static struct hme_blk *sfmmu_check_pending_hblks(int);
709 static void chk_tte(tte_t *, tte_t *, tte_t *, struct hme_blk *);
987 * This function returns the hment given the hme_blk and a vaddr.
988 * It assumes addr has already been checked to belong to hme_blk's
1328 ((struct hme_blk *)hblk_reserve)->hblk_nextpa =
1992 struct hme_blk *hmeblkp;
1993 struct hme_blk *pr_hblk = NULL;
1994 struct hme_blk *nx_hblk;
1996 struct hme_blk *list = NULL;
2563 struct hme_blk *hmeblkp;
2663 * This function will add a translation to the hme_blk and allocate the
2664 * hme_blk if one does not exist.
2866 * This function will add a translation to the hme_blk and allocate the
2867 * hme_blk if one does not exist.
2880 struct hme_blk *hmeblkp;
2944 static struct hme_blk *
2950 struct hme_blk *hmeblkp, *pr_hblk, *list = NULL;
2970 if (hmeblkp == (struct hme_blk *)hblk_reserve &&
3038 sfmmu_tteload_addentry(sfmmu_t *sfmmup, struct hme_blk *hmeblkp, tte_t *ttep,
3587 static struct hme_blk *
3594 struct hme_blk *hmeblkp;
3621 ASSERT(hmeblkp != (struct hme_blk *)hblk_reserve);
3668 sfmmu_shadow_hcleanup(sfmmu_t *sfmmup, struct hme_blk *hmeblkp,
3702 struct hme_blk *hmeblkp;
3703 struct hme_blk *nx_hblk, *pr_hblk, *list = NULL;
3721 /* found hme_blk */
3781 struct hme_blk *hmeblkp;
3782 struct hme_blk *pr_hblk;
3783 struct hme_blk *list = NULL;
3829 struct hme_blk *hmeblkp;
3830 struct hme_blk *pr_hblk;
3831 struct hme_blk *list = NULL;
3938 struct hme_blk *hmeblkp, *list = NULL;
4015 struct hme_blk *hmeblkp;
4016 struct hme_blk *pr_hblk;
4017 struct hme_blk *list;
4088 sfmmu_hblk_unlock(struct hme_blk *hmeblkp, caddr_t addr, caddr_t endaddr)
4291 struct hme_blk *hmeblkp;
4520 struct hme_blk *hmeblkp;
4839 struct hme_blk *hmeblkp, *list = NULL;
4929 sfmmu_hblk_chgattr(struct hat *sfmmup, struct hme_blk *hmeblkp, caddr_t addr,
5168 struct hme_blk *hmeblkp, *list = NULL;
5257 sfmmu_hblk_chgprot(sfmmu_t *sfmmup, struct hme_blk *hmeblkp, caddr_t addr,
5456 struct hme_blk *hmeblkp;
5457 struct hme_blk *pr_hblk = NULL;
5458 struct hme_blk *nx_hblk;
5459 struct hme_blk *list = NULL;
5601 struct hme_blk *hmeblkp, *pr_hblk, *list = NULL;
5918 sfmmu_hblk_unload(struct hat *sfmmup, struct hme_blk *hmeblkp, caddr_t addr,
6223 struct hme_blk *hmeblkp, *list = NULL;
6302 sfmmu_hblk_sync(struct hat *sfmmup, struct hme_blk *hmeblkp, caddr_t addr,
6614 struct hme_blk *hmeblkp;
7025 struct hme_blk *hmeblkp;
7150 struct hme_blk *hmeblkp;
7373 struct hme_blk *hmeblkp;
7493 struct hme_blk *hmeblkp;
7567 struct hme_blk *hmeblkp;
7878 struct hme_blk *hmeblkp = NULL;
8094 struct hme_blk *hmeblkp;
8889 struct hme_blk *hmeblkp;
8892 hmeblkp = (struct hme_blk *)buf;
8909 struct hme_blk *hmeblkp;
8911 hmeblkp = (struct hme_blk *)buf;
8931 struct hme_blk *hmeblkp, *nx_hblk, *pr_hblk = NULL;
8934 struct hme_blk *list = NULL, *last_hmeblkp;
9084 struct hme_blk *hmeblkp;
9292 struct hme_blk *hmeblkp;
9461 struct hme_blk *hmeblkp;
10520 sfmmu_get_free_hblk(struct hme_blk **hmeblkpp, uint_t critical)
10522 struct hme_blk *hblkp;
10572 sfmmu_put_free_hblk(struct hme_blk *hmeblkp, uint_t critical)
10574 struct hme_blk *hblkp;
10628 sfmmu_hblk_swap(struct hme_blk *new)
10630 struct hme_blk *old, *hblkp, *prev;
10638 struct hme_blk *list = NULL;
10642 struct hme_blk *found;
10928 static struct hme_blk *
10933 struct hme_blk *hmeblkp = NULL;
10934 struct hme_blk *newhblkp;
10935 struct hme_blk *shw_hblkp = NULL;
10972 (struct hme_blk *)&nucleus_hblk8.list[index];
10987 (struct hme_blk *)&nucleus_hblk1.list[index];
11231 hmeblkp->hblk_next = (struct hme_blk *)NULL;
11248 * This function cleans up the hme_blk and returns it to the free list.
11252 sfmmu_hblk_free(struct hme_blk **listp)
11254 struct hme_blk *hmeblkp, *next_hmeblkp;
11267 ASSERT(hmeblkp != (struct hme_blk *)hblk_reserve);
11304 static struct hme_blk *
11309 struct hme_blk *hmeblkp = NULL, *pr_hblk;
11437 sfmmu_steal_this_hblk(struct hmehash_bucket *hmebp, struct hme_blk *hmeblkp,
11438 uint64_t hblkpa, struct hme_blk *pr_hblk)
11441 struct hme_blk *shw_hblkp;
11444 struct hme_blk *list = NULL;
11529 struct hme_blk *
11532 struct hme_blk *hmeblkp;
11534 struct hme_blk *hblk_dummy = 0;
11542 hmeblkp = (struct hme_blk *)((uintptr_t)sfhme0 -
11945 struct hme_blk *hmeblkp, int uselocks)
12063 struct hme_blk *hmeblkp, pfn_t pfnum, int cache_flush_flag)
12159 sfmmu_tlbcache_demap(caddr_t addr, sfmmu_t *sfmmup, struct hme_blk *hmeblkp,
12248 sfmmu_tlb_demap(caddr_t addr, sfmmu_t *sfmmup, struct hme_blk *hmeblkp,
13170 struct hme_blk *hmeblkp;
13193 hmeblkp = (struct hme_blk *)addr;
13205 hmeblkp = (struct hme_blk *)addr;
13404 chk_tte(tte_t *orig_old, tte_t *cur, tte_t *new, struct hme_blk *hmeblkp)
15388 sfmmu_hblks_list_purge(struct hme_blk **listp, int dontfree)
15390 struct hme_blk *hblkp, *pr_hblkp = NULL;
15458 sfmmu_hblk_hash_add(struct hmehash_bucket *hmebp, struct hme_blk *hmeblkp,
15514 sfmmu_hblk_hash_rm(struct hmehash_bucket *hmebp, struct hme_blk *hmeblkp,
15515 struct hme_blk *pr_hblk, struct hme_blk **listp,
15519 struct hme_blk *shw_hblkp;
15603 static struct hme_blk *
15607 struct hme_blk *hmeblkp = NULL, *last_hmeblkp;