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
Introduction to Target Drivers
Sun Common SCSI Architecture Overview
General Flow of Control
SCSA Functions
Hardware Configuration File
Declarations and Data Structures
scsi_device Structure
scsi_pkt Structure
Autoconfiguration for SCSI Target Drivers
probe() Entry Point (SCSI Target Drivers)
attach() Entry Point (SCSI Target Drivers)
detach() Entry Point (SCSI Target Drivers)
getinfo() Entry Point (SCSI Target Drivers)
Resource Allocation
scsi_init_pkt() Function
scsi_sync_pkt() Function
scsi_destroy_pkt() Function
scsi_alloc_consistent_buf() Function
scsi_free_consistent_buf() Function
Building and Transporting a Command
Building a Command
Setting Target Capabilities
Transporting a Command
Command Completion
Reuse of Packets
Auto-Request Sense Mode
Dump Handling
SCSI Options
  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