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

B

binary compatibility
description of, index iconDDI/DKI Interfaces
potential problems, index iconModify Routines That Handle Data Sharing
binding a driver to a device, index iconBinding a Driver to a Device
binding a driver to a USB device, index iconCompatible Device Names
biodone() function, index iconSynchronous Data Transfers (Block Drivers)
blitting, index iconVIS_CONSDISPLAY
block driver
autoconfiguration of, index iconBlock Device Autoconfiguration
buf structure, index iconbuf Structure
cb_ops structure, index iconcb_ops Structure
overview, index iconEntry Points for Block Device Drivers
slice number, index iconBlock Device Autoconfiguration
block driver entry points, index iconBlock Driver Structure Overview
close() function, index iconclose() Entry Point (Block Drivers)
open() function, index iconopen() Entry Point (Block Drivers)
strategy() function, index iconstrategy() Entry Point
booting the kmdb debugger
on SPARC systems, index iconBooting kmdb With an Alternate Kernel on the SPARC Platform
on x86 systems, index iconBooting kmdb With an Alternate Kernel on the x86 Platform
buf structure
changes to, index iconbuf Structure Changes
description of, index iconbuf Structure
buffer allocation, DMA, index iconAllocating Private DMA Buffers
buffered I/O functions, index iconBuffered I/O Functions
burst sizes, DMA, index iconDetermining Maximum Burst Sizes
bus
architectures, index iconBus Architectures
PCI architectures, index iconPCI Local Bus
SBus architecture, index iconSBus
SCSI, index iconIntroduction to Target Drivers
bus-master DMA
index iconBus-Master DMA
index iconPerforming Bus-Master DMA Transfers
bus nexus device drivers, description of, index iconDevice Tree Components
byte ordering, index iconEndianness