JavaScript is required to for searching.
跳过导航链接
退出打印视图
编写设备驱动程序     Oracle Solaris 11.1 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.  Oracle Solaris DDI/DKI 服务汇总

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

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

E.  pci.conf 文件

索引

请告诉我们如何提高我们的文档:
过于简略
不易阅读或难以理解
重要信息缺失
错误的内容
需要翻译的版本
其他
Your rating has been updated
感谢您的反馈!

您的反馈将非常有助于我们提供更好的文档。 您是否愿意参与我们的内容改进并提供进一步的意见?

装入和卸载驱动程序

打开与设备驱动程序关联的特殊文件(访问该设备)即可装入该驱动程序。您可以使用 modload(1M) 命令将驱动程序装入内存,但 modload 不会调用模块中的任何例程。 首选方法是打开设备。

通常,当不再使用设备时,系统会自动卸载设备驱动程序。在开发过程中,要显式卸载驱动程序,可能需要使用 modunload(1M)。为了成功执行 modunload,设备驱动程序必须处于非活 动状态。对设备的任何未完成引用(如通过 open(2)mmap(2) 的引用)均不应存在。

modunload 命令将与运行时相关的 module_id 用作参数。要查找 module_id,请使用 grepmodinfo(1M) 的输出中搜索相关的驱动程序名称。然后检查第一列。

# modunload -i module-id

要卸载当前无法装入的所有模块,请将模块 ID 指定为零:

# modunload -i 0

要成功执行 modunload(1M),驱动程序除了需要处于非活动状态外,还必须包含正常的 detach(9E)_fini(9E) 例程。