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

Reply via email to