Lines Matching refs:pp

80 hat_kpm_mapin(struct page *pp, struct kpme *kpme)  in hat_kpm_mapin()  argument
90 if (pp == NULL || PAGE_LOCKED(pp) == 0) { in hat_kpm_mapin()
95 pml = sfmmu_mlist_enter(pp); in hat_kpm_mapin()
96 ASSERT(pp->p_kpmref >= 0); in hat_kpm_mapin()
98 vaddr = (pp->p_kpmref == 0) ? in hat_kpm_mapin()
99 sfmmu_kpm_mapin(pp) : hat_kpm_page2va(pp, 1); in hat_kpm_mapin()
106 if ((sfmmu_kpme_lookup(kpme, pp)) == 0) in hat_kpm_mapin()
107 sfmmu_kpme_add(kpme, pp); in hat_kpm_mapin()
109 ASSERT(pp->p_kpmref > 0); in hat_kpm_mapin()
112 pp->p_kpmref++; in hat_kpm_mapin()
129 hat_kpm_mapout(struct page *pp, struct kpme *kpme, caddr_t vaddr) in hat_kpm_mapout() argument
143 if (pp == NULL || PAGE_LOCKED(pp) == 0) { in hat_kpm_mapout()
149 ASSERT(pp == kpme->kpe_page); in hat_kpm_mapout()
150 pp = kpme->kpe_page; in hat_kpm_mapout()
151 pml = sfmmu_mlist_enter(pp); in hat_kpm_mapout()
153 if (sfmmu_kpme_lookup(kpme, pp) == 0) in hat_kpm_mapout()
155 (void *)pp); in hat_kpm_mapout()
157 ASSERT(pp->p_kpmref > 0); in hat_kpm_mapout()
158 sfmmu_kpme_sub(kpme, pp); in hat_kpm_mapout()
161 pml = sfmmu_mlist_enter(pp); in hat_kpm_mapout()
162 pp->p_kpmref--; in hat_kpm_mapout()
165 ASSERT(pp->p_kpmref >= 0); in hat_kpm_mapout()
166 if (pp->p_kpmref == 0) in hat_kpm_mapout()
167 sfmmu_kpm_mapout(pp, vaddr); in hat_kpm_mapout()
223 hat_kpm_page2va(struct page *pp, int checkswap) in hat_kpm_page2va() argument
230 paddr = ptob(pp->p_pagenum); in hat_kpm_page2va()
233 if (checkswap && pp->p_vnode && IS_SWAPFSVP(pp->p_vnode)) in hat_kpm_page2va()
234 vcolor = (PP_ISNC(pp)) ? vcolor_pa : PP_GET_VCOLOR(pp); in hat_kpm_page2va()
236 vcolor = addr_to_vcolor(pp->p_offset); in hat_kpm_page2va()
270 #define PP2KPMPG(pp, kp) { \ argument
275 pfn = pp->p_pagenum; \
284 #define PP2KPMSPG(pp, ksp) { \ argument
289 pfn = pp->p_pagenum; \
312 page_t *pp; in hat_kpm_fault() local
325 pp = &mseg->pages[(pgcnt_t)(pfn - mseg->pages_base)]; in hat_kpm_fault()
326 ASSERT((pfn_t)pp->p_pagenum == pfn); in hat_kpm_fault()
343 } else if (mseg == NULL || !PAGE_LOCKED(pp)) in hat_kpm_fault()
346 error = sfmmu_kpm_fault(vaddr, mseg, pp); in hat_kpm_fault()
348 error = sfmmu_kpm_fault_small(vaddr, mseg, pp); in hat_kpm_fault()
603 page_t *pp; in sfmmu_kpm_vatopfn() local
609 pp = page_numtopp_nolock(pfn); in sfmmu_kpm_vatopfn()
610 if (pp && pp->p_kpmref) in sfmmu_kpm_vatopfn()
620 sfmmu_kpme_lookup(struct kpme *kpme, page_t *pp) in sfmmu_kpme_lookup() argument
624 for (p = pp->p_kpmelist; p; p = p->kpe_next) { in sfmmu_kpme_lookup()
636 sfmmu_kpme_add(struct kpme *kpme, page_t *pp) in sfmmu_kpme_add() argument
638 ASSERT(pp->p_kpmref >= 0); in sfmmu_kpme_add()
642 kpme->kpe_next = pp->p_kpmelist; in sfmmu_kpme_add()
644 if (pp->p_kpmelist) in sfmmu_kpme_add()
645 pp->p_kpmelist->kpe_prev = kpme; in sfmmu_kpme_add()
647 pp->p_kpmelist = kpme; in sfmmu_kpme_add()
648 kpme->kpe_page = pp; in sfmmu_kpme_add()
649 pp->p_kpmref++; in sfmmu_kpme_add()
657 sfmmu_kpme_sub(struct kpme *kpme, page_t *pp) in sfmmu_kpme_sub() argument
659 ASSERT(pp->p_kpmref > 0); in sfmmu_kpme_sub()
662 ASSERT(pp->p_kpmelist != kpme); in sfmmu_kpme_sub()
663 ASSERT(kpme->kpe_prev->kpe_page == pp); in sfmmu_kpme_sub()
666 ASSERT(pp->p_kpmelist == kpme); in sfmmu_kpme_sub()
667 pp->p_kpmelist = kpme->kpe_next; in sfmmu_kpme_sub()
671 ASSERT(kpme->kpe_next->kpe_page == pp); in sfmmu_kpme_sub()
677 pp->p_kpmref--; in sfmmu_kpme_sub()
687 sfmmu_kpm_mapin(page_t *pp) in sfmmu_kpm_mapin() argument
701 ASSERT(sfmmu_mlist_held(pp)); in sfmmu_kpm_mapin()
702 ASSERT(pp->p_kpmref == 0); in sfmmu_kpm_mapin()
704 vaddr = sfmmu_kpm_getvaddr(pp, &kpm_vac_range); in sfmmu_kpm_mapin()
707 uncached = PP_ISNC(pp); in sfmmu_kpm_mapin()
708 pfn = pp->p_pagenum; in sfmmu_kpm_mapin()
713 PP2KPMPG(pp, kp); in sfmmu_kpm_mapin()
718 ASSERT(PP_ISKPMC(pp) == 0); in sfmmu_kpm_mapin()
719 ASSERT(PP_ISKPMS(pp) == 0); in sfmmu_kpm_mapin()
742 pmtx = sfmmu_page_enter(pp); in sfmmu_kpm_mapin()
743 PP_SETKPMC(pp); in sfmmu_kpm_mapin()
763 pmtx = sfmmu_page_enter(pp); in sfmmu_kpm_mapin()
764 PP_SETKPMS(pp); in sfmmu_kpm_mapin()
842 pmtx = sfmmu_page_enter(pp); in sfmmu_kpm_mapin()
843 PP_SETKPMC(pp); in sfmmu_kpm_mapin()
852 PP2KPMSPG(pp, ksp); in sfmmu_kpm_mapin()
878 sfmmu_kpm_mapout(page_t *pp, caddr_t vaddr) in sfmmu_kpm_mapout() argument
888 ASSERT(sfmmu_mlist_held(pp)); in sfmmu_kpm_mapout()
889 ASSERT(pp->p_kpmref == 0); in sfmmu_kpm_mapout()
896 PP2KPMPG(pp, kp); in sfmmu_kpm_mapout()
901 ASSERT(PP_ISKPMS(pp) == 0); in sfmmu_kpm_mapout()
907 if (PP_ISTNC(pp)) { in sfmmu_kpm_mapout()
908 if (PP_ISKPMC(pp) == 0) { in sfmmu_kpm_mapout()
918 pmtx = sfmmu_page_enter(pp); in sfmmu_kpm_mapout()
919 PP_CLRKPMC(pp); in sfmmu_kpm_mapout()
930 conv_tnc(pp, TTE8K); in sfmmu_kpm_mapout()
932 } else if (PP_ISKPMC(pp) == 0) { in sfmmu_kpm_mapout()
938 pmtx = sfmmu_page_enter(pp); in sfmmu_kpm_mapout()
939 PP_CLRKPMC(pp); in sfmmu_kpm_mapout()
951 ASSERT(!(pp->p_nrm & (P_KPMC | P_KPMS | P_TNC | P_PNC))); in sfmmu_kpm_mapout()
993 if (PP_ISKPMS(pp)) { in sfmmu_kpm_mapout()
1008 if (PP_ISTNC(pp)) { in sfmmu_kpm_mapout()
1009 if (!PP_ISKPMC(pp)) { in sfmmu_kpm_mapout()
1017 conv_tnc(pp, TTE8K); in sfmmu_kpm_mapout()
1021 pmtx = sfmmu_page_enter(pp); in sfmmu_kpm_mapout()
1022 PP_CLRKPMS(pp); in sfmmu_kpm_mapout()
1026 if (PP_ISKPMC(pp)) { in sfmmu_kpm_mapout()
1031 pmtx = sfmmu_page_enter(pp); in sfmmu_kpm_mapout()
1032 PP_CLRKPMC(pp); in sfmmu_kpm_mapout()
1045 PP2KPMSPG(pp, ksp); in sfmmu_kpm_mapout()
1048 if (PP_ISKPMC(pp) == 0) { in sfmmu_kpm_mapout()
1068 } else if (PP_ISTNC(pp)) { in sfmmu_kpm_mapout()
1072 if (oldval != KPM_MAPPEDSC || PP_ISKPMC(pp) == 0) in sfmmu_kpm_mapout()
1077 pmtx = sfmmu_page_enter(pp); in sfmmu_kpm_mapout()
1078 PP_CLRKPMC(pp); in sfmmu_kpm_mapout()
1088 conv_tnc(pp, TTE8K); in sfmmu_kpm_mapout()
1097 pmtx = sfmmu_page_enter(pp); in sfmmu_kpm_mapout()
1098 PP_CLRKPMC(pp); in sfmmu_kpm_mapout()
1110 sfmmu_kpm_getvaddr(page_t *pp, int *kpm_vac_rangep) in sfmmu_kpm_getvaddr() argument
1117 ASSERT(sfmmu_mlist_held(pp)); in sfmmu_kpm_getvaddr()
1119 paddr = ptob(pp->p_pagenum); in sfmmu_kpm_getvaddr()
1122 if (pp->p_vnode && IS_SWAPFSVP(pp->p_vnode)) { in sfmmu_kpm_getvaddr()
1123 vcolor = (PP_NEWPAGE(pp) || PP_ISNC(pp)) ? in sfmmu_kpm_getvaddr()
1124 vcolor_pa : PP_GET_VCOLOR(pp); in sfmmu_kpm_getvaddr()
1126 vcolor = addr_to_vcolor(pp->p_offset); in sfmmu_kpm_getvaddr()
1139 ASSERT(!PP_ISMAPPED_LARGE(pp)); in sfmmu_kpm_getvaddr()
1142 if (PP_ISNC(pp)) in sfmmu_kpm_getvaddr()
1145 if (PP_NEWPAGE(pp)) { in sfmmu_kpm_getvaddr()
1146 PP_SET_VCOLOR(pp, vcolor); in sfmmu_kpm_getvaddr()
1150 if (PP_GET_VCOLOR(pp) == vcolor) in sfmmu_kpm_getvaddr()
1153 ASSERT(!PP_ISMAPPED_KPM(pp)); in sfmmu_kpm_getvaddr()
1154 sfmmu_kpm_vac_conflict(pp, vaddr); in sfmmu_kpm_getvaddr()
1202 sfmmu_kpm_fault(caddr_t vaddr, struct memseg *mseg, page_t *pp) in sfmmu_kpm_fault() argument
1208 pfn_t pfn = pp->p_pagenum; in sfmmu_kpm_fault()
1222 "0x%p pp 0x%p", (void *)mseg, (void *)pp); in sfmmu_kpm_fault()
1228 pml = sfmmu_mlist_enter(pp); in sfmmu_kpm_fault()
1230 if (!PP_ISMAPPED_KPM(pp)) { in sfmmu_kpm_fault()
1238 ASSERT(!PP_ISMAPPED_LARGE(pp)); in sfmmu_kpm_fault()
1240 if (PP_ISKPMC(pp)) { in sfmmu_kpm_fault()
1241 pmtx = sfmmu_page_enter(pp); in sfmmu_kpm_fault()
1242 PP_CLRKPMC(pp); in sfmmu_kpm_fault()
1257 sfmmu_kpm_vac_conflict(pp, vaddr); in sfmmu_kpm_fault()
1260 if (PP_ISNC(pp)) { in sfmmu_kpm_fault()
1262 pmtx = sfmmu_page_enter(pp); in sfmmu_kpm_fault()
1263 PP_SETKPMC(pp); in sfmmu_kpm_fault()
1285 PP_ISKPMC(pp) || PP_ISKPMS(pp) || PP_ISNC(pp)); in sfmmu_kpm_fault()
1301 (PP_ISKPMC(pp) ? KPM_C : 0) | in sfmmu_kpm_fault()
1302 (PP_ISKPMS(pp) ? KPM_S : 0)); in sfmmu_kpm_fault()
1314 sfmmu_kpm_vac_conflict(pp, vaddr); in sfmmu_kpm_fault()
1317 if (PP_ISNC(pp) || kp->kp_refcnt <= 0 || in sfmmu_kpm_fault()
1318 addr_to_vcolor(vaddr) != PP_GET_VCOLOR(pp)) { in sfmmu_kpm_fault()
1320 "state, pp=%p", (void *)pp); in sfmmu_kpm_fault()
1341 sfmmu_kpm_vac_conflict(pp, vaddr); in sfmmu_kpm_fault()
1344 if (PP_ISNC(pp) || kp->kp_refcnt <= 0 || in sfmmu_kpm_fault()
1345 addr_to_vcolor(vaddr) != PP_GET_VCOLOR(pp)) { in sfmmu_kpm_fault()
1347 "pp=%p", (void *)pp); in sfmmu_kpm_fault()
1351 pmtx = sfmmu_page_enter(pp); in sfmmu_kpm_fault()
1352 PP_SETKPMS(pp); in sfmmu_kpm_fault()
1371 if (PP_ISNC(pp) || in sfmmu_kpm_fault()
1372 addr_to_vcolor(vaddr) != PP_GET_VCOLOR(pp)) { in sfmmu_kpm_fault()
1374 "pp=%p", (void *)pp); in sfmmu_kpm_fault()
1386 sfmmu_kpm_vac_conflict(pp, vaddr); in sfmmu_kpm_fault()
1389 if (PP_ISNC(pp) || kp->kp_refcnt <= 0 || in sfmmu_kpm_fault()
1390 addr_to_vcolor(vaddr) != PP_GET_VCOLOR(pp)) { in sfmmu_kpm_fault()
1392 "pp=%p", (void *)pp); in sfmmu_kpm_fault()
1396 pmtx = sfmmu_page_enter(pp); in sfmmu_kpm_fault()
1397 PP_SETKPMS(pp); in sfmmu_kpm_fault()
1403 if (!PP_ISMAPPED(pp)) { in sfmmu_kpm_fault()
1411 (void *)pp); in sfmmu_kpm_fault()
1424 sfmmu_kpm_vac_conflict(pp, vaddr); in sfmmu_kpm_fault()
1430 if (PP_ISNC(pp)) { in sfmmu_kpm_fault()
1442 ASSERT(addr_to_vcolor(vaddr) == PP_GET_VCOLOR(pp)); in sfmmu_kpm_fault()
1445 pmtx = sfmmu_page_enter(pp); in sfmmu_kpm_fault()
1446 PP_CLRKPMC(pp); in sfmmu_kpm_fault()
1448 ASSERT(PP_ISKPMS(pp) == 0); in sfmmu_kpm_fault()
1455 pmtx = sfmmu_page_enter(pp); in sfmmu_kpm_fault()
1456 PP_SETKPMS(pp); in sfmmu_kpm_fault()
1461 if (!PP_ISMAPPED(pp)) { in sfmmu_kpm_fault()
1469 (void *)pp); in sfmmu_kpm_fault()
1475 if (!PP_ISNC(pp)) { in sfmmu_kpm_fault()
1477 (void *)pp); in sfmmu_kpm_fault()
1485 "pp=%p", (void *)vaddr, (void *)kp, (void *)pp); in sfmmu_kpm_fault()
1530 sfmmu_kpm_fault_small(caddr_t vaddr, struct memseg *mseg, page_t *pp) in sfmmu_kpm_fault_small() argument
1537 pfn_t pfn = pp->p_pagenum; in sfmmu_kpm_fault_small()
1546 pml = sfmmu_mlist_enter(pp); in sfmmu_kpm_fault_small()
1548 if (!PP_ISMAPPED_KPM(pp)) { in sfmmu_kpm_fault_small()
1560 ASSERT(!PP_ISKPMC(pp)); in sfmmu_kpm_fault_small()
1561 ASSERT(!PP_ISNC(pp)); in sfmmu_kpm_fault_small()
1578 sfmmu_kpm_vac_conflict(pp, vaddr); in sfmmu_kpm_fault_small()
1580 if (PP_ISNC(pp)) { in sfmmu_kpm_fault_small()
1596 if (PP_ISKPMC(pp)) { in sfmmu_kpm_fault_small()
1597 pmtx = sfmmu_page_enter(pp); in sfmmu_kpm_fault_small()
1598 PP_CLRKPMC(pp); in sfmmu_kpm_fault_small()
1632 sfmmu_kpm_vac_conflict(page_t *pp, caddr_t vaddr) in sfmmu_kpm_vac_conflict() argument
1641 ASSERT(sfmmu_mlist_held(pp)); in sfmmu_kpm_vac_conflict()
1643 if (PP_ISNC(pp)) in sfmmu_kpm_vac_conflict()
1647 if (PP_GET_VCOLOR(pp) == vcolor) in sfmmu_kpm_vac_conflict()
1658 ASSERT(!PP_ISMAPPED_LARGE(pp)); in sfmmu_kpm_vac_conflict()
1660 if (!PP_ISMAPPED(pp)) { in sfmmu_kpm_vac_conflict()
1667 sfmmu_cache_flush(pp->p_pagenum, PP_GET_VCOLOR(pp)); in sfmmu_kpm_vac_conflict()
1668 PP_SET_VCOLOR(pp, vcolor); in sfmmu_kpm_vac_conflict()
1682 for (sfhmep = pp->p_mapping; sfhmep; sfhmep = tmphme) { in sfmmu_kpm_vac_conflict()
1695 sfmmu_page_cache_array(pp, HAT_TMPNC, CACHE_FLUSH, 1); in sfmmu_kpm_vac_conflict()
1705 for (sfhmep = pp->p_mapping; sfhmep; sfhmep = tmphme) { in sfmmu_kpm_vac_conflict()
1710 (void) sfmmu_pageunload(pp, sfhmep, TTE8K); in sfmmu_kpm_vac_conflict()
1717 sfmmu_cache_flush(pp->p_pagenum, PP_GET_VCOLOR(pp)); in sfmmu_kpm_vac_conflict()
1718 PP_SET_VCOLOR(pp, vcolor); in sfmmu_kpm_vac_conflict()
1726 sfmmu_kpm_pageunload(page_t *pp) in sfmmu_kpm_pageunload() argument
1731 ASSERT(pp != NULL); in sfmmu_kpm_pageunload()
1732 ASSERT(pp->p_kpmref); in sfmmu_kpm_pageunload()
1733 ASSERT(sfmmu_mlist_held(pp)); in sfmmu_kpm_pageunload()
1735 vaddr = hat_kpm_page2va(pp, 1); in sfmmu_kpm_pageunload()
1737 for (kpme = pp->p_kpmelist; kpme; kpme = nkpme) { in sfmmu_kpm_pageunload()
1738 ASSERT(kpme->kpe_page == pp); in sfmmu_kpm_pageunload()
1740 if (pp->p_kpmref == 0) in sfmmu_kpm_pageunload()
1742 "kpme=%p", (void *)pp, (void *)kpme); in sfmmu_kpm_pageunload()
1747 sfmmu_kpme_sub(kpme, pp); in sfmmu_kpm_pageunload()
1755 if (pp->p_kpmref != 0) in sfmmu_kpm_pageunload()
1756 panic("sfmmu_kpm_pageunload: bad refcnt pp=%p", (void *)pp); in sfmmu_kpm_pageunload()
1758 sfmmu_kpm_mapout(pp, vaddr); in sfmmu_kpm_pageunload()
1831 sfmmu_kpm_vac_unload(page_t *pp, caddr_t vaddr) in sfmmu_kpm_vac_unload() argument
1835 caddr_t kpmvaddr = hat_kpm_page2va(pp, 1); in sfmmu_kpm_vac_unload()
1843 ASSERT(PAGE_LOCKED(pp)); in sfmmu_kpm_vac_unload()
1844 ASSERT(sfmmu_mlist_held(pp)); in sfmmu_kpm_vac_unload()
1845 ASSERT(!PP_ISNC(pp)); in sfmmu_kpm_vac_unload()
1851 PP2KPMPG(pp, kp); in sfmmu_kpm_vac_unload()
1861 if (PP_ISKPMC(pp) == 0) { in sfmmu_kpm_vac_unload()
1865 pmtx = sfmmu_page_enter(pp); in sfmmu_kpm_vac_unload()
1866 PP_SETKPMC(pp); in sfmmu_kpm_vac_unload()
1870 pmtx = sfmmu_page_enter(pp); in sfmmu_kpm_vac_unload()
1871 PP_CLRKPMC(pp); in sfmmu_kpm_vac_unload()
1888 PP_ISKPMC(pp) || PP_ISKPMS(pp) || PP_ISNC(pp)); in sfmmu_kpm_vac_unload()
1896 if (PP_ISKPMC(pp) == 0 && newcolor == 0) { in sfmmu_kpm_vac_unload()
1897 ASSERT(PP_ISKPMS(pp) == 0); in sfmmu_kpm_vac_unload()
1908 (PP_ISKPMC(pp) ? KPM_C : 0) | in sfmmu_kpm_vac_unload()
1909 (PP_ISKPMS(pp) ? KPM_S : 0)); in sfmmu_kpm_vac_unload()
1926 pmtx = sfmmu_page_enter(pp); in sfmmu_kpm_vac_unload()
1927 PP_SETKPMC(pp); in sfmmu_kpm_vac_unload()
1943 pmtx = sfmmu_page_enter(pp); in sfmmu_kpm_vac_unload()
1944 PP_CLRKPMS(pp); in sfmmu_kpm_vac_unload()
1945 PP_SETKPMC(pp); in sfmmu_kpm_vac_unload()
1959 pmtx = sfmmu_page_enter(pp); in sfmmu_kpm_vac_unload()
1960 PP_SETKPMC(pp); in sfmmu_kpm_vac_unload()
1973 pmtx = sfmmu_page_enter(pp); in sfmmu_kpm_vac_unload()
1974 PP_CLRKPMC(pp); in sfmmu_kpm_vac_unload()
1990 (void *)kpmvaddr, (void *)kp, (void *)pp); in sfmmu_kpm_vac_unload()
2000 PP2KPMSPG(pp, ksp); in sfmmu_kpm_vac_unload()
2003 if (PP_ISKPMC(pp) == 0) { in sfmmu_kpm_vac_unload()
2017 pmtx = sfmmu_page_enter(pp); in sfmmu_kpm_vac_unload()
2018 PP_SETKPMC(pp); in sfmmu_kpm_vac_unload()
2033 sfmmu_kpm_hme_unload(page_t *pp) in sfmmu_kpm_hme_unload() argument
2043 ASSERT(sfmmu_mlist_held(pp)); in sfmmu_kpm_hme_unload()
2044 ASSERT(PP_ISMAPPED_KPM(pp)); in sfmmu_kpm_hme_unload()
2046 flags = pp->p_nrm & (P_KPMC | P_KPMS); in sfmmu_kpm_hme_unload()
2060 vaddr = hat_kpm_page2va(pp, 1); in sfmmu_kpm_hme_unload()
2062 PP2KPMPG(pp, kp); in sfmmu_kpm_hme_unload()
2079 pmtx = sfmmu_page_enter(pp); in sfmmu_kpm_hme_unload()
2080 PP_CLRKPMC(pp); in sfmmu_kpm_hme_unload()
2090 vaddr = hat_kpm_page2va(pp, 1); in sfmmu_kpm_hme_unload()
2091 PP2KPMSPG(pp, ksp); in sfmmu_kpm_hme_unload()
2102 pmtx = sfmmu_page_enter(pp); in sfmmu_kpm_hme_unload()
2103 PP_CLRKPMC(pp); in sfmmu_kpm_hme_unload()
2113 sfmmu_kpm_kpmp_enter(page_t *pp, pgcnt_t npages) in sfmmu_kpm_kpmp_enter() argument
2118 ASSERT(sfmmu_mlist_held(pp)); in sfmmu_kpm_kpmp_enter()
2120 if (kpm_smallpages || PP_ISMAPPED_KPM(pp) == 0) in sfmmu_kpm_kpmp_enter()
2125 PP2KPMPG(pp, kp); in sfmmu_kpm_kpmp_enter()
2177 sfmmu_kpm_page_cache(page_t *pp, int flags, int cache_flush_tag) in sfmmu_kpm_page_cache() argument
2188 ASSERT(PP_ISMAPPED_KPM(pp)); in sfmmu_kpm_page_cache()
2189 ASSERT(sfmmu_mlist_held(pp)); in sfmmu_kpm_page_cache()
2190 ASSERT(sfmmu_page_spl_held(pp)); in sfmmu_kpm_page_cache()
2195 kpmvaddr = hat_kpm_page2va(pp, 1); in sfmmu_kpm_page_cache()
2198 pfn_t pfn = pp->p_pagenum; in sfmmu_kpm_page_cache()
2212 PP2KPMPG(pp, kp); in sfmmu_kpm_page_cache()
2223 PP_SETKPMC(pp); in sfmmu_kpm_page_cache()
2224 ASSERT(!PP_ISKPMS(pp)); in sfmmu_kpm_page_cache()
2226 ASSERT(PP_ISKPMC(pp)); in sfmmu_kpm_page_cache()
2227 PP_CLRKPMC(pp); in sfmmu_kpm_page_cache()
2239 PP_ISKPMC(pp) || PP_ISKPMS(pp) || PP_ISNC(pp)); in sfmmu_kpm_page_cache()
2254 (PP_ISKPMC(pp) ? KPM_C : 0) | in sfmmu_kpm_page_cache()
2255 (PP_ISKPMS(pp) ? KPM_S : 0)); in sfmmu_kpm_page_cache()
2267 PP_CLRKPMS(pp); in sfmmu_kpm_page_cache()
2273 PP_CLRKPMC(pp); in sfmmu_kpm_page_cache()
2303 PP_SETKPMC(pp); in sfmmu_kpm_page_cache()
2317 PP_CLRKPMS(pp); in sfmmu_kpm_page_cache()
2318 PP_SETKPMC(pp); in sfmmu_kpm_page_cache()
2327 PP_SETKPMC(pp); in sfmmu_kpm_page_cache()
2341 (void *)kp, (void *)pp); in sfmmu_kpm_page_cache()
2346 PP2KPMSPG(pp, ksp); in sfmmu_kpm_page_cache()
2362 PP_SETKPMC(pp); in sfmmu_kpm_page_cache()
2363 ASSERT(!PP_ISKPMS(pp)); in sfmmu_kpm_page_cache()
2366 ASSERT(PP_ISKPMC(pp)); in sfmmu_kpm_page_cache()
2367 PP_CLRKPMC(pp); in sfmmu_kpm_page_cache()