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#
43#  These are the default configurations that can be used by most sites.
44#  They are used internally by the Mach project.
45#
46#  IOKIT      = [iokitcpp debug]
47#
48#######################################################################
49#  SYSTEM SIZE CONFIGURATION (select exactly one)
50#
51#	xlarge = extra large scale system configuration
52#	large  = large scale system configuration
53#	medium = medium scale system configuration
54#	small  = small scale system configuration
55#	xsmall = extra small scale system configuration
56#	bsmall = special extra small scale system configuration
57#
58ident		IOKIT
59
60options		HIBERNATION	# system hibernation	# <hibernation>
61options		KERNOBJC	# Objective-C implementation	# <kernobjc>
62options		IOKITCPP	# C++ implementation		# <iokitcpp>
63options		IOKITSTATS	# IOKit statistics		# <iokitstats>
64options		KDEBUG		# kernel tracing		# <kdebug>
65options		IST_KDEBUG	# limited tracing		# <ist_kdebug>
66options		NO_KDEBUG   # no kernel tracing 	# <no_kdebug>
67options		NETWORKING	# kernel networking		# <networking>
68options		CRYPTO		# want crypto code		# <crypto>
69options		CONFIG_DTRACE	# enable dtrace			# <config_dtrace>
70options		VM_PRESSURE_EVENTS				# <vm_pressure_events>
71
72options		CONFIG_SLEEP	#				# <config_sleep>
73
74#makeoptions	LIBDRIVER = "libDriver_kern.o"			# <libdriver>
75#makeoptions	LIBOBJC   = "libkobjc.o"			# <kernobjc>
76
77#
78#  configurable kernel related resources 
79#
80options   CONFIG_MAX_THREADS=64		# <medium,large,xlarge>
81options   CONFIG_MAX_THREADS=64		# <small,xsmall>
82options   CONFIG_MAX_THREADS=64		# <bsmall>
83
84#
85#  configurable kernel - use these options to strip strings from panic
86#  and printf calls.
87#  no_panic_str - saves around 50K of kernel footprint.
88#  no_printf_str - saves around 45K of kernel footprint.
89#
90options   CONFIG_NO_PANIC_STRINGS		# <no_panic_str>
91options   CONFIG_NO_PRINTF_STRINGS		# <no_printf_str>
92options   CONFIG_NO_KPRINTF_STRINGS		# <no_kprintf_str>
93
94# secure_kernel - secure kernel from user programs
95options   SECURE_KERNEL                       # <secure_kernel>
96
97options   MACH_ASSERT				# <mach_assert>
98
99options		DEVELOPMENT			# <development>
100options		DEBUG				# <debug>
101
102options		CONFIG_MEMORYSTATUS		# <memorystatus>
103options		CONFIG_JETSAM                   # <jetsam>
104options		CONFIG_FREEZE			# <freeze>
105