| - 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
| |