2 Copyright © 1995-2013, The AROS Development Team. All rights reserved.
5 Desc: CachePreDMA() - Do what is necessary for DMA.
11 #include <aros/debug.h>
12 #include <exec/types.h>
13 #include <aros/libcall.h>
15 #include "exec_intern.h"
17 #include <proto/exec.h>
18 #include <proto/kernel.h>
20 /* See rom/exec/cachepredma.c for documentation */
22 AROS_LH3(APTR
, CachePreDMA
,
23 AROS_LHA(APTR
, address
, A0
),
24 AROS_LHA(ULONG
*, length
, A1
),
25 AROS_LHA(ULONG
, flags
, D0
),
26 struct ExecBase
*, SysBase
, 127, Exec
)
30 void *addr
= KrnVirtualToPhysical(address
);
32 /* At PreDMA stage only data caches need to be flushed */
33 //if (flags & DMA_ReadFromRAM)
35 CacheClearE(address
, *length
, CACRF_ClearD
);