Bringing flexcat 2.15 into the main branch (again)
[AROS.git] / arch / .unmaintained / dummy / cachepredma.c
blobbe56cfe2722d3f546451779322b1b118b86310ed
1 |*****************************************************************************
3 | NAME
5 | __AROS_LH3(APTR, CachePreDMA,
7 | SYNOPSIS
8 | __AROS_LA(APTR, address, A0),
9 | __AROS_LA(ULONG *, length, A1),
10 | __AROS_LA(ULONG, flags, D0),
12 | LOCATION
13 | struct ExecBase *, SysBase, 127, Exec)
15 | FUNCTION
16 | Do everything necessary to make CPU caches aware that a DMA will happen.
17 | Virtual memory systems will make it possible that your memory isn't at
18 | one block and not at the address you thought. This function gives you
19 | all the information you need to split the DMA request up and to convert
20 | virtual to physical addresses.
22 | INPUTS
23 | address - Virtual address of memory affected by the DMA
24 | *length - Number of bytes affected
25 | flags - DMA_Continue - This is a call to continue a request that
26 | was broken up.
27 | DMA_ReadFromRAM - Indicate that the DMA goes from RAM
28 | to the device. Set this bit in bot calls.
30 | RESULT
31 | The physical address in memory.
32 | *length contains the number of contiguous bytes in physical memory.
34 | NOTES
35 | DMA must follow a call to CachePreDMA() and must be followed
36 | by a call to CachePostDMA().
38 | EXAMPLE
40 | BUGS
42 | SEE ALSO
43 | CachePostDMA()
45 | INTERNALS
47 | HISTORY
49 |******************************************************************************
51 | Simple 68000s have no chaches
52 .globl _Exec_CachePreDMA
53 _Exec_CachePreDMA:
54 rts