# 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>
# 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
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
#
options MACH_COUNTERS # # <debug>
-options UPL_DEBUG # # <debug>
+# DEVELOPMENT define for development builds
+options DEVELOPMENT # dev kernel # <development>
##########################################################
#
#
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_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
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>
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>
+