编写适用于 Oracle® Solaris 11.2 的设备驱动程序

退出打印视图

更新时间: 2014 年 9 月
 
 

重复使用包

目标驱动程序可以采用以下方式重复使用包:

  • 重新提交未更改的包。

  • 使用 scsi_sync_pkt(9F) 同步数据。然后,处理驱动程序中的数据。最后,重新提交包。

  • 使用 scsi_dmafree(9F) 释放 DMA 资源,然后将 pkt 指针传递给 scsi_init_pkt(9F) 以绑定到新的 bp。目标驱动程序负责重新初始化包。该 CDB 的长度必须与上一个 CDB 的长度相同。

  • 如果首次调用 scsi_init_pkt(9F) 时仅分配了部分 DMA,则以后可以针对同一个包调用 scsi_init_pkt(9F)。同样,可以调用 bp 以调整下一个传输部分的 DMA 资源。