Chameleon

Chameleon Svn Source Tree

Root/tags/2.0/i386/include/libkern/OSCacheControl.h

Source at commit 1808 created 12 years 4 months ago.
By blackosx, Revise layout of package installer 'Welcome' file so it looks cleaner. Change the copyright notice to begin from 2009 as seen in the Chameleon 2.0 r431 installer. Should this date be set earlier?
1/*
2 * Copyright (c) 2006 Apple Computer, Inc. All rights reserved.
3 *
4 * @APPLE_LICENSE_HEADER_START@
5 *
6 * This file contains Original Code and/or Modifications of Original Code
7 * as defined in and that are subject to the Apple Public Source License
8 * Version 2.0 (the 'License'). You may not use this file except in
9 * compliance with the License. Please obtain a copy of the License at
10 * http://www.opensource.apple.com/apsl/ and read it before using this
11 * file.
12 *
13 * The Original Code and all software distributed under the License are
14 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
15 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
16 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
17 * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
18 * Please see the License for the specific language governing rights and
19 * limitations under the License.
20 *
21 * @APPLE_LICENSE_HEADER_END@
22 */
23
24#ifndef _OS_CACHE_CONTROL_H_
25#define _OS_CACHE_CONTROL_H_
26
27#include <stddef.h>
28#include <sys/cdefs.h>
29#include <stdint.h>
30
31__BEGIN_DECLS
32
33
34/* Functions performed by sys_cache_control(): */
35
36/* Prepare memory for execution. This should be called
37 * after writing machine instructions to memory, before
38 * executing them. It syncs the dcache and icache.
39 * On IA32 processors this function is a NOP, because
40 * no synchronization is required.
41 */
42#definekCacheFunctionPrepareForExecution1
43
44/* Flush data cache(s). This ensures that cached data
45 * makes it all the way out to DRAM, and then removes
46 * copies of the data from all processor caches.
47 * It can be useful when dealing with cache incoherent
48 * devices or DMA.
49 */
50#definekCacheFunctionFlushDcache2
51
52
53/* perform one of the above cache functions: */
54intsys_cache_control( int function, void *start, size_t len);
55
56/* equivalent to sys_cache_control(kCacheFunctionPrepareForExecution): */
57voidsys_icache_invalidate( void *start, size_t len);
58
59/* equivalent to sys_cache_control(kCacheFunctionFlushDcache): */
60voidsys_dcache_flush( void *start, size_t len);
61
62
63__END_DECLS
64
65#endif /* _OS_CACHE_CONTROL_H_ */
66

Archive Download this file

Revision: 1808