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)
15. Drivers for Character Devices
18. SCSI Host Bus Adapter Drivers
19. Drivers for Network Devices
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
The second part of the book provides design information that is specific to the type of driver:
Chapter 15, Drivers for Character Devices describes drivers for character-oriented devices.
Chapter 16, Drivers for Block Devices describes drivers for a block-oriented devices.
Chapter 17, SCSI Target Drivers outlines the Sun Common SCSI Architecture (SCSA) and the requirements for SCSI target drivers.
Chapter 18, SCSI Host Bus Adapter Drivers explains how to apply SCSA to SCSI Host Bus Adapter (HBA) drivers.
Chapter 19, Drivers for Network Devices describes the Generic LAN driver (GLD). The GLDv3 framework is a function calls-based interface of MAC plugins and MAC driver service routines and structures.
Chapter 20, USB Drivers describes how to write a client USB device driver using the USBA 2.0 framework.