2 Copyright © 1995-2001, The AROS Development Team. All rights reserved.
6 #include "aros/m68k/asm.h"
11 .globl AROS_SLIB_ENTRY(CacheClearE_00,Exec,107)
12 .type AROS_SLIB_ENTRY(CacheClearE_00,Exec,107),@function
13 AROS_SLIB_ENTRY(CacheClearE_00,Exec,107):
21 .globl AROS_SLIB_ENTRY(CacheClearE_20,Exec,107)
22 .type AROS_SLIB_ENTRY(CacheClearE_20,Exec,107),@function
23 AROS_SLIB_ENTRY(CacheClearE_20,Exec,107):
30 lea.l cacheclearesup_20,%a5
36 or.w #0x0700,%sr /* Disable interrupts so cacr can not be influenced
37 while we clear the caches */
42 move.l %a1,%a5 /* Restore a5 */
43 rte /* This rte will restore the SR from the stack */
47 .globl AROS_SLIB_ENTRY(CacheClearE_4060,Exec,107)
48 .type AROS_SLIB_ENTRY(CacheClearE_4060,Exec,107),@function
49 AROS_SLIB_ENTRY(CacheClearE_4060,Exec,107):
56 lea cacheclearesup_4060,%a5
59 /* CACRF_ClearI = flush both caches (new code may still be only in data cache)
60 * CACRF_ClearD = flush data cache only
65 #if CACHEFULLFLUSH == 0
66 /* just flush whole cache if region is big enough */
75 /* CACRF_ClearI set? */
95 /* flush whole cache: data only or both */
96 /* CACRF_ClearI set? */
109 movem.l %d0-%d1/%a0-%a1,-(%sp)
116 movem.l (%sp)+,%d0-%d1/%a0-%a1
119 .string "CE(%08x,%08x,%08x)\n"