在 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 */ };