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.  硬件概述

SPARC 处理器问题

SPARC 数据对齐

SPARC 结构中的成员对齐

SPARC 字节排序

SPARC 寄存器窗口

SPARC 乘法和除法指令

x86 处理器问题

x86 字节排序

x86 体系结构手册

字节存储顺序

存储缓冲区

系统内存模型

全存储排序 (Total Store Ordering, TSO)

部分存储排序 (Partial Store Ordering, PSO)

总线体系结构

设备标识

支持的中断类型

总线特定信息

PCI 局部总线

PCI 地址域

PCI 配置地址空间

PCI 配置基址寄存器

PCI 内存地址空间

PCI I/O 地址空间

PCI 硬件配置文件

PCI Express

S 总线

S 总线物理地址空间

物理 S 总线地址

S 总线硬件配置文件

设备问题

时间关键型部分

延迟

内部顺序逻辑

中断问题

SPARC 计算机上的 PROM

Open Boot PROM 3

Forth 命令

遍历 PROM 设备树

映射设备

读取和写入

B.  Oracle Solaris DDI/DKI 服务汇总

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

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

E.  pci.conf 文件

索引

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

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

字节存储顺序

为了实现多平台、多指令集体系结构可移植性的目标,驱动程序中删除了主机总线的相关组件。要解决的第一个相关性问题是处理器的字节存储顺序,即字节排序。例如, x86 处理器系列采用小尾数法,而 SPARC 体系结构采用大尾数法。

总线体系结构显示了与处理器相同类型的字节存储顺序。例如,PCI 局部总线采用小尾数法,S 总线采用大尾数法,ISA 总线采用小尾数法等。

为保持处理器与总线之间的可移植性,符合 DDI 标准的驱动程序不得采用任何端字节序。虽然驱动程序可以通过运行时检查或源代码中的预处理程序指令(如 #ifdef _LITTLE_ENDIAN)管理其字节存储顺序,但是长期维护可能会有问题。在某些情况下,DDI 框架会使用软件方法来执行字节交换。在另外一些情况下,可以像内存管理单元 (memory management unit, MMU) 中那样通过硬件页级交换来执行字节交换,也可通过特殊计算机指令来执行字节交换。DDI 框架可以利用这些硬件功能来提高性能。

图 A-1 主机总线相关性所需的字节排序

image:图中显示反向字节存储顺序的字节交换。

除了不采用任何端字节排序之外,可移植驱动程序还必须独立于处理器的数据排序。在大多数情况下,必须按照驱动程序指示的顺序进行数据传送。但是,有时可以通过合并、批处理或者重新排列数据来简化数据传送,如下图中所示。例如,可以将数据合并应用于加速帧缓存器上的图形显示。驱动程序可以选择建议 DDI 框架在数据传送过程中使用其他最优传送机制。

图 A-2 数据排序主机总线相关性

image:图中显示通过 CPU 重新排列字节。