第 1 部分针对 Oracle Solaris 平台设计设备驱动程序
9. 直接内存访问 (Direct Memory Access, DMA)
14. 分层驱动程序接口 (Layered Driver Interface, LDI)
B. Oracle Solaris DDI/DKI 服务汇总
程控 I/O 函数包括:
返回设备的寄存器集数
返回设备寄存器的大小
为寄存器地址空间设置映射
释放以前映射的寄存器地址空间
在设备寄存器之间复制数据
零填充设备
检查数据访问句柄
从映射的内存、设备寄存器或 DMA 内存中读取一个 8 位数据
从映射的内存、设备寄存器或 DMA 内存中读取一个 16 位数据
从映射的内存、设备寄存器或 DMA 内存中读取一个 32 位数据
从映射的内存、设备寄存器或 DMA 内存中读取一个 64 位数据
向映射的内存、设备寄存器或 DMA 内存中写入一个 8 位数据
向映射的内存、设备寄存器或 DMA 内存中写入一个 16 位数据
向映射的内存、设备寄存器或 DMA 内存中写入一个 32 位数据
向映射的内存、设备寄存器或 DMA 内存中写入一个 64 位数据
从映射的内存、设备寄存器或 DMA 内存中读取多个 8 位数据
从映射的内存、设备寄存器或 DMA 内存中读取多个 16 位数据
从映射的内存、设备寄存器或 DMA 内存中读取多个 32 位数据
从映射的内存、设备寄存器或 DMA 内存中读取多个 64 位数据
向映射的内存、设备寄存器或 DMA 内存中写入多个 8 位数据
向映射的内存、设备寄存器或 DMA 内存中写入多个 16 位数据
向映射的内存、设备寄存器或 DMA 内存中写入多个 32 位数据
向映射的内存、设备寄存器或 DMA 内存中写入多个 64 位数据
从某一位置慎重读取一个 8 位的值
从某一位置慎重读取一个 16 位的值
从某一位置慎重读取一个 32 位的值
从某一位置慎重读取一个 64 位的值
向某一位置慎重写入一个 8 位的值
向某一位置慎重写入一个 16 位的值
向某一位置慎重写入一个 32 位的值
向某一位置慎重写入一个 64 位的值
可以始终使用上面列出的一般程控 I/O 函数,而不必使用下面的 mem、io 和 pci_config 函数。但如果编译时已知访问类型,以下函数可作为备用函数。
从 I/O 空间的映射设备寄存器中读取一个 8 位数据
从 I/O 空间的映射设备寄存器中读取一个 16 位数据
从 I/O 空间的映射设备寄存器中读取一个 32 位数据
向 I/O 空间的映射设备寄存器中写入一个 8 位数据
向 I/O 空间的映射设备寄存器中写入一个 16 位数据
向 I/O 空间的映射设备寄存器中写入一个 32 位数据
从 I/O 空间的映射设备寄存器中读取多个 8 位数据
从 I/O 空间的映射设备寄存器中读取多个 16 位数据
从 I/O 空间的映射设备寄存器中读取多个 32 位数据
向 I/O 空间的映射设备寄存器中写入多个 8 位数据
向 I/O 空间的映射设备寄存器中写入多个 16 位数据
向 I/O 空间的映射设备寄存器中写入多个 32 位数据
从内存空间的映射设备或 DMA 内存中读取一个 8 位数据
从内存空间的映射设备或 DMA 内存中读取一个 16 位数据
从内存空间的映射设备或 DMA 内存中读取一个 32 位数据
从内存空间的映射设备或 DMA 内存中读取一个 64 位数据
向内存空间的映射设备或 DMA 内存中写入一个 8 位数据
向内存空间的映射设备或 DMA 内存中写入一个 16 位数据
向内存空间的映射设备或 DMA 内存中写入一个 32 位数据
向内存空间的映射设备或 DMA 内存中写入一个 64 位数据
从内存空间的映射设备或 DMA 内存中读取多个 8 位数据
从内存空间的映射设备或 DMA 内存中读取多个 16 位数据
从内存空间的映射设备或 DMA 内存中读取多个 32 位数据
从内存空间的映射设备或 DMA 内存中读取多个 64 位数据
向内存空间的映射设备或 DMA 内存中写入多个 8 位数据
向内存空间的映射设备或 DMA 内存中写入多个 16 位数据
向内存空间的映射设备或 DMA 内存中写入多个 32 位数据
向内存空间的映射设备或 DMA 内存中写入多个 64 位数据
设置对 PCI 本地总线配置空间的访问
销毁对 PCI 本地总线配置空间的访问
从 PCI 本地总线配置空间中读取一个 8 位数据
从 PCI 本地总线配置空间中读取一个 16 位数据
从 PCI 本地总线配置空间中读取一个 32 位数据
从 PCI 本地总线配置空间中读取一个 64 位数据
向 PCI 本地总线配置空间中写入一个 8 位数据
向 PCI 本地总线配置空间中写入一个 16 位数据
向 PCI 本地总线配置空间中写入一个 32 位数据
向 PCI 本地总线配置空间中写入一个 64 位数据
表 B-4 过时的程控 I/O 函数
|