add a comment about this file...
[AROS.git] / arch / arm-native / exec / cachecleare.c
blob4bd4eda955aa3daa61d38902ea0c5f4eabb71cf9
1 /*
2 Copyright © 1995-2013, The AROS Development Team. All rights reserved.
3 $Id$
5 Desc: CacheClearE() - Clear the caches with extended control.
6 Lang: english
7 */
9 #include <aros/config.h>
10 #include <exec/types.h>
11 #include <exec/execbase.h>
12 #include <aros/libcall.h>
14 #include "kernel_syscall.h"
16 #include <proto/exec.h>
18 /* See rom/exec/cachecleare.c for documentation */
20 AROS_LH3(void, CacheClearE,
21 AROS_LHA(APTR, address, A0),
22 AROS_LHA(ULONG, length, D0),
23 AROS_LHA(ULONG, caches, D1),
24 struct ExecBase *, SysBase, 107, Exec)
26 AROS_LIBFUNC_INIT
28 register APTR addr asm("r0") = address;
29 register ULONG len asm("r1") = length;
30 register ULONG c asm ("r2") = caches;
32 asm volatile("swi %0\n\t"::"I"(SC_CACHECLEARE), "r"(addr), "r"(len), "r"(c):"memory","lr");
34 AROS_LIBFUNC_EXIT
35 } /* CacheClearE */