|
|
1.1 root 1: /*
2: * Copyright (c) 2000 Apple Computer, Inc. All rights reserved.
3: *
4: * @APPLE_LICENSE_HEADER_START@
5: *
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.
11: *
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
18: * under the License.
19: *
20: * @APPLE_LICENSE_HEADER_END@
21: */
22: /*
23: * @OSF_COPYRIGHT@
24: */
25: /*
26: * HISTORY
27: *
28: * Revision 1.1.1.1 1998/09/22 21:05:31 wsanchez
29: * Import of Mac OS X kernel (~semeria)
30: *
31: * Revision 1.1.1.1 1998/03/07 02:25:46 wsanchez
32: * Import of OSF Mach kernel (~mburg)
33: *
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]
38: *
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
42: * flushing them.
43: * [1997/09/12 16:32:45 stephen]
44: *
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]
48: *
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]
52: *
53: * Revision 1.2 1993/04/19 16:40:21 devrcs
54: * ansi C conformance changes
55: * [1993/02/02 18:55:22 david]
56: *
57: * Revision 1.1 1992/09/30 02:32:22 robert
58: * Initial revision
59: *
60: * $EndLog$
61: */
62: /* CMU_HIST */
63: /*
64: * Revision 2.4 91/05/14 17:02:37 mrt
65: * Correcting copyright
66: *
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]
70: *
71: * Revision 2.2 90/01/22 23:05:53 af
72: * Created.
73: * [89/12/08 af]
74: *
75: *
76: */
77: /* CMU_ENDHIST */
78: /*
79: * Mach Operating System
80: * Copyright (c) 1991,1990,1989,1988,1987 Carnegie Mellon University
81: * All Rights Reserved.
82: *
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.
88: *
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.
92: *
93: * Carnegie Mellon requests users of this software to return to
94: *
95: * Software Distribution Coordinator or [email protected]
96: * School of Computer Science
97: * Carnegie Mellon University
98: * Pittsburgh PA 15213-3890
99: *
100: * any improvements or extensions that they make and grant Carnegie Mellon
101: * the rights to redistribute these changes.
102: */
103: /*
104: */
105: /*
106: * File: mach/vm_attributes.h
107: * Author: Alessandro Forin
108: *
109: * Virtual memory attributes definitions.
110: *
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.
114: *
115: */
116:
117: #ifndef VM_ATTRIBUTES_H_
118: #define VM_ATTRIBUTES_H_
119:
120: /*
121: * Types of machine-dependent attributes
122: */
123: typedef unsigned int vm_machine_attribute_t;
124:
125: #define MATTR_CACHE 1 /* cachability */
126: #define MATTR_MIGRATE 2 /* migrability */
127: #define MATTR_REPLICATE 4 /* replicability */
128:
129: /*
130: * Values for the above, e.g. operations on attribute
131: */
132: typedef int vm_machine_attribute_val_t;
133:
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 */
137:
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 */
143:
144: #define MATTR_VAL_GET_INFO 10 /* get page info (stats) */
145:
146: #endif /* VM_ATTRIBUTES_H_ */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.