Lines Matching full:sf
117 struct sf_buf *sf; in dmar_idmap_nextlvl() local
134 pte = iommu_map_pgtbl(tbl->pgtbl_obj, idx, IOMMU_PGF_WAITOK, &sf); in dmar_idmap_nextlvl()
154 iommu_unmap_pgtbl(sf); in dmar_idmap_nextlvl()
329 int flags, vm_pindex_t *idxp, struct sf_buf **sf) in dmar_pgtbl_map_pte() argument
340 if (*sf != NULL && idx == *idxp) { in dmar_pgtbl_map_pte()
341 pte = (iommu_pte_t *)sf_buf_kva(*sf); in dmar_pgtbl_map_pte()
343 if (*sf != NULL) in dmar_pgtbl_map_pte()
344 iommu_unmap_pgtbl(*sf); in dmar_pgtbl_map_pte()
347 pte = iommu_map_pgtbl(domain->pgtbl_obj, idx, flags, sf); in dmar_pgtbl_map_pte()
401 struct sf_buf *sf; in dmar_map_buf_locked() local
413 for (sf = NULL, pi = 0; size > 0; base += pg_sz, size -= pg_sz, in dmar_map_buf_locked()
451 pte = dmar_pgtbl_map_pte(domain, base, lvl, flags, &idx, &sf); in dmar_map_buf_locked()
455 if (sf != NULL) in dmar_map_buf_locked()
456 iommu_unmap_pgtbl(sf); in dmar_map_buf_locked()
465 vm_page_wire(sf_buf_page(sf)); in dmar_map_buf_locked()
467 if (sf != NULL) in dmar_map_buf_locked()
468 iommu_unmap_pgtbl(sf); in dmar_map_buf_locked()
548 struct sf_buf **sf, struct iommu_map_entry *entry, bool free_fs);
554 struct sf_buf *sf; in dmar_free_pgtbl_pde() local
558 sf = NULL; in dmar_free_pgtbl_pde()
559 pde = dmar_pgtbl_map_pte(domain, base, lvl, flags, &idx, &sf); in dmar_free_pgtbl_pde()
560 dmar_unmap_clear_pte(domain, base, lvl, flags, pde, &sf, in dmar_free_pgtbl_pde()
566 int flags, iommu_pte_t *pte, struct sf_buf **sf, in dmar_unmap_clear_pte() argument
573 m = sf_buf_page(*sf); in dmar_unmap_clear_pte()
575 iommu_unmap_pgtbl(*sf); in dmar_unmap_clear_pte()
576 *sf = NULL; in dmar_unmap_clear_pte()
598 struct sf_buf *sf; in dmar_unmap_buf_locked() local
630 for (sf = NULL; size > 0; base += pg_sz, size -= pg_sz) { in dmar_unmap_buf_locked()
639 &idx, &sf); in dmar_unmap_buf_locked()
646 flags, pte, &sf, entry, false); in dmar_unmap_buf_locked()
654 if (sf != NULL) in dmar_unmap_buf_locked()
655 iommu_unmap_pgtbl(sf); in dmar_unmap_buf_locked()