Writing Device Drivers for the Solaris OS
In this space you can help improve the Writing Device Drivers book. Please apply your expertise to make this book more understandable, more useful. Please clarify or add to the text, examples, or graphics.
I would appreciate your contributions on the wiki. Please be sure to note the Terms of Use of this site. Preferably, contributors should have a Sun Contributor Agreement (SCA)
in place. Please do not use Quiet Save.
Direct Memory Access (DMA)
The DMA chapter, "Chapter 9, Direct Memory Access (DMA)," has a comment from a community member that needs to be addressed.
Do you have ideas to help address CR 6552987
:
"I did have issues with handling of partial DMA transfers, which I don't feel was explained that well in WDD. I got better examples from source code for other drivers in the OpenSolaris tree. That deserves some more text, especially dealing with dma windows, the fact that you can't reiterate over the dma cookies (requiring you to stash them yourself), and the fact that you have to deal with partial dma windows."
Can you help add information about ddi_umem_iosetup(9F) to the DMA chapter? CR 4630654
Drivers for Network Devices (GLD)
The GLD chapter, "Chapter 19, Drivers for Network Devices," needs a rewrite. The very first sentence, "Solaris network drivers are STREAMS-based." is not accurate. Perhaps this documentation is satisfactory for Solaris 10, but it is way out of date for OpenSolaris.