#
# Mach Operating System
# Copyright (c) 1992-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 "AS IS" 
# 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 Mellon
# the rights to redistribute these changes.
#  
#
# HISTORY
# $Log:	MASTER,v $
# Revision 2.20  92/08/05  18:05:55  jfriedl
# 	Added power_save option to trigger machine dependent ways
# 	of conserving power when machine (or parts of it) are idle.
# 	[92/08/05            mrt]
# 
# Revision 2.19  92/07/20  13:32:30  cmaeda
# 	Added fast_tas option.
# 	[92/05/11  14:32:25  cmaeda]
# 
# Revision 2.18  92/03/10  16:25:00  jsb
# 	Added pm (MACH_PAGEMAP) to STD.
# 	[92/03/10  14:58:32  jsb]
# 
# Revision 2.17  92/02/19  15:06:16  elf
# 	Simplified, condensed history.
# 	[92/02/17            rpd]
# 
#
# Condensed history:
#	NORMA support (jsb).
#	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
#	lineno	= generate filename and line number debugging info
#
#  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
#
#  MULTI-PROCESSOR CONFIGURATION (select at most one)
#
#	multi16 = enable 16 multi-processors
#	multi32 = enable 32 multi-processors
#	multi64 = enable 64 multi-processors
#
#  MULTICOMPUTER OPTIONS (each option requires all previous options,
#			  for example, norma_vm requires norma_ipc.
#			  Except that norma_device and norma_ether both
#			  only need norma_ipc.)
#
#
#	norma_ipc  = NORMA internode ipc
#	norma_vm   = NORMA virtual memory support (distributed virtual memory)
#	norma_task = NORMA task support (remote creation, migration)
#
#	norma_ether  = use ethernet as NORMA interconnect
#	norma_device = support for unified device name space for all nodes
#
#######################################################################
#  
#
#  Standard CMU CS/RI Production Configuration Components:
#  -------- --- -- -- ---------- ------------- ----------
#
#  STD       = [ debug mdebug ipc_compat ipc_debug vm_debug pm ]
#
#  (Optional for multi-processor configurations)
#
#  64        = [ multi64 host ]
#  32        = [ multi32 host ]
#  16        = [ multi16 host ]
#
#  (Optional for multicomputer configurations)
#
#  NORMA     = [ norma_ipc norma_device norma_task norma_vm ]
#
#  (Normally not enabled because of correctness or performance concerns)
#
#  EXP	     = [ ]
#
#  (Useful for testing, but may cause significant performance degradation)
#
#  TEST	     = [ assert ldebug ipc_test count lineno ]
#
#######################################################################
#
ident		MACH

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		NORMA_IPC	# NORMA IPC support		# <norma_ipc>
options		NORMA_DEVICE	# NORMA unified device names	#<norma_device>
options		NORMA_VM	# NORMA virtual memory support	# <norma_vm>
options		NORMA_TASK	# NORMA task support		# <norma_task>
options		NORMA_ETHER	# NORMA across ethernet		# <norma_ether>
options		MACH_COUNTERS	# counters			# <count>
options		MACH_VM_DEBUG	# Enable VM debugging calls	# <vm_debug>
options		FAST_TAS	# restartable atomic sequences	# <fast_tas>
options		HW_FOOTPRINT	# Cache footprint support	# <hw_foot>
options		POWER_SAVE	# mach-dep power conservation	# <power>
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		4	# <luna88k>
pseudo-device	cpus		1	# <!multi64,multi32,multi16,luna88k>
#
