编写设备驱动程序

DMA 模型

Solaris 设备驱动程序接口/驱动程序内核接口 (Device Driver Interface/Driver-Kernel Interface, DDI/DKI) 为 DMA 提供了独立于体系结构的高级别模型。通过此模型,框架(即 DMA 例程)可以隐藏此类体系结构特定的详细信息,例如:

DDI/DKI 中使用了若干个抽象术语来描述 DMA 事务的各个方面:

设备驱动程序不会直接将对象映射到内存中,而是为内存对象分配 DMA 资源。然后,DMA 例程将执行为 DMA 访问设置对象时所需的任何特定于平台的操作。驱动程序将收到一个 DMA 句柄,用于标识为该对象分配的 DMA 资源。此句柄对于设备驱动程序而言是不透明的。驱动程序必须保存句柄并在后续调用中将其传递给 DMA 例程。驱动程序不应以任何方式解释句柄。

针对 DMA 句柄定义的操作可提供以下服务: