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
Expand TOC  5.  Driver Autoconfiguration
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
Collapse TOC  10.  Drivers for Character Devices
Character Driver Structure Overview
Character Device Autoconfiguration
Device Access (Character Drivers)
open() Entry Point (Character Drivers)
close() Entry Point (Character Drivers)
I/O Request Handling
User Addresses
Vectored I/O
Synchronous Versus Asynchronous I/O
Data Transfer Methods
Mapping Device Memory
segmap() Entry Point
devmap() Entry Point
Multiplexing I/O on File Descriptors
Miscellaneous I/O Control
ioctl() Entry Point (Character Drivers)
I/O Control Support for 64-Bit Capable Device Drivers
Handling copyout() Overflow
32-bit and 64-bit Data Structure Macros
How Do the Structure Macros Work?
When to Use Structure Macros
Declaring and Initializing Structure Handles
Operations on Structure Handles
Other Operations
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