Home  /  Autodocs  /  exec.library

NAME

CachePostDMA
Take actions after to hardware DMA (V37)

SYNOPSIS

CachePostDMA(vaddress,&length,flags)
A0 A1 D0

CachePostDMA(APTR,LONG *,ULONG);

FUNCTION

Take all appropriate steps after Direct Memory Access (DMA). This function is primarily intended for writers of DMA device drivers. The action will depend on the CPU type installed, caching modes, and the state of any Memory Management Unit (MMU) activity.

As implemented
68000 - Do nothing
68010 - Do nothing
68020 - Do nothing
68030 - Flush the data cache
68040 - Flush matching areas of the data cache
????? - External cache boards, Virtual Memory Systems, or
future hardware may patch this vector to best emulate
the intended behavior.
With a Bus-Snooping CPU, this function my end up
doing nothing.

INPUTS

address
Same as initially passed to CachePreDMA

length
Same as initially passed to CachePreDMA

flags
Values: DMA_NoModify - If the area was not modified (and

thus there is no reason to flush the cache) set this bit.

DMA_ReadFromRAM
Indicates that this DMA is a read from RAM to the DMA device (ie - a write to the hard drive) This flag is not required but if used must match in both the PreDMA and PostDMA calls. This flag *should* be used to help the system provide the best performance. This flag is safe in all versions of CachePostDMA()

SEE ALSO

"exec/execbase.i", <exec/execbase.h>, CachePreDMA(), CacheClearU(), CacheClearE()