第 1 部分针对 Oracle Solaris 平台设计设备驱动程序
9. 直接内存访问 (Direct Memory Access, DMA)
14. 分层驱动程序接口 (Layered Driver Interface, LDI)
B. Oracle Solaris DDI/DKI 服务汇总
rmallocmap() 和 rmallocmap_wait() 参数更改
scsi_alloc_consistent_buf() 参数更改
许多 ioctl(9E) 操作对一类设备驱动程序通用。例如,大多数磁盘驱动程序实现 dkio(7I) 系列的众多 ioctls。这些接口中有许多将数据结构复制到内核中,或从内核中复制出数据结构,在 LP64 数据模型中这些数据结构的一部分已更改了大小。下节列出了对于 dkio、fbio(7I)、cdio(7I) 和 mtio(7I) 系列的 ioctls,现在需要在 64 位驱动程序 ioctl 例程中进行显式转换的 ioctls。
|
nblocks 属性按块设备驱动程序的每一分片导出。此属性包含 512 字节块的数量,设备的每一分片都支持这些块。nblocks 属性被定义为带符号的 32 位量,这就将分片的最大大小限制为 1 TB。
每个磁盘提供 1 TB 以上存储空间的磁盘设备必须定义 Nblocks 属性,该属性仍应包含设备可支持的 512 字节块的数量。但是,Nblocks 是带符号的 64 位量,它消除了对磁盘空间的任何实际限制。
nblocks 属性现在已过时。所有磁盘设备都应提供 Nblocks 属性。