Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ ddi_dma_cookie(9S) — SunOS 5.6

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

pci(4)

sbus(4)

sysbus(4)

vme(4)

ddi_dma_addr_bind_handle(9F)

ddi_dma_buf_bind_handle(9F)

ddi_dma_getwin(9F)

ddi_dma_nextcookie(9F)

ddi_dma_attr(9S)

ddi_dma_cookie(9S)

NAME

ddi_dma_cookie − DMA address cookie

SYNOPSIS

#include <sys/sunddi.h>

INTERFACE LEVEL

Solaris DDI specific (Solaris DDI). 

DESCRIPTION

The ddi_dma_cookie_t structure contains DMA address information required to program a DMA engine.  It is filled in by a call to ddi_dma_getwin(9F), ddi_dma_addr_bind_handle(9F), or ddi_dma_buf_bind_handle(9F) to get device specific DMA transfer information for a DMA request or a DMA window. 

STRUCTURE MEMBERS

uint64_tdmac_laddress;/∗ 64 bit address ∗/
uint32_tdmac_address;/∗ 32 bit address ∗/
size_tdmac_size;/∗ transfer size ∗/
uint_tdmac_type;/∗ bus specific type bits ∗/

dmac_laddress specifies a 64 bit I/O address appropriate for programming the device’s DMA engine. If a device has a 64-bit DMA address register a driver should use this field to program the DMA engine.  dmac_address specifies a 32 bit I/O address.  It should be used for devices which have a 32-bit DMA address register. The I/O address range that the device can address and other DMA attributes have to be specified in a ddi_dma_attr(9S) structure. 

dmac_size describes the length of the transfer in bytes. 

dmac_type contains bus specific type bits (if appropriate). For example, a device on a VME bus will have VME address modifier bits placed here. 

SEE ALSO

pci(4), sbus(4), sysbus(4), vme(4), ddi_dma_addr_bind_handle(9F), ddi_dma_buf_bind_handle(9F), ddi_dma_getwin(9F), ddi_dma_nextcookie(9F), ddi_dma_attr(9S)

Writing Device Drivers

SunOS 5.6  —  Last change: 30 Sep 1996

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026