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

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

24.  推荐的编码方法

第 4 部分附录

A.  硬件概述

B.  Oracle Solaris DDI/DKI 服务汇总

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

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

E.  pci.conf 文件

索引

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

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

前言

编写设备驱动程序》提供有关为面向字符的设备、面向块的设备、网络设备、SCSI 目标和 HBA 设备以及 USB 设备开发 Oracle Solaris 操作系统 (Oracle Solaris Operating System, Oracle Solaris OS) 驱动程序的信息。本书讨论了如何为符合 Oracle 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#