... h2. 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)|http://www.opensolaris.org/os/about/sun_contributor_agreement/] in place. Please do *not* use _Quiet Save_.
|
h3. CommunityOne Deep Dive
[Solaris Device Drivers|http://wikis.sun.com/download/attachments/13603630/Device_Drivers_and_Debugging.pdf] \[PDF\], Max Bruning. Three-hour deep dive session given at CommunityOne West 2009. Topics include kernel architecture, device registers, interrupt handling, DMA, ioctl handling, fault management, timers and threads, STREAMS, GLDv3, SCSA, USB, and debugging drivers, including using MDB.
|
... * [Boot into the 32-bit Kernel on a 64-bit Platform]
* [Enable the Deadman Feature to Avoid a Hard Hang]
h3. Hardening Solaris Device Drivers
[Chapter 13, "Hardening Solaris Drivers,"|Hardening] has been separated to give it more attention. All Solaris and OpenSolaris drivers must be hardened to a certain level. Documentation needs to be added on exactly what that minimum level is. Also, we should add information on how to harden specific types of drivers.
h3. Drivers for Network Devices (GLD)
The [GLD] chapter, "[Chapter 19, Drivers for Network Devices|GLD]," 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.
h3. GLDv3 Porting Guide
The [GLDv3 Porting Guide|GLDv3] describes how to port drivers to from GLDv2 architecture to GLDv3 architecture. This porting guide is out of date and needs a rewrite.
h3. Direct Memory Access (DMA)
The [DMA] chapter, "[Chapter 9, Direct Memory Access (DMA)|DMA]," has a comment from a community member that needs to be addressed.
Do you have ideas to help address [CR 6552987|http://bugs.opensolaris.org/bugdatabase/view_bug.do?bug_id=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|http://bugs.opensolaris.org/view_bug.do?bug_id=4630654] |