]> git.saurik.com Git - apple/xnu.git/blobdiff - osfmk/conf/MASTER
xnu-1699.22.73.tar.gz
[apple/xnu.git] / osfmk / conf / MASTER
index ba9c834119178e180083b1cc2b5572591640afef..e34f671cb4008fb282b5dc05a53b30ff5c06f3c2 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,11 @@ 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>
 # 
 # XPR_DEBUG enables the gathering of data through the XPR macros inserted
 #      into various subsystems. This option is normally only enabled for
@@ -119,40 +134,15 @@ options           MACH_LDEBUG     #               # <debug>
 #
 options                KDEBUG          # kernel tracing        # <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>
-#
-# ETAP The Event Trace Analysis Package enables user-level tasks to monitor
-#      and analyze kernel events.  ETAP supports three modes of tracing:
-#
-#              1. General event tracing:       ETAP_EVENT_MONITOR
-#              2. Monitored lock tracing:      ETAP_LOCK_MONITOR
-#              3. Cumulative lock tracing:     ETAP_LOCK_ACCUMULATE
-#
-#      Each of these trace modes are mutually exclusive.
-#
-#      CONFIGURING ETAP:  To enable the trace package, the ETAP switch
-#      along with *ONE* ETAP trace mode is selected.  The selected ETAP
-#      mode determines the level of instrumentation built into the kernel.
-#      Mode 1 configures event probes through-out the system.  Modes 2 & 3
-#      add instumentation to the kernel lock mechanisms.
-#
-#      ETAP (and all its trace modes) is mutually exclusive with the
-#      MACH_LDEBUG option.  It is assumed that general lock debugging is
-#      completed before gathering event information.
-#
-#      ETAP functionality is normally only enabled for event profiling and
-#      performance studies.  Event tracing should not be enabled for release
-#      configurations, as the code size and performance impact of these
-#      options are significant.
-#
-#
-#options       ETAP                    # ETAP enable
-#options       ETAP_EVENT_MONITOR      # Monitor events
-#options       ETAP_LOCK_MONITOR       # Monitor lock behavior
-#options       ETAP_LOCK_ACCUMULATE    # Collect cumulative lock data
 
 ##########################################################
 #
@@ -162,11 +152,6 @@ options            MACH_COUNTERS   #               # <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.
 #
@@ -195,3 +180,92 @@ options            MACH_COUNTERS   #               # <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>
+
+#
+#  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>
+
+#
+#  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>
+
+# 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
+#
+options   CONFIG_ENFORCE_SIGNED_CODE           # <config_embedded>
+
+# 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>
+
+#
+# code decryption... used on embedded for app protection
+# must be set in all the bsd/conf and osfmk/conf MASTER files
+#
+options                CONFIG_CODE_DECRYPTION  # <config_embedded>
+
+#
+# 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>
+
+#
+# freeze - support app hibernation, used on embedded
+#
+options                CONFIG_FREEZE   # <freeze>
+
+
+options                CHECK_CS_VALIDATION_BITMAP      # <config_cs_validation_bitmap>
+