JavaScript is required to for searching.
Skip Navigation Links
Exit Print View
Writing Device Drivers     Oracle Solaris 11 Information Library
search filter icon
search icon

Document Information

Preface

Part I Designing Device Drivers for the Oracle Solaris Platform

1.  Overview of Oracle Solaris Device Drivers

2.  Oracle 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 Oracle 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

21.  SR-IOV Drivers

Part III Building a Device Driver

22.  Compiling, Loading, Packaging, and Testing Drivers

23.  Debugging, Testing, and Tuning Device Drivers

24.  Recommended Coding Practices

Part IV Appendixes

A.  Hardware Overview

B.  Summary of Oracle Solaris DDI/DKI Services

C.  Making a Device Driver 64-Bit Ready

D.  Console Frame Buffer Drivers

E.  pci.conf File

Index

Numbers and Symbols

A

B

C

D

E

F

G

H

I

K

L

M

N

O

P

Q

R

S

T

U

V

W

X

C

cache, description of, index iconCache
callback functions
description of, index iconCallback Functions
example of, index iconDMA Callback Example
cb_ops structure, description of, index iconcb_ops Structure
cc command, index iconCompiling and Linking the Driver
cfgadm_usb command, index iconMultiple-Configuration Devices
character device driver
aphysio() function, index iconDMA Transfers (Asynchronous)
autoconfiguration, index iconCharacter Device Autoconfiguration
cb_ops structure, index iconcb_ops Structure
close() entry point, index iconclose() Entry Point (Character Drivers)
data transfers, index iconI/O Request Handling
device polling, index iconMultiplexing I/O on File Descriptors
entry points for, index iconOverview of the Character Driver Structure
I/O control mechanism, index iconMiscellaneous I/O Control
memory mapping, index iconMapping Device Memory
minphys() function, index iconminphys() Entry Point
open() entry point, index iconopen() Entry Point (Character Drivers)
overview, index iconEntry Points for Character Device Drivers
physio() function, index iconDMA Transfers (Synchronous)
strategy() entry point, index iconstrategy() Entry Point
checksumming
index iconHardware Checksum Offload
index iconTransmit Data Path
index iconReceive Data Path
cloning SCSI HBA driver, index iconTransport Structure Cloning
close() entry point
block drivers, index iconclose() Entry Point (Block Drivers)
description of, index iconclose() Entry Point (Character Drivers)
cmn_err() function, index iconTest the Layered Driver
debugging, index iconUse cmn_err() to Log Driver Activity
description of, index iconReturning Errors
example of, index iconprint() Entry Point (Block Drivers)
compatible property, description of, index iconBinding a Driver to a Device
compiling drivers, index iconCompiling and Linking the Driver
condition variable functions, index iconKernel Thread Control and Synchronization Functions
cv_broadcast(), index iconSignaling the Condition
cv_destroy(), index iconInitializing Condition Variables
cv_init(), index iconInitializing Condition Variables
cv_timedwait(), index iconcv_wait() and cv_timedwait() Functions
cv_timedwait_sig(), index iconcv_timedwait_sig() Function
cv_wait(), index iconWaiting for the Condition
cv_wait_sig(), index iconcv_wait_sig() Function
condition variables
and mutex locks, index iconCondition Variables in Thread Synchronization
routines, index iconInitializing Condition Variables
.conf files, See hardware configuration files
configuration, testing device drivers, index iconTesting Drivers
configuration descriptor clouds, index iconHot Reinsertion
configuration entry points
attach() function, index iconattach() Entry Point
detach() function, index icondetach() Entry Point
getinfo() function, index icongetinfo() Entry Point
configuration files, hardware, See hardware configuration files
console frame buffer drivers, index iconConsole Frame Buffer Drivers
debugging, index iconDeveloping, Testing, and Debugging Console Frame Buffer Drivers
kernel terminal emulator, index iconOracle Solaris Consoles and the Kernel Terminal Emulator
polled I/O interfaces
index iconPolled I/O Interfaces
index iconImplementing Polled I/O in Console Frame Buffer Drivers
standalone mode
index iconPolled I/O Interfaces
index iconImplementing Polled I/O in Console Frame Buffer Drivers
video mode change callback interface
index iconVideo Mode Change Callback Interface
index iconVIS_DEVINIT
index iconFrame Buffer Specific Configuration Module
visual I/O interfaces, index iconConsole Visual I/O Interfaces
context management, See device context management
context of device driver, index iconDriver Context
cookies, DMA, index iconDMA Model
copying data
copyin() function, index iconUser Addresses
copyout() function, index iconUser Addresses
CPR (CheckPoint and Resume), index iconSystem Power Management
crash command, index iconPostmortem Debugging
crash dumps, saving, index iconCapture System Crash Dumps
csi_arq_status structure, changes to, index iconcsi_arq_status Structure Changes
cv_timedwait() function, changes to, index iconcv_timedwait() and cv_timedwait_sig() Argument Changes
cv_timedwait_sig() function, changes to, index iconcv_timedwait() and cv_timedwait_sig() Argument Changes