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)
  9.  Power Management
  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
  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