D
- data loss
- avoiding while testing
Device Driver Testing Tips
- data model
- converting
Writing Quote Of The Day Version 3
Writing a Driver Module
- ddi_copyin() kernel function
Reporting and Setting Device Size and Re-initializing
the Device
Managing Thread Synchronization
Writing Quote Of The Day Version 3
User and Kernel Address Spaces on x86 and SPARC Machines
- ddi_copyout() kernel function
Reporting and Setting Device Size and Re-initializing
the Device
Writing Quote Of The Day Version 3
User and Kernel Address Spaces on x86 and SPARC Machines
- ddi_create_minor_node() kernel function
Attaching, Allocating Memory, and Initializing a
Mutex and a Condition Variable
Attaching and Detaching
Defining the Device Attach Entry Point
Writing the Autoconfiguration Entry Points
- ddi_get_instance() kernel function
Attaching and Detaching
Defining the Device Attach Entry Point
Device Numbers
- ddi_get_soft_state() kernel function
Reading the Data
Opening the Device, Closing the Device, and Getting
Module Information
Attaching and Detaching
Managing Device State
- ddi_model_convert_from() kernel function
Reporting and Setting Device Size and Re-initializing
the Device
Writing Quote Of The Day Version 3
Writing a Driver Module
- ddi_prop_get_int() kernel function
Writing a Configuration File
- ddi_prop_lookup() kernel function
Writing a Configuration File
- ddi_prop_op() kernel function
Defining the Report Driver Property Information Entry
Point
Writing the Autoconfiguration Entry Points
- ddi_remove_minor_node() kernel function
Checking for Changes, Cleaning Up, and Detaching
Attaching and Detaching
Defining the Device Detach Entry Point
Writing the Autoconfiguration Entry Points
- ddi_report_dev() kernel function
Attaching and Detaching
- ddi_soft_state() kernel function
Defining the Device Attach Entry Point
- ddi_soft_state_fini() kernel function
Initializing and Unloading
Managing Device State
- ddi_soft_state_free() kernel function
Attaching and Detaching
Managing Device State
- ddi_soft_state_init() kernel function
Initializing and Unloading
Managing Device State
- ddi_soft_state_zalloc() kernel function
Attaching and Detaching
Managing Device State
- ddi_umem_alloc() kernel function
Allocating and Freeing Kernel Memory
- ddi_umem_free() kernel function
Allocating and Freeing Kernel Memory
Checking for Changes, Cleaning Up, and Detaching
- deadman kernel feature
Device Driver Testing Tips
- debugging device drivers
- tips
Device Driver Debugging and Tuning Tips
- detach() entry point
Attaching and Detaching
Defining the Device Detach Entry Point
Writing the Autoconfiguration Entry Points
Defining the Module Unload Entry Point
- dev_info device structure
Defining the Get Driver Information Entry Point
Defining the Device Detach Entry Point
Defining the Device Attach Entry Point
- dev_ops driver structure
Defining the Device Operations Structure
Writing the Driver Data Structures
Device Drivers
- devfs devices file system
Devices Directories
- devfsadmd devices file system administration command
Device Names
- device drivers
Device Drivers- adding
Adding, Updating, and Removing a Driver
- coding tips
Device Driver Coding Tips
- compiling
Building a Driver
- condition variables
Managing Thread Synchronization
- conditional compilation
Device Driver Coding Tips
- debugging tips
Device Driver Debugging and Tuning Tips
- development guidelines
Tips for Developing Device
Drivers
- directories
Driver Directory Organization- adding
Driver Directory Organization
- entry points
Overview of the Template Driver Example
Typical Device Driver Entry Points- See also
entry points - See also
entry points
- how used
Entry Points for Different Types of Drivers
- I/O controls
Exercising the Driver's I/O Controls
Reporting and Setting Device Size and Re-initializing
the Device
- installing
Device Driver Testing Tips
Installing a Driver
- linking
Building a Driver
- loading
Adding the Template Driver
Loading and Unloading a Driver
Driver Directory Organization
- mutexes
Managing Thread Synchronization
- naming conventions
Device Driver Coding Tips
- recommended housekeeping
Device Driver Coding Tips
- removing
Removing the Template Driver
Adding, Updating, and Removing a Driver
- structures See
driver structures
- test areas
Testing a Driver
- testing
Device Driver Testing Tips
- thread synchronization
Managing Thread Synchronization
- tuning
Device Driver Debugging and Tuning Tips
- unloading
Removing the Template Driver
Loading and Unloading a Driver
- updating
Adding, Updating, and Removing a Driver
- device instance pointer (dip)
Defining the Get Driver Information Entry Point
Defining the Device Detach Entry Point
Defining the Device Attach Entry Point
- device number
Device Numbers
- device structures
- dev_info
Defining the Get Driver Information Entry Point
Defining the Device Detach Entry Point
Defining the Device Attach Entry Point
- device tree
Device Tree
- devices
- blk
Character and Block Devices
- block
Character and Block Devices
Devices as Files
- character
Writing the Template Driver
Character and Block Devices
Devices as Files
- configuration files
Writing the Device Configuration File
Writing a Configuration File
- device tree
Device Tree
- directories
Device Names
Devices Directories
- exclusive access
Locking Rules for Quote Of The Day Version 3
- file system
- devfs
Devices Directories
- devfsadmd
Device Names
- instances
Defining the Get Driver Information Entry Point
Defining the Device Detach Entry Point
Defining the Device Attach Entry Point
Device Numbers
- md metadevice
Character and Block Devices
- names
Device Names
- nexus
Device Tree
Entry Points for Different Types of Drivers
- numbers
Defining the Device Attach Entry Point
Device Numbers
Devices Directories
- prefixes
Declaring the Autoconfiguration Entry Points
Writing a Driver Module
- properties
Defining the Report Driver Property Information Entry
Point
Writing a Configuration File
- pseudo
Template Driver Example
Entry Points for Different Types of Drivers
- ramdisk
Modifying Data Stored in Kernel Memory
Entry Points for Different Types of Drivers
- raw
Character and Block Devices
- reading
Reading the Device
Building, Installing, and Using Quote Of The Day
Version??2
Reading and Writing the Device
- special files
Devices as Files
- state
Managing Device State
- writing
Writing the Device
Writing New Data
Modifying Data Stored in Kernel Memory
Reading and Writing the Device
- devmap() entry point
User and Kernel Address Spaces on x86 and SPARC Machines
- dmesg command
Attaching and Detaching
- driver structures
- cb_ops
Writing New Data
Defining the Character and Block Operations Structure
Writing the Driver Data Structures
Device Drivers
- character and block operations structure
Defining the Character and Block Operations Structure
- dev_ops
Defining the Device Operations Structure
Writing the Driver Data Structures
Device Drivers
- device operations structure
Defining the Device Operations Structure
- modinfo
Defining the Module Information Entry Point
- modldrv
Defining the Module Linkage Structures
Writing the Driver Data Structures
- modlinkage
Defining the Module Linkage Structures
Writing the Driver Data Structures
Defining the Module Initialization Entry Point
- module linkage structures
Defining the Module Linkage Structures
- driver.conf file
Writing a Configuration File
- drivers See
device drivers
- DTrace analyzer
Device Driver Debugging and Tuning Tips