]> git.saurik.com Git - apple/xnu.git/blobdiff - osfmk/conf/MASTER
xnu-2422.1.72.tar.gz
[apple/xnu.git] / osfmk / conf / MASTER
index 08c28268cc79923abd04bd4d83433afece2ca9f2..f3dd6fcc854f33c91999b1d052bbbe0123bb1698 100644 (file)
@@ -65,7 +65,7 @@ ident         MACH
 #      option should be on.
 #
 options                MACH_KERNEL
-options                MACH_PAGEMAP
+options                MACH_PAGEMAP    #       <mach_pagemap>
 options                MACH_LOAD
 options                MACH_RT
 options                TASK_SWAPPER    #       <task_swapper_disabled>
@@ -108,8 +108,23 @@ options            MACH_MP_DEBUG   #               # <debug>
 #      operations on each element.
 #
 options                ZONE_DEBUG      #               # <debug>
+
+options                CONFIG_ZLEAKS   # Live zone leak debugging      # <zleaks>
+
 #
 options                ZONE_ALIAS_ADDR #               # <zone_alias_addr>
+
+
+#
+# CONFIG_TASK_ZONE_INFO allows per-task zone information to be extracted
+# Primarily useful for xnu debug and development.
+#
+options                CONFIG_TASK_ZONE_INFO           # <task_zone_info>
+#
+# CONFIG_DEBUGGER_FOR_ZONE_INFO restricts zone info so that it is only
+# available when the kernel is being debugged.
+#
+options                CONFIG_DEBUGGER_FOR_ZONE_INFO   # <debugger_for_zone_info>
 # 
 # XPR_DEBUG enables the gathering of data through the XPR macros inserted
 #      into various subsystems. This option is normally only enabled for
@@ -127,9 +142,11 @@ options            XPR_DEBUG       #               # <debug>
 options                MACH_LDEBUG     #               # <debug>
 
 #
-# 
+# configuration option for full, partial, or no kernel debug event tracing
 #
-options                KDEBUG          # kernel tracing        # <kdebug>
+options                KDEBUG                  # kernel tracing        # <kdebug>
+options                IST_KDEBUG              # limited tracing       # <ist_kdebug>
+options                NO_KDEBUG       # no kernel tracing # <no_kdebug>
 
 #
 # CONFIG_DTRACE enables code needed to support DTrace. Currently this is
@@ -141,7 +158,8 @@ options             CONFIG_DTRACE   #               # <config_dtrace>
 # 
 options                MACH_COUNTERS   #               # <debug>
 
-options                UPL_DEBUG       #               # <debug>
+# DEVELOPMENT define for development builds
+options                DEVELOPMENT             # dev kernel            # <development>
 
 ##########################################################
 #
@@ -188,6 +206,15 @@ options            CRYPTO                  # <crypto>
 #
 options                HIBERNATION             #               # <hibernation>
 
+# CONFIG_SLEEP - include sleep power state code
+#
+options                CONFIG_SLEEP            #               # <config_sleep>
+
+# CONFIG_KEXT_BASEMENT - alloc post boot loaded kexts after prelinked kexts
+#
+options                CONFIG_KEXT_BASEMENT            #               # <config_kext_basement>
+
+
 #
 #  configurable kernel related resources (CONFIG_THREAD_MAX needs to stay in 
 #  sync with bsd/conf/MASTER until we fix the config system... todo XXX
@@ -204,8 +231,12 @@ options   CONFIG_ZONE_MAP_MIN=12582912     # <medium,large,xlarge>
 options   CONFIG_ZONE_MAP_MIN=6291456  # <small,xsmall>
 options   CONFIG_ZONE_MAP_MIN=1048576  # <bsmall>
 
-options   CONFIG_TOKEN_QUEUE_SMALL=1           # <bsmall>
-options   CONFIG_TOKEN_QUEUE_SMALL=0           # <xsmall,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 
+options          CONFIG_ZLEAK_ALLOCATION_MAP_NUM=16384 #<medium,large,xlarge>
+options          CONFIG_ZLEAK_ALLOCATION_MAP_NUM=8192  #<small,xsmall,bsmall>
+options   CONFIG_ZLEAK_TRACE_MAP_NUM=8192 #<medium,large,xlarge>
+options   CONFIG_ZLEAK_TRACE_MAP_NUM=4096 #<small,xsmall,bsmall>
 
 #
 #  configurable kernel - use these options to strip strings from panic
@@ -217,18 +248,9 @@ options   CONFIG_NO_PANIC_STRINGS          # <no_panic_str>
 options   CONFIG_NO_PRINTF_STRINGS             # <no_printf_str>
 options   CONFIG_NO_KPRINTF_STRINGS            # <no_kprintf_str>
 
-# configurable kernel - general switch to say we are building for an
-# embedded device
-#
-options   CONFIG_EMBEDDED                       # <config_embedded>
-
-# only execute signed code. Hang this off config_embedded since there's
-# nothing more appropriate right now
+# support dynamic signing of code
 #
-options   CONFIG_ENFORCE_SIGNED_CODE           # <config_embedded>
-
-#  jettison_kernel_linker - jettison kernel linker after kernel init; don't wait for kextd to launch
-options   CONFIG_JETTISON_KERNEL_LINKER                # <jettison_kernel_linker>
+options                CONFIG_DYNAMIC_CODE_SIGNING     # <dynamic_codesigning>
 
 # vc_progress_white - make the progress gear white instead of black
 options          CONFIG_VC_PROGRESS_WHITE              # <vc_progress_white>
@@ -237,7 +259,64 @@ options      CONFIG_VC_PROGRESS_WHITE              # <vc_progress_white>
 options                SECURE_KERNEL           # <secure_kernel>
 
 #
-# code decryption... used on embedded for app protection
-# must be set in all the bsd/conf and osfmk/conf MASTER files
+# Context switched counters 
+#
+options                CONFIG_COUNTERS                 # <config_counters>
+
+#
+# Timeshare scheduler implementations
+#
+options                CONFIG_SCHED_TRADITIONAL        # <config_sched_traditional>
+options                CONFIG_SCHED_PROTO              # <config_sched_proto>
+options                CONFIG_SCHED_GRRR               # <config_sched_grrr>
+options                CONFIG_SCHED_FIXEDPRIORITY      # <config_sched_fixedpriority>
+options                CONFIG_SCHED_GRRR_CORE          # <config_sched_grrr,config_sched_fixedpriority>
+
+options                CONFIG_SCHED_IDLE_IN_PLACE              # <config_sched_idle_in_place>
+options                CONFIG_GZALLOC                  # <config_gzalloc>
+#
+# enable per-process memory priority tracking
 #
-options                CONFIG_CODE_DECRYPTION  # <config_embedded>
+options                CONFIG_MEMORYSTATUS                             # <memorystatus>
+
+#
+# enable jetsam - used on embedded
+#
+options                CONFIG_JETSAM                           # <jetsam>
+
+#
+# enable freezing of suspended processes - used on embedded
+#
+options                CONFIG_FREEZE                                   # <freeze>
+
+options                CHECK_CS_VALIDATION_BITMAP      # <config_cs_validation_bitmap>
+
+#
+# Enable dispatch of memory pressure events from the vm_pageout_garbage_collect thread
+#
+options                VM_PRESSURE_EVENTS              # <vm_pressure_events>
+
+#
+# Enable inheritance of importance through specially marked mach ports and for file locks
+# For now debug is enabled wherever inheritance is
+#
+options                IMPORTANCE_INHERITANCE          # <importance_inheritance>
+options                IMPORTANCE_DEBUG                # <importance_inheritance>
+
+# Enable allocation of contiguous physical memory through vm_map_enter_cpm()
+options                VM_CPM          # <vm_cpm>
+
+options            CONFIG_SKIP_PRECISE_USER_KERNEL_TIME        # <config_skip_precise_user_kernel_time>
+
+options                CONFIG_TELEMETRY                        # <config_telemetry>
+
+#
+# Switch to disable cpu, wakeup and high memory watermark monitors
+#
+options        CONFIG_NOMONITORS                               # <config_nomonitors>
+
+#
+# In-kernel tests
+#
+options         CONFIG_IN_KERNEL_TESTS                  # <in_kernel_tests>
+