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

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 Oracle Solaris DDI/DKI Services

C.  Making a Device Driver 64-Bit Ready

D.  Console Frame Buffer Drivers

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

A

add_drv command
How to Build and Load the Layered Driver
Checking Device Driver Bindings
description of, Installing Drivers with add_drv
device name, Compatible Device Names
address spaces, description of, Virtual Memory
agent, definition, What Is Predictive Self-Healing?
allocb()function, Requests
alternate access mechanisms, Programmed I/O Functions
aphysio() function, DMA Transfers (Asynchronous)
aread() entry point, asynchronous data transfers, Differences Between Synchronous and Asynchronous I/O
ASSERT() macro
Compiling and Linking the Driver
Use ASSERT() to Catch Invalid Assumptions
associating kernel memory with user applications, Associating Kernel Memory With User Mappings
asynchronous communication drivers, testing, Asynchronous Communication Drivers
asynchronous data transfers
block drivers, Asynchronous Data Transfers (Block Drivers)
character drivers, Differences Between Synchronous and Asynchronous I/O
USB, Synchronous and Asynchronous Transfers and Callbacks
attach() entry point
Registering Drivers to Gain Device Access
Device Power Management
active power management, Device Power Management
description of, attach() Entry Point
network drivers
GLDv3 MAC Registration Functions
GLDv2 Network Device Driver Framework
system power management, System Power Management
auto-request sense mode, Auto-Request Sense Mode
autoconfiguration
of block devices, Block Device Autoconfiguration
of character devices, Character Device Autoconfiguration
overview, Driver Loading and Unloading
routines, Autoconfiguration Entry Points
of SCSI HBA drivers, Autoconfiguration Entry Points
of SCSI target drivers, Autoconfiguration for SCSI Target Drivers
Automated System Recovery Unit (ASRU), definition, Diagnosis, Suspect Lists, and Fault Events
autoshutdown threshold, Autoshutdown Threshold
autovectored interrupts, Device Interrupts
avoiding data loss while testing, Avoiding Data Loss on a Test System
awrite() entry point, asynchronous data transfers, Differences Between Synchronous and Asynchronous I/O