|
|
1.1 root 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
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:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.