]>
Commit | Line | Data |
---|---|---|
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 TASK_SWAPPER # <task_swapper_disabled> | |
62 | pseudo-device test_device 1 | |
63 | options ADVISORY_PAGEOUT | |
64 | ########################################################## | |
65 | # | |
66 | # conf/config.debug | |
67 | # | |
68 | # This defines configuration options that are normally used only during | |
69 | # kernel code development and debugging. They add run-time error checks or | |
70 | # statistics gathering, which will slow down the system | |
71 | # | |
72 | ########################################################## | |
73 | # | |
74 | # MACH_ASSERT controls the assert() and ASSERT() macros, used to verify the | |
75 | # consistency of various algorithms in the kernel. The performance impact | |
76 | # of this option is significant. | |
77 | # | |
78 | options MACH_ASSERT # # <debug> | |
79 | # | |
80 | # MACH_DEBUG enables the mach_debug_server, a message interface used to | |
81 | # retrieve or control various statistics. This interface may expose data | |
82 | # structures that would not normally be allowed outside the kernel, and | |
83 | # MUST NOT be enabled on a released configuration. | |
84 | # Other options here enable information retrieval for specific subsystems | |
85 | # | |
86 | options MACH_DEBUG # # | |
87 | # | |
88 | options MACH_IPC_DEBUG # # <debug> | |
89 | options MACH_VM_DEBUG # # <debug> | |
90 | # | |
91 | # MACH_MP_DEBUG control the possible dead locks that may occur by controlling | |
92 | # that IPL level has been raised down to SPL0 after some calls to | |
93 | # hardclock device driver. | |
94 | # | |
95 | options MACH_MP_DEBUG # # <debug> | |
96 | # | |
97 | # ZONE_DEBUG keeps track of all zalloc()ed elements to perform further | |
98 | # operations on each element. | |
99 | # | |
100 | options ZONE_DEBUG # # <debug> | |
101 | # | |
102 | # XPR_DEBUG enables the gathering of data through the XPR macros inserted | |
103 | # into various subsystems. This option is normally only enabled for | |
104 | # specific performance or behavior studies, as the overhead in both | |
105 | # code and data space is large. The data is normally retrieved through | |
106 | # the kernel debugger (kdb) or by reading /dev/kmem. | |
107 | # | |
108 | options XPR_DEBUG # # <debug> | |
109 | # | |
110 | # MACH_LDEBUG controls the internal consistency checks and | |
111 | # data gathering in the locking package. This also enables a debug-only | |
112 | # version of simple-locks on uniprocessor machines. The code size and | |
113 | # performance impact of this option is significant. | |
114 | # | |
115 | options MACH_LDEBUG # # <debug> | |
116 | ||
117 | # | |
118 | # | |
119 | # | |
120 | options KDEBUG # kernel tracing # <kdebug> | |
121 | ||
122 | # | |
123 | # MACH_COUNTERS enables code that handles various counters in the system. | |
124 | # | |
125 | options MACH_COUNTERS # # <debug> | |
126 | # | |
127 | # ETAP The Event Trace Analysis Package enables user-level tasks to monitor | |
128 | # and analyze kernel events. ETAP supports three modes of tracing: | |
129 | # | |
130 | # 1. General event tracing: ETAP_EVENT_MONITOR | |
131 | # 2. Monitored lock tracing: ETAP_LOCK_MONITOR | |
132 | # 3. Cumulative lock tracing: ETAP_LOCK_ACCUMULATE | |
133 | # | |
134 | # Each of these trace modes are mutually exclusive. | |
135 | # | |
136 | # CONFIGURING ETAP: To enable the trace package, the ETAP switch | |
137 | # along with *ONE* ETAP trace mode is selected. The selected ETAP | |
138 | # mode determines the level of instrumentation built into the kernel. | |
139 | # Mode 1 configures event probes through-out the system. Modes 2 & 3 | |
140 | # add instumentation to the kernel lock mechanisms. | |
141 | # | |
142 | # ETAP (and all its trace modes) is mutually exclusive with the | |
143 | # MACH_LDEBUG option. It is assumed that general lock debugging is | |
144 | # completed before gathering event information. | |
145 | # | |
146 | # ETAP functionality is normally only enabled for event profiling and | |
147 | # performance studies. Event tracing should not be enabled for release | |
148 | # configurations, as the code size and performance impact of these | |
149 | # options are significant. | |
150 | # | |
151 | # | |
152 | #options ETAP # ETAP enable | |
153 | #options ETAP_EVENT_MONITOR # Monitor events | |
154 | #options ETAP_LOCK_MONITOR # Monitor lock behavior | |
155 | #options ETAP_LOCK_ACCUMULATE # Collect cumulative lock data | |
156 | ||
157 | ########################################################## | |
158 | # | |
159 | # This defines configuration options that are normally used only during | |
160 | # kernel code development and performance characterization. They add run-time | |
161 | # statistics gathering, which will slow down the system, | |
162 | # | |
163 | ########################################################## | |
164 | # | |
165 | # MACH_PROF enables the profiling server, a message interface used to | |
166 | # retrieve profiling statistics. | |
167 | # | |
168 | #options MACH_PROF # # <mach_prof> | |
169 | # | |
170 | # MACH_IPC_STATS controls the collection of statistics in the MACH IPC | |
171 | # subsystem. | |
172 | # | |
173 | #options MACH_IPC_STATS | |
174 | # | |
175 | # MACH_CO_INFO controls the collection of callout statistics. This | |
176 | # information is retrieved via a mach_debug message, or though | |
177 | # /dev/kmem. The runtime impact of the option is minimal. | |
178 | # | |
179 | #options MACH_CO_INFO | |
180 | # | |
181 | # MACH_CLUSTER_STATS controls the collection of various statistics concerning | |
182 | # the effectiveness and behavior of the clustered pageout and pagein | |
183 | # code. | |
184 | # | |
185 | #options MACH_CLUSTER_STATS | |
186 | # | |
187 | # MACH_SCTIMES enables optional code that can be used to measure the | |
188 | # execution overhead of performing Mach traps with 1 through 6 | |
189 | # arguments. | |
190 | # | |
191 | #options MACH_SCTIMES | |
192 | # | |
193 | # MACH_COUNTERS enables various code-path statistics. Most of these | |
194 | # are accessed through the debugger. | |
195 | # | |
196 | options MACH_COUNTERS # # <stats> | |
197 |