# 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.
#
# 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>
# 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
# 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
# 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
#
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
##########################################################
#
#
##########################################################
#
-# 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.
#
#
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>
+