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
Collapse TOC  8.  Direct Memory Access (DMA)
DMA Model
Types of Device DMA
Bus-Master DMA
Third-party DMA
First-party DMA
Types of Host Platform DMA
DMA Software Components: Handles, Windows, and Cookies
DMA Operations
Performing Bus-Master DMA Transfers
Performing First-Party DMA Transfers
Performing Third-Party DMA Transfers
DMA Attributes
Managing DMA Resources
Object Locking
Allocating a DMA Handle
Allocating DMA Resources
Determining Maximum Burst Sizes
Allocating Private DMA Buffers
Handling Resource Allocation Failures
Programming the DMA Engine
Freeing the DMA Resources
Freeing the DMA Handle
Canceling DMA Callbacks
Synchronizing Memory Objects
DMA Windows
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