编写适用于 Oracle® Solaris 11.2 的设备驱动程序

退出打印视图

更新时间: 2014 年 9 月
 
 

DDI/DKI 接口

在 System V Release 4 (SVR4) 中,设备驱动程序与 UNIX 内核其余部分之间的接口被标准化为 DDI/DKI。DDI/DKI 在 "Reference Manual Collection" 的第 9 部分中进行介绍。第 9E 节介绍驱动程序入口点,第 9F 节介绍驱动程序可调用的函数,而第 9S 节介绍设备驱动程序使用的内核数据结构。请参见 Intro(9E)Intro(9F)Intro(9S)

DDI/DKI 旨在对设备驱动程序与内核其余部分之间的所有接口进行标准化并进行说明。此外,无论处理器体系结构是 SPARC 还是 x86,DDI/DKI 都允许任何运行 Oracle Solaris OS 的计算机的驱动程序的源代码和二进制代码保持兼容。仅使用 DDI/DKI 中包含的内核功能的驱动程序称为与 DDI/DKI 兼容的设备驱动程序

DDI/DKI 允许您为运行 Oracle Solaris OS 的任何计算机编写与平台无关的设备驱动程序。通过这些二进制代码兼容的驱动程序,您可以更方便地将第三方硬件和软件集成到运行 Oracle Solaris OS 的任何计算机中。DDI/DKI 与体系结构无关,从而允许同一驱动程序在一组不同的计算机体系结构中工作。

平台无关性是通过在以下方面设计 DDI 实现的:

  • 动态装入和卸载模块

  • 电源管理

  • 中断处理

  • 从内核或用户进程访问设备空间,即寄存器映射和内存映射

  • 使用 DMA 服务从设备访问内核或用户进程空间

  • 管理设备属性