Annotation of XNU/osfmk/conf/MASTER, revision 1.1

1.1     ! root        1: #
        !             2: # Mach Operating System
        !             3: # Copyright (c) 1986 Carnegie-Mellon University
        !             4: # All rights reserved. The CMU software License Agreement
        !             5: # specifies the terms and conditions for use and redistribution.
        !             6: #  
        !             7: #######################################################################
        !             8: #
        !             9: #      Master machine independent configuration file.
        !            10: #
        !            11: #      Specific configuration files are created based on this and
        !            12: #      the machine specific master file using the doconf script.
        !            13: #
        !            14: #      Any changes to the master configuration files will affect all
        !            15: #      other configuration files based upon it.
        !            16: #
        !            17: #######################################################################
        !            18: #
        !            19: #      To build a configuration, execute "doconf <configuration>."
        !            20: #      Configurations are specified in the "Configurations:" section
        !            21: #      of the MASTER and MASTER.* files as follows:
        !            22: #
        !            23: #      <configuration> = [ <attribute0> <attribute1> ... <attributeN> ]
        !            24: #
        !            25: #      Lines in the MASTER and MASTER.* files are selected based on
        !            26: #      the attribute selector list, found in a comment at the end of
        !            27: #      the line.  This is a list of attributes separated by commas.
        !            28: #      The "!" operator selects the line if none of the attributes are
        !            29: #      specified.
        !            30: #
        !            31: #      For example:
        !            32: #
        !            33: #      <foo,bar>       selects a line if "foo" or "bar" are specified.
        !            34: #      <!foo,bar>      selects a line if neither "foo" nor "bar" is
        !            35: #                      specified.
        !            36: #
        !            37: #      Lines with no attributes specified are selected for all
        !            38: #      configurations.
        !            39: #
        !            40: #######################################################################
        !            41: #
        !            42: # Basic compilation options.
        !            43: #
        !            44: # The MACH ident is passed to every kernel file compilation as -DMACH.
        !            45: #      This is useful in order to #ifdef code that is intended to be used in
        !            46: #      a MACH kernel.
        !            47: #
        !            48: ident          MACH
        !            49: ##############################################################################
        !            50: #
        !            51: # MACH configuration options.
        !            52: #
        !            53: # TASK_SWAPPER enables code that manages demand for physical memory by
        !            54: #      forcibly suspending tasks when the demand exceeds supply. This
        !            55: #      option should be on.
        !            56: #
        !            57: options                MACH_KERNEL
        !            58: options                MACH_PAGEMAP
        !            59: options                MACH_LOAD
        !            60: options                MACH_RT
        !            61: options                THREAD_SWAPPER  #       <thread_swapper_disabled>
        !            62: options                TASK_SWAPPER    #       <task_swapper_disabled>
        !            63: pseudo-device  test_device     1
        !            64: options                ADVISORY_PAGEOUT
        !            65: ##########################################################
        !            66: #
        !            67: # conf/config.debug
        !            68: #
        !            69: # This defines configuration options that are normally used only during
        !            70: # kernel code development and debugging. They add run-time error checks or
        !            71: # statistics gathering, which will slow down the system
        !            72: #
        !            73: ##########################################################
        !            74: #
        !            75: # MACH_ASSERT controls the assert() and ASSERT() macros, used to verify the
        !            76: #      consistency of various algorithms in the kernel. The performance impact
        !            77: #      of this option is significant.
        !            78: #
        !            79: options                MACH_ASSERT     #               # <debug>
        !            80: #
        !            81: # MACH_DEBUG enables the mach_debug_server, a message interface used to
        !            82: #      retrieve or control various statistics. This interface may expose data
        !            83: #      structures that would not normally be allowed outside the kernel, and
        !            84: #      MUST NOT be enabled on a released configuration.
        !            85: #      Other options here enable information retrieval for specific subsystems
        !            86: #
        !            87: options                MACH_DEBUG      #               #
        !            88: #
        !            89: options                MACH_IPC_DEBUG  #               # <debug>
        !            90: options                MACH_VM_DEBUG   #               # <debug>
        !            91: #
        !            92: # MACH_MP_DEBUG control the possible dead locks that may occur by controlling
        !            93: #      that IPL level has been raised down to SPL0 after some calls to
        !            94: #      hardclock device driver.
        !            95: #
        !            96: options                MACH_MP_DEBUG   #               # <debug>
        !            97: #
        !            98: # ZONE_DEBUG keeps track of all zalloc()ed elements to perform further
        !            99: #      operations on each element.
        !           100: #
        !           101: options                ZONE_DEBUG      #               # <debug>
        !           102: # 
        !           103: # XPR_DEBUG enables the gathering of data through the XPR macros inserted
        !           104: #      into various subsystems. This option is normally only enabled for
        !           105: #      specific performance or behavior studies, as the overhead in both
        !           106: #      code and data space is large. The data is normally retrieved through
        !           107: #      the kernel debugger (kdb) or by reading /dev/kmem.
        !           108: #      
        !           109: options                XPR_DEBUG       #               # <debug>
        !           110: # 
        !           111: # MACH_LDEBUG controls the internal consistency checks and
        !           112: #      data gathering in the locking package. This also enables a debug-only
        !           113: #      version of simple-locks on uniprocessor machines. The code size and
        !           114: #      performance impact of this option is significant.
        !           115: # 
        !           116: options                MACH_LDEBUG     #               # <debug>
        !           117: 
        !           118: #
        !           119: # 
        !           120: #
        !           121: options                KDEBUG          # kernel tracing        # <kdebug>
        !           122: 
        !           123: #      
        !           124: # MACH_COUNTERS enables code that handles various counters in the system.
        !           125: # 
        !           126: options                MACH_COUNTERS   #               # <debug>
        !           127: #
        !           128: # ETAP The Event Trace Analysis Package enables user-level tasks to monitor
        !           129: #      and analyze kernel events.  ETAP supports three modes of tracing:
        !           130: #
        !           131: #              1. General event tracing:       ETAP_EVENT_MONITOR
        !           132: #              2. Monitored lock tracing:      ETAP_LOCK_MONITOR
        !           133: #              3. Cumulative lock tracing:     ETAP_LOCK_ACCUMULATE
        !           134: #
        !           135: #      Each of these trace modes are mutually exclusive.
        !           136: #
        !           137: #      CONFIGURING ETAP:  To enable the trace package, the ETAP switch
        !           138: #      along with *ONE* ETAP trace mode is selected.  The selected ETAP
        !           139: #      mode determines the level of instrumentation built into the kernel.
        !           140: #      Mode 1 configures event probes through-out the system.  Modes 2 & 3
        !           141: #      add instumentation to the kernel lock mechanisms.
        !           142: #
        !           143: #      ETAP (and all its trace modes) is mutually exclusive with the
        !           144: #      MACH_LDEBUG option.  It is assumed that general lock debugging is
        !           145: #      completed before gathering event information.
        !           146: #
        !           147: #      ETAP functionality is normally only enabled for event profiling and
        !           148: #      performance studies.  Event tracing should not be enabled for release
        !           149: #      configurations, as the code size and performance impact of these
        !           150: #      options are significant.
        !           151: #
        !           152: #
        !           153: #options       ETAP                    # ETAP enable
        !           154: #options       ETAP_EVENT_MONITOR      # Monitor events
        !           155: #options       ETAP_LOCK_MONITOR       # Monitor lock behavior
        !           156: #options       ETAP_LOCK_ACCUMULATE    # Collect cumulative lock data
        !           157: 
        !           158: ##########################################################
        !           159: #
        !           160: # This defines configuration options that are normally used only during
        !           161: # kernel code development and performance characterization. They add run-time
        !           162: # statistics gathering, which will slow down the system,
        !           163: #
        !           164: ##########################################################
        !           165: #
        !           166: # MACH_PROF enables the profiling server, a message interface used to
        !           167: #      retrieve profiling statistics.
        !           168: #
        !           169: #options       MACH_PROF
        !           170: #
        !           171: # MACH_IPC_STATS controls the collection of statistics in the MACH IPC
        !           172: #      subsystem.
        !           173: #
        !           174: #options       MACH_IPC_STATS
        !           175: #
        !           176: # MACH_CO_INFO controls the collection of callout statistics. This
        !           177: #      information is retrieved via a mach_debug message, or though
        !           178: #      /dev/kmem. The runtime impact of the option is minimal.
        !           179: #
        !           180: #options       MACH_CO_INFO
        !           181: #
        !           182: # MACH_CLUSTER_STATS controls the collection of various statistics concerning
        !           183: #      the effectiveness and behavior of the clustered pageout and pagein
        !           184: #      code.
        !           185: #
        !           186: #options       MACH_CLUSTER_STATS
        !           187: #
        !           188: # MACH_SCTIMES enables optional code that can be used to measure the
        !           189: #      execution overhead of performing Mach traps with 1 through 6
        !           190: #      arguments.
        !           191: #
        !           192: #options       MACH_SCTIMES
        !           193: #
        !           194: # MACH_COUNTERS enables various code-path statistics. Most of these
        !           195: #      are accessed through the debugger.
        !           196: #
        !           197: options                MACH_COUNTERS           #               # <stats>
        !           198: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.