文档信息
前言
第 1 部分针对 Oracle Solaris 平台设计设备驱动程序
1. Oracle Solaris 设备驱动程序概述
2. Oracle Solaris 内核和设备树
3. 多线程
4. 属性
5. 管理事件和排队任务
6. 驱动程序自动配置
驱动程序的装入和卸载
驱动程序必需的数据结构
modlinkage 结构
modldrv 结构
dev_ops 结构
cb_ops 结构
可装入驱动程序接口
_init() 示例
_fini() 示例
_info() 示例
设备配置概念
设备实例和实例编号
次要节点和次要设备号
probe() 入口点
attach() 入口点
驱动程序软状态管理
锁变量和条件变量的初始化
创建从设备节点
延迟连接
detach() 入口点
getinfo() 入口点
使用设备 ID
注册设备 ID
注册设备提供的 ID
注册虚构 ID
注销设备 ID
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. 编译、装入、打包和测试驱动程序
23. 调试、测试和调优设备驱动程序
24. 推荐的编码方法
第 4 部分附录
A. 硬件概述
B. Solaris DDI/DKI 服务汇总
C. 使设备驱动程序支持 64 位
D. 控制台帧缓存器驱动程序
E. pci.conf 文件
索引
自动配置表示驱动程序会将代码和静态数据装入内存中。随后在系统中注册此信息。在自动配置过程中还会连接由驱动程序控制的各个设备实例。
本章介绍有关以下主题的信息: