| - Copyright
Preface
1. Solaris Kernel and Device Tree
2. Overview of Solaris Device Drivers
3. Multithreading
4. Properties and Events
5. Driver Autoconfiguration
- Driver Loading and Unloading
- Data Structures Required for Drivers
- modlinkage Structure
- modldrv Structure
- dev_ops Structure
- cb_ops Structure
- Loadable Driver Interfaces
- _init() Example
- _fini() Example
- _info() Example
- Device Configuration Concepts
- Device Instances and Instance Numbers
- Minor Nodes and Minor Numbers
- The probe() Entry Point
- The attach() Entry Point
- The detach() Entry Point
- The getinfo() Entry Point
- Using Device IDs
- Registering Device IDs
- Unregistering Device IDs
6. Device Access -- Programmed I/O
7. Interrupt Handlers
8. Direct Memory Access (DMA)
9. Power Management
10. Drivers for Character Devices
11. Drivers for Block Devices
12. Mapping Device and Kernel Memory
13. Device Context Management
14. SCSI Target Drivers
15. SCSI Host Bus Adapter Drivers
16. Drivers for Network Devices
17. Compiling, Loading, Packaging, and Testing Drivers
18. Debugging
19. Recommended Coding Practices
A. Hardware Overview
B. Summary of Solaris 9 DDI/DKI Services
C. Making a Device Driver 64-Bit Ready
Index
| |