]> git.saurik.com Git - apple/xnu.git/blobdiff - osfmk/conf/MASTER
xnu-2422.1.72.tar.gz
[apple/xnu.git] / osfmk / conf / MASTER
index feca58dec23de925ea0d451a301468f670a24b96..f3dd6fcc854f33c91999b1d052bbbe0123bb1698 100644 (file)
 #      configurations.
 #
 #######################################################################
+#  SYSTEM SIZE CONFIGURATION (select exactly one)
+#
+#      xlarge = extra large scale system configuration
+#      large  = large scale system configuration
+#      medium = medium scale system configuration
+#      small  = small scale system configuration
+#      xsmall = extra small scale system configuration
+#      bsmall = special extra small scale system configuration 
+#
+#######################################################################
 #
 # Basic compilation options.
 #
@@ -55,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>
@@ -75,7 +85,7 @@ options               ADVISORY_PAGEOUT
 #      consistency of various algorithms in the kernel. The performance impact
 #      of this option is significant.
 #
-options                MACH_ASSERT     #               # <debug>
+options                MACH_ASSERT     #               # <mach_assert>
 #
 # MACH_DEBUG enables the mach_debug_server, a message interface used to
 #      retrieve or control various statistics. This interface may expose data
@@ -84,8 +94,8 @@ options               MACH_ASSERT     #               # <debug>
 #      Other options here enable information retrieval for specific subsystems
 #
 options                MACH_DEBUG      #               #
+options                MACH_IPC_DEBUG  #               #
 #
-options                MACH_IPC_DEBUG  #               # <debug>
 options                MACH_VM_DEBUG   #               # <debug>
 #
 # MACH_MP_DEBUG control the possible dead locks that may occur by controlling
@@ -98,6 +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
@@ -115,16 +142,24 @@ 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
+# only used for delivery of traps/interrupts to DTrace.
+#
+options                CONFIG_DTRACE   #               # <config_dtrace>
 
-#      
 # MACH_COUNTERS enables code that handles various counters in the system.
 # 
 options                MACH_COUNTERS   #               # <debug>
 
-options                UPL_DEBUG       #               # <debug>
+# DEVELOPMENT define for development builds
+options                DEVELOPMENT             # dev kernel            # <development>
 
 ##########################################################
 #
@@ -134,11 +169,6 @@ options            UPL_DEBUG       #               # <debug>
 #
 ##########################################################
 #
-# MACH_PROF enables the profiling server, a message interface used to
-#      retrieve profiling statistics.
-#
-#options       MACH_PROF               #               # <mach_prof>
-#
 # MACH_IPC_STATS controls the collection of statistics in the MACH IPC
 #      subsystem.
 #
@@ -167,3 +197,126 @@ options           UPL_DEBUG       #               # <debug>
 #
 options                MACH_COUNTERS           #               # <stats>
 
+#
+#  configuration option for including cypto code
+#
+options                CRYPTO                  # <crypto>
+
+# HIBERNATION - include hibernation code
+#
+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
+#
+options   CONFIG_THREAD_MAX=2560               # <medium,large,xlarge>
+options   CONFIG_THREAD_MAX=1536               # <small,xsmall>
+options   CONFIG_THREAD_MAX=1024               # <bsmall>
+
+options   CONFIG_TASK_MAX=1024                 # <medium,large,xlarge>
+options   CONFIG_TASK_MAX=768                  # <small,xsmall>
+options   CONFIG_TASK_MAX=512                  # <bsmall>
+
+options   CONFIG_ZONE_MAP_MIN=12582912 # <medium,large,xlarge>
+options   CONFIG_ZONE_MAP_MIN=6291456  # <small,xsmall>
+options   CONFIG_ZONE_MAP_MIN=1048576  # <bsmall>
+
+# 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
+#  and printf calls.
+#  no_panic_str - saves around 50K 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>
+
+# support dynamic signing of code
+#
+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>
+
+# secure_kernel - secure kernel from user programs
+options                SECURE_KERNEL           # <secure_kernel>
+
+#
+# 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_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>
+