1*c54f35caSApple OSS Distributions# 2*c54f35caSApple OSS Distributions# Mach Operating System 3*c54f35caSApple OSS Distributions# Copyright (c) 1986 Carnegie-Mellon University 4*c54f35caSApple OSS Distributions# Copyright 2001-2018 Apple Inc. 5*c54f35caSApple OSS Distributions# 6*c54f35caSApple OSS Distributions# All rights reserved. The CMU software License Agreement 7*c54f35caSApple OSS Distributions# specifies the terms and conditions for use and redistribution. 8*c54f35caSApple OSS Distributions# 9*c54f35caSApple OSS Distributions####################################################################### 10*c54f35caSApple OSS Distributions# 11*c54f35caSApple OSS Distributions# Master machine independent configuration file. 12*c54f35caSApple OSS Distributions# 13*c54f35caSApple OSS Distributions# Specific configuration files are created based on this and 14*c54f35caSApple OSS Distributions# the machine specific master file using the doconf script. 15*c54f35caSApple OSS Distributions# 16*c54f35caSApple OSS Distributions# Any changes to the master configuration files will affect all 17*c54f35caSApple OSS Distributions# other configuration files based upon it. 18*c54f35caSApple OSS Distributions# 19*c54f35caSApple OSS Distributions####################################################################### 20*c54f35caSApple OSS Distributions# 21*c54f35caSApple OSS Distributions# To build a configuration, execute "doconf <configuration>." 22*c54f35caSApple OSS Distributions# Configurations are specified in the "Configurations:" section 23*c54f35caSApple OSS Distributions# of the MASTER and MASTER.* files as follows: 24*c54f35caSApple OSS Distributions# 25*c54f35caSApple OSS Distributions# <configuration> = [ <attribute0> <attribute1> ... <attributeN> ] 26*c54f35caSApple OSS Distributions# 27*c54f35caSApple OSS Distributions# Lines in the MASTER and MASTER.* files are selected based on 28*c54f35caSApple OSS Distributions# the attribute selector list, found in a comment at the end of 29*c54f35caSApple OSS Distributions# the line. This is a list of attributes separated by commas. 30*c54f35caSApple OSS Distributions# The "!" operator selects the line if none of the attributes are 31*c54f35caSApple OSS Distributions# specified. 32*c54f35caSApple OSS Distributions# 33*c54f35caSApple OSS Distributions# For example: 34*c54f35caSApple OSS Distributions# 35*c54f35caSApple OSS Distributions# <foo,bar> selects a line if "foo" or "bar" are specified. 36*c54f35caSApple OSS Distributions# <!foo,bar> selects a line if neither "foo" nor "bar" is 37*c54f35caSApple OSS Distributions# specified. 38*c54f35caSApple OSS Distributions# 39*c54f35caSApple OSS Distributions# Lines with no attributes specified are selected for all 40*c54f35caSApple OSS Distributions# configurations. 41*c54f35caSApple OSS Distributions# 42*c54f35caSApple OSS Distributions####################################################################### 43*c54f35caSApple OSS Distributions# 44*c54f35caSApple OSS Distributions# SYSTEM SIZE CONFIGURATION (select exactly one) 45*c54f35caSApple OSS Distributions# 46*c54f35caSApple OSS Distributions# xlarge = extra large scale system configuration 47*c54f35caSApple OSS Distributions# large = large scale system configuration 48*c54f35caSApple OSS Distributions# medium = medium scale system configuration 49*c54f35caSApple OSS Distributions# small = small scale system configuration 50*c54f35caSApple OSS Distributions# xsmall = extra small scale system configuration 51*c54f35caSApple OSS Distributions# bsmall = special extra small scale system configuration 52*c54f35caSApple OSS Distributions# 53*c54f35caSApple OSS Distributions####################################################################### 54*c54f35caSApple OSS Distributions# 55*c54f35caSApple OSS Distributions 56*c54f35caSApple OSS Distributionsoptions INET # # <inet> 57*c54f35caSApple OSS Distributions 58*c54f35caSApple OSS Distributionsoptions MACH # Standard Mach features # <mach> 59*c54f35caSApple OSS Distributionsoptions MACH_FLIPC # Fast-Local IPC # <mach_flipc> 60*c54f35caSApple OSS Distributionsoptions LOOP # loopback support # <loop> 61*c54f35caSApple OSS Distributionsoptions VLAN # # <vlan> 62*c54f35caSApple OSS Distributionsoptions BOND # # <bond> 63*c54f35caSApple OSS Distributionsoptions IF_FAKE # # <if_fake> 64*c54f35caSApple OSS Distributionsoptions IF_HEADLESS # # <if_headless> 65*c54f35caSApple OSS Distributionsoptions AH_ALL_CRYPTO # AH all crypto algs # <ah_all_crypto> 66*c54f35caSApple OSS Distributionsoptions PF # Packet Filter # <pf> 67*c54f35caSApple OSS Distributionsoptions PF_ECN # PF use ECN marking # <pf_ecn> 68*c54f35caSApple OSS Distributionsoptions PFLOG # PF log interface # <pflog> 69*c54f35caSApple OSS Distributionsoptions MEASURE_BW # interface bandwidth measurement # <measure_bw> 70*c54f35caSApple OSS Distributionsoptions DUMMYNET # dummynet support # <dummynet> 71*c54f35caSApple OSS Distributionsoptions TRAFFIC_MGT # traffic management support # <traffic_mgt> 72*c54f35caSApple OSS Distributionsoptions MULTICAST # Internet Protocol Class-D $ 73*c54f35caSApple OSS Distributionsoptions TCPDEBUG # TCP debug # <tcpdebug> 74*c54f35caSApple OSS Distributionsoptions IFNET_INPUT_SANITY_CHK # allow dlil/ifnet input sanity check # <ifnet_input_chk> 75*c54f35caSApple OSS Distributionsoptions MULTIPATH # Multipath domain # <multipath> 76*c54f35caSApple OSS Distributionsoptions MPTCP # Multipath TCP # <mptcp> 77*c54f35caSApple OSS Distributionsoptions SYSV_SEM # SVID semaphores # <sysv_sem> 78*c54f35caSApple OSS Distributionsoptions SYSV_MSG # SVID messages # <sysv_msg> 79*c54f35caSApple OSS Distributionsoptions SYSV_SHM # SVID shared mem # <sysv_shm> 80*c54f35caSApple OSS Distributionsoptions PSYNCH # pthread synch # <psynch> 81*c54f35caSApple OSS Distributionsoptions FLOW_DIVERT # <flow_divert> 82*c54f35caSApple OSS Distributionsoptions NECP # <necp> 83*c54f35caSApple OSS Distributionsoptions CONTENT_FILTER # # <content_filter> 84*c54f35caSApple OSS Distributionsoptions PACKET_MANGLER # # <packet_mangler> 85*c54f35caSApple OSS Distributionsoptions REMOTE_VIF # # <remote_vif> 86*c54f35caSApple OSS Distributionsoptions SKYWALK # # <skywalk> 87*c54f35caSApple OSS Distributionsoptions CONFIG_NEXUS_USER_PIPE # # <config_nexus_user_pipe> 88*c54f35caSApple OSS Distributionsoptions CONFIG_NEXUS_KERNEL_PIPE # # <config_nexus_kernel_pipe> 89*c54f35caSApple OSS Distributionsoptions CONFIG_NEXUS_MONITOR # # <config_nexus_monitor> 90*c54f35caSApple OSS Distributionsoptions CONFIG_NEXUS_FLOWSWITCH # # <config_nexus_flowswitch> 91*c54f35caSApple OSS Distributionsoptions CONFIG_NEXUS_NETIF # # <config_nexus_netif> 92*c54f35caSApple OSS Distributions 93*c54f35caSApple OSS Distributions# secure_kernel - secure kernel from user programs 94*c54f35caSApple OSS Distributionsoptions SECURE_KERNEL # <secure_kernel> 95*c54f35caSApple OSS Distributions 96*c54f35caSApple OSS Distributions# 97*c54f35caSApple OSS Distributions# 4.4 general kernel 98*c54f35caSApple OSS Distributions# 99*c54f35caSApple OSS Distributionsoptions SOCKETS # socket support # <inet> 100*c54f35caSApple OSS Distributionsoptions DIAGNOSTIC # diagnostics # <diagnostic> 101*c54f35caSApple OSS Distributionsoptions PROFILE # kernel profiling # <profile> 102*c54f35caSApple OSS Distributionsoptions SENDFILE # sendfile # <sendfile> 103*c54f35caSApple OSS Distributionsoptions NETWORKING # networking layer # <inet> 104*c54f35caSApple OSS Distributionsoptions CONFIG_FSE # file system events # <config_fse> 105*c54f35caSApple OSS Distributionsoptions CONFIG_IMAGEBOOT # local image boot # <config_imageboot> 106*c54f35caSApple OSS Distributionsoptions CONFIG_MBUF_JUMBO # jumbo cluster pool # <config_mbuf_jumbo> 107*c54f35caSApple OSS Distributionsoptions CONFIG_IMAGEBOOT_IMG4 # authenticate image with AppleImage4 # <config_imageboot_img4> 108*c54f35caSApple OSS Distributionsoptions CONFIG_IMAGEBOOT_CHUNKLIST # authenticate image with a chunk list # <config_imageboot_chunklist> 109*c54f35caSApple OSS Distributions 110*c54f35caSApple OSS Distributionsoptions CONFIG_WORKLOOP_DEBUG # <config_workloop_debug> 111*c54f35caSApple OSS Distributions 112*c54f35caSApple OSS Distributions# 113*c54f35caSApple OSS Distributions# 4.4 filesystems 114*c54f35caSApple OSS Distributions# 115*c54f35caSApple OSS Distributionsoptions MOCKFS # Boot from an executable # <mockfs> 116*c54f35caSApple OSS Distributionsoptions FIFO # fifo support # <fifo> 117*c54f35caSApple OSS Distributionsoptions FDESC # fdesc_fs support # <fdesc> 118*c54f35caSApple OSS Distributionsoptions DEVFS # devfs support # <devfs> 119*c54f35caSApple OSS Distributionsoptions ROUTEFS # routefs support # <routefs> 120*c54f35caSApple OSS Distributionsoptions NULLFS # nullfs support # <nullfs> 121*c54f35caSApple OSS Distributionsoptions BINDFS # bindfs support # <bindfs> 122*c54f35caSApple OSS Distributionsoptions FS_COMPRESSION # fs compression # <fs_compression> 123*c54f35caSApple OSS Distributionsoptions CONFIG_DEV_KMEM # /dev/kmem device for reading KVA # <config_dev_kmem> 124*c54f35caSApple OSS Distributions 125*c54f35caSApple OSS Distributions# 126*c54f35caSApple OSS Distributions# file system features 127*c54f35caSApple OSS Distributions# 128*c54f35caSApple OSS Distributionsoptions QUOTA # file system quotas # <quota> 129*c54f35caSApple OSS Distributionsoptions NAMEDSTREAMS # named stream vnop support # <namedstreams> 130*c54f35caSApple OSS Distributionsoptions CONFIG_APPLEDOUBLE # apple double support # <config_appledouble> 131*c54f35caSApple OSS Distributionsoptions CONFIG_VOLFS # volfs path support (legacy) # <config_volfs> 132*c54f35caSApple OSS Distributionsoptions CONFIG_IMGSRC_ACCESS # source of imageboot dmg # <config_imgsrc_access> 133*c54f35caSApple OSS Distributionsoptions CONFIG_TRIGGERS # trigger vnodes # <config_triggers> 134*c54f35caSApple OSS Distributionsoptions CONFIG_EXT_RESOLVER # e.g. memberd # <config_ext_resolver> 135*c54f35caSApple OSS Distributionsoptions CONFIG_SEARCHFS # searchfs syscall support # <config_searchfs> 136*c54f35caSApple OSS Distributionsoptions CONFIG_MNT_SUID # allow suid binaries # <config_mnt_suid> 137*c54f35caSApple OSS Distributionsoptions CONFIG_MNT_ROOTSNAP # allow rooting from snapshot # <config_mnt_rootsnap> 138*c54f35caSApple OSS Distributionsoptions CONFIG_ROSV_STARTUP # allow read-only system volume startup # <config_rosv_startup> 139*c54f35caSApple OSS Distributionsoptions CONFIG_FIRMLINKS # support "firmlinks" # <config_firmlinks> 140*c54f35caSApple OSS Distributionsoptions CONFIG_MOUNT_VM # mount VM volume on startup # <config_mount_vm> 141*c54f35caSApple OSS Distributionsoptions CONFIG_MOUNT_PREBOOTRECOVERY # mount Preboot and/or Recovery volume on startup # <config_mount_prebootrecovery> 142*c54f35caSApple OSS Distributionsoptions CONFIG_DATALESS_FILES # support dataless file materialization # <config_dataless_files> 143*c54f35caSApple OSS Distributionsoptions CONFIG_BASESYSTEMROOT # mount BaseSystem as initial root filesystem on some kinds of startup # <config_basesystemroot> 144*c54f35caSApple OSS Distributionsoptions CONFIG_UNION_MOUNTS # support union mounts # <config_union_mounts> 145*c54f35caSApple OSS Distributionsoptions CONFIG_FILE_LEASES # local file leasing support # <config_file_leases> 146*c54f35caSApple OSS Distributions 147*c54f35caSApple OSS Distributions# 148*c54f35caSApple OSS Distributions# VFS debugging 149*c54f35caSApple OSS Distributions# 150*c54f35caSApple OSS Distributionsoptions CONFIG_IOCOUNT_TRACE # enable vnode's iocount tracing # <config_iocount_trace> 151*c54f35caSApple OSS Distributions 152*c54f35caSApple OSS Distributions# NFS support 153*c54f35caSApple OSS Distributions# 154*c54f35caSApple OSS Distributionsoptions NFSSERVER # Be an NFS server # <nfsserver> 155*c54f35caSApple OSS Distributionsoptions CONFIG_NETBOOT # network booting # <config_netboot> 156*c54f35caSApple OSS Distributions 157*c54f35caSApple OSS Distributions# 158*c54f35caSApple OSS Distributions# Machine Independent Apple Features 159*c54f35caSApple OSS Distributions# 160*c54f35caSApple OSS Distributionsprofile # build a profiling kernel # <profile> 161*c54f35caSApple OSS Distributions 162*c54f35caSApple OSS Distributions# 163*c54f35caSApple OSS Distributions# IPv6 Support 164*c54f35caSApple OSS Distributions# 165*c54f35caSApple OSS Distributionsoptions IPSEC # IP security # <ipsec> 166*c54f35caSApple OSS Distributionsoptions IPSEC_ESP # IP security # <ipsec> 167*c54f35caSApple OSS Distributions 168*c54f35caSApple OSS Distributionspseudo-device gif 1 # <gif> 169*c54f35caSApple OSS Distributionspseudo-device dummy 2 # <dummy> 170*c54f35caSApple OSS Distributionspseudo-device stf 1 # <stf> 171*c54f35caSApple OSS Distributions 172*c54f35caSApple OSS Distributionsoptions CRYPTO # <ipsec,crypto> 173*c54f35caSApple OSS Distributionsoptions CRYPTO_SHA2 # <crypto_sha2> 174*c54f35caSApple OSS Distributionsoptions ENCRYPTED_SWAP # <encrypted_swap> 175*c54f35caSApple OSS Distributions 176*c54f35caSApple OSS Distributionsoptions CONFIG_IMG4 # <config_img4> 177*c54f35caSApple OSS Distributions 178*c54f35caSApple OSS Distributionsoptions ZLIB # inflate/deflate support # <zlib> 179*c54f35caSApple OSS Distributionsoptions ZLIBC # inflate/deflate support # <zlibc> 180*c54f35caSApple OSS Distributions 181*c54f35caSApple OSS Distributionsoptions IF_BRIDGE # <if_bridge> 182*c54f35caSApple OSS Distributions 183*c54f35caSApple OSS Distributions# 184*c54f35caSApple OSS Distributions# configurable kernel event related resources 185*c54f35caSApple OSS Distributions# 186*c54f35caSApple OSS Distributionsoptions CONFIG_KN_HASHSIZE=64 # <medium,large,xlarge> 187*c54f35caSApple OSS Distributionsoptions CONFIG_KN_HASHSIZE=48 # <small,xsmall> 188*c54f35caSApple OSS Distributionsoptions CONFIG_KN_HASHSIZE=20 # <bsmall> 189*c54f35caSApple OSS Distributions 190*c54f35caSApple OSS Distributions# 191*c54f35caSApple OSS Distributions# configurable vfs related resources 192*c54f35caSApple OSS Distributions# CONFIG_VNODES - used to pre allocate vnode related resources 193*c54f35caSApple OSS Distributions# CONFIG_NC_HASH - name cache hash table allocation 194*c54f35caSApple OSS Distributions# CONFIG_VFS_NAMES - name strings 195*c54f35caSApple OSS Distributions# 196*c54f35caSApple OSS Distributions# 263168 magic number for medium CONFIG_VNODES is based on memory 197*c54f35caSApple OSS Distributions# Number vnodes is (memsize/64k) + 1024 198*c54f35caSApple OSS Distributions# This is the calculation that is used by launchd in tiger 199*c54f35caSApple OSS Distributions# we are clipping the max based on 16G 200*c54f35caSApple OSS Distributions# ie ((16*1024*1024*1024)/(64 *1024)) + 1024 = 263168; 201*c54f35caSApple OSS Distributions 202*c54f35caSApple OSS Distributionsoptions CONFIG_VNODES=263168 # <large,xlarge> 203*c54f35caSApple OSS Distributionsoptions CONFIG_VNODES=263168 # <medium> 204*c54f35caSApple OSS Distributionsoptions CONFIG_VNODES=10240 # <small> 205*c54f35caSApple OSS Distributionsoptions CONFIG_VNODES=750 # <bsmall> 206*c54f35caSApple OSS Distributions 207*c54f35caSApple OSS Distributionsoptions CONFIG_NC_HASH=5120 # <large,xlarge> 208*c54f35caSApple OSS Distributionsoptions CONFIG_NC_HASH=4096 # <medium> 209*c54f35caSApple OSS Distributionsoptions CONFIG_NC_HASH=2048 # <small,xsmall> 210*c54f35caSApple OSS Distributionsoptions CONFIG_NC_HASH=1024 # <bsmall> 211*c54f35caSApple OSS Distributions 212*c54f35caSApple OSS Distributionsoptions CONFIG_VFS_NAMES=5120 # <large,xlarge> 213*c54f35caSApple OSS Distributionsoptions CONFIG_VFS_NAMES=4096 # <medium> 214*c54f35caSApple OSS Distributionsoptions CONFIG_VFS_NAMES=3072 # <small,xsmall> 215*c54f35caSApple OSS Distributionsoptions CONFIG_VFS_NAMES=2048 # <bsmall> 216*c54f35caSApple OSS Distributions 217*c54f35caSApple OSS Distributionsoptions CONFIG_MAX_CLUSTERS=8 # <xlarge,large,medium> 218*c54f35caSApple OSS Distributionsoptions CONFIG_MAX_CLUSTERS=4 # <small,xsmall,bsmall> 219*c54f35caSApple OSS Distributions 220*c54f35caSApple OSS Distributions# 221*c54f35caSApple OSS Distributions# configurable options for minumum number of buffers for kernel memory 222*c54f35caSApple OSS Distributions# 223*c54f35caSApple OSS Distributionsoptions CONFIG_MIN_NBUF=256 # <medium,large,xlarge> 224*c54f35caSApple OSS Distributionsoptions CONFIG_MIN_NBUF=128 # <small> 225*c54f35caSApple OSS Distributionsoptions CONFIG_MIN_NBUF=80 # <xsmall> 226*c54f35caSApple OSS Distributionsoptions CONFIG_MIN_NBUF=64 # <bsmall> 227*c54f35caSApple OSS Distributions 228*c54f35caSApple OSS Distributionsoptions CONFIG_MIN_NIOBUF=128 # <medium,large,xlarge> 229*c54f35caSApple OSS Distributionsoptions CONFIG_MIN_NIOBUF=64 # <xsmall,small> 230*c54f35caSApple OSS Distributionsoptions CONFIG_MIN_NIOBUF=32 # <bsmall> 231*c54f35caSApple OSS Distributions 232*c54f35caSApple OSS Distributions# 233*c54f35caSApple OSS Distributions# set maximum space used for packet buffers 234*c54f35caSApple OSS Distributions# 235*c54f35caSApple OSS Distributionsoptions CONFIG_NMBCLUSTERS="((1024 * 1024) / MCLBYTES)" # <large,xlarge> 236*c54f35caSApple OSS Distributionsoptions CONFIG_NMBCLUSTERS="((1024 * 512) / MCLBYTES)" # <medium> 237*c54f35caSApple OSS Distributionsoptions CONFIG_NMBCLUSTERS="((1024 * 256) / MCLBYTES)" # <bsmall,xsmall,small> 238*c54f35caSApple OSS Distributions 239*c54f35caSApple OSS Distributions# 240*c54f35caSApple OSS Distributions# Configure size of TCP hash table 241*c54f35caSApple OSS Distributions# 242*c54f35caSApple OSS Distributionsoptions CONFIG_TCBHASHSIZE=4096 # <medium,large,xlarge> 243*c54f35caSApple OSS Distributionsoptions CONFIG_TCBHASHSIZE=128 # <xsmall,small,bsmall> 244*c54f35caSApple OSS Distributions 245*c54f35caSApple OSS Distributions# 246*c54f35caSApple OSS Distributions# configurable async IO options 247*c54f35caSApple OSS Distributions# CONFIG_AIO_MAX - system wide limit of async IO requests. 248*c54f35caSApple OSS Distributions# CONFIG_AIO_PROCESS_MAX - process limit of async IO requests. 249*c54f35caSApple OSS Distributions# CONFIG_AIO_THREAD_COUNT - number of async IO worker threads created. 250*c54f35caSApple OSS Distributions# 251*c54f35caSApple OSS Distributionsoptions CONFIG_AIO_MAX=360 # <xlarge> 252*c54f35caSApple OSS Distributionsoptions CONFIG_AIO_MAX=180 # <large> 253*c54f35caSApple OSS Distributionsoptions CONFIG_AIO_MAX=90 # <medium> 254*c54f35caSApple OSS Distributionsoptions CONFIG_AIO_MAX=45 # <small> 255*c54f35caSApple OSS Distributionsoptions CONFIG_AIO_MAX=20 # <xsmall> 256*c54f35caSApple OSS Distributionsoptions CONFIG_AIO_MAX=10 # <bsmall> 257*c54f35caSApple OSS Distributions 258*c54f35caSApple OSS Distributionsoptions CONFIG_AIO_PROCESS_MAX=64 # <xlarge> 259*c54f35caSApple OSS Distributionsoptions CONFIG_AIO_PROCESS_MAX=32 # <large> 260*c54f35caSApple OSS Distributionsoptions CONFIG_AIO_PROCESS_MAX=16 # <medium> 261*c54f35caSApple OSS Distributionsoptions CONFIG_AIO_PROCESS_MAX=12 # <small> 262*c54f35caSApple OSS Distributionsoptions CONFIG_AIO_PROCESS_MAX=8 # <xsmall> 263*c54f35caSApple OSS Distributionsoptions CONFIG_AIO_PROCESS_MAX=4 # <bsmall> 264*c54f35caSApple OSS Distributions 265*c54f35caSApple OSS Distributionsoptions CONFIG_AIO_THREAD_COUNT=16 # <xlarge> 266*c54f35caSApple OSS Distributionsoptions CONFIG_AIO_THREAD_COUNT=8 # <large> 267*c54f35caSApple OSS Distributionsoptions CONFIG_AIO_THREAD_COUNT=4 # <medium> 268*c54f35caSApple OSS Distributionsoptions CONFIG_AIO_THREAD_COUNT=3 # <small> 269*c54f35caSApple OSS Distributionsoptions CONFIG_AIO_THREAD_COUNT=2 # <xsmall,bsmall> 270*c54f35caSApple OSS Distributions 271*c54f35caSApple OSS Distributionsoptions CONFIG_MAXVIFS=32 # <medium,large,xlarge> 272*c54f35caSApple OSS Distributionsoptions CONFIG_MAXVIFS=16 # <small,xsmall> 273*c54f35caSApple OSS Distributionsoptions CONFIG_MAXVIFS=2 # <bsmall> 274*c54f35caSApple OSS Distributions 275*c54f35caSApple OSS Distributionsoptions CONFIG_MFCTBLSIZ=256 # <medium,large,xlarge> 276*c54f35caSApple OSS Distributionsoptions CONFIG_MFCTBLSIZ=128 # <small,xsmall> 277*c54f35caSApple OSS Distributionsoptions CONFIG_MFCTBLSIZ=16 # <bsmall> 278*c54f35caSApple OSS Distributions 279*c54f35caSApple OSS Distributions# 280*c54f35caSApple OSS Distributions# configurable kernel message buffer size 281*c54f35caSApple OSS Distributions# 282*c54f35caSApple OSS Distributionsoptions CONFIG_MSG_BSIZE_REL=16384 # <msgb_small> 283*c54f35caSApple OSS Distributionsoptions CONFIG_MSG_BSIZE_DEV=131072 # <msgb_small> 284*c54f35caSApple OSS Distributionsoptions CONFIG_MSG_BSIZE_REL=131072 # <msgb_large> 285*c54f35caSApple OSS Distributionsoptions CONFIG_MSG_BSIZE_DEV=131072 # <msgb_large> 286*c54f35caSApple OSS Distributionsoptions CONFIG_MSG_BSIZE=CONFIG_MSG_BSIZE_REL # <!development,debug> 287*c54f35caSApple OSS Distributionsoptions CONFIG_MSG_BSIZE=CONFIG_MSG_BSIZE_DEV # <development,debug> 288*c54f35caSApple OSS Distributions 289*c54f35caSApple OSS Distributions# 290*c54f35caSApple OSS Distributions# maximum size of the per-process Mach IPC table 291*c54f35caSApple OSS Distributions# 292*c54f35caSApple OSS Distributionsoptions CONFIG_IPC_TABLE_ENTRIES_SIZE_MAX=3145728 # 3M == 131072 entries # <bsmall,small,xsmall> 293*c54f35caSApple OSS Distributionsoptions CONFIG_IPC_TABLE_ENTRIES_SIZE_MAX=7340032 # 7M == 305834 entries # <medium,large,xlarge> 294*c54f35caSApple OSS Distributionsoptions CONFIG_IPC_TABLE_REQUEST_SIZE_MAX=1048576 # 1M == 65536 requests # <bsmall,small,xsmall> 295*c54f35caSApple OSS Distributionsoptions CONFIG_IPC_TABLE_REQUEST_SIZE_MAX=2097152 # 2M == 131072 requests # <medium,large,xlarge> 296*c54f35caSApple OSS Distributions 297*c54f35caSApple OSS Distributions# 298*c54f35caSApple OSS Distributions# maximum copyout size for IPC debugging tools 299*c54f35caSApple OSS Distributions# 300*c54f35caSApple OSS Distributionsoptions CONFIG_IPC_KERNEL_MAP_SIZE=32 # 32M # <bsmall,small,xsmall> 301*c54f35caSApple OSS Distributionsoptions CONFIG_IPC_KERNEL_MAP_SIZE=64 # 64M # <medium,large,xlarge> 302*c54f35caSApple OSS Distributions 303*c54f35caSApple OSS Distributions# 304*c54f35caSApple OSS Distributions# configurable kernel - use these options to strip strings from panic 305*c54f35caSApple OSS Distributions# and printf calls. 306*c54f35caSApple OSS Distributions# no_printf_str - saves around 45K of kernel footprint. 307*c54f35caSApple OSS Distributions# 308*c54f35caSApple OSS Distributionsoptions CONFIG_NO_PRINTF_STRINGS # <no_printf_str> 309*c54f35caSApple OSS Distributionsoptions CONFIG_NO_KPRINTF_STRINGS # <no_kprintf_str> 310*c54f35caSApple OSS Distributions 311*c54f35caSApple OSS Distributions# support vsprintf (deprecated in favor of vsnprintf) 312*c54f35caSApple OSS Distributionsoptions CONFIG_VSPRINTF # <vsprintf> 313*c54f35caSApple OSS Distributions 314*c54f35caSApple OSS Distributions# 315*c54f35caSApple OSS Distributions# configurable kernel - general switch to say we are building for an 316*c54f35caSApple OSS Distributions# embedded device 317*c54f35caSApple OSS Distributions# 318*c54f35caSApple OSS Distributionsoptions CONFIG_EMBEDDED # <config_embedded> 319*c54f35caSApple OSS Distributions 320*c54f35caSApple OSS Distributions 321*c54f35caSApple OSS Distributions# Compile XNU with PPL support. 322*c54f35caSApple OSS Distributionsoptions CONFIG_PMAP_PPL # <config_pmap_ppl> 323*c54f35caSApple OSS Distributions 324*c54f35caSApple OSS Distributionsoptions NOS_ARM_ASM # <nos_arm_asm> 325*c54f35caSApple OSS Distributionsoptions NOS_ARM_PMAP # <nos_arm_pmap> 326*c54f35caSApple OSS Distributions 327*c54f35caSApple OSS Distributions# support dynamic signing of code 328*c54f35caSApple OSS Distributions# 329*c54f35caSApple OSS Distributionsoptions CONFIG_DYNAMIC_CODE_SIGNING # <dynamic_codesigning> 330*c54f35caSApple OSS Distributions 331*c54f35caSApple OSS Distributions# enforce library validation on all processes. 332*c54f35caSApple OSS Distributions# 333*c54f35caSApple OSS Distributionsoptions CONFIG_ENFORCE_LIBRARY_VALIDATION # <config_library_validation> 334*c54f35caSApple OSS Distributions 335*c54f35caSApple OSS Distributions# support loading a second static trust cache 336*c54f35caSApple OSS Distributions# 337*c54f35caSApple OSS Distributionsoptions CONFIG_SECOND_STATIC_TRUST_CACHE # <second_static_trust_cache> 338*c54f35caSApple OSS Distributions 339*c54f35caSApple OSS Distributions# support supplemental signatures 340*c54f35caSApple OSS Distributions# 341*c54f35caSApple OSS Distributionsoptions CONFIG_SUPPLEMENTAL_SIGNATURES # <config_supplemental_signatures> 342*c54f35caSApple OSS Distributions 343*c54f35caSApple OSS Distributions# 344*c54f35caSApple OSS Distributions# code decryption... used on embedded for app protection, DSMOS on desktop 345*c54f35caSApple OSS Distributions# 346*c54f35caSApple OSS Distributionsoptions CONFIG_CODE_DECRYPTION # <config_code_decryption> 347*c54f35caSApple OSS Distributions 348*c54f35caSApple OSS Distributions# 349*c54f35caSApple OSS Distributions# User Content Protection, used on embedded 350*c54f35caSApple OSS Distributions# 351*c54f35caSApple OSS Distributionsoptions CONFIG_PROTECT # <config_protect> 352*c54f35caSApple OSS Distributions 353*c54f35caSApple OSS Distributions#allow write-protection of key page 354*c54f35caSApple OSS Distributionsoptions CONFIG_KEYPAGE_WP # <config_keypage_wp> 355*c54f35caSApple OSS Distributions 356*c54f35caSApple OSS Distributions# 357*c54f35caSApple OSS Distributions# allow vm_pageout_scan to dynamically adjust its priority based on priorities of waiters 358*c54f35caSApple OSS Distributions# 359*c54f35caSApple OSS Distributionsoptions CONFIG_VPS_DYNAMIC_PRIO # <vps_dynamic_prio> 360*c54f35caSApple OSS Distributions 361*c54f35caSApple OSS Distributions# 362*c54f35caSApple OSS Distributions# enable per-process memory priority tracking 363*c54f35caSApple OSS Distributions# 364*c54f35caSApple OSS Distributionsoptions CONFIG_MEMORYSTATUS # <memorystatus> 365*c54f35caSApple OSS Distributions 366*c54f35caSApple OSS Distributionsoptions CONFIG_DEFERRED_RECLAIM # <config_deferred_reclaim> 367*c54f35caSApple OSS Distributions 368*c54f35caSApple OSS Distributions# 369*c54f35caSApple OSS Distributions# enable jetsam - used on embedded 370*c54f35caSApple OSS Distributions# 371*c54f35caSApple OSS Distributionsoptions CONFIG_JETSAM # <jetsam> 372*c54f35caSApple OSS Distributions 373*c54f35caSApple OSS Distributions# 374*c54f35caSApple OSS Distributions# enable new wait queue implementation stats / debugging 375*c54f35caSApple OSS Distributions# 376*c54f35caSApple OSS Distributionsoptions CONFIG_WAITQ_STATS # <config_waitq_stats> 377*c54f35caSApple OSS Distributions 378*c54f35caSApple OSS Distributions# 379*c54f35caSApple OSS Distributions# enable freezing of suspended processes - used on embedded 380*c54f35caSApple OSS Distributions# 381*c54f35caSApple OSS Distributionsoptions CONFIG_FREEZE # <freeze> 382*c54f35caSApple OSS Distributions 383*c54f35caSApple OSS Distributionsoptions CHECK_CS_VALIDATION_BITMAP # <config_cs_validation_bitmap> 384*c54f35caSApple OSS Distributions 385*c54f35caSApple OSS Distributions# 386*c54f35caSApple OSS Distributions# enable physical writes accounting 387*c54f35caSApple OSS Distributions# 388*c54f35caSApple OSS Distributionsoptions CONFIG_PHYS_WRITE_ACCT # <phys_write_acct> 389*c54f35caSApple OSS Distributions 390*c54f35caSApple OSS Distributions# 391*c54f35caSApple OSS Distributions# enable detectiion of file cache thrashing - used on platforms with 392*c54f35caSApple OSS Distributions# dynamic VM compression enabled 393*c54f35caSApple OSS Distributions# 394*c54f35caSApple OSS Distributionsoptions CONFIG_PHANTOM_CACHE # <phantom_cache> 395*c54f35caSApple OSS Distributions 396*c54f35caSApple OSS Distributions# 397*c54f35caSApple OSS Distributions# memory pressure event support 398*c54f35caSApple OSS Distributions# 399*c54f35caSApple OSS Distributionsoptions VM_PRESSURE_EVENTS # <vm_pressure_events> 400*c54f35caSApple OSS Distributions 401*c54f35caSApple OSS Distributionsoptions CONFIG_SECLUDED_MEMORY # <config_secluded_memory> 402*c54f35caSApple OSS Distributions 403*c54f35caSApple OSS Distributions# 404*c54f35caSApple OSS Distributions# Ledger features 405*c54f35caSApple OSS Distributions# 406*c54f35caSApple OSS Distributionsoptions CONFIG_LEDGER_INTERVAL_MAX # <config_ledger_interval_max> 407*c54f35caSApple OSS Distributions 408*c54f35caSApple OSS Distributions# 409*c54f35caSApple OSS Distributions# I/O Scheduling 410*c54f35caSApple OSS Distributions# 411*c54f35caSApple OSS Distributionsoptions CONFIG_IOSCHED # <config_iosched> 412*c54f35caSApple OSS Distributions 413*c54f35caSApple OSS Distributions# 414*c54f35caSApple OSS Distributions# Accounting for I/O usage 415*c54f35caSApple OSS Distributions# 416*c54f35caSApple OSS Distributionsoptions CONFIG_IO_ACCOUNTING # <config_io_accounting> 417*c54f35caSApple OSS Distributions 418*c54f35caSApple OSS Distributions# 419*c54f35caSApple OSS Distributions# Enable inheritance of importance through specially marked mach ports and for file locks 420*c54f35caSApple OSS Distributions# For now debug is enabled wherever inheritance is 421*c54f35caSApple OSS Distributions# 422*c54f35caSApple OSS Distributionsoptions IMPORTANCE_INHERITANCE # <importance_inheritance> 423*c54f35caSApple OSS Distributionsoptions IMPORTANCE_TRACE # <importance_trace> 424*c54f35caSApple OSS Distributionsoptions IMPORTANCE_DEBUG # <importance_debug> 425*c54f35caSApple OSS Distributions 426*c54f35caSApple OSS Distributionsoptions CONFIG_TELEMETRY # <config_telemetry> 427*c54f35caSApple OSS Distributions 428*c54f35caSApple OSS Distributionsoptions CONFIG_PROC_UUID_POLICY # <config_proc_uuid_policy> 429*c54f35caSApple OSS Distributions 430*c54f35caSApple OSS Distributions# 431*c54f35caSApple OSS Distributions# ECC data logging 432*c54f35caSApple OSS Distributions# 433*c54f35caSApple OSS Distributionsoptions CONFIG_ECC_LOGGING # <config_ecc_logging> 434*c54f35caSApple OSS Distributions 435*c54f35caSApple OSS Distributions# 436*c54f35caSApple OSS Distributions# Application core dumps 437*c54f35caSApple OSS Distributions# 438*c54f35caSApple OSS Distributionsoptions CONFIG_COREDUMP # <config_coredump> 439*c54f35caSApple OSS Distributions 440*c54f35caSApple OSS Distributions# 441*c54f35caSApple OSS Distributions# Vnode guards 442*c54f35caSApple OSS Distributions# 443*c54f35caSApple OSS Distributionsoptions CONFIG_VNGUARD # <config_vnguard> 444*c54f35caSApple OSS Distributions 445*c54f35caSApple OSS Distributions# 446*c54f35caSApple OSS Distributions# Paravirtualization 447*c54f35caSApple OSS Distributions# 448*c54f35caSApple OSS Distributionsoptions CONFIG_PV_TICKET # <config_pv_ticket> 449*c54f35caSApple OSS Distributions 450*c54f35caSApple OSS Distributions# 451*c54f35caSApple OSS Distributions# Enable extended VM address space and user heap segregation 452*c54f35caSApple OSS Distributions# 453*c54f35caSApple OSS Distributionsoptions CONFIG_MAP_RANGES # <config_map_ranges> 454*c54f35caSApple OSS Distributions 455*c54f35caSApple OSS Distributions# 456*c54f35caSApple OSS Distributions# Ethernet (ARP) 457*c54f35caSApple OSS Distributions# 458*c54f35caSApple OSS Distributionspseudo-device ether # <networking,inet> 459*c54f35caSApple OSS Distributions# 460*c54f35caSApple OSS Distributions# Network loopback device 461*c54f35caSApple OSS Distributions# 462*c54f35caSApple OSS Distributionspseudo-device loop # <networking,inet> 463*c54f35caSApple OSS Distributions# 464*c54f35caSApple OSS Distributions# UCB pseudo terminal service 465*c54f35caSApple OSS Distributions# 466*c54f35caSApple OSS Distributionspseudo-device pty 512 init pty_init # <xlarge> 467*c54f35caSApple OSS Distributionspseudo-device pty 256 init pty_init # <large> 468*c54f35caSApple OSS Distributionspseudo-device pty 128 init pty_init # <medium> 469*c54f35caSApple OSS Distributionspseudo-device pty 48 init pty_init # <small> 470*c54f35caSApple OSS Distributionspseudo-device pty 16 init pty_init # <xsmall> 471*c54f35caSApple OSS Distributionspseudo-device pty 8 init pty_init # <bsmall> 472*c54f35caSApple OSS Distributions# 473*c54f35caSApple OSS Distributions# Cloning pseudo terminal service 474*c54f35caSApple OSS Distributions# 475*c54f35caSApple OSS Distributionspseudo-device ptmx 1 init ptmx_init 476*c54f35caSApple OSS Distributions 477*c54f35caSApple OSS Distributions# 478*c54f35caSApple OSS Distributions# memory device 479*c54f35caSApple OSS Distributionspseudo-device mdevdevice 1 init mdevinit 480*c54f35caSApple OSS Distributions 481*c54f35caSApple OSS Distributions# 482*c54f35caSApple OSS Distributions# 483*c54f35caSApple OSS Distributions# packet filter device 484*c54f35caSApple OSS Distributions# 485*c54f35caSApple OSS Distributionspseudo-device bpfilter 4 init bpf_init # <networking,inet> 486*c54f35caSApple OSS Distributions 487*c54f35caSApple OSS Distributions# 488*c54f35caSApple OSS Distributions# fsevents device 489*c54f35caSApple OSS Distributionspseudo-device fsevents 1 init fsevents_init # <config_fse> 490*c54f35caSApple OSS Distributions 491*c54f35caSApple OSS Distributionspseudo-device random 1 init random_init 492*c54f35caSApple OSS Distributionspseudo-device dtrace 1 init dtrace_init # <config_dtrace> 493*c54f35caSApple OSS Distributionspseudo-device helper 1 init helper_init # <config_dtrace> 494*c54f35caSApple OSS Distributionspseudo-device lockstat 1 init lockstat_init # <config_dtrace> 495*c54f35caSApple OSS Distributionspseudo-device lockprof 1 init lockprof_init # <config_dtrace> 496*c54f35caSApple OSS Distributionspseudo-device sdt 1 init sdt_init # <config_dtrace> 497*c54f35caSApple OSS Distributionspseudo-device systrace 1 init systrace_init # <config_dtrace> 498*c54f35caSApple OSS Distributionspseudo-device fbt 1 init fbt_init # <config_dtrace> 499*c54f35caSApple OSS Distributionspseudo-device profile_prvd 1 init profile_init # <config_dtrace> 500*c54f35caSApple OSS Distributions 501*c54f35caSApple OSS Distributions 502*c54f35caSApple OSS Distributionspseudo-device perfmon 1 init perfmon_dev_init # <config_perfmon> 503*c54f35caSApple OSS Distributions 504*c54f35caSApple OSS Distributions# 505*c54f35caSApple OSS Distributions# IOKit configuration options 506*c54f35caSApple OSS Distributions# 507*c54f35caSApple OSS Distributions 508*c54f35caSApple OSS Distributionsoptions HIBERNATION # system hibernation # <hibernation> 509*c54f35caSApple OSS Distributionsoptions IOKITCPP # C++ implementation # <iokitcpp> 510*c54f35caSApple OSS Distributionsoptions IOKITSTATS # IOKit statistics # <iokitstats> 511*c54f35caSApple OSS Distributionsoptions IOTRACKING # IOKit tracking # <iotracking> 512*c54f35caSApple OSS Distributionsoptions CONFIG_SLEEP # # <config_sleep> 513*c54f35caSApple OSS Distributionsoptions CONFIG_MAX_THREADS=500 # IOConfigThread threads 514*c54f35caSApple OSS Distributionsoptions NO_KEXTD # <no_kextd> 515*c54f35caSApple OSS Distributionsoptions NO_KERNEL_HID # <no_kernel_hid> 516*c54f35caSApple OSS Distributions 517*c54f35caSApple OSS Distributions# 518*c54f35caSApple OSS Distributions# Libkern configuration options 519*c54f35caSApple OSS Distributions# 520*c54f35caSApple OSS Distributions 521*c54f35caSApple OSS Distributionsoptions LIBKERNCPP # C++ implementation # <libkerncpp> 522*c54f35caSApple OSS Distributionsoptions CONFIG_BLOCKS # Blocks runtime # <config_blocks> 523*c54f35caSApple OSS Distributionsoptions CONFIG_KXLD # kxld/runtime linking of kexts # <config_kxld> 524*c54f35caSApple OSS Distributionsoptions CONFIG_KEC_FIPS # Kernel External Components for FIPS compliance (KEC_FIPS) # <config_kec_fips> 525*c54f35caSApple OSS Distributions 526*c54f35caSApple OSS Distributions# Note that when adding this config option to an architecture, one MUST 527*c54f35caSApple OSS Distributions# add the architecture to the preprocessor test at the beginning of 528*c54f35caSApple OSS Distributions# libkern/kmod/cplus_{start.c,stop.c}. 529*c54f35caSApple OSS Distributionsoptions CONFIG_STATIC_CPPINIT # Static library initializes kext cpp runtime # <config_static_cppinit> 530*c54f35caSApple OSS Distributions 531*c54f35caSApple OSS Distributions# 532*c54f35caSApple OSS Distributions# libsa configuration options 533*c54f35caSApple OSS Distributions# 534*c54f35caSApple OSS Distributions 535*c54f35caSApple OSS Distributions# CONFIG_KEXT_BASEMENT - alloc post boot loaded kexts after prelinked kexts 536*c54f35caSApple OSS Distributions# 537*c54f35caSApple OSS Distributionsoptions CONFIG_KEXT_BASEMENT # # <config_kext_basement> 538*c54f35caSApple OSS Distributions 539*c54f35caSApple OSS Distributions# 540*c54f35caSApple OSS Distributions# Persona Management 541*c54f35caSApple OSS Distributions# 542*c54f35caSApple OSS Distributionsoptions CONFIG_PERSONAS # Persona management # <config_personas> 543*c54f35caSApple OSS Distributionsoptions PERSONA_DEBUG # Persona debugging # <persona_debug> 544*c54f35caSApple OSS Distributions 545*c54f35caSApple OSS Distributions# 546*c54f35caSApple OSS Distributions# security configuration options 547*c54f35caSApple OSS Distributions# 548*c54f35caSApple OSS Distributions 549*c54f35caSApple OSS Distributionsoptions CONFIG_MACF # Mandatory Access Control Framework # <config_macf> 550*c54f35caSApple OSS Distributionsoptions CONFIG_MACF_SOCKET_SUBSET # MAC socket subest (no labels) # <config_macf> 551*c54f35caSApple OSS Distributions#options CONFIG_MACF_DEBUG # debug # <config_macf> 552*c54f35caSApple OSS Distributions 553*c54f35caSApple OSS Distributionsoptions CONFIG_AUDIT # Kernel auditing # <config_audit> 554*c54f35caSApple OSS Distributions 555*c54f35caSApple OSS Distributionsoptions CONFIG_ARCADE # Arcade validation support # <config_arcade> 556*c54f35caSApple OSS Distributions 557*c54f35caSApple OSS Distributionsoptions CONFIG_SETUID # setuid/setgid support # <config_setuid> 558*c54f35caSApple OSS Distributions 559*c54f35caSApple OSS Distributionsoptions CONFIG_SECURE_BSD_ROOT # secure BSD root # <config_secure_bsd_root> 560*c54f35caSApple OSS Distributions 561*c54f35caSApple OSS Distributionsoptions CONFIG_KAS_INFO # kas_info support # <config_kas_info> 562*c54f35caSApple OSS Distributions 563*c54f35caSApple OSS Distributionsoptions CONFIG_PROC_RESOURCE_LIMITS # Per process limits for resources like file descriptors and mach ports # <config_proc_resource_limits> 564*c54f35caSApple OSS Distributions 565*c54f35caSApple OSS Distributions# 566*c54f35caSApple OSS Distributions# MACH configuration options. 567*c54f35caSApple OSS Distributions# 568*c54f35caSApple OSS Distributions 569*c54f35caSApple OSS Distributions# 570*c54f35caSApple OSS Distributions# This defines configuration options that are normally used only during 571*c54f35caSApple OSS Distributions# kernel code development and debugging. They add run-time error checks or 572*c54f35caSApple OSS Distributions# statistics gathering, which will slow down the system 573*c54f35caSApple OSS Distributions# 574*c54f35caSApple OSS Distributions########################################################## 575*c54f35caSApple OSS Distributions# 576*c54f35caSApple OSS Distributions# MACH_ASSERT controls the assert() and ASSERT() macros, used to verify the 577*c54f35caSApple OSS Distributions# consistency of various algorithms in the kernel. The performance impact 578*c54f35caSApple OSS Distributions# of this option is significant. 579*c54f35caSApple OSS Distributions# 580*c54f35caSApple OSS Distributionsoptions MACH_ASSERT # # <mach_assert> 581*c54f35caSApple OSS Distributionsoptions MACH_VM_DEBUG # # <debug> 582*c54f35caSApple OSS Distributionsoptions CONFIG_ZLEAKS # Live zone leak debugging # <zleaks> 583*c54f35caSApple OSS Distributionsoptions CONFIG_VOUCHER_DEPRECATED # Enable deprecated voucher managers # <config_voucher_deprecated> 584*c54f35caSApple OSS Distributions 585*c54f35caSApple OSS Distributions# 586*c54f35caSApple OSS Distributions# CONFIG_DEBUGGER_FOR_ZONE_INFO restricts zone info so that it is only 587*c54f35caSApple OSS Distributions# available when the kernel is being debugged. 588*c54f35caSApple OSS Distributions# 589*c54f35caSApple OSS Distributionsoptions CONFIG_DEBUGGER_FOR_ZONE_INFO # <debugger_for_zone_info> 590*c54f35caSApple OSS Distributions# 591*c54f35caSApple OSS Distributions# MACH_LDEBUG controls the internal consistency checks and 592*c54f35caSApple OSS Distributions# data gathering in the locking package. This also enables a debug-only 593*c54f35caSApple OSS Distributions# version of simple-locks on uniprocessor machines. The code size and 594*c54f35caSApple OSS Distributions# performance impact of this option is significant. 595*c54f35caSApple OSS Distributions# 596*c54f35caSApple OSS Distributionsoptions MACH_LDEBUG # # <debug> 597*c54f35caSApple OSS Distributions 598*c54f35caSApple OSS Distributions# 599*c54f35caSApple OSS Distributions# configuration option for full, partial, or no kernel debug event tracing 600*c54f35caSApple OSS Distributions# 601*c54f35caSApple OSS Distributionsoptions KDEBUG # kernel tracing # <kdebug> 602*c54f35caSApple OSS Distributionsoptions IST_KDEBUG # limited tracing # <ist_kdebug> 603*c54f35caSApple OSS Distributionsoptions NO_KDEBUG # no kernel tracing # <no_kdebug> 604*c54f35caSApple OSS Distributions 605*c54f35caSApple OSS Distributions# 606*c54f35caSApple OSS Distributions# CONFIG_DTRACE enables code needed to support DTrace. Currently this is 607*c54f35caSApple OSS Distributions# only used for delivery of traps/interrupts to DTrace. 608*c54f35caSApple OSS Distributions# 609*c54f35caSApple OSS Distributionsoptions CONFIG_DTRACE # # <config_dtrace> 610*c54f35caSApple OSS Distributions 611*c54f35caSApple OSS Distributionsoptions LOCK_STATS # # <lock_stats> 612*c54f35caSApple OSS Distributions 613*c54f35caSApple OSS Distributions# kernel performance tracing 614*c54f35caSApple OSS Distributionsoptions KPERF # <kperf> 615*c54f35caSApple OSS Distributionsoptions KPC # <kpc> 616*c54f35caSApple OSS Distributions 617*c54f35caSApple OSS Distributions 618*c54f35caSApple OSS Distributionsoptions CONFIG_PERVASIVE_CPI # <config_pervasive_cpi> 619*c54f35caSApple OSS Distributionsoptions CONFIG_PERVASIVE_ENERGY # <config_pervasive_energy> 620*c54f35caSApple OSS Distributions 621*c54f35caSApple OSS Distributionsoptions CONFIG_IOTRACE # Physical IO tracing # <config_iotrace> 622*c54f35caSApple OSS Distributions 623*c54f35caSApple OSS Distributions# 624*c54f35caSApple OSS Distributions# CONFIG_PERFMON enables code to interface with performance monitoring hardware, 625*c54f35caSApple OSS Distributions# which count hardware events like cache misses and branch mispredicts. 626*c54f35caSApple OSS Distributions# 627*c54f35caSApple OSS Distributionsoptions CONFIG_PERFMON # <config_perfmon> 628*c54f35caSApple OSS Distributions 629*c54f35caSApple OSS Distributionsoptions PGO # <pgo> 630*c54f35caSApple OSS Distributions 631*c54f35caSApple OSS Distributions# DEVELOPMENT define for development builds 632*c54f35caSApple OSS Distributionsoptions DEVELOPMENT # dev kernel # <development> 633*c54f35caSApple OSS Distributions 634*c54f35caSApple OSS Distributions# DEBUG kernel 635*c54f35caSApple OSS Distributionsoptions DEBUG # general debugging code # <debug> 636*c54f35caSApple OSS Distributionsoptions CONFIG_NONFATAL_ASSERTS # non fatal asserts # <softasserts> 637*c54f35caSApple OSS Distributions 638*c54f35caSApple OSS Distributionsoptions MACH_BSD # BSD subsystem on top of Mach # <mach_bsd> 639*c54f35caSApple OSS Distributionsoptions IOKIT # # <iokit> 640*c54f35caSApple OSS Distributions 641*c54f35caSApple OSS Distributions# 642*c54f35caSApple OSS Distributions# configurable kernel related resources (CONFIG_THREAD_MAX needs to stay in 643*c54f35caSApple OSS Distributions# sync with bsd/conf/MASTER until we fix the config system... todo XXX 644*c54f35caSApple OSS Distributions# 645*c54f35caSApple OSS Distributionsoptions CONFIG_THREAD_MAX=2560 # <medium,large,xlarge> 646*c54f35caSApple OSS Distributionsoptions CONFIG_THREAD_MAX=1536 # <small,xsmall> 647*c54f35caSApple OSS Distributionsoptions CONFIG_THREAD_MAX=1024 # <bsmall> 648*c54f35caSApple OSS Distributions 649*c54f35caSApple OSS Distributionsoptions CONFIG_TASK_MAX=1024 # <medium,large,xlarge> 650*c54f35caSApple OSS Distributionsoptions CONFIG_TASK_MAX=768 # <small,> 651*c54f35caSApple OSS Distributionsoptions CONFIG_TASK_MAX=512 # <xsmall,bsmall> 652*c54f35caSApple OSS Distributions 653*c54f35caSApple OSS Distributions# 654*c54f35caSApple OSS Distributions# Minimum zone map size: 115 MB 655*c54f35caSApple OSS Distributions# 656*c54f35caSApple OSS Distributionsoptions CONFIG_ZONE_MAP_MIN=120586240 # <xsmall,bsmall,small,medium,large,xlarge> 657*c54f35caSApple OSS Distributions 658*c54f35caSApple OSS Distributions# vc_progress_white - make the progress gear white instead of black 659*c54f35caSApple OSS Distributionsoptions CONFIG_VC_PROGRESS_WHITE # <vc_progress_white> 660*c54f35caSApple OSS Distributions 661*c54f35caSApple OSS Distributions# 662*c54f35caSApple OSS Distributions# Timeshare scheduler implementations 663*c54f35caSApple OSS Distributions# 664*c54f35caSApple OSS Distributionsoptions CONFIG_SCHED_TRADITIONAL # <config_sched_traditional> 665*c54f35caSApple OSS Distributionsoptions CONFIG_SCHED_PROTO # <config_sched_proto> 666*c54f35caSApple OSS Distributionsoptions CONFIG_SCHED_GRRR # <config_sched_grrr> 667*c54f35caSApple OSS Distributionsoptions CONFIG_SCHED_GRRR_CORE # <config_sched_grrr> 668*c54f35caSApple OSS Distributionsoptions CONFIG_SCHED_MULTIQ # <config_sched_multiq> 669*c54f35caSApple OSS Distributionsoptions CONFIG_SCHED_TIMESHARE_CORE # <config_sched_traditional,config_sched_multiq> 670*c54f35caSApple OSS Distributionsoptions CONFIG_CLUTCH # <config_clutch> 671*c54f35caSApple OSS Distributionsoptions CONFIG_SCHED_AUTO_JOIN # <config_sched_auto_join> 672*c54f35caSApple OSS Distributionsoptions CONFIG_SCHED_RT_ALLOW # <config_sched_rt_allow> 673*c54f35caSApple OSS Distributions 674*c54f35caSApple OSS Distributionsoptions CONFIG_SCHED_IDLE_IN_PLACE # <config_sched_idle_in_place> 675*c54f35caSApple OSS Distributionsoptions CONFIG_SCHED_SFI # <config_sched_sfi> 676*c54f35caSApple OSS Distributionsoptions CONFIG_PROB_GZALLOC # <pgzalloc> 677*c54f35caSApple OSS Distributionsoptions CONFIG_SCHED_DEFERRED_AST # <config_sched_deferred_ast> 678*c54f35caSApple OSS Distributions 679*c54f35caSApple OSS Distributionsoptions CONFIG_PREADOPT_TG # <config_preadopt_tg> 680*c54f35caSApple OSS Distributionsoptions CONFIG_PREADOPT_TG_DEBUG # <config_preadopt_tg_debug> 681*c54f35caSApple OSS Distributions 682*c54f35caSApple OSS Distributions# Enable allocation of contiguous physical memory through vm_map_enter_cpm() 683*c54f35caSApple OSS Distributionsoptions VM_CPM # <vm_cpm> 684*c54f35caSApple OSS Distributions 685*c54f35caSApple OSS Distributions# This is overridden by the board configuration's HAS_FAST_CNTVCT. 686*c54f35caSApple OSS Distributionsoptions CONFIG_SKIP_PRECISE_USER_KERNEL_TIME # <config_skip_precise_user_kernel_time> 687*c54f35caSApple OSS Distributions 688*c54f35caSApple OSS Distributions# 689*c54f35caSApple OSS Distributions# Switch to disable cpu, wakeup and high memory watermark monitors 690*c54f35caSApple OSS Distributions# 691*c54f35caSApple OSS Distributionsoptions CONFIG_NOMONITORS # <config_nomonitors> 692*c54f35caSApple OSS Distributions 693*c54f35caSApple OSS Distributionsoptions MACH_KDP # KDP # <mach_kdp> 694*c54f35caSApple OSS Distributionsoptions CONFIG_SERIAL_KDP # KDP over serial # <config_serial_kdp> 695*c54f35caSApple OSS Distributionsoptions CONFIG_KDP_INTERACTIVE_DEBUGGING # <kdp_interactive_debugging> 696*c54f35caSApple OSS Distributionsoptions CONFIG_KDP_COREDUMP_ENCRYPTION # Support for encrypting kernel coredumps # <config_kdp_coredump_encryption> 697*c54f35caSApple OSS Distributions 698*c54f35caSApple OSS Distributionsoptions CONFIG_TASKWATCH 699*c54f35caSApple OSS Distributionsoptions CONFIG_USER_NOTIFICATION # <config_user_notification> 700*c54f35caSApple OSS Distributions# 701*c54f35caSApple OSS Distributions# Kernel Power On Self Tests 702*c54f35caSApple OSS Distributions# 703*c54f35caSApple OSS Distributionsoptions CONFIG_XNUPOST # <config_xnupost> 704*c54f35caSApple OSS Distributions 705*c54f35caSApple OSS Distributions# 706*c54f35caSApple OSS Distributions# Kernel proc reference instrumentation 707*c54f35caSApple OSS Distributions# 708*c54f35caSApple OSS Distributionsoptions PROC_REF_DEBUG # <proc_ref_debug> 709*c54f35caSApple OSS Distributions 710*c54f35caSApple OSS Distributions# 711*c54f35caSApple OSS Distributions# Kernel Voucher Attr Manager for Activity Trace 712*c54f35caSApple OSS Distributions# 713*c54f35caSApple OSS Distributionsoptions CONFIG_ATM # <config_atm> 714*c54f35caSApple OSS Distributions 715*c54f35caSApple OSS Distributions# Group related tasks together into coalitions 716*c54f35caSApple OSS Distributionsoptions CONFIG_COALITIONS # <config_coalitions> 717*c54f35caSApple OSS Distributions 718*c54f35caSApple OSS Distributions# Enable support for sysdiagnose notifications 719*c54f35caSApple OSS Distributionsoptions CONFIG_SYSDIAGNOSE # <config_sysdiagnose> 720*c54f35caSApple OSS Distributions 721*c54f35caSApple OSS Distributions# Configurable Security Restrictions 722*c54f35caSApple OSS Distributionsoptions CONFIG_CSR # <config_csr> 723*c54f35caSApple OSS Distributionsoptions CONFIG_CSR_FROM_DT # <config_csr_from_dt> 724*c54f35caSApple OSS Distributions 725*c54f35caSApple OSS Distributions# Enable collection of IO Compression statistics 726*c54f35caSApple OSS Distributionsoptions CONFIG_IO_COMPRESSION_STATS # <config_io_compression_stats> 727*c54f35caSApple OSS Distributions 728*c54f35caSApple OSS Distributions# 729*c54f35caSApple OSS Distributions# Console options 730*c54f35caSApple OSS Distributions# 731*c54f35caSApple OSS Distributionsoptions SERIAL_CONSOLE # bi-directional serial over UART 732*c54f35caSApple OSS Distributionsoptions VIDEO_CONSOLE # uni-directional output over framebuffer 733*c54f35caSApple OSS Distributions 734*c54f35caSApple OSS Distributions# 735*c54f35caSApple OSS Distributions# Syscall options 736*c54f35caSApple OSS Distributions# 737*c54f35caSApple OSS Distributionsoptions CONFIG_REQUIRES_U32_MUNGING # incoming U32 argument structures must be munged to match U64 # <config_requires_u32_munging> 738*c54f35caSApple OSS Distributions 739*c54f35caSApple OSS Distributions# 740*c54f35caSApple OSS Distributions# copyout() instrumentation 741*c54f35caSApple OSS Distributions# 742*c54f35caSApple OSS Distributionsoptions COPYOUT_SHIM # Shim for copyout memory analysis via kext #<copyout_shim> 743*c54f35caSApple OSS Distributions 744*c54f35caSApple OSS Distributions# 745*c54f35caSApple OSS Distributions# Enable hardware correlation of mach absolute time 746*c54f35caSApple OSS Distributions# across intel/arm boundary 747*c54f35caSApple OSS Distributionsoptions CONFIG_MACH_BRIDGE_SEND_TIME # # <config_mach_bridge_send_time> 748*c54f35caSApple OSS Distributionsoptions CONFIG_MACH_BRIDGE_RECV_TIME # # <config_mach_bridge_recv_time> 749*c54f35caSApple OSS Distributions 750*c54f35caSApple OSS Distributionsoptions CONFIG_QUIESCE_COUNTER # Support for _COMM_PAGE_CPU_QUIESCENT_COUNTER # <config_quiesce_counter> 751*c54f35caSApple OSS Distributionsoptions CONFIG_ARM_PFZ # Support for PFZ on ARM # <config_arm_pfz> 752*c54f35caSApple OSS Distributions 753*c54f35caSApple OSS Distributions# 754*c54f35caSApple OSS Distributions# Sanitizers 755*c54f35caSApple OSS Distributions# 756*c54f35caSApple OSS Distributionsoptions CONFIG_KASAN # <config_kasan> 757*c54f35caSApple OSS Distributionsoptions CONFIG_UBSAN # <config_ubsan> 758*c54f35caSApple OSS Distributions 759*c54f35caSApple OSS Distributionsoptions CONFIG_KCOV # <config_kcov> 760*c54f35caSApple OSS Distributionsoptions CONFIG_KSANCOV # <config_ksancov> 761*c54f35caSApple OSS Distributionsoptions CONFIG_STKSZ # <config_stksz> 762*c54f35caSApple OSS Distributions 763*c54f35caSApple OSS Distributions# dark boot support 764*c54f35caSApple OSS Distributionsoptions CONFIG_DARKBOOT # <config_darkboot> 765*c54f35caSApple OSS Distributions 766*c54f35caSApple OSS Distributions# support for tracking service port labels for stackshots/debugging 767*c54f35caSApple OSS Distributionsoptions CONFIG_SERVICE_PORT_INFO # <config_service_port_info> 768*c54f35caSApple OSS Distributions 769*c54f35caSApple OSS Distributions# support for processes delaying idle sleep for pending IO 770*c54f35caSApple OSS Distributionsoptions CONFIG_DELAY_IDLE_SLEEP # <config_delay_idle_sleep> 771*c54f35caSApple OSS Distributions 772*c54f35caSApple OSS Distributions# support for storing a 64-bit user supplied value in the proc structure 773*c54f35caSApple OSS Distributionsoptions CONFIG_PROC_UDATA_STORAGE # <config_proc_udata_storage> 774*c54f35caSApple OSS Distributions 775*c54f35caSApple OSS Distributionspseudo-device ksancov 1 init ksancov_init_dev # <config_ksancov> 776*c54f35caSApple OSS Distributions 777*c54f35caSApple OSS Distributions# Debug instrumentation for statistics and catching of code that 778*c54f35caSApple OSS Distributions# leaves interrupts masked or preemption disabled for an excessive 779*c54f35caSApple OSS Distributions# period of time. 780*c54f35caSApple OSS Distributionsoptions SCHED_HYGIENE_DEBUG # <sched_hygiene_debug> 781*c54f35caSApple OSS Distributions 782*c54f35caSApple OSS Distributions# support for system call rejection/tracing 783*c54f35caSApple OSS Distributionsoptions CONFIG_DEBUG_SYSCALL_REJECTION # <config_debug_syscall_rejection> 784