Skip Navigation Links | |
Exit Print View | |
Writing Device Drivers Oracle Solaris 11.1 Information Library |
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
The first part of this manual provides general information for developing device drivers on the Oracle Solaris platform. This part includes the following chapters:
Chapter 1, Overview of Oracle Solaris Device Drivers provides an introduction to device drivers and associated entry points on the Oracle Solaris platform. The entry points for each device driver type are presented in tables.
Chapter 2, Oracle Solaris Kernel and Device Tree provides an overview of the Oracle Solaris kernel with an explanation of how devices are represented as nodes in a device tree.
Chapter 3, Multithreading describes the aspects of the Oracle Solaris multithreaded kernel that are relevant for device driver developers.
Chapter 4, Properties describes the set of interfaces for using device properties.
Chapter 5, Managing Events and Queueing Tasks describes how device drivers log events and how to use task queues to perform a task at a later time.
Chapter 6, Driver Autoconfiguration explains the support that a driver must provide for autoconfiguration.
Chapter 7, Device Access: Programmed I/O describes the interfaces and methodologies for drivers to read or write to device memory.
Chapter 8, Interrupt Handlers describes the mechanisms for handling interrupts. These mechanisms include allocating, registering, servicing, and removing interrupts.
Chapter 9, Direct Memory Access (DMA) describes direct memory access (DMA) and the DMA interfaces.
Chapter 10, Mapping Device and Kernel Memory describes interfaces for managing device and kernel memory.
Chapter 11, Device Context Management describes the set of interfaces that enable device drivers to manage user access to devices.
Chapter 12, Power Management explains the interfaces for the Power Management feature, a framework for managing power consumption.
Chapter 13, Hardening Oracle Solaris Drivers describes how to integrate fault management capabilities into I/O device drivers, how to incorporate defensive programming practices, and how to use the driver hardening test harness.
Chapter 14, Layered Driver Interface (LDI) describes the LDI, which enables kernel modules to access other devices in the system.