| - 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)
- DMA Model
- Types of Device DMA
- Bus-Master DMA
- Third-party DMA
- First-party DMA
- Types of Host Platform DMA
- DMA Software Components: Handles, Windows, and Cookies
- DMA Operations
- Performing Bus-Master DMA Transfers
- Performing First-Party DMA Transfers
- Performing Third-Party DMA Transfers
- DMA Attributes
- Managing DMA Resources
- Object Locking
- Allocating a DMA Handle
- Allocating DMA Resources
- Determining Maximum Burst Sizes
- Allocating Private DMA Buffers
- Handling Resource Allocation Failures
- Programming the DMA Engine
- Freeing the DMA Resources
- Freeing the DMA Handle
- Canceling DMA Callbacks
- Synchronizing Memory Objects
- DMA Windows
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
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
| |