Skip Navigation Links | |
Exit Print View | |
![]() |
Writing Device Drivers Oracle Solaris 10 1/13 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
Oracle Fault Management Architecture I/O Fault Services
What Is Predictive Self-Healing?
Diagnosis, Suspect Lists, and Fault Events
Message IDs and Dictionary Files
Declaring Fault Management Capabilities
Cleaning Up Fault Management Resources
Getting the Fault Management Capability Bit Mask
Fault Management Data and Status Structure
Standard Leaf Device Diagnosis
Defensive Programming Techniques for Oracle Solaris Device Drivers
Using Separate Device Driver Instances
Exclusive Use of DDI Access Handles
Corruption of Device Management and Control Data
Additional Programming Considerations
Threats From Top-Down Requests
Using Scripts to Automate the Test Process
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 Solaris DDI/DKI Services
C. Making a Device Driver 64-Bit Ready
Fault Management Architecture (FMA) I/O Fault Services enable driver developers to integrate fault management capabilities into I/O device drivers. The Oracle Solaris I/O fault services framework defines a set of interfaces that enable all drivers to coordinate and perform basic error handling tasks and activities. The Oracle Solaris FMA as a whole provides for error handling and fault diagnosis, in addition to response and recovery. FMA is a component of the Predictive Self-Healing strategy.
A driver is considered hardened when it uses the defensive programming practices described in this document in addition to the I/O fault services framework for error handling and diagnosis. The driver hardening test harness tests that the I/O fault services and defensive programming requirements have been correctly fulfilled.
This document contains the following sections:
Oracle Fault Management Architecture I/O Fault Services provides a reference for driver developers who want to integrate fault management capabilities into I/O device drivers.
Defensive Programming Techniques for Oracle Solaris Device Drivers provides general information about how to defensively write a Oracle Solaris device driver.
Driver Hardening Test Harness is a driver development tool that injects simulated hardware faults when the driver under development accesses its hardware.