Do everything necessary to make CPU caches aware that a DMA will happen. Virtual memory systems will make it possible that your memory is not at one block and not at the address you thought. This function gives you all the information you need to split the DMA request up and to convert virtual to physical addresses.
INPUTS
address
Virtual address of memory affected by the DMA
length
Number of bytes affected
flags
DMA_Continue - This is a call to continue a request that was broken up.
DMA_ReadFromRAM
Indicate that the DMA goes from RAM to the device. Set this bit in both calls.
RESULT
The physical address in memory. *length contains the number of contiguous bytes in physical memory.
EXAMPLE
SEE ALSO
CachePostDMA()
NOTES
DMA must follow a call to CachePreDMA() and must be followed by a call to CachePostDMA().
BUGS
INTERNALS
This function should be replaced by a function in $(KERNEL).
HISTORY
23.10.1998 hkiel
Changes for use with aros_print_not_implemented() macro
20.10.1998 hkiel
Amiga Research OS
31.08.1998 hkiel
Added #warning for functions which are TODO
05.08.1997 iaint
Kernel Changes - These are mostly functions which are normally implemented by the kernel, but might not be.