| 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 |       	 
             E
eeprom(1M) command, Additional Suggestions for Testing Console Frame Buffer Drivers 
eft diagnosis rules, Diagnosing Faults 
EHCI (Enhanced Host Controller Interface), USB Client Drivers 
ENA (Error Numeric Association), Reporting Errors 
entry points
attach() function
attach() Entry Pointattach() Entry PointRegistering Drivers to Gain Device AccessDevice Power Management 
for block driversactive power management, Device Power Managementsystem power management, System Power Management 
Block Driver Structure OverviewBlock Driver Structure Overviewfor character drivers
Overview of the Character Driver StructureOverview of the Character Driver Structuredefinition, What Is a Device Driver Entry Point?detach() function
detach() Entry Pointdetach() Entry PointDevice Power Management 
for device power management, power() Entry Pointhot removal, Hot Removalsystem power management, System Power Managementdevice context management, Entry Points for Device Context Managementfor device configuration, Device Configuration Conceptsfor network drivers, GLD Entry Pointsioctl() function, Miscellaneous I/O Controlpower() function
power() Entry PointDevice Power ManagementDevice Power Managementprobe() function, probe() Entry PointSCSA HBA summary, SCSA HBA Entry Point Summarysystem power management, Entry Points Used by System Power Management 
ereport, definition, What Is Predictive Self-Healing? 
ereport event, definition, What Is Predictive Self-Healing? 
errdef
definition, Creating Faultserror-injection specification, Driver Hardening Test Harness 
error handling, Error Handling 
error messages, printing
Returning Errorsprint() Entry Point (Block Drivers) 
system file, Setting Up Test Modules 
/etc/driver_aliases file, Checking Device Driver Bindings 
/etc/power.conf file, device dependencies, Power Management Dependencies 
Ethernet V2, See DL_ETHER 
event registry
Message IDs and Dictionary FilesReporting ErrorsEvent Registry 
events
asynchronous notification, Receiving Asynchronous Device Event Notificationattributes, Defining Event Attributesdescription of, Introduction to Eventshotplug notification, Hotplug Callbacks 
Eversholt fault tree (eft) rules
Reporting ErrorsDiagnosing Faults 
exporting device memory to user applications, Associating Device Memory With User Mappings 
external registers, Internal Sequencing Logic F
fault, definition, What Is Predictive Self-Healing? 
fault event, definition, What Is Predictive Self-Healing? 
fault injection
Fault InjectionInjecting Faults 
fault management
access attributes
access or DMA handle error, Reporting Errorsprogrammed I/O access errors, Access Attributes Structureagent, What Is Predictive Self-Healing?Automated System Recovery Unit (ASRU), Diagnosis, Suspect Lists, and Fault EventsDDI_CAUTIOUS_ACC flag, Access Attributes Structureddi_device_acc_attr structure, Access Attributes Structureddi_dma_attr structure, DMA Attributes StructureDDI_DMA_FLAGERR, DMA Attributes StructureDDI_FM_* I/O controller errors, Reporting Errorsddi_fm_acc_err_clear() function, Getting Error Statusddi_fm_acc_err_get() function
Access Attributes StructureAccess Attributes Structureddi_fm_capable() function, Getting the Fault Management Capability Bit Maskddi_fm_dma_err_get() function, DMA Attributes Structureddi_fm_ereport_post() function
Reporting ErrorsReporting Errorsddi_fm_error structure
Registering an Error HandlerRegistering an Error HandlerFault Management Data and Status Structureddi_fm_fini() function, Cleaning Up Fault Management Resourcesddi_fm_handler_register() function
Access Attributes StructureRegistering an Error Handlerddi_fm_handler_unregister() function, Registering an Error Handlerddi_fm_init() function, Declaring Fault Management Capabilitiesddi_fm_service_impact() function, Reporting ErrorsDDI_SERVICE_* service impact values, Reporting ErrorsDE (diagnosis engine)
Diagnosing FaultsEvent Registrydiagnosis engine, What Is Predictive Self-Healing?.dict dictionary files, Message IDs and Dictionary FilesDMA errors, DMA Attributes Structureeft diagnosis engine, Reporting Errorseft diagnosis rules
Diagnosing FaultsEvent RegistryENA (Error Numeric Association)
Reporting ErrorsFault Management Data and Status Structureereport
What Is Predictive Self-Healing?Error Handlingereport events
What Is Predictive Self-Healing?Reporting ErrorsRegistering an Error Handlererror handler callback, Registering an Error Handlererror handling, Error Handlingevent registry
Message IDs and Dictionary FilesReporting ErrorsReporting ErrorsEvent RegistryEversholt fault tree (eft) rules
Reporting ErrorsDiagnosing Faultsfault, What Is Predictive Self-Healing?fault event
What Is Predictive Self-Healing?System Topologyfault management capabilities, Declaring Fault Management Capabilitiesfault management capabilities, declaring, Declaring Fault Management Capabilitiesfault management capability bit mask, Getting the Fault Management Capability Bit Maskfault management capability properties, Declaring Fault Management Capabilitiesfault management resources, cleaning up, Cleaning Up Fault Management Resourcesfault manager daemon fmd
Solaris Fault ManagerDiagnosing Faultsfault messages, Message IDs and Dictionary FilesField Replaceable Unit (FRU), Diagnosis, Suspect Lists, and Fault Eventsfmadm command, Response Agentsfmdump command, Diagnosis, Suspect Lists, and Fault Eventsfme_status flag, Access Attributes StructureI/O Fault Services, Hardening Solaris Driversinterfaces, Fault Management Functionslist suspect
Diagnosis, Suspect Lists, and Fault EventsMessage IDs and Dictionary Filespci_ereport_post() function
Reporting ErrorsRegistering an Error HandlerFault Management Data and Status Structurepci_ereport_seetup() function, Reporting Errorspci_ereport_setup() function, Declaring Fault Management Capabilitiespci_ereport_teardown() function
Cleaning Up Fault Management ResourcesReporting Errors.po message files, Message IDs and Dictionary Filesresponse agent, Response Agentsretire agent, Response Agentssuspect list
Diagnosis, Suspect Lists, and Fault EventsEvent Registrytopology of system, System Topology 
Fault Management Architecture (FMA), See fault management 
faults, latent fault, definition of, Periodic Health Checks 
fbconfig(1M) command, Testing the Video Mode Change Callback Function 
fbconfig() module, Frame Buffer Specific Configuration Module 
fibre distributed data interface, See DL_FDDI 
Field Replaceable Unit (FRU), definition, Diagnosis, Suspect Lists, and Fault Events 
file system I/O, File I/O 
_fini() entry point
example of, _fini() Examplerequired implementation, Loadable Module Entry Points 
first-party DMA
First-Party DMAPerforming First-Party DMA Transfers 
flags argument, ddi_dma_mem_alloc(), changes to, ddi_dma_mem_alloc() Argument Changes 
flow of control for power management, Power Management Flow of Control 
fmadm command, Response Agents 
fmd fault manager daemon
Solaris Fault ManagerDiagnosing Faults 
fmdump command, Diagnosis, Suspect Lists, and Fault Events 
freemsg() function, Requests 
functions
See also condition variable functionsSee also device power management
See individual functions
See also LDI functions
See specific function name 
fuser command, display device usage information, Device User Command Interfaces |