iommu_t
iommu_t *iommu_p = pci_p->pci_iommu_p;
iommu_t *iommu_p = pci_p->pci_iommu_p;
iommu_t *iommu_p = pci_p->pci_iommu_p;
pci_dvma_unmap(iommu_t *iommu_p, ddi_dma_impl_t *mp)
iommu_t *iommu_p = pci_p->pci_iommu_p;
pci_dvma_debug_init(iommu_t *iommu_p)
pci_dvma_debug_fini(iommu_t *iommu_p)
pci_dvma_alloc_debug(iommu_t *iommu_p, char *address, uint_t len,
pci_dvma_free_debug(iommu_t *iommu_p, char *address, uint_t len,
pci_vmem_do_free(iommu_t *iommu_p, void *base_addr, size_t npages,
pci_dma_lmts2hdl(dev_info_t *dip, dev_info_t *rdip, iommu_t *iommu_p,
iommu_t *iommu_p = pci_p->pci_iommu_p;
pci_dvma_map_fast(iommu_t *iommu_p, ddi_dma_impl_t *mp)
pci_dvma_map(ddi_dma_impl_t *mp, ddi_dma_req_t *dmareq, iommu_t *iommu_p)
iommu_t *iommu_p = pci_p->pci_iommu_p;
iommu_t *iommu_p = pci_p->pci_iommu_p;
iommu_t *iommu_p = pci_p->pci_iommu_p;
iommu_t *iommu_p = pci_p->pci_iommu_p;
kmem_free(iommu_p, sizeof (iommu_t));
iommu_configure(iommu_t *iommu_p)
iommu_map_pages(iommu_t *iommu_p, ddi_dma_impl_t *mp,
iommu_map_window(iommu_t *iommu_p, ddi_dma_impl_t *mp, window_t win_no)
iommu_unmap_pages(iommu_t *iommu_p, dvma_addr_t dvma_pg, uint_t npages)
iommu_remap_pages(iommu_t *iommu_p, ddi_dma_impl_t *mp, dvma_addr_t dvma_pg,
iommu_unmap_window(iommu_t *iommu_p, ddi_dma_impl_t *mp)
static void iommu_tlb_flushall(iommu_t *iommu_p);
iommu_tlb_flushall(iommu_t *iommu_p)
static void iommu_preserve_tsb(iommu_t *iommu_p);
iommu_preserve_tsb(iommu_t *iommu_p)
iommu_t *iommu_p;
iommu_p = (iommu_t *)kmem_zalloc(sizeof (iommu_t), KM_SLEEP);
iommu_t *iommu_p = pci_p->pci_iommu_p;
iommu_t *iommu_p = pci_p->pci_iommu_p;
pci_iommu_get_dvma_context(iommu_t *iommu_p, dvma_addr_t dvma_pg_index)
pci_iommu_free_dvma_context(iommu_t *iommu_p, dvma_context_t ctx)
pci_iommu_config(iommu_t *iommu_p, uint64_t iommu_ctl, uint64_t cfgpa)
pci_iommu_setup(iommu_t *iommu_p)
pci_iommu_teardown(iommu_t *iommu_p)
pci_vmem_free(iommu_t *iommu_p, ddi_dma_impl_t *mp, void *dvma_addr,
pci_iommu_get_dvma_context(iommu_t *iommu_p, dvma_addr_t dvma_pg_index)
pci_iommu_free_dvma_context(iommu_t *iommu_p, dvma_context_t ctx)
pci_iommu_setup(iommu_t *iommu_p)
pci_iommu_teardown(iommu_t *iommu_p)
iommu_t *iommu_p = pci_p->pci_iommu_p;
iommu_t *iommu_p = pci_p->pci_iommu_p;
iommu_t *iommu_p = pci_p->pci_iommu_p;
iommu_ctx_free(iommu_t *iommu_p)
iommu_tlb_scrub(iommu_t *iommu_p, int scrub)
pci_iommu_disp(iommu_t *iommu_p, uint64_t *ctl_p)
pci_iommu_config(iommu_t *iommu_p, uint64_t iommu_ctl, uint64_t cfgpa)
tm_vmem_free(ddi_dma_impl_t *mp, iommu_t *iommu_p, dvma_addr_t dvma_pg,
pci_vmem_free(iommu_t *iommu_p, ddi_dma_impl_t *mp, void *dvma_addr,
static void iommu_ctx_free(iommu_t *);
static int iommu_tlb_scrub(iommu_t *, int);
static void tm_vmem_free(ddi_dma_impl_t *mp, iommu_t *iommu_p,
extern void pci_vmem_free(iommu_t *iommu_p, ddi_dma_impl_t *mp,
extern uintptr_t pci_iommu_setup(iommu_t *iommu_p);
extern void pci_iommu_teardown(iommu_t *iommu_p);
extern void pci_iommu_config(iommu_t *iommu_p, uint64_t iommu_ctl,
extern dvma_context_t pci_iommu_get_dvma_context(iommu_t *iommu_p,
extern void pci_iommu_free_dvma_context(iommu_t *iommu_p, dvma_context_t ctx);
iommu_t *iommu_p, ddi_dma_req_t *dmareq);
extern int pci_dvma_map_fast(iommu_t *iommu_p, ddi_dma_impl_t *mp);
iommu_t *iommu_p);
extern void pci_dvma_unmap(iommu_t *iommu_p, ddi_dma_impl_t *mp);
extern void pci_vmem_do_free(iommu_t *iommu_p, void *base_addr, size_t npages,
extern void pci_dvma_debug_fini(iommu_t *iommu_p);
extern void pci_dvma_alloc_debug(iommu_t *iommu_p, char *address, uint_t len,
extern void pci_dvma_free_debug(iommu_t *iommu_p, char *address, uint_t len,
extern void iommu_map_pages(iommu_t *iommu_p, ddi_dma_impl_t *mp,
extern void iommu_unmap_pages(iommu_t *iommu_p, dvma_addr_t dvma_pg,
extern void iommu_remap_pages(iommu_t *iommu_p, ddi_dma_impl_t *mp,
extern void iommu_map_window(iommu_t *iommu_p,
extern void iommu_unmap_window(iommu_t *iommu_p, ddi_dma_impl_t *mp);
extern void iommu_configure(iommu_t *iommu_p);
iommu_t *pci_common_iommu_p;
iommu_t *pci_iommu_p; /* IOMMU block */