Writing Device Drivers

Solaris 8 DDI/DKI

In System V Release 4 (SVR4), the interface between device drivers and the rest of the UNIX kernel was standardized as the DDI/DKI. The Solaris 8 DDI/DKI is documented in Section 9 of the Solaris 8 Reference Manual Collection. The reference manual documents driver entry points, driver-callable functions, and kernel data structures used by device drivers.

The Solaris 8 DDI/DKI, like its SVR4 counterpart, is intended to standardize and document all interfaces between device drivers and the rest of the kernel. In addition, the Solaris 8 DDI/DKI is designed to allow source compatibility for drivers on any machine running the Solaris 8 operating environment, regardless of the processor architecture (such as SPARC or IA). It is also intended to provide binary compatibility for drivers running on any Solaris 8 based processor, regardless of the specific platform architecture. Drivers using only kernel facilities that are part of the Solaris 8 DDI/DKI are known as Solaris 8 DDI/DKI-compliant device drivers.

The Solaris 8 DDI/DKI allows platform-independent device drivers to be written for Solaris 8 based machines. These shrink-wrapped (binary compatible) drivers allow third-party hardware and software to be more easily integrated into SunOS 5.8-based machines. The Solaris 8 DDI/DKI is designed to be architecture independent and enable the same driver to work across a diverse set of machine architectures.

Platform independence is accomplished by the design of DDI in Solaris 8 DDI/DKI. The following main areas are addressed: