K 10 svn:author V 6 marcel K 8 svn:date V 27 2013-11-16T20:42:26.639267Z K 7 svn:log V 905 Add support to busdma/mi to host controllers that have or need I/O MMU support. Since all host controllers use the same I/O MMU implementation, have it implement the busdma I/F methods directly. For this to work, we need to be able to get from the device to the iommu_state structure. We do this by using the softc as an indirection. The device_get_softc() returns the softc of the host controller driver. By forcing the first field in that structure to point to the iommu state structure that goes with the device, we established the indirection. Implement iommu_xlate(). It does nothing anyway. Start some trivial bits in iommu_sync(), but not yet the important parts. The iommu_map() and iommu_unmap() methods are saved for last. The intend is to have the new methods work alongside the existing functions. This way isp(4), which uses busdma/mi, works alongside gem(4) which uses the old busdma code. END