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

N

name property, description of, Binding a Driver to a Device
naming
unique prefix for driver symbols
What Is a Device Driver Entry Point?
Use a Unique Prefix to Avoid Kernel Symbol Collisions
Nblocks property, definition, Device Sizes
nblocks property, deprecated, Device Sizes
nblocks property, use in block device drivers, Block Device Autoconfiguration
Nblocks property, use in block device drivers, Block Device Autoconfiguration
nbytes argument, uiomove(), changes to, uiomove() Argument Changes
network drivers
attach() entry point
GLDv3 MAC Registration Functions
GLDv2 Network Device Driver Framework
detach() entry point, GLDv3 MAC Registration Functions
DL_ETHER, Ethernet V2 and ISO 8802-3 (IEEE 802.3)
DL_FDDI, TPR and FDDI: SNAP Processing
DL_TPR, TPR and FDDI: SNAP Processing
entry points
GLDv3 MAC Registration Data Structures
Summary of GLDv3 Interfaces
Ethernet V2 packet processing, Ethernet V2 and ISO 8802-3 (IEEE 802.3)
FDDI (Fibre Distributed Data Interface), TPR and FDDI: SNAP Processing
_fini() entry point, GLDv3 MAC Registration Functions
gld() entry point, GLDv2 Network Device Driver Framework
gld() functions, GLDv2 Network Device Driver Framework
gld_mac_info structure
GLDv2 Network Device Driver Framework
GLDv2 DLPI Primitives
gld_register() function, GLDv2 DLPI Primitives
GLDv2, GLDv2 Network Device Driver Framework
hardware checksumming
Hardware Checksum Offload
Transmit Data Path
Receive Data Path
IEEE 802.3, Ethernet V2 and ISO 8802-3 (IEEE 802.3)
IEEE 802.5, TPR and FDDI: SNAP Processing
_init() entry point, GLDv3 MAC Registration Functions
ISO 8802-3, Ethernet V2 and ISO 8802-3 (IEEE 802.3)
ISO 9314-2, TPR and FDDI: SNAP Processing
lso_basic_tcp_ipv4() structure, Large Segment (or Send) Offload
mac_alloc() function, GLDv3 MAC Registration Functions
mac_callbacks structure, GLDv3 MAC Registration Data Structures
mac_capab_lso() structure, Large Segment (or Send) Offload
mac_fini_ops() function, GLDv3 MAC Registration Functions
mac_hcksum_get() function
Hardware Checksum Offload
Transmit Data Path
mac_hcksum_set() function
Hardware Checksum Offload
Receive Data Path
mac_init_ops() function, GLDv3 MAC Registration Functions
mac_link_update() function, GLDv3 State Change Notifications
mac_lso_get() function
Large Segment (or Send) Offload
Transmit Data Path
mac_register() function, GLDv3 MAC Registration Functions
mac_register structure
GLDv3 MAC Registration Functions
GLDv3 MAC Registration Data Structures
mac_rx() function, Receive Data Path
mac_tx_update() function
Transmit Data Path
GLDv3 State Change Notifications
MAC type identifier, GLDv3 MAC Registration Data Structures
mac_unregister() function, GLDv3 MAC Registration Functions
MAC version number, GLDv3 MAC Registration Functions
mc_getcapab() entry point, GLDv3 Capabilities
mc_getprop() entry point, GLDv3 Properties
mc_getstat() entry point, GLDv3 Network Statistics
mc_propinfo() entry point, GLDv3 Properties
mc_setprop() entry point, GLDv3 Properties
mc_tx() entry point, Transmit Data Path
mc_unicst() entry point, Receive Data Path
mod_install() function, GLDv3 MAC Registration Functions
mod_remove() function, GLDv3 MAC Registration Functions
open() entry point, GLDv2 DLPI Providers
SAP (Service Access Point), Ethernet V2 and ISO 8802-3 (IEEE 802.3)
SNAP processing, TPR and FDDI: SNAP Processing
source routing, TPR: Source Routing
testing, Network Drivers
TPR (Token Passing Ring), TPR and FDDI: SNAP Processing
network statistics
DL_ETHER, GLDv2 Network Statistics
gld_stats, GLDv2 Network Statistics
gldm_get_stats(), GLDv2 Network Statistics
kstat structures, GLDv2 Network Statistics
nexus, See bus nexus device drivers
nexus driver, USB Client Drivers
no-involuntary-power-cycles property, Device Power State Transitions
nvlist_alloc structure, description of, Defining Event Attributes