| Skip Navigation Links | |
| Exit Print View | |
|
Writing Device Drivers Oracle Solaris 11.1 Information Library |
Part I Designing Device Drivers for the Oracle Solaris Platform
1. Overview of Oracle Solaris Device Drivers
2. Oracle Solaris Kernel and Device Tree
5. Managing Events and Queueing Tasks
7. Device Access: Programmed I/O
10. Mapping Device and Kernel Memory
13. Hardening Oracle Solaris Drivers
14. Layered Driver Interface (LDI)
Part II Designing Specific Kinds of Device Drivers
15. Drivers for Character Devices
18. SCSI Host Bus Adapter Drivers
19. Drivers for Network Devices
Part III Building a Device Driver
22. Compiling, Loading, Packaging, and Testing Drivers
23. Debugging, Testing, and Tuning Device Drivers
24. Recommended Coding Practices
B. Summary of Oracle Solaris DDI/DKI Services
C. Making a Device Driver 64-Bit Ready
Creating Minor Device Nodes
Ethernet V2 and ISO 8802-3 (IEEE 802.3)
Capture System Crash Dumps
Physical SBus Addresses
SBus
SBus Hardware Configuration Files
SBus Physical Address Space
Physical SBus Addresses
DMA Software Components: Handles, Windows, and Cookies
Vectored I/O
Queueing Tasks
SCSI Options
SCSI Interface
SCSA HBA Entry Point Summary
Sun Common SCSI Architecture Overview
Introduction to Target Drivers
scsi_alloc_consistent_buf() Function
scsi_destroy_pkt() Function
Reuse of Packets
scsi_free_consistent_buf() Function
Setting Target Capabilities
Setting Target Capabilities
scsi_init_pkt() Function
tran_tgt_probe() Entry Point
Building a Command
Transporting a Command
tran_tgt_probe() Entry Point
SCSA Functions
scsi_address Structure
scsi_device Structure
scsi_hba_tran() Structure
scsi_pkt Structure (HBA)
scsi_alloc_consistent_buf() Argument Changes
scsi_device Structure
SCSI Functions
SCSI Functions
HBA Configuration Properties
tran_getcap() Entry Point
Allocation and Initialization of a scsi_pkt(9S) Structure
tran_destroy_pkt() Entry Point
tran_tgt_probe() Entry Point
SCSA HBA Functions
tran_abort() Entry Point
Autoconfiguration Entry Points
tran_getcap() Entry Point
Transport Structure Cloning
Per-Command Structure
Timeout Handler
Command Transport
HBA Configuration Properties
SCSA HBA Data Structures
Allocation of DMA Resources
tran_tgt_init() Entry Point
SCSA HBA Entry Point Summary
Declarations and Structures
attach() Entry Point (SCSI HBA Drivers)
SCSI HBA Driver Specific Issues
Interrupt Handler and Command Completion
x86 Target Driver Configuration Properties
tran_init_pkt() Entry Point
Entry Points for SCSA HBA Drivers
tran_abort() Entry Point
tran_dmafree() Entry Point
tran_getcap() Entry Point
tran_init_pkt() Entry Point
tran_reset() Entry Point
tran_reset_notify() Entry Point
tran_setcap() Entry Point
tran_start() Entry Point
tran_sync_pkt() Entry Point
tran_tgt_free() Entry Point
tran_tgt_init() Entry Point
tran_tgt_probe() Entry Point
Per-Target Instance Data
scsi_pkt Structure (Target Drivers)
scsi_pkt Structure Changes
Auto-Request Sense Mode
Autoconfiguration for SCSI Target Drivers
Building a Command
Command Completion
Declarations and Data Structures
Building a Command
Introduction to Target Drivers
Resource Allocation
Reuse of Packets
SCSA Functions
Transporting a Command
Associating User Mappings With Driver Notifications
Device Identification
Testing With a Serial Connection
Serviceability
Serviceability
Serviceability
Serviceability
Serviceability
USB Devices and the Oracle Solaris Device Tree
Character Device Autoconfiguration
Block Device Autoconfiguration
TPR and FDDI: SNAP Processing
GLDv2 I/O Control Functions
Enable the Deadman Feature to Avoid a Hard Hang
Software Interrupts
Driver Source File
Retrieving Driver Soft State Information
Registering Drivers to Gain Device Access
Interrupt Function Examples
Device Software State Functions
DDI/DKI Interfaces
Source Files
SPARC Byte Ordering
SPARC Data Alignment
SPARC Processor Issues
SPARC Multiply and Divide Instructions
SPARC Register Windows
Member Alignment in SPARC Structures
Devices as Special Files
ddi_device_copy() Argument Changes
Storage Classes of Driver Data
Store Buffers
strategy() Entry Point
strategy() Entry Point
Allocating Private DMA Buffers
cb_ops Structure
Entry Points for STREAMS Device Drivers
Compiling and Linking the Driver
Diagnosis, Suspect Lists, and Fault Events
Synchronous Data Transfers (Block Drivers)
Differences Between Synchronous and Asynchronous I/O
Synchronous and Asynchronous Transfers and Callbacks
What Is the Kernel?
System Global State
System Power Management
Entry Points Used by System Power Management
System Power Management Model
Automatic Power Management for Systems
Hardware State
System Power Management
Exploring System Registers With kmdb