]>
Commit | Line | Data |
---|---|---|
1c79356b A |
1 | # |
2 | # Mach Operating System | |
3 | # Copyright (c) 1986 Carnegie-Mellon University | |
4 | # All rights reserved. The CMU software License Agreement | |
5 | # specifies the terms and conditions for use and redistribution. | |
6 | # | |
7 | ####################################################################### | |
8 | # | |
9 | # Master machine independent configuration file. | |
10 | # | |
11 | # Specific configuration files are created based on this and | |
12 | # the machine specific master file using the doconf script. | |
13 | # | |
14 | # Any changes to the master configuration files will affect all | |
15 | # other configuration files based upon it. | |
16 | # | |
17 | ####################################################################### | |
18 | # | |
19 | # To build a configuration, execute "doconf <configuration>." | |
20 | # Configurations are specified in the "Configurations:" section | |
21 | # of the MASTER and MASTER.* files as follows: | |
22 | # | |
23 | # <configuration> = [ <attribute0> <attribute1> ... <attributeN> ] | |
24 | # | |
25 | # Lines in the MASTER and MASTER.* files are selected based on | |
26 | # the attribute selector list, found in a comment at the end of | |
27 | # the line. This is a list of attributes separated by commas. | |
28 | # The "!" operator selects the line if none of the attributes are | |
29 | # specified. | |
30 | # | |
31 | # For example: | |
32 | # | |
33 | # <foo,bar> selects a line if "foo" or "bar" are specified. | |
34 | # <!foo,bar> selects a line if neither "foo" nor "bar" is | |
35 | # specified. | |
36 | # | |
37 | # Lines with no attributes specified are selected for all | |
38 | # configurations. | |
39 | # | |
40 | ####################################################################### | |
41 | # | |
42 | # Basic compilation options. | |
43 | # | |
44 | # The MACH ident is passed to every kernel file compilation as -DMACH. | |
45 | # This is useful in order to #ifdef code that is intended to be used in | |
46 | # a MACH kernel. | |
47 | # | |
48 | ident MACH | |
49 | ############################################################################## | |
50 | # | |
51 | # MACH configuration options. | |
52 | # | |
53 | # TASK_SWAPPER enables code that manages demand for physical memory by | |
54 | # forcibly suspending tasks when the demand exceeds supply. This | |
55 | # option should be on. | |
56 | # | |
57 | options MACH_KERNEL | |
58 | options MACH_PAGEMAP | |
59 | options MACH_LOAD | |
60 | options MACH_RT | |
61 | options THREAD_SWAPPER # <thread_swapper_disabled> | |
62 | options TASK_SWAPPER # <task_swapper_disabled> | |
63 | pseudo-device test_device 1 | |
64 | options ADVISORY_PAGEOUT | |
65 | ########################################################## | |
66 | # | |
67 | # conf/config.debug | |
68 | # | |
69 | # This defines configuration options that are normally used only during | |
70 | # kernel code development and debugging. They add run-time error checks or | |
71 | # statistics gathering, which will slow down the system | |
72 | # | |
73 | ########################################################## | |
74 | # | |
75 | # MACH_ASSERT controls the assert() and ASSERT() macros, used to verify the | |
76 | # consistency of various algorithms in the kernel. The performance impact | |
77 | # of this option is significant. | |
78 | # | |
79 | options MACH_ASSERT # # <debug> | |
80 | # | |
81 | # MACH_DEBUG enables the mach_debug_server, a message interface used to | |
82 | # retrieve or control various statistics. This interface may expose data | |
83 | # structures that would not normally be allowed outside the kernel, and | |
84 | # MUST NOT be enabled on a released configuration. | |
85 | # Other options here enable information retrieval for specific subsystems | |
86 | # | |
87 | options MACH_DEBUG # # | |
88 | # | |
89 | options MACH_IPC_DEBUG # # <debug> | |
90 | options MACH_VM_DEBUG # # <debug> | |
91 | # | |
92 | # MACH_MP_DEBUG control the possible dead locks that may occur by controlling | |
93 | # that IPL level has been raised down to SPL0 after some calls to | |
94 | # hardclock device driver. | |
95 | # | |
96 | options MACH_MP_DEBUG # # <debug> | |
97 | # | |
98 | # ZONE_DEBUG keeps track of all zalloc()ed elements to perform further | |
99 | # operations on each element. | |
100 | # | |
101 | options ZONE_DEBUG # # <debug> | |
102 | # | |
103 | # XPR_DEBUG enables the gathering of data through the XPR macros inserted | |
104 | # into various subsystems. This option is normally only enabled for | |
105 | # specific performance or behavior studies, as the overhead in both | |
106 | # code and data space is large. The data is normally retrieved through | |
107 | # the kernel debugger (kdb) or by reading /dev/kmem. | |
108 | # | |
109 | options XPR_DEBUG # # <debug> | |
110 | # | |
111 | # MACH_LDEBUG controls the internal consistency checks and | |
112 | # data gathering in the locking package. This also enables a debug-only | |
113 | # version of simple-locks on uniprocessor machines. The code size and | |
114 | # performance impact of this option is significant. | |
115 | # | |
116 | options MACH_LDEBUG # # <debug> | |
117 | ||
118 | # | |
119 | # | |
120 | # | |
121 | options KDEBUG # kernel tracing # <kdebug> | |
122 | ||
123 | # | |
124 | # MACH_COUNTERS enables code that handles various counters in the system. | |
125 | # | |
126 | options MACH_COUNTERS # # <debug> | |
127 | # | |
128 | # ETAP The Event Trace Analysis Package enables user-level tasks to monitor | |
129 | # and analyze kernel events. ETAP supports three modes of tracing: | |
130 | # | |
131 | # 1. General event tracing: ETAP_EVENT_MONITOR | |
132 | # 2. Monitored lock tracing: ETAP_LOCK_MONITOR | |
133 | # 3. Cumulative lock tracing: ETAP_LOCK_ACCUMULATE | |
134 | # | |
135 | # Each of these trace modes are mutually exclusive. | |
136 | # | |
137 | # CONFIGURING ETAP: To enable the trace package, the ETAP switch | |
138 | # along with *ONE* ETAP trace mode is selected. The selected ETAP | |
139 | # mode determines the level of instrumentation built into the kernel. | |
140 | # Mode 1 configures event probes through-out the system. Modes 2 & 3 | |
141 | # add instumentation to the kernel lock mechanisms. | |
142 | # | |
143 | # ETAP (and all its trace modes) is mutually exclusive with the | |
144 | # MACH_LDEBUG option. It is assumed that general lock debugging is | |
145 | # completed before gathering event information. | |
146 | # | |
147 | # ETAP functionality is normally only enabled for event profiling and | |
148 | # performance studies. Event tracing should not be enabled for release | |
149 | # configurations, as the code size and performance impact of these | |
150 | # options are significant. | |
151 | # | |
152 | # | |
153 | #options ETAP # ETAP enable | |
154 | #options ETAP_EVENT_MONITOR # Monitor events | |
155 | #options ETAP_LOCK_MONITOR # Monitor lock behavior | |
156 | #options ETAP_LOCK_ACCUMULATE # Collect cumulative lock data | |
157 | ||
158 | ########################################################## | |
159 | # | |
160 | # This defines configuration options that are normally used only during | |
161 | # kernel code development and performance characterization. They add run-time | |
162 | # statistics gathering, which will slow down the system, | |
163 | # | |
164 | ########################################################## | |
165 | # | |
166 | # MACH_PROF enables the profiling server, a message interface used to | |
167 | # retrieve profiling statistics. | |
168 | # | |
169 | #options MACH_PROF # # <mach_prof> | |
170 | # | |
171 | # MACH_IPC_STATS controls the collection of statistics in the MACH IPC | |
172 | # subsystem. | |
173 | # | |
174 | #options MACH_IPC_STATS | |
175 | # | |
176 | # MACH_CO_INFO controls the collection of callout statistics. This | |
177 | # information is retrieved via a mach_debug message, or though | |
178 | # /dev/kmem. The runtime impact of the option is minimal. | |
179 | # | |
180 | #options MACH_CO_INFO | |
181 | # | |
182 | # MACH_CLUSTER_STATS controls the collection of various statistics concerning | |
183 | # the effectiveness and behavior of the clustered pageout and pagein | |
184 | # code. | |
185 | # | |
186 | #options MACH_CLUSTER_STATS | |
187 | # | |
188 | # MACH_SCTIMES enables optional code that can be used to measure the | |
189 | # execution overhead of performing Mach traps with 1 through 6 | |
190 | # arguments. | |
191 | # | |
192 | #options MACH_SCTIMES | |
193 | # | |
194 | # MACH_COUNTERS enables various code-path statistics. Most of these | |
195 | # are accessed through the debugger. | |
196 | # | |
197 | options MACH_COUNTERS # # <stats> | |
198 |