| Skip Navigation Links | |
| Exit Print View | |
|
Writing Device Drivers Oracle Solaris 11 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
C. Making a Device Driver 64-Bit Ready
Periodic Health Checks
Compiling and Linking the Driver
Layered Driver Interface (LDI)
What Is the Kernel?
Kernel Interfaces
LDI Overview
Kernel Interfaces
User Interfaces
Receiving Asynchronous Device Event Notification
Device User Command Interfaces
LDI Overview
LDI Overview
User Interfaces
Print System Configuration Command Interfaces
Receiving Asynchronous Device Event Notification
Accessing Target Devices
Accessing Target Devices
Accessing Target Devices
Accessing Target Devices
Retrieving Target Device Information
Retrieving Target Device Information
Receiving Asynchronous Device Event Notification
Retrieving Target Device Information
Retrieving Target Device Information
Retrieving Target Device Information
Accessing Target Devices
Layered Identifiers – Kernel Device Consumers
Layered Identifiers – Kernel Device Consumers
Accessing Target Devices
Opening and Closing Target Devices
Opening and Closing Target Devices
Accessing Target Devices
Retrieving Target Device Property Values
Retrieving Target Device Property Values
Retrieving Target Device Property Values
Retrieving Target Device Property Values
Retrieving Target Device Property Values
Retrieving Target Device Property Values
Retrieving Target Device Property Values
Retrieving Target Device Property Values
Accessing Target Devices
Accessing Target Devices
Receiving Asynchronous Device Event Notification
Accessing Target Devices
Receiving Asynchronous Device Event Notification
Layered Driver Handles – Target Devices
Layered Identifiers – Kernel Device Consumers
Device Tree Components
Device Interrupts
Legacy Interrupts
ddi_dma_mem_alloc() Argument Changes
libdevinfo Library
User Interfaces
Compiling and Linking the Driver
General Conversion Steps
Diagnosis, Suspect Lists, and Fault Events
Module Functions
Compiling and Linking the Driver
Installing Drivers with add_drv
Writing a Hardware Configuration File
Loading and Unloading Test Modules
Locking Primitives
Kernel Thread Control and Synchronization Functions
Mutual-Exclusion Locks
Readers/Writer Locks
Choosing a Locking Scheme
Data Sharing in devmap()
Data Sharing in ioctl()
Large Segment (or Send) Offload
Building a Command