#
# Mach Operating System
# Copyright (c) 1991,1990,1989,1988,1987,1986 Carnegie Mellon University
# All Rights Reserved.
# 
# Permission to use, copy, modify and distribute this software and its
# documentation is hereby granted, provided that both the copyright
# notice and this permission notice appear in all copies of the
# software, derivative works or modified versions, and any portions
# thereof, and that both notices appear in supporting documentation.
# 
# CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS 
# CONDITION.  CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR
# ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
# 
# Carnegie Mellon requests users of this software to return to
# 
#  Software Distribution Coordinator  or  Software.Distribution@CS.CMU.EDU
#  School of Computer Science
#  Carnegie Mellon University
#  Pittsburgh PA 15213-3890
# 
# any improvements or extensions that they make and grant Carnegie the
# rights to redistribute these changes.
#  
#
# HISTORY
# $Log:	MASTER,v $
# Revision 2.6  91/02/05  17:01:58  mrt
# 	Changed to new copyright
# 	[91/01/28  14:45:37  mrt]
# 
# Revision 2.5  91/01/08  15:08:42  rpd
# 	Removed FAST_CSW (tag fast_csw).
# 	[90/12/08            rpd]
# 	Removed MACH_IPC_GENNOS (tag ipc_gennos).
# 	[90/11/08            rpd]
# 
# Revision 2.4  90/09/28  16:53:11  jsb
# 	Added preliminary NORMA support.
# 	[90/09/28  14:00:51  jsb]
# 
# Revision 2.3  90/06/02  14:45:48  rpd
# 	Added MACH_VM_DEBUG (tag vm_debug) and added it to STD.
# 	[90/04/20            rpd]
# 	Converted to new IPC.
# 	Cleaned up, removing timezone, maxusers, etc.
# 	[90/03/26  21:33:20  rpd]
# 
#
# Condensed history:
#	MACH_KERNEL version (dbg).
#	Changes for cleanup (gm0w).
# 	Made STD config be small (mrt).
#
#######################################################################
#
#	Master machine independent configuration file.
#
#	Specific configuration files are created based on this and
#	the machine specific master file using the doconf script.
#
#	Any changes to the master configuration files will affect all
#	other configuration files based upon it.
#
#######################################################################
#
#	To build a configuration, execute "doconf <configuration>."
#	Configurations are specified in the "Configurations:" section
#	of the MASTER and MASTER.* files as follows:
#
#	<configuration> = [ <attribute0> <attribute1> ... <attributeN> ]
#
#	Lines in the MASTER and MASTER.* files are selected based on
#	the attribute selector list, found in a comment at the end of
#	the line.  This is a list of attributes separated by commas.
#	The "!" operator selects the line if none of the attributes are
#	specified.
#
#	For example:
#
#	<foo,bar>	selects a line if "foo" or "bar" are specified.
#	<!foo,bar>	selects a line if neither "foo" nor "bar" is
#			specified.
#
#	Lines with no attributes specified are selected for all
#	configurations.
#
#######################################################################
#
#  STANDARD CONFIGURATION OPTIONS (select any combination)
#
#	debug   = kernel level debugging support
#	mdebug	= enable debugging kernel calls
#	ldebug	= check use of simple locks on uniprocessors
#	assert	= enable assertions
#
#  EXPERIMENTAL CONFIGURATION OPTIONS (select any combination, carefully)
#
#	simple  = non-rollover clock support
#	timing  = precision timing support
#	host	= host resource control support
#	pm	= paged-out page map hints
#	fixpri	= fixed priority threads
#	clport	= cluster ports (netport among cluster of processors)
#	clboot	= boot cluster of processors via master/slave arrangement
#
#  MULTI-PROCESSOR CONFIGURATION (select at most one)
#
#	multi16 = enable 16 multi-processors
#	multi32 = enable 32 multi-processors
#	multi64 = enable 64 multi-processors
#
#######################################################################
#  
#
#  Standard CMU CS/RI Production Configuration Components:
#  -------- --- -- -- ---------- ------------- ----------
#
#  STD       = [ debug mdebug ipc_compat ipc_debug vm_debug ]
#
#  (Optional for multi-processor configurations)
#
#  64        = [ multi64 host ]
#  32        = [ multi32 host ]
#  16        = [ multi16 host ]
#
#  (Normally not enabled because of correctness or performance concerns)
#
#  EXP	     = [ pm ]
#  NORMA     = [ clport clboot ]
#
#  (Useful for testing, but may cause significant performance degradation)
#
#  TEST	     = [ assert ldebug ipc_test ]
#
#######################################################################
#
ident		CMU

options 	MACH		# Standard Mach features
options		MACH_KERNEL	# Standalone MACH kernel
options		MACH_ASSERT	# Compile in assertions		# <assert>
options		MACH_DEBUG	# IPC debugging interface	# <mdebug>
options		MACH_FIXPRI	# Fixed priority threads	# <fixpri>
options		MACH_HOST	# Mach host (resource alloc.)	# <host>
options		MACH_IPC_COMPAT	# Enable old IPC interface	# <ipc_compat>
options		MACH_IPC_DEBUG	# Enable IPC debugging calls	# <ipc_debug>
options		MACH_IPC_TEST	# Testing code/printfs		# <ipc_test>
options		MACH_KDB	# Kernel debugger support	# <debug>
options		MACH_LDEBUG	# Sanity-check simple locking	# <ldebug>
options		MACH_PAGEMAP	# Paged-out page map hints	# <pm>
options		MACH_CLPORT	# cluster port support		# <clport>
options		MACH_CLBOOT	# cluster booting support	# <clboot>
options		MACH_VM_DEBUG	# Enable VM debugging calls	# <vm_debug>
options		HW_FOOTPRINT	# Cache footprint support	# <hw_foot>
options		SIMPLE_CLOCK	# no hardware clock rollover	# <simple>
options		STAT_TIME	# Use statistical timing	# <!timing>
options		XPR_DEBUG	# kernel tracing		# <debug>

#
#  Multi-processor selection
#
pseudo-device	cpus		64	# <multi64>
pseudo-device	cpus		32	# <multi32>
pseudo-device	cpus		16	# <multi16>
pseudo-device	cpus		1	# <!multi64,multi32,multi16>
#
