Sun Microsystems, Inc.
spacerspacer
spacer www.sun.com docs.sun.com |
spacer
black dot
 
 
   
 

Writing Device Drivers

 
 
 
Copyright
  Preface
  1.  Solaris Kernel and Device Tree
  2.  Overview of Solaris Device Drivers
  3.  Multithreading
  4.  Properties and Events
  5.  Driver Autoconfiguration
  6.  Device Access -- Programmed I/O
  7.  Interrupt Handlers
  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
  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