grub2: bring back build of aros-side grub2 tools
[AROS.git] / rom / exec / cachecontrol.c
blob9b4eaf1fe1b31719ef2b89620304007053e91665
1 /*
2 Copyright © 1995-2001, The AROS Development Team. All rights reserved.
3 $Id$
5 Desc: CacheControl() - Global control of the system caches.
6 Lang: english
7 */
9 #include <aros/debug.h>
10 #include <exec/types.h>
11 #include <exec/execbase.h>
12 #include <aros/libcall.h>
14 /*****************************************************************************
16 NAME */
17 #include <proto/exec.h>
19 AROS_LH2(ULONG, CacheControl,
21 /* SYNOPSIS */
22 AROS_LHA(ULONG, cacheBits, D0),
23 AROS_LHA(ULONG, cacheMask, D1),
25 /* LOCATION */
26 struct ExecBase *, SysBase, 108, Exec)
28 /* FUNCTION
29 This function will provide global control of all the processor
30 instruction and data caches. It is not possible to have per
31 task control.
33 The actions undertaken by this function are very CPU dependant,
34 however the actions performed will match the specified options
35 as close as is possible.
37 The commands currently defined in the include file exec/execbase.h
38 are closely related to the cache control register of the Motorola
39 MC68030 CPU.
41 INPUTS
42 cacheBits - The new state of the bits
43 cacheMask - A mask of the bits you wish to change.
45 RESULT
46 oldBits - The complete value of the cache control bits
47 prior to the call of this function.
49 Your requested actions will have been performed. As a side effect
50 this function will also cause the caches to be cleared.
52 NOTES
53 On CPU's without a separate instruction and data cache, these will
54 be considered as equal.
56 This function isn't implemented on all platforms.
58 EXAMPLE
60 BUGS
62 SEE ALSO
63 CacheClearE(), CacheClearU()
65 INTERNALS
66 This function requires replacing in $(KERNEL), or possibly
67 even $(ARCH) in some cases.
69 ******************************************************************************/
71 AROS_LIBFUNC_INIT
73 /* I don't go strict if this function is used, because it is not
74 required for a correctly operating system (ouch bad choice of
75 words). Only complain if the function is used.
77 /* TODO: Write exec/CacheControl() */
78 aros_print_not_implemented("CacheControl");
79 return 0;
81 AROS_LIBFUNC_EXIT
82 } /* CacheControl */