X-Git-Url: https://git.saurik.com/apple/xnu.git/blobdiff_plain/1c79356b52d46aa6b508fb032f5ae709b1f2897b..6d2010ae8f7a6078e10b361c6962983bab233e0f:/osfmk/conf/MASTER diff --git a/osfmk/conf/MASTER b/osfmk/conf/MASTER index 025c0c4af..e34f671cb 100644 --- a/osfmk/conf/MASTER +++ b/osfmk/conf/MASTER @@ -38,6 +38,16 @@ # 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,10 +65,9 @@ ident MACH # option should be on. # options MACH_KERNEL -options MACH_PAGEMAP +options MACH_PAGEMAP # options MACH_LOAD options MACH_RT -options THREAD_SWAPPER # options TASK_SWAPPER # pseudo-device test_device 1 options ADVISORY_PAGEOUT @@ -76,7 +85,7 @@ options ADVISORY_PAGEOUT # consistency of various algorithms in the kernel. The performance impact # of this option is significant. # -options MACH_ASSERT # # +options MACH_ASSERT # # # # MACH_DEBUG enables the mach_debug_server, a message interface used to # retrieve or control various statistics. This interface may expose data @@ -85,8 +94,8 @@ options MACH_ASSERT # # # Other options here enable information retrieval for specific subsystems # options MACH_DEBUG # # +options MACH_IPC_DEBUG # # # -options MACH_IPC_DEBUG # # options MACH_VM_DEBUG # # # # MACH_MP_DEBUG control the possible dead locks that may occur by controlling @@ -99,6 +108,11 @@ options MACH_MP_DEBUG # # # operations on each element. # options ZONE_DEBUG # # + +options CONFIG_ZLEAKS # Live zone leak debugging # + +# +options 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 @@ -120,40 +134,15 @@ options MACH_LDEBUG # # # options KDEBUG # kernel tracing # -# +# +# CONFIG_DTRACE enables code needed to support DTrace. Currently this is +# only used for delivery of traps/interrupts to DTrace. +# +options CONFIG_DTRACE # # + # MACH_COUNTERS enables code that handles various counters in the system. # options MACH_COUNTERS # # -# -# 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 ########################################################## # @@ -163,11 +152,6 @@ options MACH_COUNTERS # # # ########################################################## # -# MACH_PROF enables the profiling server, a message interface used to -# retrieve profiling statistics. -# -#options MACH_PROF # # -# # MACH_IPC_STATS controls the collection of statistics in the MACH IPC # subsystem. # @@ -196,3 +180,92 @@ options MACH_COUNTERS # # # options MACH_COUNTERS # # +# +# configuration option for including cypto code +# +options CRYPTO # + +# HIBERNATION - include hibernation code +# +options HIBERNATION # # + +# CONFIG_SLEEP - include sleep power state code +# +options 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 # +options CONFIG_THREAD_MAX=1536 # +options CONFIG_THREAD_MAX=1024 # + +options CONFIG_TASK_MAX=1024 # +options CONFIG_TASK_MAX=768 # +options CONFIG_TASK_MAX=512 # + +options CONFIG_ZONE_MAP_MIN=12582912 # +options CONFIG_ZONE_MAP_MIN=6291456 # +options CONFIG_ZONE_MAP_MIN=1048576 # + +# +# 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 # +options CONFIG_NO_PRINTF_STRINGS # +options CONFIG_NO_KPRINTF_STRINGS # + +# configurable kernel - general switch to say we are building for an +# embedded device +# +options CONFIG_EMBEDDED # + +# only execute signed code. Hang this off config_embedded since there's +# nothing more appropriate right now +# +options CONFIG_ENFORCE_SIGNED_CODE # + +# support dynamic signing of code +# +options CONFIG_DYNAMIC_CODE_SIGNING # + +# vc_progress_white - make the progress gear white instead of black +options CONFIG_VC_PROGRESS_WHITE # + +# secure_kernel - secure kernel from user programs +options 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 # + +# +# Context switched counters +# +options CONFIG_COUNTERS # + +# +# Timeshare scheduler implementations +# +options CONFIG_SCHED_TRADITIONAL # +options CONFIG_SCHED_PROTO # +options CONFIG_SCHED_GRRR # +options CONFIG_SCHED_FIXEDPRIORITY # +options CONFIG_SCHED_GRRR_CORE # + +options CONFIG_SCHED_IDLE_IN_PLACE # + +# +# freeze - support app hibernation, used on embedded +# +options CONFIG_FREEZE # + + +options CHECK_CS_VALIDATION_BITMAP # +