]> git.saurik.com Git - apple/xnu.git/blobdiff - config/MASTER
xnu-4903.270.47.tar.gz
[apple/xnu.git] / config / MASTER
index cdacdd750d1a4827a36c9bf8432409145b76d7e9..a4b109d1139d7824ec2934661134b18fbafedaa0 100644 (file)
@@ -1,7 +1,7 @@
 #
 # Mach Operating System
 # Copyright (c) 1986 Carnegie-Mellon University
 #
 # Mach Operating System
 # Copyright (c) 1986 Carnegie-Mellon University
-# Copyright 2001-2014 Apple Inc.
+# Copyright 2001-2018 Apple Inc.
 #
 # All rights reserved.  The CMU software License Agreement
 # specifies the terms and conditions for use and redistribution.
 #
 # All rights reserved.  The CMU software License Agreement
 # specifies the terms and conditions for use and redistribution.
@@ -72,20 +72,13 @@ options             NO_DIRECT_RPC   # for untyped mig servers       #
 options                LOOP            # loopback support              # <loop>
 options                VLAN            #                               # <vlan>
 options                BOND            #                               # <bond>
 options                LOOP            # loopback support              # <loop>
 options                VLAN            #                               # <vlan>
 options                BOND            #                               # <bond>
+options                IF_FAKE         #                               # <if_fake>
 options                AH_ALL_CRYPTO   # AH all crypto algs            # <ah_all_crypto>
 options                IPCOMP_ZLIB     # IP compression using zlib     # <ipcomp_zlib>
 options                PF              # Packet Filter                 # <pf>
 options                AH_ALL_CRYPTO   # AH all crypto algs            # <ah_all_crypto>
 options                IPCOMP_ZLIB     # IP compression using zlib     # <ipcomp_zlib>
 options                PF              # Packet Filter                 # <pf>
-options                PF_ALTQ         # PF ALTQ (Alternate Queueing)  # <pf_altq>
 options                PF_ECN          # PF use ECN marking            # <pf_ecn>
 options                PFLOG           # PF log interface              # <pflog>
 options                PF_ECN          # PF use ECN marking            # <pf_ecn>
 options                PFLOG           # PF log interface              # <pflog>
-options                PKTSCHED_CBQ    # CBQ packet scheduler          # <pktsched_cbq>
-options                PKTSCHED_HFSC   # H-FSC packet scheduler        # <pktsched_hfsc>
-options                PKTSCHED_PRIQ   # PRIQ packet scheduler         # <pktsched_priq>
-options                PKTSCHED_FAIRQ  # FAIRQ packet scheduler        # <pktsched_fairq>
 options                MEASURE_BW      # interface bandwidth measurement # <measure_bw>
 options                MEASURE_BW      # interface bandwidth measurement # <measure_bw>
-options                CLASSQ_BLUE     # BLUE queueing algorithm       # <classq_blue>
-options                CLASSQ_RED      # RED queueing algorithm        # <classq_red>
-options                CLASSQ_RIO      # RIO queueing algorithm        # <classq_rio>
 options                DUMMYNET        # dummynet support              # <dummynet>
 options                TRAFFIC_MGT     # traffic management support            # <traffic_mgt>
 options                MULTICAST       # Internet Protocol Class-D     $
 options                DUMMYNET        # dummynet support              # <dummynet>
 options                TRAFFIC_MGT     # traffic management support            # <traffic_mgt>
 options                MULTICAST       # Internet Protocol Class-D     $
@@ -123,6 +116,7 @@ options             CONFIG_IMAGEBOOT        # local image boot      # <config_imageboot>
 options                CONFIG_MBUF_JUMBO       # jumbo cluster pool    # <config_mbuf_jumbo>
 
 options                CONFIG_WORKQUEUE        # <config_workqueue>
 options                CONFIG_MBUF_JUMBO       # jumbo cluster pool    # <config_mbuf_jumbo>
 
 options                CONFIG_WORKQUEUE        # <config_workqueue>
+options                CONFIG_WORKLOOP_DEBUG   # <config_workloop_debug>
 
 #
 #      4.4 filesystems 
 
 #
 #      4.4 filesystems 
@@ -148,6 +142,7 @@ options             CONFIG_TRIGGERS # trigger vnodes                # <config_triggers>
 options                CONFIG_EXT_RESOLVER # e.g. memberd              # <config_ext_resolver>
 options                CONFIG_SEARCHFS # searchfs syscall support      # <config_searchfs>
 options                CONFIG_MNT_SUID # allow suid binaries  # <config_mnt_suid>
 options                CONFIG_EXT_RESOLVER # e.g. memberd              # <config_ext_resolver>
 options                CONFIG_SEARCHFS # searchfs syscall support      # <config_searchfs>
 options                CONFIG_MNT_SUID # allow suid binaries  # <config_mnt_suid>
+options                CONFIG_MNT_ROOTSNAP # allow rooting from snapshot # <config_mnt_rootsnap>
 
 #
 # NFS support
 
 #
 # NFS support
@@ -179,6 +174,8 @@ options                     CRYPTO                          # <ipsec,crypto>
 options                        CRYPTO_SHA2                     # <crypto_sha2>
 options                        ENCRYPTED_SWAP                  # <encrypted_swap>
 
 options                        CRYPTO_SHA2                     # <crypto_sha2>
 options                        ENCRYPTED_SWAP                  # <encrypted_swap>
 
+options                        CONFIG_IMG4                     # <config_img4>
+
 options                ZLIB    # inflate/deflate support       # <zlib>
 
 options                IF_BRIDGE                               # <if_bridge>
 options                ZLIB    # inflate/deflate support       # <zlib>
 
 options                IF_BRIDGE                               # <if_bridge>
@@ -193,7 +190,6 @@ options   CONFIG_KN_HASHSIZE=20             # <bsmall>
 #
 #  configurable vfs related resources 
 #  CONFIG_VNODES - used to pre allocate vnode related resources 
 #
 #  configurable vfs related resources 
 #  CONFIG_VNODES - used to pre allocate vnode related resources 
-#  CONFIG_VNODE_FREE_MIN - mininmum number of free vnodes 
 #  CONFIG_NC_HASH - name cache hash table allocation
 #  CONFIG_VFS_NAMES - name strings
 #
 #  CONFIG_NC_HASH - name cache hash table allocation
 #  CONFIG_VFS_NAMES - name strings
 #
@@ -208,12 +204,6 @@ options   CONFIG_VNODES=263168             # <medium>
 options   CONFIG_VNODES=10240          # <small>
 options   CONFIG_VNODES=750            # <bsmall>
 
 options   CONFIG_VNODES=10240          # <small>
 options   CONFIG_VNODES=750            # <bsmall>
 
-options   CONFIG_VNODE_FREE_MIN=500    # <large,xlarge>
-options   CONFIG_VNODE_FREE_MIN=300    # <medium>
-options   CONFIG_VNODE_FREE_MIN=200    # <small>
-options   CONFIG_VNODE_FREE_MIN=100    # <xsmall>
-options   CONFIG_VNODE_FREE_MIN=75     # <bsmall>
-
 options   CONFIG_NC_HASH=5120          # <large,xlarge>
 options   CONFIG_NC_HASH=4096          # <medium>
 options   CONFIG_NC_HASH=2048          # <small,xsmall>
 options   CONFIG_NC_HASH=5120          # <large,xlarge>
 options   CONFIG_NC_HASH=4096          # <medium>
 options   CONFIG_NC_HASH=2048          # <small,xsmall>
@@ -295,8 +285,12 @@ options   CONFIG_MFCTBLSIZ=16                      # <bsmall>
 #
 # configurable kernel message buffer size
 #
 #
 # configurable kernel message buffer size
 #
-options   CONFIG_MSG_BSIZE=4096                        # <bsmall,small,xsmall>
-options   CONFIG_MSG_BSIZE=16384               # <medium,large,xlarge>
+options   CONFIG_MSG_BSIZE_REL=4096            # <bsmall,small,xsmall>
+options   CONFIG_MSG_BSIZE_DEV=4096            # <bsmall,small,xsmall>
+options   CONFIG_MSG_BSIZE_REL=16384           # <medium,large,xlarge>
+options   CONFIG_MSG_BSIZE_DEV=131072          # <medium,large,xlarge>
+options   CONFIG_MSG_BSIZE=CONFIG_MSG_BSIZE_REL        # <!development,debug>
+options   CONFIG_MSG_BSIZE=CONFIG_MSG_BSIZE_DEV        # <development,debug>
 
 #
 # maximum size of the per-process Mach IPC table
 
 #
 # maximum size of the per-process Mach IPC table
@@ -304,21 +298,19 @@ options   CONFIG_MSG_BSIZE=16384          # <medium,large,xlarge>
 options   CONFIG_IPC_TABLE_ENTRIES_STEPS=64    # 137898 entries        # <bsmall,small,xsmall>
 options   CONFIG_IPC_TABLE_ENTRIES_STEPS=256   # 300714 entries        # <medium,large,xlarge>
 
 options   CONFIG_IPC_TABLE_ENTRIES_STEPS=64    # 137898 entries        # <bsmall,small,xsmall>
 options   CONFIG_IPC_TABLE_ENTRIES_STEPS=256   # 300714 entries        # <medium,large,xlarge>
 
-
 #
 #  configurable kernel - use these options to strip strings from panic
 #  and printf calls.
 #
 #  configurable kernel - use these options to strip strings from panic
 #  and printf calls.
-#  no_panic_str - saves around 50K of kernel footprint.
 #  no_printf_str - saves around 45K of kernel footprint.
 #
 #  no_printf_str - saves around 45K of kernel footprint.
 #
-options   CONFIG_NO_PANIC_STRINGS              # <no_panic_str>
 options   CONFIG_NO_PRINTF_STRINGS             # <no_printf_str>
 options   CONFIG_NO_KPRINTF_STRINGS            # <no_kprintf_str>
 
 #
 options   CONFIG_NO_PRINTF_STRINGS             # <no_printf_str>
 options   CONFIG_NO_KPRINTF_STRINGS            # <no_kprintf_str>
 
 #
-# use finer-grained lock groups for the proc subsystem
+# configurable kernel - general switch to say we are building for an
+# embedded device
 #
 #
-options   CONFIG_FINE_LOCK_GROUPS               # <medium,large,xlarge>
+options   CONFIG_EMBEDDED                      # <config_embedded>
 
 
 # support dynamic signing of code
 
 
 # support dynamic signing of code
@@ -339,6 +331,9 @@ options             CONFIG_CODE_DECRYPTION          # <config_code_decryption>
 #
 options                CONFIG_PROTECT                  # <config_protect>
 
 #
 options                CONFIG_PROTECT                  # <config_protect>
 
+#allow write-protection of key page
+options                CONFIG_KEYPAGE_WP               # <config_keypage_wp>
+
 #
 # enable per-process memory priority tracking
 #
 #
 # enable per-process memory priority tracking
 #
@@ -384,6 +379,11 @@ options            CONFIG_SECLUDED_MEMORY          # <config_secluded_memory>
 
 options                CONFIG_BACKGROUND_QUEUE         # <config_background_queue>
 
 
 options                CONFIG_BACKGROUND_QUEUE         # <config_background_queue>
 
+#
+# Ledger features
+#
+options                CONFIG_LEDGER_INTERVAL_MAX      # <config_ledger_interval_max>
+
 #
 # I/O Scheduling
 #
 #
 # I/O Scheduling
 #
@@ -399,7 +399,8 @@ options     CONFIG_IO_ACCOUNTING            # <config_io_accounting>
 # For now debug is enabled wherever inheritance is
 #
 options                IMPORTANCE_INHERITANCE          # <importance_inheritance>
 # For now debug is enabled wherever inheritance is
 #
 options                IMPORTANCE_INHERITANCE          # <importance_inheritance>
-options                IMPORTANCE_DEBUG                # <importance_inheritance>
+options                IMPORTANCE_TRACE                # <importance_trace>
+options                IMPORTANCE_DEBUG                # <importance_debug>
 
 options                CONFIG_TELEMETRY                # <config_telemetry>
 
 
 options                CONFIG_TELEMETRY                # <config_telemetry>
 
@@ -415,6 +416,11 @@ options            CONFIG_ECC_LOGGING              # <config_ecc_logging>
 #
 options                CONFIG_COREDUMP                 # <config_coredump>
 
 #
 options                CONFIG_COREDUMP                 # <config_coredump>
 
+#
+# Vnode guards
+#
+options                CONFIG_VNGUARD                  # <config_vnguard>
+
 #
 #  Ethernet (ARP)
 #
 #
 #  Ethernet (ARP)
 #
@@ -460,11 +466,13 @@ pseudo-device     random          1       init    random_init
 pseudo-device  dtrace          1       init    dtrace_init     # <config_dtrace>
 pseudo-device  helper          1       init    helper_init     # <config_dtrace>
 pseudo-device  lockstat        1       init    lockstat_init   # <config_dtrace>
 pseudo-device  dtrace          1       init    dtrace_init     # <config_dtrace>
 pseudo-device  helper          1       init    helper_init     # <config_dtrace>
 pseudo-device  lockstat        1       init    lockstat_init   # <config_dtrace>
+pseudo-device  lockprof        1       init    lockprof_init   # <config_dtrace>
 pseudo-device  sdt             1       init    sdt_init        # <config_dtrace>
 pseudo-device  systrace        1       init    systrace_init   # <config_dtrace>
 pseudo-device  fbt             1       init    fbt_init        # <config_dtrace>
 pseudo-device  profile_prvd    1       init    profile_init    # <config_dtrace>
 
 pseudo-device  sdt             1       init    sdt_init        # <config_dtrace>
 pseudo-device  systrace        1       init    systrace_init   # <config_dtrace>
 pseudo-device  fbt             1       init    fbt_init        # <config_dtrace>
 pseudo-device  profile_prvd    1       init    profile_init    # <config_dtrace>
 
+
 #
 # IOKit configuration options
 #
 #
 # IOKit configuration options
 #
@@ -483,6 +491,7 @@ options         NO_KERNEL_HID                       # <no_kernel_hid>
 #
 
 options                LIBKERNCPP              # C++ implementation    # <libkerncpp>
 #
 
 options                LIBKERNCPP              # C++ implementation    # <libkerncpp>
+options                CONFIG_BLOCKS           # Blocks runtime        # <config_blocks>
 options                CONFIG_KXLD             # kxld/runtime linking of kexts # <config_kxld>
 options                CONFIG_KEC_FIPS         # Kernel External Components for FIPS compliance (KEC_FIPS) # <config_kec_fips>
 
 options                CONFIG_KXLD             # kxld/runtime linking of kexts # <config_kxld>
 options                CONFIG_KEC_FIPS         # Kernel External Components for FIPS compliance (KEC_FIPS) # <config_kec_fips>
 
@@ -525,7 +534,6 @@ options             CONFIG_AUDIT        # Kernel auditing       # <config_audit>
 #      forcibly suspending tasks when the demand exceeds supply. This
 #      option should be on.
 #
 #      forcibly suspending tasks when the demand exceeds supply. This
 #      option should be on.
 #
-options                MACH_RT
 options                TASK_SWAPPER    #       <task_swapper_disabled>
 
 #
 options                TASK_SWAPPER    #       <task_swapper_disabled>
 
 #
@@ -561,7 +569,7 @@ options             MACH_MP_DEBUG   #                               # <debug>
 #      operations on each element.
 #
 options                ZONE_DEBUG      #               # <debug>
 #      operations on each element.
 #
 options                ZONE_DEBUG      #               # <debug>
-
+options                CONFIG_ZCACHE   #Enable per-cpu caching for zones       # <config_zcache>
 options                CONFIG_ZLEAKS   # Live zone leak debugging      # <zleaks>
 
 #
 options                CONFIG_ZLEAKS   # Live zone leak debugging      # <zleaks>
 
 #
@@ -603,10 +611,13 @@ options           NO_KDEBUG               # no kernel tracing     # <no_kdebug>
 #
 options                CONFIG_DTRACE           #                   # <config_dtrace>
 
 #
 options                CONFIG_DTRACE           #                   # <config_dtrace>
 
+options                LOCK_STATS              #                   # <lock_stats>
+
 # kernel performance tracing
 options     KPERF                  # <kperf>
 options     KPC                    # <kpc>
 
 # kernel performance tracing
 options     KPERF                  # <kperf>
 options     KPC                    # <kpc>
 
+
 options     PGO                    # <pgo>
 
 # MACH_COUNTERS enables code that handles various counters in the system.
 options     PGO                    # <pgo>
 
 # MACH_COUNTERS enables code that handles various counters in the system.
@@ -653,9 +664,10 @@ options   CONFIG_TASK_MAX=1024                     # <medium,large,xlarge>
 options   CONFIG_TASK_MAX=768                  # <small,>
 options   CONFIG_TASK_MAX=512                  # <xsmall,bsmall>
 
 options   CONFIG_TASK_MAX=768                  # <small,>
 options   CONFIG_TASK_MAX=512                  # <xsmall,bsmall>
 
-options   CONFIG_ZONE_MAP_MIN=12582912 # <medium,large,xlarge>
-options   CONFIG_ZONE_MAP_MIN=6291456  # <small>
-options   CONFIG_ZONE_MAP_MIN=1048576  # <xsmall,bsmall>
+#
+# Minimum zone map size: 115 MB
+#
+options   CONFIG_ZONE_MAP_MIN=120586240        # <xsmall,bsmall,small,medium,large,xlarge>
 
 # Sizes must be a power of two for the zhash to 
 # be able to just mask off bits instead of mod 
 
 # Sizes must be a power of two for the zhash to 
 # be able to just mask off bits instead of mod 
@@ -716,12 +728,6 @@ options OS_REASON_DEBUG                                    # <os_reason_debug>
 #
 options        CONFIG_ATM                              # <config_atm>
 
 #
 options        CONFIG_ATM                              # <config_atm>
 
-#
-# Kernel Voucher Attr Manager for BANK
-#
-options        CONFIG_BANK                             # <config_bank>
-
-
 # Group related tasks together into coalitions
 options                CONFIG_COALITIONS                       # <config_coalitions>
 
 # Group related tasks together into coalitions
 options                CONFIG_COALITIONS                       # <config_coalitions>
 
@@ -741,3 +747,22 @@ options            VIDEO_CONSOLE   # uni-directional output over framebuffer
 # Syscall options
 #
 options                CONFIG_REQUIRES_U32_MUNGING     # incoming U32 argument structures must be munged to match U64  # <config_requires_u32_munging>
 # Syscall options
 #
 options                CONFIG_REQUIRES_U32_MUNGING     # incoming U32 argument structures must be munged to match U64  # <config_requires_u32_munging>
+
+#
+# copyout() instrumentation
+#
+options                COPYOUT_SHIM                    # Shim for copyout memory analysis via kext #<copyout_shim>
+
+#
+# Enable hardware correlation of mach absolute time 
+# across intel/arm boundary
+options                CONFIG_MACH_BRIDGE_SEND_TIME #  # <config_mach_bridge_send_time>
+options                CONFIG_MACH_BRIDGE_RECV_TIME #  # <config_mach_bridge_recv_time>
+
+#
+# Telemetry for 32-bit process launch
+#
+options                CONFIG_32BIT_TELEMETRY # # <config_32bit_telemetry>
+
+options                CONFIG_QUIESCE_COUNTER # Support for _COMM_PAGE_CPU_QUIESCENT_COUNTER # <config_quiesce_counter>
+