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
  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
Driver Code Layout Structure
Header Files
.c Files
driver.conf Files
Preparing for Driver Installation
Compiling and Linking the Driver
Module Dependencies
Writing a Hardware Configuration File
Installing, Updating, and Removing Drivers
Copying the Driver to a Module Directory
Installing Drivers with add_drv()
Updating Driver Information
Removing the Driver
Loading and Unloading Drivers
Driver Packaging
Package Postinstall
Package Preremove
Testing Drivers
Configuration Testing
Functionality Testing
Error Handling
Testing Loading and Unloading
Stress, Performance, and Interoperability Testing
DDI/DKI Compliance Testing
Installation and Packaging Testing
Testing Specific Types of 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