Part I Designing Device Drivers for the Solaris Platform
1. Overview of Solaris Device Drivers
2. Solaris Kernel and Device Tree
5. Managing Events and Queueing Tasks
7. Device Access: Programmed I/O
10. Mapping Device and Kernel Memory
14. Layered Driver Interface (LDI)
Part II Designing Specific Kinds of Device Drivers
15. Drivers for Character Devices
18. SCSI Host Bus Adapter Drivers
19. Drivers for Network Devices
USB in the Solaris Environment
How USB Devices Appear to the System
USB Devices and the Solaris Device Tree
Devices With Multiple Interfaces
Checking Device Driver Bindings
Before the Client Driver Is Attached
Registering Drivers to Gain Device Access
Synchronous and Asynchronous Transfers and Callbacks
Device Configuration Facilities
Multiple-Configuration Devices
Modifying or Getting the Alternate Setting
Retrieving a String Descriptor
Getting Device, Interface, or Endpoint Status
Getting the Bus Address of a Device
Part III Building a Device Driver
21. Compiling, Loading, Packaging, and Testing Drivers
22. Debugging, Testing, and Tuning Device Drivers
23. Recommended Coding Practices
B. Summary of Solaris DDI/DKI Services
C. Making a Device Driver 64-Bit Ready