Skip Navigation Links | |
Exit Print View | |
Writing Device Drivers Oracle Solaris 11.1 Information Library |
Part I Designing Device Drivers for the Oracle Solaris Platform
1. Overview of Oracle Solaris Device Drivers
2. Oracle Solaris Kernel and Device Tree
5. Managing Events and Queueing Tasks
7. Device Access: Programmed I/O
10. Mapping Device and Kernel Memory
13. Hardening Oracle Solaris Drivers
14. Layered Driver Interface (LDI)
Part II Designing Specific Kinds of Device Drivers
15. Drivers for Character Devices
18. SCSI Host Bus Adapter Drivers
19. Drivers for Network Devices
Part III Building a Device Driver
22. Compiling, Loading, Packaging, and Testing Drivers
23. Debugging, Testing, and Tuning Device Drivers
24. Recommended Coding Practices
B. Summary of Oracle Solaris DDI/DKI Services
Device Information Tree Node (dev_info_t) Functions
Device Software State Functions
Memory Allocation and Deallocation Functions
Kernel Thread Control and Synchronization Functions
Task Queue Management Functions
Direct Memory Access (DMA) Functions
User Process Information Functions
User Application Kernel and Device Access Functions
Kernel Logging and Printing Functions
Resource Map Management Functions
C. Making a Device Driver 64-Bit Ready
The buffered I/O functions are:
Perform physical I/O
Perform asynchronous physical I/O
Prevent cancellation of an asynchronous I/O request
Limit the physio() buffer size
Suspend processes pending completion of block I/O
Release the buffer after buffer I/O transfer and notify blocked threads
Indicate the error in a buffer header
Return an I/O error
Allocate virtual address space
Deallocate virtual address space
Use a single-direction elevator seek strategy to sort for buffers
Get a raw buffer header
Free a raw buffer header
Return the size of a buffer structure
Initialize a buffer structure
Uninitialize a buffer structure
Reuse a private buffer header after I/O is complete
Clone another buffer
Check whether a buffer is modified
Erase the contents of a buffer