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