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