JavaScript is required to for searching.
Skip Navigation Links
Exit Print View
Writing Device Drivers     Oracle Solaris 10 1/13 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 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

T

tagged queuing, index iconSupport for Queuing
tape drivers, testing, index iconTesting Specific Types of Drivers
task queues, index iconQueueing Tasks
definition, index iconIntroduction to Task Queues
interfaces
index iconTask Queue Interfaces
index iconTask Queue Management Functions
tem (terminal emulator module), index iconx86 Platform Console Communication
See also kernel terminal emulator
tem-support DDI property
index iconSolaris Consoles and the Kernel Terminal Emulator
index iconSPARC Platform Console Communication
test modules, index iconSetting Up Test Modules
testing
asynchronous communication drivers, index iconAsynchronous Communication Drivers
configurations, index iconConfiguration Testing
console frame buffer drivers, index iconDeveloping, Testing, and Debugging Console Frame Buffer Drivers
DDI compliance, index iconDDI/DKI Compliance Testing
device drivers, index iconCriteria for Testing Drivers
disk drivers, index iconDisk Drivers
driver hardening test harness, index iconDriver Hardening Test Harness
functionality, index iconFunctionality Testing
injecting hardware faults
index iconDriver Hardening Test Harness
index iconTesting the Driver
installation and packaging, index iconInstallation and Packaging Testing
network drivers, index iconNetwork Drivers
tape drivers, index iconTape Drivers
testing debuggers, avoiding data loss, index iconAvoiding Data Loss on a Test System
testing device drivers, index iconTesting Drivers
th_define command
index iconDriver Hardening Test Harness
index iconTesting the Driver
index iconFault-Injection Process
index iconUsing Scripts to Automate the Test Process
th_manage command
index iconDriver Hardening Test Harness
index iconTesting the Driver
index iconFault-Injection Process
third-party DMA
index iconThird-Party DMA
index iconPerforming Third-Party DMA Transfers
thread synchronization
condition variables, index iconCondition Variables in Thread Synchronization
mutex_init, index iconSetting Up Mutexes
mutex locks, index iconMutual-Exclusion Locks
per instance mutex
index iconattach() Entry Point
index iconattach() Entry Point
readers/writer locks, index iconReaders/Writer Locks
threads
interactions, index iconThread Interaction
preemption of, index iconLocking Primitives
task queues, index iconQueueing Tasks
ticks argument, delay(), changes to, index icondelay() and timeout() Argument Changes
ticks argument, timeout(), changes to, index icondelay() and timeout() Argument Changes
time-related functions, index iconTime-Related Functions
deprecated, index iconTime-Related Functions
timeout argument, cv_timedwait(), changes to, index iconcv_timedwait() and cv_timedwait_sig() Argument Changes
timeout() function, index icondelay() and timeout() Argument Changes
changes to, index icondelay() and timeout() Argument Changes
tip connection, index iconTesting With a Serial Connection
total store ordering, index iconTotal Store Ordering (TSO)
TPR (Token Passing Ring), index iconTPR and FDDI: SNAP Processing
tran_abort() entry point, SCSI HBA drivers, index icontran_abort() Entry Point
tran_destroy_pkt() entry point, SCSI HBA drivers, index icontran_destroy_pkt() Entry Point
tran_dmafree() entry point, SCSI HBA drivers, index icontran_dmafree() Entry Point
tran_getcap() entry point, SCSI HBA drivers, index icontran_getcap() Entry Point
tran_init_pkt() entry point, SCSI HBA drivers, index icontran_init_pkt() Entry Point
tran_reset() entry point, SCSI HBA drivers, index icontran_reset() Entry Point
tran_reset_notify() entry point, SCSI HBA drivers, index icontran_reset_notify() Entry Point
tran_setcap() entry point, SCSI HBA drivers, index icontran_setcap() Entry Point
tran_start() entry point, SCSI HBA drivers, index icontran_start() Entry Point
tran_sync_pkt() entry point, SCSI HBA drivers, index icontran_sync_pkt() Entry Point
tuning device drivers, index iconTuning Drivers
DTrace, index iconDTrace for Dynamic Instrumentation
kstats, index iconKernel Statistics