]>
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 | ####################################################################### | |
2d21ac55 A |
41 | # SYSTEM SIZE CONFIGURATION (select exactly one) |
42 | # | |
43 | # xlarge = extra large scale system configuration | |
44 | # large = large scale system configuration | |
45 | # medium = medium scale system configuration | |
46 | # small = small scale system configuration | |
47 | # xsmall = extra small scale system configuration | |
48 | # bsmall = special extra small scale system configuration | |
49 | # | |
50 | ####################################################################### | |
1c79356b A |
51 | # |
52 | # Basic compilation options. | |
53 | # | |
54 | # The MACH ident is passed to every kernel file compilation as -DMACH. | |
55 | # This is useful in order to #ifdef code that is intended to be used in | |
56 | # a MACH kernel. | |
57 | # | |
58 | ident MACH | |
59 | ############################################################################## | |
60 | # | |
61 | # MACH configuration options. | |
62 | # | |
63 | # TASK_SWAPPER enables code that manages demand for physical memory by | |
64 | # forcibly suspending tasks when the demand exceeds supply. This | |
65 | # option should be on. | |
66 | # | |
67 | options MACH_KERNEL | |
68 | options MACH_PAGEMAP | |
69 | options MACH_LOAD | |
70 | options MACH_RT | |
1c79356b A |
71 | options TASK_SWAPPER # <task_swapper_disabled> |
72 | pseudo-device test_device 1 | |
73 | options ADVISORY_PAGEOUT | |
74 | ########################################################## | |
75 | # | |
76 | # conf/config.debug | |
77 | # | |
78 | # This defines configuration options that are normally used only during | |
79 | # kernel code development and debugging. They add run-time error checks or | |
80 | # statistics gathering, which will slow down the system | |
81 | # | |
82 | ########################################################## | |
83 | # | |
84 | # MACH_ASSERT controls the assert() and ASSERT() macros, used to verify the | |
85 | # consistency of various algorithms in the kernel. The performance impact | |
86 | # of this option is significant. | |
87 | # | |
2d21ac55 | 88 | options MACH_ASSERT # # <mach_assert> |
1c79356b A |
89 | # |
90 | # MACH_DEBUG enables the mach_debug_server, a message interface used to | |
91 | # retrieve or control various statistics. This interface may expose data | |
92 | # structures that would not normally be allowed outside the kernel, and | |
93 | # MUST NOT be enabled on a released configuration. | |
94 | # Other options here enable information retrieval for specific subsystems | |
95 | # | |
96 | options MACH_DEBUG # # | |
2d21ac55 | 97 | options MACH_IPC_DEBUG # # |
1c79356b | 98 | # |
1c79356b A |
99 | options MACH_VM_DEBUG # # <debug> |
100 | # | |
101 | # MACH_MP_DEBUG control the possible dead locks that may occur by controlling | |
102 | # that IPL level has been raised down to SPL0 after some calls to | |
103 | # hardclock device driver. | |
104 | # | |
105 | options MACH_MP_DEBUG # # <debug> | |
106 | # | |
107 | # ZONE_DEBUG keeps track of all zalloc()ed elements to perform further | |
108 | # operations on each element. | |
109 | # | |
110 | options ZONE_DEBUG # # <debug> | |
2d21ac55 A |
111 | # |
112 | options ZONE_ALIAS_ADDR # # <zone_alias_addr> | |
1c79356b A |
113 | # |
114 | # XPR_DEBUG enables the gathering of data through the XPR macros inserted | |
115 | # into various subsystems. This option is normally only enabled for | |
116 | # specific performance or behavior studies, as the overhead in both | |
117 | # code and data space is large. The data is normally retrieved through | |
118 | # the kernel debugger (kdb) or by reading /dev/kmem. | |
119 | # | |
120 | options XPR_DEBUG # # <debug> | |
121 | # | |
122 | # MACH_LDEBUG controls the internal consistency checks and | |
123 | # data gathering in the locking package. This also enables a debug-only | |
124 | # version of simple-locks on uniprocessor machines. The code size and | |
125 | # performance impact of this option is significant. | |
126 | # | |
127 | options MACH_LDEBUG # # <debug> | |
128 | ||
129 | # | |
130 | # | |
131 | # | |
132 | options KDEBUG # kernel tracing # <kdebug> | |
133 | ||
2d21ac55 A |
134 | # |
135 | # CONFIG_DTRACE enables code needed to support DTrace. Currently this is | |
136 | # only used for delivery of traps/interrupts to DTrace. | |
137 | # | |
138 | options CONFIG_DTRACE # # <config_dtrace> | |
139 | ||
1c79356b A |
140 | # MACH_COUNTERS enables code that handles various counters in the system. |
141 | # | |
142 | options MACH_COUNTERS # # <debug> | |
91447636 A |
143 | |
144 | options UPL_DEBUG # # <debug> | |
1c79356b A |
145 | |
146 | ########################################################## | |
147 | # | |
148 | # This defines configuration options that are normally used only during | |
149 | # kernel code development and performance characterization. They add run-time | |
150 | # statistics gathering, which will slow down the system, | |
151 | # | |
152 | ########################################################## | |
153 | # | |
1c79356b A |
154 | # MACH_IPC_STATS controls the collection of statistics in the MACH IPC |
155 | # subsystem. | |
156 | # | |
157 | #options MACH_IPC_STATS | |
158 | # | |
159 | # MACH_CO_INFO controls the collection of callout statistics. This | |
160 | # information is retrieved via a mach_debug message, or though | |
161 | # /dev/kmem. The runtime impact of the option is minimal. | |
162 | # | |
163 | #options MACH_CO_INFO | |
164 | # | |
165 | # MACH_CLUSTER_STATS controls the collection of various statistics concerning | |
166 | # the effectiveness and behavior of the clustered pageout and pagein | |
167 | # code. | |
168 | # | |
169 | #options MACH_CLUSTER_STATS | |
170 | # | |
171 | # MACH_SCTIMES enables optional code that can be used to measure the | |
172 | # execution overhead of performing Mach traps with 1 through 6 | |
173 | # arguments. | |
174 | # | |
175 | #options MACH_SCTIMES | |
176 | # | |
177 | # MACH_COUNTERS enables various code-path statistics. Most of these | |
178 | # are accessed through the debugger. | |
179 | # | |
180 | options MACH_COUNTERS # # <stats> | |
181 | ||
2d21ac55 A |
182 | # |
183 | # configuration option for including cypto code | |
184 | # | |
185 | options CRYPTO # <crypto> | |
186 | ||
187 | # HIBERNATION - include hibernation code | |
188 | # | |
189 | options HIBERNATION # # <hibernation> | |
190 | ||
191 | # | |
192 | # configurable kernel related resources (CONFIG_THREAD_MAX needs to stay in | |
193 | # sync with bsd/conf/MASTER until we fix the config system... todo XXX | |
194 | # | |
195 | options CONFIG_THREAD_MAX=2560 # <medium,large,xlarge> | |
196 | options CONFIG_THREAD_MAX=1536 # <small,xsmall> | |
197 | options CONFIG_THREAD_MAX=1024 # <bsmall> | |
198 | ||
199 | options CONFIG_TASK_MAX=1024 # <medium,large,xlarge> | |
200 | options CONFIG_TASK_MAX=768 # <small,xsmall> | |
201 | options CONFIG_TASK_MAX=512 # <bsmall> | |
202 | ||
203 | options CONFIG_ZONE_MAP_MIN=12582912 # <medium,large,xlarge> | |
204 | options CONFIG_ZONE_MAP_MIN=6291456 # <small,xsmall> | |
205 | options CONFIG_ZONE_MAP_MIN=1048576 # <bsmall> | |
206 | ||
207 | options CONFIG_TOKEN_QUEUE_SMALL=1 # <bsmall> | |
208 | options CONFIG_TOKEN_QUEUE_SMALL=0 # <xsmall,small,medium,large,xlarge> | |
209 | ||
210 | # | |
211 | # configurable kernel - use these options to strip strings from panic | |
212 | # and printf calls. | |
213 | # no_panic_str - saves around 50K of kernel footprint. | |
214 | # no_printf_str - saves around 45K of kernel footprint. | |
215 | # | |
216 | options CONFIG_NO_PANIC_STRINGS # <no_panic_str> | |
217 | options CONFIG_NO_PRINTF_STRINGS # <no_printf_str> | |
218 | options CONFIG_NO_KPRINTF_STRINGS # <no_kprintf_str> | |
219 | ||
220 | # configurable kernel - general switch to say we are building for an | |
221 | # embedded device | |
222 | # | |
223 | options CONFIG_EMBEDDED # <config_embedded> | |
224 | ||
225 | # jettison_kernel_linker - jettison kernel linker after kernel init; don't wait for kextd to launch | |
226 | options CONFIG_JETTISON_KERNEL_LINKER # <jettison_kernel_linker> | |
227 | ||
228 | # vc_progress_white - make the progress gear white instead of black | |
229 | options CONFIG_VC_PROGRESS_WHITE # <vc_progress_white> | |
230 | ||
231 | # secure_kernel - secure kernel from user programs | |
232 | options SECURE_KERNEL # <secure_kernel> |