Writing Device Drivers
Previous Next

K

_KERNEL symbol, Compiling and Linking the Driver
kernel
debugger
See kmdb debugger
device tree, What Is the Kernel?
memory
allocation, Dynamic Memory Allocation
associating with user applications, Associating Kernel Memory With User Mappings
detecting leaks with mdb, Detecting Kernel Memory Leaks
module directory, Copying the Driver to a Module Directory
overview, What Is the Kernel?
kernel data structures, Obtaining Kernel Data Structure Information
kernel logging functions, Kernel Logging and Printing Functions
kernel statistics, See kstats
kernel statistics functions, Kernel Statistics Functions
kernel terminal emulator, Solaris Consoles and the Kernel Terminal Emulator
kernel thread functions, Kernel Thread Control and Synchronization Functions
kernel variables
setting, Setting Kernel Variables
use with debuggers, Modifying Kernel Variables
using, Setting Up Test Modules
kmdb debugger, Using the kmdb Kernel Debugger
booting on SPARC systems, Booting kmdb With an Alternate Kernel on the SPARC Platform
booting on x86 systems, Booting kmdb With an Alternate Kernel on the x86 Platform
macros, kmdb Macros for Driver Developers
setting breakpoints, Setting Breakpoints in kmdb
kmdb kernel debugger, Enable the Deadman Feature to Avoid a Hard Hang
kmem_alloc() function, Dynamic Memory Allocation
kmem_flags kernel variable, Setting kmem_flags Debugging Flags
kmem_free() function, Retrieving Target Device Information
kstats
See also network statistics
definition, Kernel Statistics
Ethernet drivers, Kernel Statistics for Solaris Ethernet Drivers
functions
Kernel Statistics Functions
Kernel Statistics Functions
structure members, Kernel Statistics Structure Members
structures, Kernel Statistics Structures
task queues, Task Queue Kernel Statistics Counters

L

latent fault, definition of, Periodic Health Checks
layered driver handle, See LDI
Layered Driver Interface, See LDI
layered identifier, See LDI
ld command, Compiling and Linking the Driver
LDI, Layered Driver Interface (LDI)
definition, What Is the Kernel?
device access, Kernel Interfaces
device consumer, LDI Overview
device information, Kernel Interfaces
device layering, User Interfaces
device usage
Kernel Interfaces
User Interfaces
Print System Configuration Command Interfaces
Device User Command Interfaces
event notification interfaces, Receiving Asynchronous Device Event Notification
fuser command, Device User Command Interfaces
kernel device consumer, LDI Overview
layered driver, LDI Overview
layered driver handle
Layered Driver Handles – Target Devices
Driver Source File
layered identifier
Layered Identifiers – Kernel Device Consumers
Driver Source File
libdevinfo interfaces, User Interfaces
prtconf command, Print System Configuration Command Interfaces
target device
LDI Overview
Layered Driver Handles – Target Devices
LDI functions
ldi_add_event_handler() function, Receiving Asynchronous Device Event Notification
ldi_aread() function, Accessing Target Devices
ldi_awrite() function, Accessing Target Devices
ldi_close() function
Opening and Closing Target Devices
Driver Source File
ldi_devmap() function, Accessing Target Devices
ldi_dump() function, Accessing Target Devices
ldi_get_dev() function, Retrieving Target Device Information
ldi_get_devid() function, Retrieving Target Device Information
ldi_get_eventcookie() function, Receiving Asynchronous Device Event Notification
ldi_get_minor_name() function, Retrieving Target Device Information
ldi_get_otyp() function, Retrieving Target Device Information
ldi_get_size() function, Retrieving Target Device Information
ldi_getmsg() function, Accessing Target Devices
ldi_ident_from_dev() function
Layered Identifiers – Kernel Device Consumers
Driver Source File
ldi_ident_from_dip() function, Layered Identifiers – Kernel Device Consumers
ldi_ident_from_stream() function, Layered Identifiers – Kernel Device Consumers
ldi_ident_release() function
Layered Identifiers – Kernel Device Consumers
Driver Source File
ldi_ioctl() function, Accessing Target Devices
ldi_open_by_dev() function, Opening and Closing Target Devices
ldi_open_by_devid() function, Opening and Closing Target Devices
ldi_open_by_name() function
Opening and Closing Target Devices
Driver Source File
ldi_poll() function, Accessing Target Devices
ldi_prop_exists() function, Retrieving Target Device Property Values
ldi_prop_get_int() function, Retrieving Target Device Property Values
ldi_prop_get_int64() function, Retrieving Target Device Property Values
ldi_prop_lookup_byte_array() function, Retrieving Target Device Property Values
ldi_prop_lookup_int_array() function, Retrieving Target Device Property Values
ldi_prop_lookup_int64_array() function, Retrieving Target Device Property Values
ldi_prop_lookup_string_array() function, Retrieving Target Device Property Values
ldi_prop_lookup_string() function, Retrieving Target Device Property Values
ldi_putmsg() function, Accessing Target Devices
ldi_read() function, Accessing Target Devices
ldi_remove_event_handler() function, Receiving Asynchronous Device Event Notification
ldi_strategy() function, Accessing Target Devices
ldi_write() function
Accessing Target Devices
Driver Source File
LDI types
ldi_callback_id_t, Receiving Asynchronous Device Event Notification
ldi_handle_t, Layered Driver Handles – Target Devices
ldi_ident_t, Layered Identifiers – Kernel Device Consumers
leaf devices, description of, Device Tree Components
leaf nodes, Fault Injection
legacy interrupts
defined, Device Interrupts
using, Legacy Interrupts
length argument, ddi_dma_mem_alloc(), changes to, ddi_dma_mem_alloc() Argument Changes
libdevinfo(), displaying the device tree, libdevinfo Library
libdevinfo device information library, User Interfaces
linking drivers, Compiling and Linking the Driver
lint command, 64-bit environment, General Conversion Steps
list suspect, definition, Diagnosis, Suspect Lists, and Fault Events
lnode, Device Information Library Interfaces
loadable module functions, Module Functions
loading drivers, Compiling and Linking the Driver
add_drv command, Installing Drivers with add_drv
hardware configuration file, Writing a Hardware Configuration File
loading modules
Loadable Module Entry Points
Copying the Driver to a Module Directory
loading test modules, Loading and Unloading Test Modules
locking primitives, types of, Locking Primitives
locks
manipulating, Kernel Thread Control and Synchronization Functions
mutex, Mutual-Exclusion Locks
readers/writer, Readers/Writer Locks
scheme for, Choosing a Locking Scheme
LP64
use in devmap(), Data Sharing in devmap()
use in ioctl(), Data Sharing in ioctl()
LUN bits, Building a Command
Previous Next