/titanic_44/usr/src/uts/i86xpv/os/ |
H A D | xen_mmu.c | 255 pfn_t pfn; in xen_assign_pfn() local 266 pfn = mfn_to_pfn_mapping[mfn]; in xen_assign_pfn() 267 if (pfn < mfn_count && mfn_list[pfn] == mfn) in xen_assign_pfn() 276 pfn = (pfn_t)mfn | PFN_IS_FOREIGN_MFN; in xen_assign_pfn() 277 if (pfn == mfn) in xen_assign_pfn() 279 return (pfn); in xen_assign_pfn() 283 xen_release_pfn(pfn_t pfn) in xen_release_pfn() argument 285 if (pfn == PFN_INVALID) in xen_release_pfn() 287 if ((pfn & PFN_IS_FOREIGN_MFN) == 0) in xen_release_pfn() 292 pfn_is_foreign(pfn_t pfn) in pfn_is_foreign() argument [all …]
|
/titanic_44/usr/src/cmd/mdb/i86pc/modules/unix/ |
H A D | i86mmu.c | 50 pfn_t pfn; member 241 pfn_t pfn; in mdb_mfn_to_pfn() local 249 if (mdb_vread(&pfn, sizeof (pfn), (uintptr_t)(pfn_list + mfn)) == -1) in mdb_mfn_to_pfn() 253 (uintptr_t)(mfn_list_addr + (pfn * sizeof (mfn_t)))) == -1) in mdb_mfn_to_pfn() 256 if (pfn >= mfn_count || tmp != mfn) in mdb_mfn_to_pfn() 259 return (pfn); in mdb_mfn_to_pfn() 263 mdb_pfn_to_mfn(pfn_t pfn) in mdb_pfn_to_mfn() argument 269 if (mfn_list_addr == NULL || pfn >= mfn_count) in mdb_pfn_to_mfn() 273 (uintptr_t)(mfn_list_addr + (pfn * sizeof (mfn_t)))) == -1) in mdb_pfn_to_mfn() 291 pfn_t pfn; in mdb_mfn_to_pfn() local [all …]
|
/titanic_44/usr/src/uts/sun4v/cpu/ |
H A D | niagara2.c | 385 page_pfn_2_color_cpu(pfn_t pfn, uchar_t szc, void *cookie) in page_pfn_2_color_cpu() argument 393 pfn = plat_rapfn_to_papfn(pfn); in page_pfn_2_color_cpu() 395 ASSERT(pfn >= it->mi_mblock_base && pfn <= it->mi_mblock_end); in page_pfn_2_color_cpu() 396 pfn = pfn + it->mi_ra_to_pa; in page_pfn_2_color_cpu() 398 pfn = PFN_BASE(pfn, szc); in page_pfn_2_color_cpu() 399 color = ((pfn >> 15) ^ pfn) & 0x1f; in page_pfn_2_color_cpu() 402 color = (color << 2) | ((pfn >> 5) & 0x3); in page_pfn_2_color_cpu() 479 #define PAPFN_2_MNODE(pfn) \ argument 480 (((pfn) & it->mi_mnode_pfn_mask) >> it->mi_mnode_pfn_shift) 484 page_next_pfn_for_color_cpu(pfn_t pfn, uchar_t szc, uint_t color, in page_next_pfn_for_color_cpu() argument [all …]
|
/titanic_44/usr/src/uts/i86pc/vm/ |
H A D | hat_pte.h | 102 #define MAKEPTP(pfn, l) \ argument 103 (pa_to_ma(pfn_to_pa(pfn)) | mmu.ptp_bits[(l) + 1]) 104 #define MAKEPTE(pfn, l) \ argument 105 ((pfn & PFN_IS_FOREIGN_MFN) ? \ 106 ((pfn_to_pa(pfn & ~PFN_IS_FOREIGN_MFN) | mmu.pte_bits[l]) | \ 108 (pa_to_ma(pfn_to_pa(pfn)) | mmu.pte_bits[l])) 110 #define MAKEPTP(pfn, l) \ 111 (pfn_to_pa(pfn) | mmu.ptp_bits[(l) + 1]) 112 #define MAKEPTE(pfn, l) \ 113 (pfn_to_pa(pfn) | mmu.pte_bits[l]) [all …]
|
H A D | i86_mmu.c | 169 pfn_t pfn; in va_to_pfn() local 174 if (kbm_probe(&va, &len, &pfn, &prot) == 0) in va_to_pfn() 179 pfn += mmu_btop(des_va - va); in va_to_pfn() 180 return (pfn); in va_to_pfn() 279 pfn_t pfn; in xen_kpm_finish_init() local 282 for (pfn = 0; pfn < mfn_count; ++pfn) { in xen_kpm_finish_init() 286 if (pfn == gdtpfn) in xen_kpm_finish_init() 292 pp = page_numtopp_nolock(pfn); in xen_kpm_finish_init() 297 (void) xen_kpm_page(pfn, PT_VALID | PT_WRITABLE); in xen_kpm_finish_init() 316 pfn_t pfn; in hat_kern_alloc() local [all …]
|
H A D | hat_kdi.c | 131 pfn_t pfn; in kdi_mtop() local 137 pfn = mfn_to_pfn_mapping[mfn]; in kdi_mtop() 138 if (pfn >= mfn_count || pfn_to_mfn(pfn) != mfn) in kdi_mtop() 140 return (pfn_to_pa(pfn) | (ma & MMU_PAGEOFFSET)); in kdi_mtop() 154 pfn_t pfn; in kdi_vtop() local 165 if (kbm_probe(&vaddr, &len, &pfn, &prot) == 0) in kdi_vtop() 170 pfn += mmu_btop(va - vaddr); in kdi_vtop() 171 *pap = pfn_to_pa(pfn) + (vaddr & MMU_PAGEOFFSET); in kdi_vtop()
|
H A D | vm_dep.h | 83 #define PLCNT_MODIFY_MAX(pfn, cnt) mtype_modify_max(pfn, cnt) argument 148 #define MEM_NODE_ITERATOR_INIT(pfn, mnode, szc, it) argument 178 #define PAGE_CTRS_ADJUST(pfn, cnt, rv) { \ argument 182 pfn_t _pfn = (pfn); \ 199 #define PFN_2_COLOR(pfn, szc, it) \ argument 200 (((pfn) & page_colors_mask) >> \ 216 #define PAGE_NEXT_PFN_FOR_COLOR(pfn, szc, color, ceq_mask, color_mask, it) \ argument 219 pfn_t spfn = pfn >> pfn_shift; \ 224 pfn += stride << pfn_shift; \ 226 pfn = (spfn & ~(pfn_t)(ceq_mask)) | (color); \ [all …]
|
H A D | vm_machdep.c | 945 memrange_num(pfn_t pfn) in memrange_num() argument 950 if (pfn >= memranges[n]) in memrange_num() 961 pfn_2_mtype(pfn_t pfn) in pfn_2_mtype() argument 970 if (pfn >= mnoderanges[n].mnr_pfnlo) { in pfn_2_mtype() 996 pfn_t pfn = *pfnp; in is_contigpage_free() local 1012 pp = page_numtopp_nolock(pfn + i); in is_contigpage_free() 1018 if (page_pptonum(pp) != pfn + i) { in is_contigpage_free() 1044 } while ((++i < *pgcnt) && ((pfn + i) & pfnseg)); in is_contigpage_free() 1105 pfn_t pfn; in page_get_contigpage() local 1161 pfn = startpfn; in page_get_contigpage() [all …]
|
/titanic_44/usr/src/uts/sun4u/vm/ |
H A D | mach_sfmmu.c | 108 pfn_t pfn; in sfmmu_remap_kernel() local 116 pfn = va_to_pfn(textva); in sfmmu_remap_kernel() 117 if (pfn == PFN_INVALID) in sfmmu_remap_kernel() 119 pfn &= TTE_PFNMASK(TTE4M); in sfmmu_remap_kernel() 123 sfmmu_memtte(&ktext_tte, pfn, attr, TTE4M); in sfmmu_remap_kernel() 134 pfn = va_to_pfn(datava); in sfmmu_remap_kernel() 135 if (pfn == PFN_INVALID) in sfmmu_remap_kernel() 137 pfn &= TTE_PFNMASK(TTE4M); in sfmmu_remap_kernel() 140 sfmmu_memtte(&kdata_tte, pfn, attr, TTE4M); in sfmmu_remap_kernel() 167 pfn = va_to_pfn(va); in sfmmu_remap_kernel() [all …]
|
H A D | mach_kpm.c | 185 hat_kpm_mapin_pfn(pfn_t pfn) in hat_kpm_mapin_pfn() argument 193 page_numtomemseg_nolock(pfn) != NULL) in hat_kpm_mapin_pfn() 196 paddr = (caddr_t)ptob(pfn); in hat_kpm_mapin_pfn() 199 KPM_TTE_VCACHED(tte.ll, pfn, szc); in hat_kpm_mapin_pfn() 207 hat_kpm_mapout_pfn(pfn_t pfn) in hat_kpm_mapout_pfn() argument 259 pfn_t pfn; in hat_kpm_vaddr2page() local 264 pfn = (pfn_t)btop(paddr); in hat_kpm_vaddr2page() 266 return (page_numtopp_nolock(pfn)); in hat_kpm_vaddr2page() 273 pfn_t pfn; \ 275 pfn = pp->p_pagenum; \ [all …]
|
/titanic_44/usr/src/uts/sun4v/vm/ |
H A D | mach_sfmmu.c | 157 pfn_t pfn; in sfmmu_remap_kernel() local 165 pfn = va_to_pfn(textva); in sfmmu_remap_kernel() 166 if (pfn == PFN_INVALID) in sfmmu_remap_kernel() 168 pfn &= TTE_PFNMASK(TTE4M); in sfmmu_remap_kernel() 172 sfmmu_memtte(&ktext_tte, pfn, attr, TTE4M); in sfmmu_remap_kernel() 181 pfn = va_to_pfn(datava); in sfmmu_remap_kernel() 182 if (pfn == PFN_INVALID) in sfmmu_remap_kernel() 184 pfn &= TTE_PFNMASK(TTE4M); in sfmmu_remap_kernel() 187 sfmmu_memtte(&kdata_tte, pfn, attr, TTE4M); in sfmmu_remap_kernel() 214 pfn = va_to_pfn(va); in sfmmu_remap_kernel() [all …]
|
H A D | mach_kpm.c | 139 hat_kpm_mapin_pfn(pfn_t pfn) in hat_kpm_mapin_pfn() argument 146 paddr = (caddr_t)ptob(pfn); in hat_kpm_mapin_pfn() 154 hat_kpm_mapout_pfn(pfn_t pfn) in hat_kpm_mapout_pfn() argument 186 pfn_t pfn; in hat_kpm_vaddr2page() local 191 pfn = (pfn_t)btop(paddr); in hat_kpm_vaddr2page() 193 return (page_numtopp_nolock(pfn)); in hat_kpm_vaddr2page() 329 pfn_t pfn; in sfmmu_kpm_vatopfn() local 335 pfn = (pfn_t)btop(paddr); in sfmmu_kpm_vatopfn() 336 pp = page_numtopp_nolock(pfn); in sfmmu_kpm_vatopfn() 338 return (pfn); in sfmmu_kpm_vatopfn()
|
/titanic_44/usr/src/uts/sun4v/sys/ |
H A D | pte.h | 137 #define PFN_TO_TTE(entry, pfn) { \ argument 138 entry.tte_pahi = pfn >> TTE_PASHIFT; \ 139 entry.tte_palo = pfn & TTE_PALOMASK; \ 175 #define TTE_PFN_INTHI(pfn) ((pfn) >> TTE_PASHIFT) argument 182 #define TTE_PFN_INTLO(pfn) (((pfn) & TTE_PALOMASK) << 13) argument 203 #define MAKE_TTE_INTHI(pfn, attr, sz, hmenum) \ argument 205 TTE_NOSYNC_CHECK(attr) | TTE_PFN_INTHI(pfn)) 212 #define MAKE_TTE_INTLO(pfn, attr, sz, hmenum) \ argument 213 (TTE_PFN_INTLO(pfn) | TTE_REF_INT | MAKE_TTEATTR_INTLO(attr) | \ 286 #define KPM_TTE_VCACHED(tte64, pfn, tte_sz) \ argument [all …]
|
/titanic_44/usr/src/uts/sun4u/sys/ |
H A D | machparam.h | 323 #define PFN_TO_BUSTYPE(pfn) (((pfn) >> 19) & 0x1FF) argument 324 #define IO_BUSTYPE(pfn) ((PFN_TO_BUSTYPE(pfn) & 0x100) >> 8) argument 327 #define PFN_TO_UPAID(pfn) BUSTYPE_TO_UPAID(PFN_TO_BUSTYPE(pfn)) argument 329 #define PFN_TO_UPAID(pfn) (((pfn) >> 20) & 0x1F)
|
H A D | pte.h | 168 #define PFN_TO_TTE(entry, pfn) { \ argument 169 entry.tte_pahi = pfn >> TTE_PASHIFT; \ 170 entry.tte_palo = pfn & TTE_PALOMASK; \ 218 #define TTE_PFN_INTHI(pfn) ((pfn) >> TTE_PASHIFT) argument 227 #define TTE_PFN_INTLO(pfn) (((pfn) & TTE_PALOMASK) << 13) argument 246 #define MAKE_TTE_INTHI(pfn, attr, sz, hmenum) \ argument 248 TTE_HMENUM_INT(hmenum) | TTE_PFN_INTHI(pfn)) 255 #define MAKE_TTE_INTLO(pfn, attr, sz, hmenum) \ argument 256 (TTE_PFN_INTLO(pfn) | TTE_REF_INT | MAKE_TTEATTR_INTLO(attr)) 331 #define KPM_TTE_VCACHED(tte64, pfn, tte_sz) \ argument [all …]
|
/titanic_44/usr/src/uts/sun4/vm/ |
H A D | vm_dep.h | 141 #define MEM_NODE_ITERATOR_INIT(pfn, mnode, szc, it) \ argument 142 (pfn) = plat_mem_node_iterator_init((pfn), (mnode), (szc), (it), 1) 153 #define MEM_NODE_ITERATOR_INIT(pfn, mnode, szc, it) argument 233 #define PFN_2_COLOR(pfn, szc, it) \ argument 235 page_pfn_2_color_cpu(pfn, szc, it) : \ 236 ((pfn & (hw_page_array[0].hp_colors - 1)) >> \ 253 #define PAGE_NEXT_PFN_FOR_COLOR(pfn, szc, color, ceq_mask, color_mask, it) \ argument 258 pfn_t spfn = pfn >> pfn_shift; \ 262 pfn += stride << pfn_shift; \ 264 pfn = (spfn & ~(pfn_t)(ceq_mask)) | (color); \ [all …]
|
/titanic_44/usr/src/uts/common/os/ |
H A D | mem_cage.c | 704 pfn_t pfn = PFN_INVALID; in kcage_get_pfn() local 707 return (pfn); in kcage_get_pfn() 713 pfn = --lp->curr; in kcage_get_pfn() 718 pfn = lp->curr++; in kcage_get_pfn() 730 return (pfn); in kcage_get_pfn() 762 static pfn_t pfn; in kcage_walk_cage() local 768 pfn = PFN_INVALID; in kcage_walk_cage() 771 if (pfn == PFN_INVALID) { in kcage_walk_cage() 783 pfn = lp->curr; in kcage_walk_cage() 792 pfn = lp->base; in kcage_walk_cage() [all …]
|
/titanic_44/usr/src/uts/sun4/io/px/ |
H A D | px_dma.c | 365 #define TGT_PFN_INBETWEEN(pfn, bgn, end) ((pfn >= bgn) && (pfn <= end)) argument 483 px_iopfn_t pfn = page_pptonum(pplist[i]); in px_dma_pgpfn() local 484 PX_SET_MP_PFN1(mp, i, pfn); in px_dma_pgpfn() 485 DBG(DBG_DMA_MAP|DBG_CONT, dip, "%x ", pfn); in px_dma_pgpfn() 495 px_iopfn_t pfn = page_pptonum(pp); in px_dma_pgpfn() local 496 PX_SET_MP_PFN1(mp, i, pfn); in px_dma_pgpfn() 497 DBG(DBG_DMA_MAP|DBG_CONT, dip, "%x ", pfn); in px_dma_pgpfn() 526 px_iopfn_t pfn = hat_getpfnum(hat_p, vaddr); in px_dma_vapfn() local 527 if (pfn == PFN_INVALID) in px_dma_vapfn() 529 PX_SET_MP_PFN1(mp, i, pfn); in px_dma_vapfn() [all …]
|
/titanic_44/usr/src/uts/sun4u/os/ |
H A D | mach_ddi_impl.c | 340 pf_unset_dmacapable(pfn_t pfn) in pf_unset_dmacapable() argument 345 if (pfn <= upa_dma_pfn_array[i].hipfn && in pf_unset_dmacapable() 346 pfn >= upa_dma_pfn_array[i].lopfn) { in pf_unset_dmacapable() 362 pf_is_dmacapable(pfn_t pfn) in pf_is_dmacapable() argument 367 if (pf_is_memory(pfn)) in pf_is_dmacapable() 371 if (pfn <= upa_dma_pfn_array[j].hipfn && in pf_is_dmacapable() 372 pfn >= upa_dma_pfn_array[j].lopfn) in pf_is_dmacapable()
|
/titanic_44/usr/src/uts/sun4v/promif/ |
H A D | promif_emul.c | 240 pfn_t pfn; in unmap_prom_mappings() local 281 pfn = sfmmu_vatopfn((caddr_t)vaddr, KHATID, &tte); in unmap_prom_mappings() 283 if (pfn == PFN_INVALID) { in unmap_prom_mappings() 286 pfn = TTE_TO_PFN((caddr_t)COMBINE( in unmap_prom_mappings() 290 vaddr, pfn); in unmap_prom_mappings() 301 PMFREE_DEBUG("unmap vaddr=0x%lx pfn=0x%lx", vaddr, pfn); in unmap_prom_mappings() 306 if (pf_is_memory(pfn)) { in unmap_prom_mappings() 307 pp = page_numtopp_nolock(pfn); in unmap_prom_mappings() 313 ASSERT(page_find(&promvp, pfn)); in unmap_prom_mappings() 322 rv = memlist_add_span(pfn << PAGESHIFT, in unmap_prom_mappings()
|
/titanic_44/usr/src/uts/sun4u/sys/pci/ |
H A D | pci_dma.h | 184 #define PCI_DMA_BYPASS_PREFIX(mp, pfn) \ argument 186 (pf_is_memory(pfn) ? 0 : COMMON_IOMMU_BYPASS_NONCACHE) : 0) 187 #define PCI_DMA_BADPTP(pfn, attrp) \ argument 188 ((IOMMU_PTOB(pfn) < attrp->dma_attr_addr_lo) || \ 189 (IOMMU_PTOB(pfn) > attrp->dma_attr_addr_hi)) 277 #define PCI_SET_MP_PFN(mp, page_no, pfn) { \ argument 280 (mp)->dmai_pfnlst = (void *)(pfn); \ 282 ((iopfn_t *)(mp)->dmai_pfnlst)[page_no] = (iopfn_t)(pfn); \ 284 #define PCI_SET_MP_PFN1(mp, page_no, pfn) { \ argument 285 ((iopfn_t *)(mp)->dmai_pfnlst)[page_no] = (pfn); \
|
/titanic_44/usr/src/uts/sun4u/io/ |
H A D | iommu.c | 396 kmem_free(walk->pfn, sizeof (pfn_t) * (npages + 1)); in iommu_remove_mappings() 419 pfn_t pfn; in iommu_create_vaddr_mappings() local 469 pfnp = iomemp->pfn = kmem_zalloc(sizeof (*pfnp) * (npages + 1), in iommu_create_vaddr_mappings() 490 pfn = hat_getpfnum(as->a_hat, (caddr_t)addr); in iommu_create_vaddr_mappings() 491 ASSERT(pfn != PFN_INVALID); in iommu_create_vaddr_mappings() 493 if (!pf_is_memory(pfn)) { in iommu_create_vaddr_mappings() 504 if (IS_INTRA_SBUS(softsp, pfn)) { in iommu_create_vaddr_mappings() 512 pfn, iotte_flag)); in iommu_create_vaddr_mappings() 514 if (pf_is_dmacapable(pfn) == 1) { in iommu_create_vaddr_mappings() 519 pfn, iotte_flag)); in iommu_create_vaddr_mappings() [all …]
|
/titanic_44/usr/src/uts/sun4u/io/pci/ |
H A D | pci_dma.c | 528 #define TGT_PFN_INBETWEEN(pfn, bgn, end) ((pfn >= bgn) && (pfn <= end)) argument 663 iopfn_t pfn = page_pptonum(pplist[i]); in pci_dma_pgpfn() local 665 PCI_SET_MP_PFN1(mp, i, pfn); in pci_dma_pgpfn() 666 DEBUG1(DBG_DMA_MAP|DBG_CONT, dip, "%x ", pfn); in pci_dma_pgpfn() 676 iopfn_t pfn = page_pptonum(pp); in pci_dma_pgpfn() local 678 PCI_SET_MP_PFN1(mp, i, pfn); in pci_dma_pgpfn() 679 DEBUG1(DBG_DMA_MAP|DBG_CONT, dip, "%x ", pfn); in pci_dma_pgpfn() 717 pfn_t pfn; in pci_dma_vapfn() local 726 IOMMU_PAGE_SIZE, flags, mp, &pfn, in pci_dma_vapfn() 729 if (pfn == PFN_INVALID && ret == ENOMEM) { in pci_dma_vapfn() [all …]
|
/titanic_44/usr/src/uts/sun4v/os/ |
H A D | mpo.c | 997 plat_pfn_to_mem_node(pfn_t pfn) in plat_pfn_to_mem_node() argument 1015 if (pfn >= mb->base_pfn && pfn <= mb->end_pfn) { in plat_pfn_to_mem_node() 1017 mnode = (((pfn + ra_to_pa_pfn) & home_mask_pfn) >> in plat_pfn_to_mem_node() 1026 panic("plat_pfn_to_mem_node() failed to find mblock: pfn=%lx\n", pfn); in plat_pfn_to_mem_node() 1027 return (pfn); in plat_pfn_to_mem_node() 1038 plat_rapfn_to_papfn(pfn_t pfn) in plat_rapfn_to_papfn() argument 1046 return (pfn + base_ra_to_pa_pfn); in plat_rapfn_to_papfn() 1054 if (pfn <= mb->end_pfn && pfn >= mb->base_pfn) { in plat_rapfn_to_papfn() 1057 return (pfn + ra_to_pa_pfn); in plat_rapfn_to_papfn() 1061 panic("plat_rapfn_to_papfn() failed to find mblock: pfn=%lx\n", pfn); in plat_rapfn_to_papfn() [all …]
|
/titanic_44/usr/src/uts/i86pc/os/ |
H A D | hold_page.c | 34 plat_hold_page(pfn_t pfn, int lock, page_t **pp_ret) in plat_hold_page() argument 36 page_t *pp = page_numtopp_nolock(pfn); in plat_hold_page() 59 if (mfn_list[pfn] == MFN_INVALID) { in plat_hold_page()
|