Go to main content

Writing Device Drivers for Oracle® Solaris 11.3

Exit Print View

Updated: March 2019

Using This Documentation

  • Overview – Provides information about developing drivers for character-oriented devices, block-oriented devices, network devices, SCSI target and HBA devices, and USB devices for the Oracle Solaris Operating System (Oracle Solaris OS). This guide discusses how to develop multithreaded reentrant device drivers for all architectures that conform to the Oracle Solaris DDI/DKI (Device Driver Interface, Driver-Kernel Interface) and describes a common driver programming approach that enables the writing of drivers without concern for platform-specific issues such as endianness and data ordering. Additional topics include hardening Oracle Solaris drivers; power management; driver autoconfiguration; programmed I/O; Direct Memory Access (DMA); device context management; compilation, installation, and testing drivers; debugging drivers; and porting Oracle Solaris drivers to a 64-bit environment.

  • Audience – This guide is written for UNIX programmers who are familiar with UNIX device drivers. Overview information is provided, but the guide is not intended to serve as a general tutorial on device drivers.

    Note -  The Oracle Solaris OS runs on both SPARC and x86 architectures. The kernel runs on a 64-bit address space, but supports programs that run on either a 64-bit or 32-bit address space. The information in this guide applies to all platforms and address spaces unless specifically noted.
  • Required knowledge – Familiarity with C programming and developing device drivers.

Product Documentation Library

Documentation and resources for this product and related products are available at http://www.oracle.com/pls/topic/lookup?ctx=E53394-01.


Provide feedback about this documentation at http://www.oracle.com/goto/docfeedback.