The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/osfmk/conf/MASTER

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    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         TASK_SWAPPER    #       <task_swapper_disabled>
   62 pseudo-device   test_device     1
   63 options         ADVISORY_PAGEOUT
   64 ##########################################################
   65 #
   66 # conf/config.debug
   67 #
   68 # This defines configuration options that are normally used only during
   69 # kernel code development and debugging. They add run-time error checks or
   70 # statistics gathering, which will slow down the system
   71 #
   72 ##########################################################
   73 #
   74 # MACH_ASSERT controls the assert() and ASSERT() macros, used to verify the
   75 #       consistency of various algorithms in the kernel. The performance impact
   76 #       of this option is significant.
   77 #
   78 options         MACH_ASSERT     #               # <debug>
   79 #
   80 # MACH_DEBUG enables the mach_debug_server, a message interface used to
   81 #       retrieve or control various statistics. This interface may expose data
   82 #       structures that would not normally be allowed outside the kernel, and
   83 #       MUST NOT be enabled on a released configuration.
   84 #       Other options here enable information retrieval for specific subsystems
   85 #
   86 options         MACH_DEBUG      #               #
   87 #
   88 options         MACH_IPC_DEBUG  #               # <debug>
   89 options         MACH_VM_DEBUG   #               # <debug>
   90 #
   91 # MACH_MP_DEBUG control the possible dead locks that may occur by controlling
   92 #       that IPL level has been raised down to SPL0 after some calls to
   93 #       hardclock device driver.
   94 #
   95 options         MACH_MP_DEBUG   #               # <debug>
   96 #
   97 # ZONE_DEBUG keeps track of all zalloc()ed elements to perform further
   98 #       operations on each element.
   99 #
  100 options         ZONE_DEBUG      #               # <debug>
  101 # 
  102 # XPR_DEBUG enables the gathering of data through the XPR macros inserted
  103 #       into various subsystems. This option is normally only enabled for
  104 #       specific performance or behavior studies, as the overhead in both
  105 #       code and data space is large. The data is normally retrieved through
  106 #       the kernel debugger (kdb) or by reading /dev/kmem.
  107 #       
  108 options         XPR_DEBUG       #               # <debug>
  109 # 
  110 # MACH_LDEBUG controls the internal consistency checks and
  111 #       data gathering in the locking package. This also enables a debug-only
  112 #       version of simple-locks on uniprocessor machines. The code size and
  113 #       performance impact of this option is significant.
  114 # 
  115 options         MACH_LDEBUG     #               # <debug>
  116 
  117 #
  118 # 
  119 #
  120 options         KDEBUG          # kernel tracing        # <kdebug>
  121 
  122 #       
  123 # MACH_COUNTERS enables code that handles various counters in the system.
  124 # 
  125 options         MACH_COUNTERS   #               # <debug>
  126 #
  127 # ETAP  The Event Trace Analysis Package enables user-level tasks to monitor
  128 #       and analyze kernel events.  ETAP supports three modes of tracing:
  129 #
  130 #               1. General event tracing:       ETAP_EVENT_MONITOR
  131 #               2. Monitored lock tracing:      ETAP_LOCK_MONITOR
  132 #               3. Cumulative lock tracing:     ETAP_LOCK_ACCUMULATE
  133 #
  134 #       Each of these trace modes are mutually exclusive.
  135 #
  136 #       CONFIGURING ETAP:  To enable the trace package, the ETAP switch
  137 #       along with *ONE* ETAP trace mode is selected.  The selected ETAP
  138 #       mode determines the level of instrumentation built into the kernel.
  139 #       Mode 1 configures event probes through-out the system.  Modes 2 & 3
  140 #       add instumentation to the kernel lock mechanisms.
  141 #
  142 #       ETAP (and all its trace modes) is mutually exclusive with the
  143 #       MACH_LDEBUG option.  It is assumed that general lock debugging is
  144 #       completed before gathering event information.
  145 #
  146 #       ETAP functionality is normally only enabled for event profiling and
  147 #       performance studies.  Event tracing should not be enabled for release
  148 #       configurations, as the code size and performance impact of these
  149 #       options are significant.
  150 #
  151 #
  152 #options        ETAP                    # ETAP enable
  153 #options        ETAP_EVENT_MONITOR      # Monitor events
  154 #options        ETAP_LOCK_MONITOR       # Monitor lock behavior
  155 #options        ETAP_LOCK_ACCUMULATE    # Collect cumulative lock data
  156 
  157 ##########################################################
  158 #
  159 # This defines configuration options that are normally used only during
  160 # kernel code development and performance characterization. They add run-time
  161 # statistics gathering, which will slow down the system,
  162 #
  163 ##########################################################
  164 #
  165 # MACH_PROF enables the profiling server, a message interface used to
  166 #       retrieve profiling statistics.
  167 #
  168 #options        MACH_PROF               #               # <mach_prof>
  169 #
  170 # MACH_IPC_STATS controls the collection of statistics in the MACH IPC
  171 #       subsystem.
  172 #
  173 #options        MACH_IPC_STATS
  174 #
  175 # MACH_CO_INFO controls the collection of callout statistics. This
  176 #       information is retrieved via a mach_debug message, or though
  177 #       /dev/kmem. The runtime impact of the option is minimal.
  178 #
  179 #options        MACH_CO_INFO
  180 #
  181 # MACH_CLUSTER_STATS controls the collection of various statistics concerning
  182 #       the effectiveness and behavior of the clustered pageout and pagein
  183 #       code.
  184 #
  185 #options        MACH_CLUSTER_STATS
  186 #
  187 # MACH_SCTIMES enables optional code that can be used to measure the
  188 #       execution overhead of performing Mach traps with 1 through 6
  189 #       arguments.
  190 #
  191 #options        MACH_SCTIMES
  192 #
  193 # MACH_COUNTERS enables various code-path statistics. Most of these
  194 #       are accessed through the debugger.
  195 #
  196 options         MACH_COUNTERS           #               # <stats>
  197 

Cache object: 731ed3e6a058c299e174ae56f0cf0655


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.