Christian Kaiser wrote:
> Hi all,
>
> I am currently porting a driver from Linux to Solaris.
>
> The Linux driver uses amongst others the following functions:
>
> virt_to_phys()
> virt_to_bus()
> phys_to_virt()
> bus_to_virt()
>
> As you can see, these functions translate virtual into physical or bus
> addresses and vice versa.
> Is there something similar available on Solaris? I am currently
> developing on SXCE b103.
>
> Christian
>
>
You need to look at ddi_dma_addr_bind_handle() and company. Solaris has
rich DMA facilities. In several ways the Solaris APIs are more complex,
but that is also because they properly support all the various
considerations -- such as dealing with device-specific limitations
(possibly involving the use of bounce buffers, etc.) as well as advanced
platform features (such as IOMMU facilities and advanced IO caching.)
-- Garrett
_______________________________________________
opensolaris-code mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/opensolaris-code