在 x86 计算机中,ISA 总线上的 DMA 引擎具有以下特性:
仅访问前 16 MB 内存
在一次 DMA 传送中不能跨越 1 MB 的边界
16 位计数器寄存器
可处理按字节对齐的传送
支持 1 字节、2 字节和 4 字节突发流量大小
最小有效传送大小为 1 字节
最多可以支持 17 个分散/集中传送
仅对扇区执行操作,例如磁盘
在 x86 计算机中,ISA 总线上的 DMA 引擎具有以下特性结构:
static ddi_dma_attr_t attributes = {
DMA_ATTR_V0, /* Version number */
0x00000000, /* low address */
0x00FFFFFF, /* high address */
0xFFFF, /* counter register max */
1, /* byte alignment */
0x7, /* burst sizes */
0x1, /* minimum transfer size */
0xFFFFFFFF, /* max transfer size */
0x000FFFFF, /* address register max */
17, /* scatter-gather */
512, /* device operates on sectors */
0, /* attr flag: set to 0 */
};