Lines Matching defs:vaddr

74  * Mapin a locked page and return the vaddr.
83 caddr_t vaddr;
98 vaddr = (pp->p_kpmref == 0) ?
116 return (vaddr);
129 hat_kpm_mapout(struct page *pp, struct kpme *kpme, caddr_t vaddr)
138 if (IS_KPM_ADDR(vaddr) == 0) {
167 sfmmu_kpm_mapout(pp, vaddr);
187 caddr_t paddr, vaddr;
197 vaddr = (uintptr_t)kpm_vbase + paddr;
200 sfmmu_kpm_load_tsb(vaddr, &tte, shift);
202 return (vaddr);
226 uintptr_t paddr, vaddr;
238 vaddr = (uintptr_t)kpm_vbase + paddr;
241 vaddr += ((uintptr_t)(vcolor - vcolor_pa) << MMU_PAGESHIFT);
242 vaddr += (vcolor_pa > vcolor) ?
247 return ((caddr_t)vaddr);
251 * Return the page for the kpm virtual address vaddr.
256 hat_kpm_vaddr2page(caddr_t vaddr)
261 ASSERT(IS_KPM_ADDR(vaddr));
263 SFMMU_KPM_VTOP(vaddr, paddr);
300 * . The vaddr is in VAC alias range (always PAGESIZE mapping size).
301 * . The kpm (s)page range of vaddr is in a VAC alias prevention state.
306 hat_kpm_fault(struct hat *hat, caddr_t vaddr)
320 ASSERT(IS_KPM_ADDR(vaddr));
322 SFMMU_KPM_VTOP(vaddr, paddr);
341 sfmmu_kpm_load_tsb(vaddr, &tte, shift);
346 error = sfmmu_kpm_fault(vaddr, mseg, pp);
348 error = sfmmu_kpm_fault_small(vaddr, mseg, pp);
595 * for vaddr, otherwise return PFN_INVALID. No locks are grabbed.
599 sfmmu_kpm_vatopfn(caddr_t vaddr)
605 ASSERT(kpm_enable && IS_KPM_ADDR(vaddr));
607 SFMMU_KPM_VTOP(vaddr, paddr);
691 caddr_t vaddr;
704 vaddr = sfmmu_kpm_getvaddr(pp, &kpm_vac_range);
706 ASSERT(IS_KPM_ADDR(vaddr));
737 sfmmu_kpm_demap_large(vaddr);
761 sfmmu_kpm_load_tsb(vaddr, &tte, MMU_PAGESHIFT);
783 sfmmu_kpm_load_tsb(vaddr, &tte, MMU_PAGESHIFT4M);
800 * vcolor'ed page for a given vaddr corresponding to
814 sfmmu_kpm_load_tsb(vaddr, &tte, MMU_PAGESHIFT);
828 return (vaddr);
839 sfmmu_kpm_demap_small(vaddr);
850 sfmmu_kpm_load_tsb(vaddr, &tte, MMU_PAGESHIFT);
862 return (vaddr);
878 sfmmu_kpm_mapout(page_t *pp, caddr_t vaddr)
891 alias_range = IS_KPM_ALIAS_RANGE(vaddr);
916 sfmmu_kpm_demap_small(vaddr);
934 sfmmu_kpm_unload_tsb(vaddr, MMU_PAGESHIFT);
965 sfmmu_kpm_unload_tsb(vaddr, MMU_PAGESHIFT4M);
968 sfmmu_kpm_demap_tlbs(vaddr);
975 * We come here if the kpm vaddr is not in any alias_range
998 sfmmu_kpm_demap_small(vaddr);
1062 sfmmu_kpm_unload_tsb(vaddr, MMU_PAGESHIFT);
1065 sfmmu_kpm_demap_tlbs(vaddr);
1075 sfmmu_kpm_demap_small(vaddr);
1113 caddr_t vaddr;
1129 vaddr = kpm_vbase + paddr;
1134 vaddr += ((uintptr_t)(vcolor - vcolor_pa) << MMU_PAGESHIFT);
1135 vaddr += (vcolor_pa > vcolor) ?
1143 return (vaddr);
1147 return (vaddr);
1151 return (vaddr);
1154 sfmmu_kpm_vac_conflict(pp, vaddr);
1156 return (vaddr);
1202 sfmmu_kpm_fault(caddr_t vaddr, struct memseg *mseg, page_t *pp)
1217 alias_range = IS_KPM_ALIAS_RANGE(vaddr);
1257 sfmmu_kpm_vac_conflict(pp, vaddr);
1314 sfmmu_kpm_vac_conflict(pp, vaddr);
1318 addr_to_vcolor(vaddr) != PP_GET_VCOLOR(pp)) {
1341 sfmmu_kpm_vac_conflict(pp, vaddr);
1345 addr_to_vcolor(vaddr) != PP_GET_VCOLOR(pp)) {
1372 addr_to_vcolor(vaddr) != PP_GET_VCOLOR(pp)) {
1386 sfmmu_kpm_vac_conflict(pp, vaddr);
1390 addr_to_vcolor(vaddr) != PP_GET_VCOLOR(pp)) {
1424 sfmmu_kpm_vac_conflict(pp, vaddr);
1442 ASSERT(addr_to_vcolor(vaddr) == PP_GET_VCOLOR(pp));
1484 panic("sfmmu_kpm_fault: inconsistent VAC state, vaddr=%p kp=%p "
1485 "pp=%p", (void *)vaddr, (void *)kp, (void *)pp);
1496 sfmmu_kpm_load_tsb(vaddr, &tte, MMU_PAGESHIFT);
1508 sfmmu_kpm_load_tsb(vaddr, &tte, MMU_PAGESHIFT4M);
1530 sfmmu_kpm_fault_small(caddr_t vaddr, struct memseg *mseg, page_t *pp)
1567 sfmmu_kpm_load_tsb(vaddr, &tte, MMU_PAGESHIFT);
1578 sfmmu_kpm_vac_conflict(pp, vaddr);
1587 sfmmu_kpm_load_tsb(vaddr, &tte, MMU_PAGESHIFT);
1606 sfmmu_kpm_load_tsb(vaddr, &tte, MMU_PAGESHIFT);
1632 sfmmu_kpm_vac_conflict(page_t *pp, caddr_t vaddr)
1646 vcolor = addr_to_vcolor(vaddr);
1728 caddr_t vaddr;
1735 vaddr = hat_kpm_page2va(pp, 1);
1758 sfmmu_kpm_mapout(pp, vaddr);
1765 sfmmu_kpm_demap_large(caddr_t vaddr)
1767 sfmmu_kpm_unload_tsb(vaddr, MMU_PAGESHIFT4M);
1768 sfmmu_kpm_demap_tlbs(vaddr);
1775 sfmmu_kpm_demap_small(caddr_t vaddr)
1777 sfmmu_kpm_unload_tsb(vaddr, MMU_PAGESHIFT);
1778 sfmmu_kpm_demap_tlbs(vaddr);
1785 sfmmu_kpm_demap_tlbs(caddr_t vaddr)
1795 xt_some(cpuset, vtag_flushpage_tl1, (uint64_t)vaddr,
1797 vtag_flushpage(vaddr, (uint64_t)ksfmmup);
1831 sfmmu_kpm_vac_unload(page_t *pp, caddr_t vaddr)
1847 newcolor = addr_to_vcolor(kpmvaddr) != addr_to_vcolor(vaddr);
1915 * able to handle the conflicting hme vaddr.
2038 caddr_t vaddr;
2060 vaddr = hat_kpm_page2va(pp, 1);
2066 if (IS_KPM_ALIAS_RANGE(vaddr)) {
2090 vaddr = hat_kpm_page2va(pp, 1);