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