JavaScript is required to for searching.
跳过导航链接
退出打印视图
编写设备驱动程序     Oracle Solaris 10 1/13 Information Library (简体中文)
search filter icon
search icon

文档信息

前言

第 1 部分针对 Oracle Solaris 平台设计设备驱动程序

1.  Oracle Solaris 设备驱动程序概述

2.  Oracle Solaris 内核和设备树

3.  多线程

4.  属性

5.  管理事件和排队任务

6.  驱动程序自动配置

7.  设备访问:程控 I/O

8.  中断处理程序

9.  直接内存访问 (Direct Memory Access, DMA)

10.  映射设备和内核内存

11.  设备上下文管理

12.  电源管理

13.  强化 Oracle Solaris 驱动程序

14.  分层驱动程序接口 (Layered Driver Interface, LDI)

第 2 部分设计特定种类的设备驱动程序

15.  字符设备驱动程序

16.  块设备驱动程序

17.  SCSI 目标驱动程序

18.  SCSI 主机总线适配器驱动程序

19.  网络设备驱动程序

20.  USB 驱动程序

21.  SR-IOV 驱动程序

第 3 部分生成设备驱动程序

22.  编译、装入、打包和测试驱动程序

驱动程序开发摘要

驱动程序代码布局

头文件

源文件

配置文件

准备安装驱动程序

编译和链接驱动程序

模块相关性

编写硬件配置文件

安装、更新和删除驱动程序

将驱动程序复制到模块目录

使用 add_drv 安装驱动程序

更新驱动程序信息

删除驱动程序

装入和卸载驱动程序

驱动程序打包

软件包安装后

软件包删除前

驱动程序测试条件

配置测试

功能测试

错误处理

测试装入和卸载

压力、性能和互操作性测试

DDI/DKI 兼容性测试

安装和打包测试

测试特定类型驱动程序

磁带驱动程序

磁盘驱动程序

异步通信驱动程序

网络驱动程序

测试 SR-IOV 驱动程序

23.  调试、测试和调优设备驱动程序

24.  推荐的编码方法

第 4 部分附录

A.  硬件概述

B.  Solaris DDI/DKI 服务汇总

C.  使设备驱动程序支持 64 位

D.  控制台帧缓存器驱动程序

E.  pci.conf 文件

索引

驱动程序代码布局

设备驱动程序代码通常分为以下文件:

头文件

头文件提供以下定义:

某些头文件定义(如状态结构)可能只有设备驱动程序才需要。这些信息应该放在设备驱动程序本身所包含的专用头文件中。

应用程序可能需要的任何信息(如 I/O 控制命令)均应放在公共头文件中。这些文件包含在驱动程序和任何需要设备相关信息的应用程序中。

虽然专用文件和公共文件并没有命名标准,但一种约定是将专用头文件命名为 xximpl.h,将公共头文件命名为 xxio.h

源文件

设备驱动程序的 C 源文件 (.c 文件)具有以下职责:

配置文件

一般来说,驱动程序的配置文件定义驱动程序需要的所有属性。驱动程序配置文件中的项指定了驱动程序可以探测其存在情况的可能设备实例。可以在驱动程序的配置文件中设置驱动程序的全局属性。有关更多信息,请参见 driver.conf(4) 手册页。

驱动程序配置文件对于非自标识设备是必需的。

驱动程序配置文件对于自标识设备 (self-identifying device, SID) 是可选的。对于自标识设备,配置文件可用于向 SID 节点中添加属性。

以下属性是在驱动程序配置文件中设置的属性示例: