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

K

_KERNEL symbol, Compiling and Linking the Driver
kernel
debugger
See kmdb debugger
device tree, What Is the Kernel?
memory
allocation, Dynamic Memory Allocation
associating with user applications, Associating Kernel Memory With User Mappings
detecting leaks with mdb, Detecting Kernel Memory Leaks
module directory, Copying the Driver to a Module Directory
overview, What Is the Kernel?
kernel data structures, Obtaining Kernel Data Structure Information
kernel logging functions, Kernel Logging and Printing Functions
kernel statistics, See kstats
kernel statistics functions, Kernel Statistics Functions
kernel terminal emulator, Oracle Solaris Consoles and the Kernel Terminal Emulator
kernel thread functions, Kernel Thread Control and Synchronization Functions
kernel variables
setting, Setting Kernel Variables
use with debuggers, Modifying Kernel Variables
using, Setting Up Test Modules
kmdb debugger, Using the kmdb Kernel Debugger
booting on SPARC systems, Booting kmdb With an Alternate Kernel on the SPARC Platform
booting on x86 systems, Booting kmdb With an Alternate Kernel on the x86 Platform
macros, kmdb Macros for Driver Developers
setting breakpoints, Setting Breakpoints in kmdb
kmdb kernel debugger, Enable the Deadman Feature to Avoid a Hard Hang
kmem_alloc() function, Dynamic Memory Allocation
kmem_flags kernel variable, Setting kmem_flags Debugging Flags
kmem_free() function, Retrieving Target Device Information
kstats
See network statistics
definition, Kernel Statistics
Ethernet drivers, Kernel Statistics for Oracle Solaris Ethernet Drivers
functions
Kernel Statistics Functions
Kernel Statistics Functions
structure members, Kernel Statistics Structure Members
structures, Kernel Statistics Structures
task queues, Task Queue Kernel Statistics Counters