| /freebsd/sys/riscv/iommu/ |
| H A D | iommu_pmap.c | 283 _pmap_alloc_l3(struct riscv_iommu_pmap *pmap, vm_pindex_t ptepindex) in _pmap_alloc_l3() argument 303 m->pindex = ptepindex; in _pmap_alloc_l3() 310 if (ptepindex >= NUL2E + NUL1E) { in _pmap_alloc_l3() 315 ("%s: pindex %#lx in SV39 mode", __func__, ptepindex)); in _pmap_alloc_l3() 316 KASSERT(ptepindex < NUL2E + NUL1E + NUL0E, in _pmap_alloc_l3() 317 ("%s: pindex %#lx out of range", __func__, ptepindex)); in _pmap_alloc_l3() 319 l0index = ptepindex - (NUL2E + NUL1E); in _pmap_alloc_l3() 326 } else if (ptepindex >= NUL2E) { in _pmap_alloc_l3() 330 l1index = ptepindex - NUL2E; in _pmap_alloc_l3() 348 l1 = &l1[ptepindex & Ln_ADDR_MASK]; in _pmap_alloc_l3() [all …]
|
| /freebsd/sys/arm64/iommu/ |
| H A D | iommu_pmap.c | 86 static vm_page_t _pmap_alloc_l3(struct smmu_pmap *pmap, vm_pindex_t ptepindex); 435 _pmap_alloc_l3(struct smmu_pmap *pmap, vm_pindex_t ptepindex) in _pmap_alloc_l3() argument 451 m->pindex = ptepindex; in _pmap_alloc_l3() 468 if (ptepindex >= (NUL2E + NUL1E)) { in _pmap_alloc_l3() 472 l0index = ptepindex - (NUL2E + NUL1E); in _pmap_alloc_l3() 475 } else if (ptepindex >= NUL2E) { in _pmap_alloc_l3() 480 l1index = ptepindex - NUL2E; in _pmap_alloc_l3() 499 l1 = &l1[ptepindex & Ln_ADDR_MASK]; in _pmap_alloc_l3() 506 l1index = ptepindex >> IOMMU_Ln_ENTRIES_SHIFT; in _pmap_alloc_l3() 540 l2 = &l2[ptepindex & Ln_ADDR_MASK]; in _pmap_alloc_l3()
|
| /freebsd/sys/i386/i386/ |
| H A D | pmap.c | 343 static vm_page_t _pmap_allocpte(pmap_t pmap, u_int ptepindex, u_int flags); 2115 _pmap_allocpte(pmap_t pmap, u_int ptepindex, u_int flags) in _pmap_allocpte() argument 2138 m->pindex = ptepindex; in _pmap_allocpte() 2148 KASSERT((pmap->pm_pdir[ptepindex] & PG_V) == 0, in _pmap_allocpte() 2150 __func__, (uintmax_t)pmap->pm_pdir[ptepindex])); in _pmap_allocpte() 2151 pmap->pm_pdir[ptepindex] = in _pmap_allocpte() 2160 u_int ptepindex; in pmap_allocpte() local 2167 ptepindex = va >> PDRSHIFT; in pmap_allocpte() 2172 ptepa = pmap->pm_pdir[ptepindex]; in pmap_allocpte() 2179 (void)pmap_demote_pde(pmap, &pmap->pm_pdir[ptepindex], va); in pmap_allocpte() [all …]
|
| /freebsd/sys/riscv/riscv/ |
| H A D | pmap.c | 333 static vm_page_t _pmap_alloc_l3(pmap_t pmap, vm_pindex_t ptepindex, 1687 _pmap_alloc_l3(pmap_t pmap, vm_pindex_t ptepindex, struct rwlock **lockp) in _pmap_alloc_l3() argument 1716 m->pindex = ptepindex; in _pmap_alloc_l3() 1723 if (ptepindex >= NUL2E + NUL1E) { in _pmap_alloc_l3() 1728 ("%s: pindex %#lx in SV39 mode", __func__, ptepindex)); in _pmap_alloc_l3() 1729 KASSERT(ptepindex < NUL2E + NUL1E + NUL0E, in _pmap_alloc_l3() 1730 ("%s: pindex %#lx out of range", __func__, ptepindex)); in _pmap_alloc_l3() 1732 l0index = ptepindex - (NUL2E + NUL1E); in _pmap_alloc_l3() 1739 } else if (ptepindex >= NUL2E) { in _pmap_alloc_l3() 1743 l1index = ptepindex - NUL2E; in _pmap_alloc_l3() [all …]
|
| /freebsd/sys/powerpc/aim/ |
| H A D | mmu_radix.c | 598 static vm_page_t _pmap_allocpte(pmap_t pmap, vm_pindex_t ptepindex, struct rwlock **lockp); 3386 vm_pindex_t ptepindex; in mmu_radix_enter_quick_locked() local 3392 ptepindex = pmap_l3e_pindex(va); in mmu_radix_enter_quick_locked() 3393 if (mpte && (mpte->pindex == ptepindex)) { in mmu_radix_enter_quick_locked() 3417 mpte = _pmap_allocpte(pmap, ptepindex, NULL); in mmu_radix_enter_quick_locked() 4281 _pmap_allocpte(pmap_t pmap, vm_pindex_t ptepindex, struct rwlock **lockp) in _pmap_allocpte() argument 4303 m->pindex = ptepindex; in _pmap_allocpte() 4310 if (ptepindex >= (NUPDE + NUPDPE)) { in _pmap_allocpte() 4315 pml1index = ptepindex - (NUPDE + NUPDPE); in _pmap_allocpte() 4320 } else if (ptepindex >= NUPDE) { in _pmap_allocpte() [all …]
|
| /freebsd/sys/amd64/amd64/ |
| H A D | pmap.c | 1400 static vm_page_t pmap_allocpte_alloc(pmap_t pmap, vm_pindex_t ptepindex, 1402 static vm_page_t pmap_allocpte_nosleep(pmap_t pmap, vm_pindex_t ptepindex, 4579 pmap_allocpte_nosleep(pmap_t pmap, vm_pindex_t ptepindex, struct rwlock **lockp, in pmap_allocpte_nosleep() argument 4600 m = pmap_alloc_pt_page(pmap, ptepindex, in pmap_allocpte_nosleep() 4609 if (ptepindex >= NUPDE + NUPDPE + NUPML4E) { in pmap_allocpte_nosleep() 4626 } else if (ptepindex >= NUPDE + NUPDPE) { in pmap_allocpte_nosleep() 4655 } else if (ptepindex >= NUPDE) { in pmap_allocpte_nosleep() 4708 pmap_allocpte_alloc(pmap_t pmap, vm_pindex_t ptepindex, struct rwlock **lockp, in pmap_allocpte_alloc() argument 4713 m = pmap_allocpte_nosleep(pmap, ptepindex, lockp, va); in pmap_allocpte_alloc() 4767 vm_pindex_t ptepindex; in pmap_allocpte() local [all …]
|
| /freebsd/sys/arm64/arm64/ |
| H A D | pmap.c | 524 static vm_page_t _pmap_alloc_l3(pmap_t pmap, vm_pindex_t ptepindex, 2881 _pmap_alloc_l3(pmap_t pmap, vm_pindex_t ptepindex, struct rwlock **lockp) in _pmap_alloc_l3() argument 2904 m->pindex = ptepindex; in _pmap_alloc_l3() 2921 if (ptepindex >= (NUL2E + NUL1E)) { in _pmap_alloc_l3() 2925 l0index = ptepindex - (NUL2E + NUL1E); in _pmap_alloc_l3() 2942 } else if (ptepindex >= NUL2E) { in _pmap_alloc_l3() 2947 l1index = ptepindex - NUL2E; in _pmap_alloc_l3() 2966 l1 = &l1[ptepindex & Ln_ADDR_MASK]; in _pmap_alloc_l3() 2975 l1index = ptepindex >> Ln_ENTRIES_SHIFT; in _pmap_alloc_l3() 3010 l2 = &l2[ptepindex & Ln_ADDR_MASK]; in _pmap_alloc_l3() [all …]
|