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.  编译、装入、打包和测试驱动程序

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

24.  推荐的编码方法

第 4 部分附录

A.  硬件概述

B.  Solaris DDI/DKI 服务汇总

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

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

E.  pci.conf 文件

索引

前言

编写设备驱动程序》提供了有关为 Oracle Solaris 操作系统 (Oracle Solaris Operating System, Oracle Solaris OS) 开发适用于面向字符的设备、面向块的设备、网络设备、SCSI 目标和 HBA 设备以及 USB 设备的驱动程序的相关信息。本书讨论了如何为符合 Solaris OS DDI/DKI(Device Driver Interface/Driver-Kernel Interface,设备驱动程序接口/驱动程序内核接口)的所有体系结构开发多线程可重入设备驱动程序。介绍了一种常用的驱动程序编写方法,该方法允许在编写驱动程序时忽略特定于平台的问题,如字节存储顺序 (endianness) 和数据排序等。

其他主题包括:强化 Oracle Solaris 驱动程序;电源管理;驱动程序自动配置;程控 I/O;直接内存访问 (Direct Memory Access, DMA);设备上下文管理;编译、安装和测试驱动程序;调试驱动程序以及将 Oracle Solaris 驱动程序移植到 64 位环境。


注 - 此 Oracle Solaris 发行版支持使用 SPARC 和 x86 系列处理器体系结构的系统。支持的系统可以在《Oracle Solaris OS: Hardware Compatibility Lists》(《Oracle Solaris OS:硬件兼容性列表》)中找到。本文档列举了在不同类型的平台上进行实现时的所有差别。

在本文档中,这些与 x86 相关的术语表示以下含义:

有关支持的系统,请参见Oracle Solaris OS: Hardware Compatibility Lists(《Oracle Solaris OS:硬件兼容性列表》)。


目标读者

本书是为熟悉 UNIX 设备驱动程序的 UNIX 程序员编写的。虽然本书提供了概述信息,但编写本书的目的不是为了将其作为设备驱动程序的通用教程。


注 - Oracle Solaris 操作系统 (Oracle Solaris Operating System, Oracle Solaris OS) 既可在 SPARC 体系结构也可在 x86 体系结构中运行。而且,Oracle Solaris OS 既可在 64 位地址空间也可在 32 位地址空间中运行。除非特别说明,否则本文档中的信息适用于所有的平台和地址空间。


本书的结构

本书分为以下各章:

相关书籍和文章

有关设备驱动程序接口的详细参考信息,请参见手册页第 9 节。第 9E 节 Intro(9E) 介绍 DDI/DKI(Device Driver Interface/Driver-Kernel Interface,设备驱动程序接口/驱动程序内核接口)驱动程序入口点。第 9F 节 Intro(9F) 介绍 DDI/DKI 内核函数。第 9P 节和 9S 节 Intro(9S) 介绍 DDI/DKI 属性和数据结构。

有关硬件以及其他与驱动程序相关问题的信息,请参见以下书籍:

以下书籍也可能有用:

获取 Oracle 支持

Oracle 客户可以通过 My Oracle Support 获取电子支持。有关信息,请访问 http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info,或访问 http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs(如果您听力受损)。

印刷约定

下表介绍了本书中的印刷约定。

表 P-1 印刷约定

字体或符号
含义
示例
AaBbCc123
命令、文件和目录的名称;计算机屏幕输出
编辑 .login 文件。

使用 ls -a 列出所有文件。

machine_name% you have mail.

AaBbCc123
用户键入的内容,与计算机屏幕输出的显示不同
machine_name% su

Password:

aabbcc123
要使用实名或值替换的命令行占位符
删除文件的命令为 rm filename
AaBbCc123
保留未译的新词或术语以及要强调的词
这些称为 Class 选项。

注意:有些强调的项目在联机时以粗体显示。

新词术语强调
新词或术语以及要强调的词
高速缓存是存储在本地的副本。

保存文件。

《书名》
书名
阅读《用户指南》的第 6 章。

命令中的 shell 提示符示例

下表显示了 Oracle Solaris OS 中包含的缺省 UNIX shell 系统提示符和超级用户提示符。请注意,在命令示例中显示的缺省系统提示符可能会有所不同,具体取决于 Oracle Solaris 发行版。

表 P-2 shell 提示符

shell
提示符
Bash shell、Korn shell 和 Bourne shell
$
Bash shell、Korn shell 和 Bourne shell 超级用户
#
C shell
machine_name%
C shell 超级用户
machine_name#