Sun Microsystems Logo
Products and Services
 
Support and Training
 
 

Writing Device Drivers
Copyright
Expand TOC  Preface
Expand TOC  1.  Solaris Kernel and Device Tree
Expand TOC  2.  Overview of Solaris Device Drivers
Expand TOC  3.  Multithreading
Expand TOC  4.  Properties and Events
Collapse TOC  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
Expand TOC  6.  Device Access -- Programmed I/O
Expand TOC  7.  Interrupt Handlers
Expand TOC  8.  Direct Memory Access (DMA)
Expand TOC  9.  Power Management
Expand TOC  10.  Drivers for Character Devices
Expand TOC  11.  Drivers for Block Devices
Expand TOC  12.  Mapping Device and Kernel Memory
Expand TOC  13.  Device Context Management
Expand TOC  14.  SCSI Target Drivers
Expand TOC  15.  SCSI Host Bus Adapter Drivers
Expand TOC  16.  Drivers for Network Devices
Expand TOC  17.  Compiling, Loading, Packaging, and Testing Drivers
Expand TOC  18.  Debugging
Expand TOC  19.  Recommended Coding Practices
Expand TOC  A.   Hardware Overview
Expand TOC  B.   Summary of Solaris 9 DDI/DKI Services
Expand TOC  C.   Making a Device Driver 64-Bit Ready
Expand TOC  Index