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 服务汇总

模块函数

设备信息树节点 (dev_info_t) 函数

设备 (dev_t) 函数

属性函数

设备软件状态函数

内存分配和取消分配函数

内核线程控制和同步函数

任务队列管理函数

中断函数

程控 I/O 函数

直接内存访问 (Direct Memory Access, DMA) 函数

用户空间访问函数

用户进程事件函数

用户进程信息函数

用户应用程序内核和设备访问函数

与时间有关的函数

电源管理函数

故障管理函数

内核统计信息函数

内核日志记录和列显函数

缓存 I/O 函数

虚拟内存函数

设备 ID 函数

SCSI 函数

资源映射管理函数

系统全局状态

实用程序函数

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

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

E.  pci.conf 文件

索引

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

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

直接内存访问 (Direct Memory Access, DMA) 函数

DMA 函数包括:

ddi_dma_alloc_handle()

分配 DMA 句柄

ddi_dma_free_handle()

释放 DMA 句柄

ddi_dma_mem_alloc()

为 DMA 传送操作分配内存

ddi_dma_mem_free()

释放以前分配的 DMA 内存

ddi_dma_addr_bind_handle()

将地址绑定到 DMA 句柄

ddi_dma_buf_bind_handle()

将系统缓冲区绑定到 DMA 句柄

ddi_dma_unbind_handle()

取消绑定 DMA 句柄中的地址

ddi_dma_nextcookie()

检索后续的 DMA cookie

ddi_dma_getwin()

激活新 DMA 窗口

ddi_dma_numwin()

检索 DMA 窗口数

ddi_dma_sync()

同步 CPU 和 I/O 内存视图

ddi_check_dma_handle()

检查 DMA 句柄

ddi_dma_set_sbus64()

允许在 S 总线上进行 64 位传送

ddi_slaveonly()

报告设备是否安装在只允许从属访问的位置

ddi_iomin()

查找 DMA 的最小对齐和传送大小

ddi_dma_burstsizes()

查找 DMA 映射的允许突发大小

ddi_dma_devalign()

查找 DMA 映射对齐和最小传送大小

ddi_dmae_alloc()

获取 DMA 通道

ddi_dmae_release()

释放 DMA 通道

ddi_dmae_getattr()

获取 DMA 引擎属性

ddi_dmae_prog()

对 DMA 通道编程

ddi_dmae_stop()

终止 DMA 引擎操作

ddi_dmae_disable()

禁用 DMA 通道

ddi_dmae_enable()

启用 DMA 通道

ddi_dmae_getcnt()

获取剩余的 DMA 引擎计数

ddi_dmae_1stparty()

配置 DMA 通道层叠模式

ddi_dma_coff()

将 DMA cookie 转换为 DMA 句柄内的偏移

表 B-5 过时的直接内存访问 (Direct Memory Access, DMA) 函数

过时的函数
替代函数
ddi_dma_addr_setup()
ddi_dma_alloc_handle()ddi_dma_addr_bind_handle()
ddi_dma_buf_setup()
ddi_dma_alloc_handle()ddi_dma_buf_bind_handle()
ddi_dma_curwin()
ddi_dma_getwin()
ddi_dma_free()
ddi_dma_free_handle()
ddi_dma_htoc()
ddi_dma_addr_bind_handle()ddi_dma_buf_bind_handle()
ddi_dma_movwin()
ddi_dma_getwin()
ddi_dma_nextseg()
ddi_dma_nextcookie()
ddi_dma_segtocookie()
ddi_dma_nextcookie()
ddi_dma_setup()
ddi_dma_alloc_handle()ddi_dma_addr_bind_handle()ddi_dma_buf_bind_handle()
ddi_dmae_getlim()
ddi_dmae_getattr()
ddi_iopb_alloc()
ddi_dma_mem_alloc()
ddi_iopb_free()
ddi_dma_mem_free()
ddi_mem_alloc()
ddi_dma_mem_alloc()
ddi_mem_free()
ddi_dma_mem_free()
hat_getkpfnum()
ddi_dma_addr_bind_handle()ddi_dma_buf_bind_handle()ddi_dma_nextcookie()