2 * Copyright (c) 2000 Apple Computer, Inc. All rights reserved.
4 * @APPLE_LICENSE_HEADER_START@
6 * The contents of this file constitute Original Code as defined in and
7 * are subject to the Apple Public Source License Version 1.1 (the
8 * "License"). You may not use this file except in compliance with the
9 * License. Please obtain a copy of the License at
10 * http://www.apple.com/publicsource and read it before using this file.
12 * This Original Code and all software distributed under the License are
13 * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
14 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
15 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
16 * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the
17 * License for the specific language governing rights and limitations
20 * @APPLE_LICENSE_HEADER_END@
28 * Revision 1.1.1.1 1998/09/22 21:05:31 wsanchez
29 * Import of Mac OS X kernel (~semeria)
31 * Revision 1.1.1.1 1998/03/07 02:25:46 wsanchez
32 * Import of OSF Mach kernel (~mburg)
34 * Revision 1.2.9.2 1998/02/02 09:22:22 gdt
35 * Add new function "MATTR_VAL_GET_INFO" to get shared/resident information
36 * about a page. This lets Linux display better statistics (e.g. 'top').
37 * [1998/02/02 09:21:30 gdt]
39 * Revision 1.2.9.1 1997/09/12 17:16:06 stephen
40 * Add new MATTR_VAL_CACHE_SYNC which
41 * syncs I+D caches without necessarily
43 * [1997/09/12 16:32:45 stephen]
45 * Revision 1.2.6.1 1994/09/23 02:43:58 ezf
46 * change marker to not FREE
47 * [1994/09/22 21:43:31 ezf]
49 * Revision 1.2.2.2 1993/06/09 02:44:08 gm
50 * Added to OSF/1 R1.3 from NMK15.0.
51 * [1993/06/02 21:18:41 jeffc]
53 * Revision 1.2 1993/04/19 16:40:21 devrcs
54 * ansi C conformance changes
55 * [1993/02/02 18:55:22 david]
57 * Revision 1.1 1992/09/30 02:32:22 robert
64 * Revision 2.4 91/05/14 17:02:37 mrt
65 * Correcting copyright
67 * Revision 2.3 91/02/05 17:37:24 mrt
68 * Changed to new Mach copyright
69 * [91/02/01 17:22:17 mrt]
71 * Revision 2.2 90/01/22 23:05:53 af
79 * Mach Operating System
80 * Copyright (c) 1991,1990,1989,1988,1987 Carnegie Mellon University
81 * All Rights Reserved.
83 * Permission to use, copy, modify and distribute this software and its
84 * documentation is hereby granted, provided that both the copyright
85 * notice and this permission notice appear in all copies of the
86 * software, derivative works or modified versions, and any portions
87 * thereof, and that both notices appear in supporting documentation.
89 * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
90 * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR
91 * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
93 * Carnegie Mellon requests users of this software to return to
95 * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU
96 * School of Computer Science
97 * Carnegie Mellon University
98 * Pittsburgh PA 15213-3890
100 * any improvements or extensions that they make and grant Carnegie Mellon
101 * the rights to redistribute these changes.
106 * File: mach/vm_attributes.h
107 * Author: Alessandro Forin
109 * Virtual memory attributes definitions.
111 * These definitions are in addition to the machine-independent
112 * ones (e.g. protection), and are only selectively supported
113 * on specific machine architectures.
117 #ifndef VM_ATTRIBUTES_H_
118 #define VM_ATTRIBUTES_H_
121 * Types of machine-dependent attributes
123 typedef unsigned int vm_machine_attribute_t
;
125 #define MATTR_CACHE 1 /* cachability */
126 #define MATTR_MIGRATE 2 /* migrability */
127 #define MATTR_REPLICATE 4 /* replicability */
130 * Values for the above, e.g. operations on attribute
132 typedef int vm_machine_attribute_val_t
;
134 #define MATTR_VAL_OFF 0 /* (generic) turn attribute off */
135 #define MATTR_VAL_ON 1 /* (generic) turn attribute on */
136 #define MATTR_VAL_GET 2 /* (generic) return current value */
138 #define MATTR_VAL_CACHE_FLUSH 6 /* flush from all caches */
139 #define MATTR_VAL_DCACHE_FLUSH 7 /* flush from data caches */
140 #define MATTR_VAL_ICACHE_FLUSH 8 /* flush from instruction caches */
141 #define MATTR_VAL_CACHE_SYNC 9 /* sync I+D caches */
142 #define MATTR_VAL_CACHE_SYNC 9 /* sync I+D caches */
144 #define MATTR_VAL_GET_INFO 10 /* get page info (stats) */
146 #endif /* VM_ATTRIBUTES_H_ */