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

N

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