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