Writing Device Drivers

ISA Bus Example

A DMA engine on an ISA bus in an IA machine has the following attributes:

The resulting attribute structure is:

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 xfer size */
    0x000FFFFF,       /* address register max */
    17,               /* scatter-gather */
    512,              /* device operates on sectors */
    0,                /* attr flag: set to 0 */
};