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

G

GCC, index iconCompiling and Linking the Driver
gcc command, index iconCompiling and Linking the Driver
generic device name, index iconGeneric Device Names
getinfo() entry point, index icongetinfo() Entry Point
getmajor() function, index iconBlock Device Autoconfiguration
getrbuf() function, changes to, index icongetrbuf() Argument Changes
getting major numbers, example of, index iconBlock Device Autoconfiguration
GLD (Generic LAN Driver), See network drivers
gld() entry point, index iconGLDv2 Network Device Driver Framework
gld() functions, index iconGLDv2 Network Device Driver Framework
gld_intr() function, index icongld_intr() Function
gld_mac_alloc() function, index icongld_mac_alloc() Function
gld_mac_free() function, index icongld_mac_free() Function
gld_mac_info structure, index iconGLDv2 Network Device Driver Framework
description of, index icongld_mac_info Structure
GLDv2 arguments, index iconGLDv2 Function Arguments
network drivers, index iconGLDv2 Driver Requirements
used in gld_intr() function, index icongld_intr() Function
gld_recv() function, index icongld_recv() Function
gld_register() function, index icongld_register() Function
gld_sched() function, index icongld_sched() Function
gld_stats structure, network driver, index iconGLDv2 Network Statistics
gld_unregister() function, index icongld_unregister() Function
gld(9F) function, network driver, index iconGLDv2 Driver Requirements
gldm_get_stats(), description of, index iconGLDv2 Network Statistics
gldm_private structure, index icongld_mac_info Structure
GLDv2 data structures
gld_mac_info, index icongld_mac_info Structure
gld_stats, index icongld_stats Structure
GLDv2 entry points
gldm_get_stats(), index icongldm_get_stats() Entry Point
gldm_intr(), index icongldm_intr() Entry Point
gldm_ioctl(), index icongldm_ioctl() Entry Point
gldm_reset(), index icongldm_reset() Entry Point
gldm_send(), index icongldm_send() Entry Point
gldm_set_mac_addr(), index icongldm_set_mac_addr() Entry Point
gldm_set_multicast(), index icongldm_set_multicast() Entry Point
gldm_set_promiscuous(), index icongldm_set_promiscuous() Entry Point
gldm_start(), index icongldm_start() Entry Point
gldm_stop(), index icongldm_stop() Entry Point
GLDv2 ioctl functions, index iconGLDv2 I/O Control Functions
GLDv2 network statistics, index iconGLDv2 Network Statistics
GLDv2 service routines
gld_intr() function, index icongld_intr() Function
gld_mac_alloc() function, index icongld_mac_alloc() Function
gld_mac_free() function, index icongld_mac_free() Function
gld_recv() function, index icongld_recv() Function
gld_register() function, index icongld_register() Function
gld_sched() function, index icongld_sched() Function
gld_unregister() function, index icongld_unregister() Function
GLDv2 symbols
GLD_BADARG, index iconGLDv2 Return Values
GLD_FAILURE, index iconGLDv2 Return Values
GLD_MAC_PROMISC_MULTI, index iconGLDv2 Function Arguments
GLD_MAC_PROMISC_NONE, index iconGLDv2 Function Arguments
GLD_MAC_PROMISC_PHYS, index iconGLDv2 Function Arguments
GLD_MULTI_DISABLE, index icongldm_set_multicast() Entry Point
GLD_MULTI_ENABLE, index icongldm_set_multicast() Entry Point
GLD_NOLINK, index icongldm_send() Entry Point
GLD_NORESOURCES, index icongld_sched() Function
GLD_NOTSUPPORTED, index icongldm_set_mac_addr() Entry Point
GLD_SUCCESS, index iconGLDv2 Return Values
graphics devices, device context management of, index iconContext Management Model