Follow Techotopia on Twitter

On-line Guides
All Guides
eBook Store
iOS / Android
Linux for Beginners
Office Productivity
Linux Installation
Linux Security
Linux Utilities
Linux Virtualization
Linux Kernel
System/Network Admin
Scripting Languages
Development Tools
Web Development
GUI Toolkits/Desktop
Mail Systems
Eclipse Documentation

How To Guides
General System Admin
Linux Security
Linux Filesystems
Web Servers
Graphics & Desktop
PC Hardware
Problem Solutions
Privacy Policy




Writing Device Drivers
Previous Next


Numbers and Symbols


access handles, Exclusive Use of DDI Access Handles
add_drv command
How to Build and Load the Layered Driver
Checking Device Driver Bindings
description of, Installing Drivers with add_drv
device name, Compatible Device Names
address spaces, description of, Virtual Memory
agent, definition, What Is Predictive Self-Healing?
allocb()function, Requests
alternate access mechanisms, Programmed I/O Functions
aphysio() function, DMA Transfers (Asynchronous)
aread() entry point, asynchronous data transfers, Differences Between Synchronous and Asynchronous I/O
ASSERT() macro
Compiling and Linking the Driver
Use ASSERT() to Catch Invalid Assumptions
associating kernel memory with user applications, Associating Kernel Memory With User Mappings
asynchronous communication drivers, testing, Asynchronous Communication Drivers
asynchronous data transfers
block drivers, Asynchronous Data Transfers (Block Drivers)
character drivers, Differences Between Synchronous and Asynchronous I/O
USB, Synchronous and Asynchronous Transfers and Callbacks
attach() entry point
Registering Drivers to Gain Device Access
Device Power Management
active power management, Device Power Management
description of, attach() Entry Point
network drivers, Generic LAN Driver Overview
system power management, System Power Management
auto-request sense mode, Auto-Request Sense Mode
of block devices, Block Device Autoconfiguration
of character devices, Character Device Autoconfiguration
overview, Driver Loading and Unloading
routines, Autoconfiguration Entry Points
of SCSI HBA drivers, Autoconfiguration Entry Points
of SCSI target drivers, Autoconfiguration for SCSI Target Drivers
Automated System Recovery Unit (ASRU), definition, Diagnosis, Suspect Lists, and Fault Events
autoshutdown threshold, Autoshutdown Threshold
autovectored interrupts, Device Interrupts
avoiding data loss while testing, Avoiding Data Loss on a Test System
awrite() entry point, asynchronous data transfers, Differences Between Synchronous and Asynchronous I/O


bge driver code, Error Handling
binary compatibility
description of, DDI/DKI Interfaces
potential problems, Modify Routines That Handle Data Sharing
binding a driver to a device, Binding a Driver to a Device
binding a driver to a USB device, Compatible Device Names
biodone() function, Synchronous Data Transfers (Block Drivers)
block driver
autoconfiguration of, Block Device Autoconfiguration
buf structure, buf Structure
cb_ops structure, cb_ops Structure
overview, Entry Points for Block Device Drivers
slice number, Block Device Autoconfiguration
block driver entry points, Block Driver Structure Overview
close() function, close() Entry Point (Block Drivers)
open() function, open() Entry Point (Block Drivers)
strategy() function, strategy() Entry Point
bofi (bus_ops fault injection) driver, Driver Hardening Test Harness
bofi.conf file, Configuring the Test Harness
booting an alternate kernel, To Boot With an Alternate Kernel
booting the kmdb debugger
on SPARC systems, Booting kmdb With an Alternate Kernel on the SPARC Platform
on x86 systems, Booting kmdb With an Alternate Kernel on the x86 Platform
buf structure
changes to, buf Structure Changes
description of, buf Structure
buffer allocation, DMA, Allocating Private DMA Buffers
buffered I/O functions, Buffered I/O Functions
burst sizes, DMA, Determining Maximum Burst Sizes
architectures, Bus Architectures
PCI architectures, PCI Local Bus
SBus architecture, SBus
SCSI, Introduction to Target Drivers
bus-master DMA
Bus-Master DMA
Performing Bus-Master DMA Transfers
bus nexus, Fault Injection
bus nexus device drivers, description of, Device Tree Components
bus nodes, Fault Injection
byte ordering, Endianness


cache, description of, Cache
callback functions
description of, Callback Functions
example of, DMA Callback Example
cb_ops structure, description of, cb_ops Structure
cc command, Compiling and Linking the Driver
cfgadm_usb command, Multiple-Configuration Devices
character device driver
aphysio() function, DMA Transfers (Asynchronous)
autoconfiguration, Character Device Autoconfiguration
cb_ops structure, cb_ops Structure
close() entry point, close() Entry Point (Character Drivers)
data transfers, I/O Request Handling
device polling, Multiplexing I/O on File Descriptors
entry points for, Overview of the Character Driver Structure
I/O control mechanism, Miscellaneous I/O Control
memory mapping, Mapping Device Memory
minphys() function, minphys() Entry Point
open() entry point, open() Entry Point (Character Drivers)
overview, Entry Points for Character Device Drivers
physio() function, DMA Transfers (Synchronous)
strategy() entry point, strategy() Entry Point
cloning SCSI HBA driver, Transport Structure Cloning
close() entry point
block drivers, close() Entry Point (Block Drivers)
description of, close() Entry Point (Character Drivers)
cmn_err() function, Test the Layered Driver
debugging, Use cmn_err() to Log Driver Activity
description of, Returning Errors
example of, print() Entry Point (Block Drivers)
compatible property, description of, Binding a Driver to a Device
compiling drivers, Compiling and Linking the Driver
condition variable functions, Kernel Thread Control and Synchronization Functions
cv_broadcast(), Signaling the Condition
cv_destroy(), Initializing Condition Variables
cv_init(), Initializing Condition Variables
cv_timedwait(), cv_wait() and cv_timedwait() Functions
cv_timedwait_sig(), cv_timedwait_sig() Function
cv_wait(), Waiting for the Condition
cv_wait_sig(), cv_wait_sig() Function
condition variables
and mutex locks, Condition Variables in Thread Synchronization
routines, Initializing Condition Variables
.conf files, See hardware configuration files
configuration, testing device drivers, Testing Drivers
configuration descriptor clouds, Hot Reinsertion
configuration entry points
attach() function, attach() Entry Point
detach() function, detach() Entry Point
getinfo() function, getinfo() Entry Point
configuration files, hardware, See hardware configuration files
console frame buffer drivers, Console Frame Buffer Drivers
debugging, Developing, Testing, and Debugging Console Frame Buffer Drivers
kernel terminal emulator, Solaris Consoles and the Kernel Terminal Emulator
polled I/O interfaces
Polled I/O Interfaces
Implementing Polled I/O in Console Frame Buffer Drivers
standalone mode
Polled I/O Interfaces
Implementing Polled I/O in Console Frame Buffer Drivers
video mode change callback interface
Video Mode Change Callback Interface
Frame Buffer Specific Configuration Module
visual I/O interfaces, Console Visual I/O Interfaces
context management, See device context management
context of device driver, Driver Context
cookies, DMA, DMA Model
copying data
copyin() function, User Addresses
copyout() function, User Addresses
CPR (CheckPoint and Resume), System Power Management
crash command, Postmortem Debugging
crash dumps, saving, Capture System Crash Dumps
csi_arq_status structure, changes to, csi_arq_status Structure Changes
cv_timedwait() function, changes to, cv_timedwait() and cv_timedwait_sig() Argument Changes
cv_timedwait_sig() function, changes to, cv_timedwait() and cv_timedwait_sig() Argument Changes
Previous Next

  Published under the terms fo the Public Documentation License Version 1.01. Design by Interspire