JavaScript is required to for searching.
Skip Navigation Links
Exit Print View
Writing Device Drivers
search filter icon
search icon

Document Information

Preface

Part I Designing Device Drivers for the Solaris Platform

1.  Overview of Solaris Device Drivers

2.  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 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 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

G

GCC, Compiling and Linking the Driver
gcc command, Compiling and Linking the Driver
generic device name, Generic Device Names
getinfo() entry point, getinfo() Entry Point
getmajor() function, Block Device Autoconfiguration
getrbuf() function, changes to, getrbuf() Argument Changes
getting major numbers, example of, Block Device Autoconfiguration
GLD (Generic LAN Driver), See network drivers
gld() entry point, GLDv2 Network Device Driver Framework
gld() functions, GLDv2 Network Device Driver Framework
gld_intr() function, gld_intr() Function
gld_mac_alloc() function, gld_mac_alloc() Function
gld_mac_free() function, gld_mac_free() Function
gld_mac_info structure, GLDv2 Network Device Driver Framework
description of, gld_mac_info Structure
GLDv2 arguments, GLDv2 Function Arguments
network drivers, GLDv2 Driver Requirements
used in gld_intr() function, gld_intr() Function
gld_recv() function, gld_recv() Function
gld_register() function, gld_register() Function
gld_sched() function, gld_sched() Function
gld_stats structure, network driver, GLDv2 Network Statistics
gld_unregister() function, gld_unregister() Function
gld(9F) function, network driver, GLDv2 Driver Requirements
gldm_get_stats(), description of, GLDv2 Network Statistics
gldm_private structure, gld_mac_info Structure
GLDv2 data structures
gld_mac_info, gld_mac_info Structure
gld_stats, gld_stats Structure
GLDv2 entry points
gldm_get_stats(), gldm_get_stats() Entry Point
gldm_intr(), gldm_intr() Entry Point
gldm_ioctl(), gldm_ioctl() Entry Point
gldm_reset(), gldm_reset() Entry Point
gldm_send(), gldm_send() Entry Point
gldm_set_mac_addr(), gldm_set_mac_addr() Entry Point
gldm_set_multicast(), gldm_set_multicast() Entry Point
gldm_set_promiscuous(), gldm_set_promiscuous() Entry Point
gldm_start(), gldm_start() Entry Point
gldm_stop(), gldm_stop() Entry Point
GLDv2 ioctl functions, GLDv2 I/O Control Functions
GLDv2 network statistics, GLDv2 Network Statistics
GLDv2 service routines
gld_intr() function, gld_intr() Function
gld_mac_alloc() function, gld_mac_alloc() Function
gld_mac_free() function, gld_mac_free() Function
gld_recv() function, gld_recv() Function
gld_register() function, gld_register() Function
gld_sched() function, gld_sched() Function
gld_unregister() function, gld_unregister() Function
GLDv2 symbols
GLD_BADARG, GLDv2 Return Values
GLD_FAILURE, GLDv2 Return Values
GLD_MAC_PROMISC_MULTI, GLDv2 Function Arguments
GLD_MAC_PROMISC_NONE, GLDv2 Function Arguments
GLD_MAC_PROMISC_PHYS, GLDv2 Function Arguments
GLD_MULTI_DISABLE, gldm_set_multicast() Entry Point
GLD_MULTI_ENABLE, gldm_set_multicast() Entry Point
GLD_NOLINK, gldm_send() Entry Point
GLD_NORESOURCES, gld_sched() Function
GLD_NOTSUPPORTED, gldm_set_mac_addr() Entry Point
GLD_SUCCESS, GLDv2 Return Values
graphics devices, device context management of, Context Management Model