JavaScript is required to for searching.
Skip Navigation Links
Exit Print View
Writing Device Drivers
search filter icon
search icon

Document Information


Part I Designing Device Drivers for the Solaris Platform

1.  Overview of Solaris Device Drivers

2.  Solaris Kernel and Device Tree

3.  Multithreading

4.  Properties

5.  Managing Events and Queueing Tasks

6.  Driver Autoconfiguration

7.  Device Access: Programmed I/O

8.  Interrupt Handlers

9.  Direct Memory Access (DMA)

10.  Mapping Device and Kernel Memory

11.  Device Context Management

12.  Power Management

13.  Hardening Solaris Drivers

14.  Layered Driver Interface (LDI)

Part II Designing Specific Kinds of Device Drivers

15.  Drivers for Character Devices

16.  Drivers for Block Devices

17.  SCSI Target Drivers

18.  SCSI Host Bus Adapter Drivers

19.  Drivers for Network Devices

20.  USB Drivers

Part III Building a Device Driver

21.  Compiling, Loading, Packaging, and Testing Drivers

22.  Debugging, Testing, and Tuning Device Drivers

23.  Recommended Coding Practices

Part IV Appendixes

A.  Hardware Overview

B.  Summary of Solaris DDI/DKI Services

C.  Making a Device Driver 64-Bit Ready

D.  Console Frame Buffer Drivers


Numbers and Symbols

























cache, description of, Cache
callback functions
description of, Callback Functions
example of, DMA Callback Example
cb_ops structure, description of, cb_ops Structure
cc command, Compiling and Linking the Driver
cfgadm_usb command, Multiple-Configuration Devices
character device driver
aphysio() function, DMA Transfers (Asynchronous)
autoconfiguration, Character Device Autoconfiguration
cb_ops structure, cb_ops Structure
close() entry point, close() Entry Point (Character Drivers)
data transfers, I/O Request Handling
device polling, Multiplexing I/O on File Descriptors
entry points for, Overview of the Character Driver Structure
I/O control mechanism, Miscellaneous I/O Control
memory mapping, Mapping Device Memory
minphys() function, minphys() Entry Point
open() entry point, open() Entry Point (Character Drivers)
overview, Entry Points for Character Device Drivers
physio() function, DMA Transfers (Synchronous)
strategy() entry point, strategy() Entry Point
Hardware Checksum Offload
Transmit Data Path
Receive Data Path
cloning SCSI HBA driver, Transport Structure Cloning
close() entry point
block drivers, close() Entry Point (Block Drivers)
description of, close() Entry Point (Character Drivers)
cmn_err() function, Test the Layered Driver
debugging, Use cmn_err() to Log Driver Activity
description of, Returning Errors
example of, print() Entry Point (Block Drivers)
compatible property, description of, Binding a Driver to a Device
compiling drivers, Compiling and Linking the Driver
condition variable functions, Kernel Thread Control and Synchronization Functions
cv_broadcast(), Signaling the Condition
cv_destroy(), Initializing Condition Variables
cv_init(), Initializing Condition Variables
cv_timedwait(), cv_wait() and cv_timedwait() Functions
cv_timedwait_sig(), cv_timedwait_sig() Function
cv_wait(), Waiting for the Condition
cv_wait_sig(), cv_wait_sig() Function
condition variables
and mutex locks, Condition Variables in Thread Synchronization
routines, Initializing Condition Variables
.conf files, See hardware configuration files
configuration, testing device drivers, Testing Drivers
configuration descriptor clouds, Hot Reinsertion
configuration entry points
attach() function, attach() Entry Point
detach() function, detach() Entry Point
getinfo() function, getinfo() Entry Point
configuration files, hardware, See hardware configuration files
console frame buffer drivers, Console Frame Buffer Drivers
debugging, Developing, Testing, and Debugging Console Frame Buffer Drivers
kernel terminal emulator, Solaris Consoles and the Kernel Terminal Emulator
polled I/O interfaces
Polled I/O Interfaces
Implementing Polled I/O in Console Frame Buffer Drivers
standalone mode
Polled I/O Interfaces
Implementing Polled I/O in Console Frame Buffer Drivers
video mode change callback interface
Video Mode Change Callback Interface
Frame Buffer Specific Configuration Module
visual I/O interfaces, Console Visual I/O Interfaces
context management, See device context management
context of device driver, Driver Context
cookies, DMA, DMA Model
copying data
copyin() function, User Addresses
copyout() function, User Addresses
CPR (CheckPoint and Resume), System Power Management
crash command, Postmortem Debugging
crash dumps, saving, Capture System Crash Dumps
csi_arq_status structure, changes to, csi_arq_status Structure Changes
cv_timedwait() function, changes to, cv_timedwait() and cv_timedwait_sig() Argument Changes
cv_timedwait_sig() function, changes to, cv_timedwait() and cv_timedwait_sig() Argument Changes