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 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 | # # 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. # ####################################################################### # # STANDARD CONFIGURATION OPTIONS (select any combination) # # debug = extra kernel level debugging support # mach = Mach support # # EXPERIMENTAL CONFIGURATION OPTIONS (select any combination, carefully) # # host = host resource control support # # MULTI-PROCESSOR CONFIGURATION (select at most one) # # multi16 = enable 16 multi-processors # multi32 = enable 32 multi-processors # multi48 = enable 48 multi-processors # # 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 # ####################################################################### # # Standard Mach Research Configurations: # -------- ---- -------- --------------- # # These are the default configurations that can be used by most sites. # They are used internally by the Mach project. # # MACH = [mach multi16 medium debug] # ####################################################################### # ident NeXT # obsolete timezone spec options TIMEZONE=0, PST=0 options QUOTA # # <quota> options INET # # <inet> options ABSOLUTETIME_SCALAR_TYPE options NEW_VM_CODE # # <newvm> options OLD_VM_CODE # # <!newvm> options HW_AST # Hardware ast support # <hw_ast> options HW_FOOTPRINT # Cache footprint support # <hw_foot> options CONFIG_LCTX # Login Context options MACH # Standard Mach features # <mach> options MACH_ASSERT # Compile in assertions # <mach_assert> options MACH_COMPAT # Vendor syscall compatibility # <mach> options MACH_COUNTERS # counters # <count> options MACH_DEBUG # IPC debugging interface # <mdebug> options MACH_FASTLINK # Fast symbolic links options MACH_FIXPRI # Fixed priority threads # <fixpri> options MACH_HOST # Mach host (resource alloc.) # <host> options MACH_IPC_COMPAT # Enable old IPC interface # <ipc_compat> options MACH_IPC_DEBUG # Enable IPC debugging calls # <ipc_debug> options MACH_IPC_TEST # Testing code/printfs # <ipc_test> options MACH_LDEBUG # Sanity-check simple locking # <test> options CONFIG_ZLEAKS # Live zone leak debug sysctls # <zleaks> options MACH_NP # Mach IPC support # <np> options MACH_NBC # No buffer cache # <nbc> options MACH_NET # Fast network access # <mach_net> options MACH_XP # external pager support # <xp> options NORMA_IPC # NORMA IPC support # <norma_ipc> options NORMA_DEVICE # NORMA unified device names # <norma_device> options NORMA_VM # NORMA virtual memory support # <norma_vm> options NORMA_TASK # NORMA task support # <norma_task> options NORMA_ETHER # NORMA across ethernet # <norma_ether> options SIMPLE_CLOCK # don't assume fixed tick # <simple_clock> options XPR_DEBUG # kernel tracing # <xpr_debug> options KDEBUG # kernel tracing # <kdebug> options IST_KDEBUG # limited kernel tracing # <ist_kdebug> options NO_KDEBUG # no kernel tracing # <no_kdebug> options DDM_DEBUG # driverkit-style tracing # <ddm_debug> options MACH_OLD_VM_COPY # Old vm_copy technology # <!newvm> options NO_DIRECT_RPC # for untyped mig servers # options IPX # ipx stack # <ipx> options EON # # <eon> options ISO # ISO stack # <iso> options LLC # 802.2 support # <llc> options LOOP # loopback support # <loop> options MROUTING # multicast routing # <mrouting> options ROUTING # routing # <routing> options VLAN # # <vlan> options BOND # # <bond> options PF # Packet Filter # <pf> options PF_ALTQ # PF ALTQ (Alternate Queueing) # <pf_altq> options PFLOG # PF log interface # <pflog> options PKTSCHED_CBQ # CBQ packet scheduler # <pktsched_cbq> options PKTSCHED_HFSC # H-FSC packet scheduler # <pktsched_hfsc> options PKTSCHED_PRIQ # PRIQ packet scheduler # <pktsched_priq> options PKTSCHED_FAIRQ # FAIRQ packet scheduler # <pktsched_fairq> options CLASSQ_BLUE # BLUE queueing algorithm # <classq_blue> options CLASSQ_RED # RED queueing algorithm # <classq_red> options CLASSQ_RIO # RIO queueing algorithm # <classq_rio> options IPDIVERT # Divert sockets (for NAT) # <ipdivert> options IPFIREWALL # IP Firewalling (used by NAT) # <ipfirewall> options IPFIREWALL_FORWARD #Transparent proxy # <ipfirewall> options IPFIREWALL_DEFAULT_TO_ACCEPT # allow everything by default # <ipfirewall> options DUMMYNET # dummynet support # <dummynet> options TRAFFIC_MGT # traffic management support # <traffic_mgt> options IPFW2 # IP firewall (new version) # <ipfw2> options MULTICAST # Internet Protocol Class-D $ options TCPDEBUG # TCP debug # <tcpdebug> options RANDOM_IP_ID # random (not sequential) ip ids # <randomipid> options TCP_DROP_SYNFIN # Drop TCP packets with SYN+FIN set # <tcpdrop_synfin> options ICMP_BANDLIM # ICMP bandwidth limiting sysctl options IFNET_INPUT_SANITY_CHK # allow dlil/ifnet input sanity check # <ifnet_input_chk> options SYSV_SEM # SVID semaphores # <sysv_sem> options SYSV_MSG # SVID messages # <sysv_msg> options SYSV_SHM # SVID shared mem # <sysv_shm> options PSYNCH # pthread synch # <psynch> options DEVELOPMENT # dev kernel # <development> # secure_kernel - secure kernel from user programs options SECURE_KERNEL # <secure_kernel> options OLD_SEMWAIT_SIGNAL # old semwait_signal handler # # 4.4 general kernel # options SOCKETS # socket support # <inet, inet6, netat> options DIAGNOSTIC # diagnostics # <diagnostic> options CONFIG_DTRACE # dtrace support # <config_dtrace> options GPROF # build profiling # <profile> options SENDFILE # sendfile # <sendfile> options NETWORKING # networking layer # <inet, inet6, netat> options CONFIG_FSE # file system events # <config_fse> options CONFIG_IMAGEBOOT # local image boot # <config_imageboot> options CONFIG_SOWUPCALL # SB_UPCALL on sowwakeup # <config_sowupcall> options CONFIG_MBUF_JUMBO # jumbo cluster pool # <config_mbuf_jumbo> options CONFIG_FORCE_OUT_IFP # Enable IP_FORCE_OUT_IFP # <config_force_out_ifp> options CONFIG_IFEF_NOWINDOWSCALE # Scale TCP window per driver # <config_ifef_nowindowscale> options CONFIG_WORKQUEUE # <config_workqueue> # # 4.4 filesystems # options FFS # Fast Filesystem Support # <ffs> options HFS # HFS/HFS+ support # <hfs> options FIFO # fifo support # <fifo> options FDESC # fdesc_fs support # <fdesc> options DEVFS # devfs support # <devfs> options JOURNALING # journaling support # <journaling> options HFS_COMPRESSION # hfs compression # <hfs_compression> options CONFIG_HFS_STD # hfs standard support # <config_hfs_std> options CONFIG_HFS_TRIM # hfs trims unused blocks # <config_hfs_trim> options CONFIG_HFS_MOUNT_UNMAP #hfs trims blocks at mount # <config_hfs_mount_unmap> # # file system features # options QUOTA # file system quotas # <quota> options REV_ENDIAN_FS # Reverse Endian FS # <revfs> options NAMEDSTREAMS # named stream vnop support # <namedstreams> options CONFIG_VOLFS # volfs path support (legacy) # <config_volfs> options CONFIG_IMGSRC_ACCESS # source of imageboot dmg # <config_imgsrc_access> options CONFIG_TRIGGERS # trigger vnodes # <config_triggers> options CONFIG_VFS_FUNNEL # thread unsafe vfs's # <config_vfs_funnel> options CONFIG_EXT_RESOLVER # e.g. memberd # <config_ext_resolver> options CONFIG_SEARCHFS # searchfs syscall support # <config_searchfs> # # NFS support # options NFSCLIENT # Be an NFS client # <nfsclient> options NFSSERVER # Be an NFS server # <nfsserver> # # AppleTalk Support # options NETAT # AppleTalk support # <netat> #options AURP_SUPPORT # AppleTalk Update Routing # <netat> # # Machine Independent Apple Features # options KERNSERV # kernel_server intarface # <kernserv> options MALLOCDEBUG # kernel malloc debugging # <mallocdebug> options DRIVERKIT # driverkit support # <driverkit> options KERNOBJC # Objective-C support # <kernobjc> options OBJCTEST # Objc internal test # <objctest> options KERNEL_STACK # MI kernel stack support # <kernstack> profile # build a profiling kernel # <profile> # # Point-to-Point Protocol support # pseudo-device ppp 2 # <ppp> # # IPv6 Support # options "INET6" # kernel IPv6 Support # <inet6> options IPSEC # IP security # <ipsec> options IPSEC_ESP # IP security # <ipsec> options "IPV6FIREWALL" # IPv6 Firewall Feature # <ipv6firewall> options "IPV6FIREWALL_DEFAULT_TO_ACCEPT" #IPv6 Firewall Feature # <ipv6firewall> #options "IPV6FIREWALL_VERBOSE" #IPv6 Firewall Feature # <ipv6firewall> pseudo-device gif 1 # <gif> pseudo-device dummy 2 # <dummy> pseudo-device stf 1 # <stf> options crypto # <ipsec,crypto> options ALLCRYPTO # <xlarge,large,medium> options randomipid # <inet,randomipid> options ZLIB # inflate/deflate support # <zlib> options IF_BRIDGE # <if_bridge> makeoptions LIBDRIVER = "libDriver_kern.o" # <libdriver> makeoptions LIBOBJC = "libkobjc.o" # <kernobjc> maxusers 64 # <xlarge> maxusers 50 # <large> maxusers 32 # <medium> maxusers 16 # <small> maxusers 8 # <xsmall> maxusers 2 # <bsmall> # # Multi-processor selection # pseudo-device cpus 64 # <multi64> pseudo-device cpus 32 # <multi32> pseudo-device cpus 16 # <multi16> pseudo-device cpus 2 # <multi2> pseudo-device cpus 1 # <!multi64,multi32,multi16,multi2> # # configurable kernel event related resources # options CONFIG_KN_HASHSIZE=64 # <medium,large,xlarge> options CONFIG_KN_HASHSIZE=48 # <small,xsmall> options CONFIG_KN_HASHSIZE=20 # <bsmall> # # configurable vfs related resources # CONFIG_VNODES - used to pre allocate vnode related resources # CONFIG_VNODE_FREE_MIN - mininmum number of free vnodes # CONFIG_NC_HASH - name cache hash table allocation # CONFIG_VFS_NAMES - name strings # # 263168 magic number for medium CONFIG_VNODES is based on memory # Number vnodes is (memsize/64k) + 1024 # This is the calculation that is used by launchd in tiger # we are clipping the max based on 16G # ie ((16*1024*1024*1024)/(64 *1024)) + 1024 = 263168; options CONFIG_VNODES=263168 # <large,xlarge> options CONFIG_VNODES=263168 # <medium> options CONFIG_VNODES=10240 # <small> options CONFIG_VNODES=750 # <bsmall> options CONFIG_VNODE_FREE_MIN=500 # <large,xlarge> options CONFIG_VNODE_FREE_MIN=300 # <medium> options CONFIG_VNODE_FREE_MIN=200 # <small> options CONFIG_VNODE_FREE_MIN=100 # <xsmall> options CONFIG_VNODE_FREE_MIN=75 # <bsmall> options CONFIG_NC_HASH=5120 # <large,xlarge> options CONFIG_NC_HASH=4096 # <medium> options CONFIG_NC_HASH=2048 # <small,xsmall> options CONFIG_NC_HASH=1024 # <bsmall> options CONFIG_VFS_NAMES=5120 # <large,xlarge> options CONFIG_VFS_NAMES=4096 # <medium> options CONFIG_VFS_NAMES=3072 # <small,xsmall> options CONFIG_VFS_NAMES=2048 # <bsmall> options CONFIG_MAX_CLUSTERS=8 # <xlarge,large,medium> options CONFIG_MAX_CLUSTERS=4 # <small,xsmall,bsmall> # # configurable kauth credential related resources # options KAUTH_CRED_PRIMES_COUNT=7 # <medium,large,xlarge> options KAUTH_CRED_PRIMES_COUNT=3 # <bsmall,xsmall,small> options KAUTH_CRED_PRIMES="{97, 241, 397, 743, 1499, 3989, 7499}" # <medium,large,xlarge> options KAUTH_CRED_PRIMES="{5, 17, 97}" # <bsmall,xsmall,small> # # configurable options for minumum number of buffers for kernel memory # options CONFIG_MIN_NBUF=256 # <medium,large,xlarge> options CONFIG_MIN_NBUF=128 # <small> options CONFIG_MIN_NBUF=80 # <xsmall> options CONFIG_MIN_NBUF=64 # <bsmall> options CONFIG_MIN_NIOBUF=128 # <medium,large,xlarge> options CONFIG_MIN_NIOBUF=64 # <xsmall,small> options CONFIG_MIN_NIOBUF=32 # <bsmall> # # set maximum space used for packet buffers # options CONFIG_NMBCLUSTERS="((1024 * 1024) / MCLBYTES)" # <large,xlarge> options CONFIG_NMBCLUSTERS="((1024 * 512) / MCLBYTES)" # <medium> options CONFIG_NMBCLUSTERS="((1024 * 256) / MCLBYTES)" # <bsmall,xsmall,small> # # Configure size of TCP hash table # options CONFIG_TCBHASHSIZE=4096 # <medium,large,xlarge> options CONFIG_TCBHASHSIZE=128 # <xsmall,small,bsmall> # # Configure bandwidth limiting sysctl # options CONFIG_ICMP_BANDLIM=250 # <medium,large,xlarge> options CONFIG_ICMP_BANDLIM=50 # <xsmall,small,bsmall> # # configurable async IO options # CONFIG_AIO_MAX - system wide limit of async IO requests. # CONFIG_AIO_PROCESS_MAX - process limit of async IO requests. # CONFIG_AIO_THREAD_COUNT - number of async IO worker threads created. # options CONFIG_AIO_MAX=360 # <xlarge> options CONFIG_AIO_MAX=180 # <large> options CONFIG_AIO_MAX=90 # <medium> options CONFIG_AIO_MAX=45 # <small> options CONFIG_AIO_MAX=20 # <xsmall> options CONFIG_AIO_MAX=10 # <bsmall> options CONFIG_AIO_PROCESS_MAX=64 # <xlarge> options CONFIG_AIO_PROCESS_MAX=32 # <large> options CONFIG_AIO_PROCESS_MAX=16 # <medium> options CONFIG_AIO_PROCESS_MAX=12 # <small> options CONFIG_AIO_PROCESS_MAX=8 # <xsmall> options CONFIG_AIO_PROCESS_MAX=4 # <bsmall> options CONFIG_AIO_THREAD_COUNT=16 # <xlarge> options CONFIG_AIO_THREAD_COUNT=8 # <large> options CONFIG_AIO_THREAD_COUNT=4 # <medium> options CONFIG_AIO_THREAD_COUNT=3 # <small> options CONFIG_AIO_THREAD_COUNT=2 # <xsmall,bsmall> # # configurable kernel related resources (CONFIG_THREAD_MAX needs to stay in # sync with osfmk/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_MAXVIFS=32 # <medium,large,xlarge> options CONFIG_MAXVIFS=16 # <small,xsmall> options CONFIG_MAXVIFS=2 # <bsmall> options CONFIG_MFCTBLSIZ=256 # <medium,large,xlarge> options CONFIG_MFCTBLSIZ=128 # <small,xsmall> options CONFIG_MFCTBLSIZ=16 # <bsmall> # # configurable kernel message buffer size # options CONFIG_MSG_BSIZE=4096 # <bsmall,small,xsmall> options CONFIG_MSG_BSIZE=16384 # <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> # # use finer-grained lock groups for the proc subsystem # options CONFIG_FINE_LOCK_GROUPS # <medium,large,xlarge> # # configurable kernel - general switch to say we are building for an # embedded device # options CONFIG_EMBEDDED # <config_embedded> # only execute signed code. Hang this off config_embedded since there's # nothing more appropriate right now # options CONFIG_ENFORCE_SIGNED_CODE # <config_embedded> # support dynamic signing of code # options CONFIG_DYNAMIC_CODE_SIGNING # <dynamic_codesigning> # # code decryption... used on embedded for app protection # must be set in all the bsd/conf and osfmk/conf MASTER files # options CONFIG_CODE_DECRYPTION # <config_embedded> # # User Content Protection, used on embedded # options CONFIG_PROTECT # <config_protect> # # enable per-process memory priority tracking # options CONFIG_MEMORYSTATUS # <memorystatus> # # enable jetsam - used on embedded # options CONFIG_JETSAM # <jetsam> # # enable freezing of suspended processes - used on embedded # options CONFIG_FREEZE # <freeze> options CHECK_CS_VALIDATION_BITMAP # <config_cs_validation_bitmap> # # memory pressure event support # must be set in both bsd/conf and osfmk/conf MASTER files # options VM_PRESSURE_EVENTS # <vm_pressure_events> # # Ethernet (ARP) # pseudo-device ether # <networking,inet,inet6,netat> # # Network loopback device # pseudo-device loop # <networking,inet,inet6,netat> # # UCB pseudo terminal service # pseudo-device pty 512 init pty_init # <xlarge> pseudo-device pty 256 init pty_init # <large> pseudo-device pty 128 init pty_init # <medium> pseudo-device pty 48 init pty_init # <small> pseudo-device pty 16 init pty_init # <xsmall> pseudo-device pty 8 init pty_init # <bsmall> # # Cloning pseudo terminal service # pseudo-device ptmx 1 init ptmx_init # # vnode device # pseudo-device vndevice 16 init vndevice_init # <xlarge> pseudo-device vndevice 8 init vndevice_init # <large> pseudo-device vndevice 4 init vndevice_init # <medium> pseudo-device vndevice 3 init vndevice_init # <small> pseudo-device vndevice 2 init vndevice_init # <xsmall> pseudo-device vndevice 2 init vndevice_init # <bsmall> # # memory device pseudo-device mdevdevice 1 init mdevinit # # # packet filter device # pseudo-device bpfilter 4 init bpf_init # <networking,inet,inet6,netat> # # fsevents device pseudo-device fsevents 1 init fsevents_init # <config_fse> # # shim to "linux" mach disk drivers (mach drivers must also be turned on) # # now using iokit disk shim, this is code is obsolete #pseudo-device diskshim pseudo-device random 1 init random_init pseudo-device dtrace 1 init dtrace_init # <config_dtrace> pseudo-device helper 1 init helper_init # <config_dtrace> pseudo-device lockstat 1 init lockstat_init # <config_dtrace> pseudo-device sdt 1 init sdt_init # <config_dtrace> pseudo-device systrace 1 init systrace_init # <config_dtrace> pseudo-device fbt 1 init fbt_init # <config_dtrace> pseudo-device profile_prvd 1 init profile_init # <config_dtrace> |