2 Copyright © 1995-2013, The AROS Development Team. All rights reserved.
5 Desc: CacheClearE() - Clear the caches with extended control.
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
)
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");