Lines Matching full:pte
116 iommu_pte_t *pte; in dmar_idmap_nextlvl() local
134 pte = iommu_map_pgtbl(tbl->pgtbl_obj, idx, IOMMU_PGF_WAITOK, &sf); in dmar_idmap_nextlvl()
139 pte[i].pte = (DMAR_PTE_ADDR_MASK & f) | in dmar_idmap_nextlvl()
149 pte[i].pte = (DMAR_PTE_ADDR_MASK & in dmar_idmap_nextlvl()
333 iommu_pte_t *pte, *ptep; in dmar_pgtbl_map_pte() local
341 pte = (iommu_pte_t *)sf_buf_kva(*sf); in dmar_pgtbl_map_pte()
347 pte = iommu_map_pgtbl(domain->pgtbl_obj, idx, flags, sf); in dmar_pgtbl_map_pte()
348 if (pte == NULL) { in dmar_pgtbl_map_pte()
353 * it and create a pte in the preceeding page level in dmar_pgtbl_map_pte()
365 * pte write and clean while the lock is in dmar_pgtbl_map_pte()
381 dmar_pte_store(&ptep->pte, DMAR_PTE_R | DMAR_PTE_W | in dmar_pgtbl_map_pte()
391 pte += pglvl_pgtbl_pte_off(domain->pglvl, base, lvl); in dmar_pgtbl_map_pte()
392 return (pte); in dmar_pgtbl_map_pte()
400 iommu_pte_t *pte; in dmar_map_buf_locked() local
451 pte = dmar_pgtbl_map_pte(domain, base, lvl, flags, &idx, &sf); in dmar_map_buf_locked()
452 if (pte == NULL) { in dmar_map_buf_locked()
454 ("failed waitable pte alloc %p", domain)); in dmar_map_buf_locked()
462 dmar_pte_store(&pte->pte, VM_PAGE_TO_PHYS(ma[pi]) | pflags | in dmar_map_buf_locked()
464 dmar_flush_pte_to_ram(domain->dmar, pte); in dmar_map_buf_locked()
517 ("invalid pte flags %jx", (uintmax_t)pflags)); in dmar_map_buf()
547 iommu_gaddr_t base, int lvl, int flags, iommu_pte_t *pte,
566 int flags, iommu_pte_t *pte, struct sf_buf **sf, in dmar_unmap_clear_pte() argument
571 dmar_pte_clear(&pte->pte); in dmar_unmap_clear_pte()
572 dmar_flush_pte_to_ram(domain->dmar, pte); in dmar_unmap_clear_pte()
597 iommu_pte_t *pte; in dmar_unmap_buf_locked() local
638 pte = dmar_pgtbl_map_pte(domain, base, lvl, flags, in dmar_unmap_buf_locked()
640 KASSERT(pte != NULL, in dmar_unmap_buf_locked()
643 if ((pte->pte & DMAR_PTE_SP) != 0 || in dmar_unmap_buf_locked()
646 flags, pte, &sf, entry, false); in dmar_unmap_buf_locked()