Lines Matching refs:iodom

131 	maxaddr = MIN(domain->iodom.end, BUS_SPACE_MAXADDR);  in device_tag_init()
184 if ((domain->iodom.flags & IOMMU_DOMAIN_IDMAP) != 0 && in ctx_id_entry_init()
262 domain->iodom.iommu->unit, bus, slot, func, in domain_init_rmrr()
274 domain->iodom.iommu->unit, start, end); in domain_init_rmrr()
294 IOMMU_LOCK(domain->iodom.iommu); in domain_init_rmrr()
296 domain->iodom.flags |= IOMMU_DOMAIN_RMRR; in domain_init_rmrr()
297 IOMMU_UNLOCK(domain->iodom.iommu); in domain_init_rmrr()
305 domain->iodom.iommu->unit, start, end, in domain_init_rmrr()
330 struct iommu_domain *iodom; in dmar_reserve_pci_regions() local
336 iodom = DOM2IODOM(domain); in dmar_reserve_pci_regions()
345 error = iommu_gas_reserve_region_extend(iodom, base, limit + 1); in dmar_reserve_pci_regions()
367 error = iommu_gas_reserve_region_extend(iodom, base, in dmar_reserve_pci_regions()
382 struct iommu_domain *iodom; in dmar_domain_alloc() local
391 iodom = DOM2IODOM(domain); in dmar_domain_alloc()
395 iommu_domain_init(unit, iodom, &dmar_domain_map_ops); in dmar_domain_alloc()
405 domain->iodom.end = id_mapped ? ptoa(Maxmem) : BUS_SPACE_MAXADDR; in dmar_domain_alloc()
406 mgaw = dmar_maxaddr2mgaw(dmar, domain->iodom.end, !id_mapped); in dmar_domain_alloc()
412 domain->iodom.end = 1ULL << (domain->agaw - 1); in dmar_domain_alloc()
419 domain->iodom.end); in dmar_domain_alloc()
421 domain->iodom.flags |= IOMMU_DOMAIN_IDMAP; in dmar_domain_alloc()
427 error = iommu_gas_reserve_region(iodom, 0xfee00000, in dmar_domain_alloc()
428 0xfeefffff + 1, &iodom->msi_entry); in dmar_domain_alloc()
459 IOMMU_ASSERT_LOCKED(domain->iodom.iommu); in dmar_ctx_link()
474 IOMMU_ASSERT_LOCKED(domain->iodom.iommu); in dmar_ctx_unlink()
488 struct iommu_domain *iodom; in dmar_domain_destroy() local
491 iodom = DOM2IODOM(domain); in dmar_domain_destroy()
493 KASSERT(TAILQ_EMPTY(&domain->iodom.unload_entries), in dmar_domain_destroy()
501 if ((domain->iodom.flags & IOMMU_DOMAIN_GAS_INITED) != 0) { in dmar_domain_destroy()
503 iommu_gas_fini_domain(iodom); in dmar_domain_destroy()
506 if ((domain->iodom.flags & IOMMU_DOMAIN_PGTBL_INITED) != 0) { in dmar_domain_destroy()
511 iommu_domain_fini(iodom); in dmar_domain_destroy()
695 KASSERT(old_domain->iodom.iommu == domain->iodom.iommu, in dmar_move_ctx_to_domain()
697 domain->domain, old_domain->iodom.iommu->unit, in dmar_move_ctx_to_domain()
698 domain->iodom.iommu->unit)); in dmar_move_ctx_to_domain()
704 ctx->context.domain = &domain->iodom; in dmar_move_ctx_to_domain()
712 domain->domain, (domain->iodom.flags & IOMMU_DOMAIN_IDMAP) != 0 ? in dmar_move_ctx_to_domain()
737 KASSERT((domain->iodom.flags & IOMMU_DOMAIN_RMRR) == 0, in dmar_unref_domain_locked()
744 &domain->iodom.unload_task); in dmar_unref_domain_locked()
912 iommu_domain_unload(struct iommu_domain *iodom, in iommu_domain_unload() argument
920 domain = IODOM2DOM(iodom); in iommu_domain_unload()
926 error = iodom->ops->unmap(iodom, entry->start, entry->end - in iommu_domain_unload()