35 lines
1.1 KiB
Plaintext
35 lines
1.1 KiB
Plaintext
.TH dma_map D3X
|
|
.SH NAME
|
|
\f4dma_map\f1 \- load DMA mapping registers for an imminent transfer
|
|
.SH SYNOPSIS
|
|
.nf
|
|
\f4#include "sys/types.h"
|
|
#include "sys/sema.h"
|
|
#include "sys/dmamap.h"
|
|
.sp .8v
|
|
int dma_map(dmamap_t *\f1\f2dmamap\f1\f4,\c
|
|
caddr_t \f1\f2kernel_vaddr\f1\f4, int \f1\f2num_bytes\f1\f4);\f1
|
|
.fi
|
|
.SH DESCRIPTION
|
|
\f4dma_map\f1 attempts to map \f2num_bytes\f1 of main memory
|
|
starting at the kernel virtual address \f2kernel_vaddr\f1,
|
|
using the previously allocated DMA map \f2dmamap\f1.
|
|
\f4dma_map\f1 determines the actual physical memory locations
|
|
for the given address and range and loads them into the mapping
|
|
registers corresponding to the map.
|
|
These mapping registers remain undisturbed until another
|
|
call to \f4dma_map\f1.
|
|
.SS "Return Values"
|
|
\f4dma_map\f1 returns the actual number of bytes mapped.
|
|
This number may be less than that requested if the
|
|
number of map registers required exceeds the size
|
|
of the given DMA map.
|
|
.PP
|
|
0 is returned if the arguments are invalid,
|
|
for instance, if a \f2kernel_vaddr\f1 is not word aligned.
|
|
.SS "See Also"
|
|
dma_mapaddr(D3X),
|
|
dma_mapalloc(D3X),
|
|
dma_mapfree(D3X),
|
|
vme_adapter(D3X).
|