#
# Mach Operating System
# Copyright (c) 1989 Carnegie-Mellon University
# Copyright (c) 1988 Carnegie-Mellon University
# Copyright (c) 1987 Carnegie-Mellon University
# Copyright (c) 1986 Carnegie-Mellon University
# All rights reserved.  The CMU software License Agreement specifies
# the terms and conditions for use and redistribution.
#  
#
# HISTORY
# $Log:	MASTER,v $
# Revision 2.7  90/09/09  22:31:43  rpd
# 	Added MAP_ETHER option.
# 	[90/08/30  17:49:54  af]
# 
# Revision 2.6  90/05/29  20:23:53  rwd
# 	Make nbc+md the default for STDVICE.
# 	[90/05/22            rwd]
# 
# Revision 2.5  90/03/14  21:27:15  rwd
# 	Add MAP_UAREA option
# 	[90/01/22            rwd]
# 
# Revision 2.4  90/01/23  00:04:17  af
# 	Added namei @sys/@cpu macros option.
# 	[90/01/20  23:16:34  af]
# 
# Revision 2.3  89/11/29  15:28:08  af
# 	Added mips, as a sysV_coff.
# 	[89/11/16  17:13:11  af]
# 
# Revision 2.2  89/09/15  15:28:43  rwd
# 	Added MAP_TIME option
# 	[89/09/13            rwd]
# 
# 	Altered for MACH_NO_KERNEL.  Some features have been backdated...
# 	we'll fix that when we merge up (from X65 to X90+).
# 	[89/05/23            dbg]
# 
# Revision 2.1  89/08/04  15:24:52  rwd
# Created.
# 
# Revision 2.27  89/05/01  15:22:49  rpd
# 	Purged MACH_IPC_RCVHACK.
# 	[89/05/01  13:48:11  rpd]
# 
# Revision 2.26  89/04/18  16:42:49  mwyoung
# 	Add MACH_PAGEMAP (pm).
# 	[89/04/16            mwyoung]
# 
# Revision 2.25  89/03/04  17:11:52  rpd
# 	at and exl want coff vs bsd a.out
# 	[89/03/01            rvb]
# 
# Revision 2.24  89/02/25  17:37:28  gm0w
# 	Changes for cleanup.
# 
# Revision 2.23  89/01/23  22:10:49  af
# 	MAXDSIZ is no longer an option.  It has its own parse rule.
# 	[89/01/09            rvb]
# 
# Revision 2.22  89/01/18  00:48:38  jsb
# 	Place AFS and NFS into the standard configuration.
# 	[89/01/17  18:04:49  jsb]
# 	
# 	Add MACH_{VFS,NFS,AFS}, SUN_RPC options.
# 	[89/01/17  10:10:44  jsb]
# 
# Revision 2.21  89/01/17  02:05:50  rpd
# 	Removed the "xp" and "xp_fpd" tags.  Now the "mach" tag turns on
# 	the MACH_XP and MACH_XP_FPD options.
# 
# Revision 2.20  89/01/12  07:41:14  rpd
# 	Changed MACH_COSTATS (tag "costats") to MACH_CO_STATS (tag "co_stats").
# 	Added MACH_CO_INFO (tag "co_info") and MACH_DEBUG (tag "mdebug").
# 	[89/01/12  04:30:57  rpd]
# 
# Revision 2.19  89/01/10  23:25:09  rpd
# 	Changed MACH_IPCSTATS to MACH_IPC_STATS.  Changed tag to "ipc_stats".
# 	Added MACH_IPC_XXXHACK (tag "ipc_xxxhack"); it enables the obsolete
# 	xxx_port_allocate, etc, kernel calls and the obsolete IPC traps.
# 	Added ipc_xxxhack to MSTD.
# 	[89/01/10  22:41:34  rpd]
# 
# Revision 2.18  88/12/20  13:47:20  rpd
# 	Added MACH_IPC_RCVHACK (tag is "ipc_rcvhack")
# 	and MACH_IPC_SIGHACK (tag is "ipc_sighack").
# 	Added ipc_sighack to MSTD.
# 	[88/11/26  21:17:28  rpd]
# 
# Revision 2.17  88/12/19  02:40:06  mwyoung
# 	Remove old MACH_EXCEPTION, MACH_PTRACE, MACH_IPC, and MACH_MACH
# 	conditionals.  Make MACH_XP and MACH_XP_FPD standard (keyed on "mach").
# 	[88/12/14            mwyoung]
# 
# Revision 2.16  88/10/27  17:30:18  mrt
# 	27-Oct-88 Mary Thompson (mrt)
# 	Made STD config to be small.
# 	maxusers can be patched for machines which need it to be
# 	larger
# 	[88/10/27  17:07:06  mrt]
# 
# Revision 2.15  88/10/27  10:42:11  rpd
# 	Added MACH_SCTIMES option, which turns on some "dummy" system
# 	calls useful for collecting syscall performance numbers.
# 	Changed MACH_IPCSTATS tag to "ipcstats" from "stats".
# 	[88/10/26  14:30:27  rpd]
# 
# Revision 2.14  88/10/01  21:50:37  rpd
# 	Changed CS_ASSERT to CMUCS_ASSERT.
# 	[88/10/01  21:14:17  rpd]
# 	
# 	Changed FAST_PAGER_DATA to MACH_XP_FPD.
# 	[88/09/29  01:05:54  rpd]
# 
# Revision 2.13  88/09/25  22:08:19  rpd
# 	Added new options MACH_IPC_TCACHE (ipc_tcache)
# 	and MACH_IPC_WWA (ipc_wwa).  Added MSTD combo.
# 	[88/09/19  23:23:07  rpd]
# 	
# 	Added MACH_COSTATS option, with costats tag.
# 	[88/09/09  04:39:53  rpd]
# 
# Revision 2.12  88/08/25  19:15:53  mwyoung
# 	Eliminate old options.
# 	[88/08/22            mwyoung]
# 	
# 	Eliminate old options.
# 	[88/08/25  19:23:41  mwyoung]
# 
# Revision 2.11  88/08/11  13:28:35  rvb
# Now mach_emulation can be abbreviated me, and mach_directory - md.
# define MACHXPE as MACH + md + xp + me
# 
# Revision 2.10  88/08/09  17:53:02  rvb
# make mach_directory option work and rename it "md"
# 
# Revision 2.9  88/08/06  18:06:10  rpd
# Added CMUCS_DEBUG option, turned on by the "test" attribute.
# 
# Revision 2.8  88/07/20  16:19:27  rpd
# Add new tags "test" (turns on cs_assert and mach_ldebug)
# and "stats" (turns on mach_ipcstats).  The mach_ldebug option
# only does something when NCPUS == 1.
# 
# Revision 2.7  88/07/17  18:49:50  mwyoung
# Remove bogus history.
# 
# Revision 2.6  88/07/17  17:52:18  mwyoung
# Added FAST_PAGER_DATA option.
# 
# Revision 2.5  88/07/16  00:45:44  mwyoung
# Replace old machine-specific forms for MACH with a new one.
# In the future, machine-specific changes for all MACH configurations
# should be placed in the MASTER.<machine>.local file.
# 
# 12-May-88  Mike Accetta (mja) at Carnegie-Mellon University
#	Added MACH_COMPAT option to enable vendor system call
#	compatibility under "mach" attribute and converted MACH_NET
#	option to "mach" attribute from "xnet" since the listen
#	operation is now restricted; renamed DEFAULT => STD and
#	SPECIAL => OLD.
#	[ V5.1(XF24) ]
#

#######################################################################
#
#	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   = extra kernel level debugging support
#	mach    = Mach support 
#	unix    = a UNIX perspective on the world
#
#  EXPERIMENTAL CONFIGURATION OPTIONS (select any combination, carefully)
#
#	nbc     = no buffer cache support
#	md      = fast directory access support (using Mach VM)
#
#  PSEUDO-DEVICES (select any combination)
#
#	sl   = Serial line IP support
#	vice = CMU VICE file system support
#
#  MULTI-PROCESSOR CONFIGURATION (select at most one)
#
#	multi16 = enable 16 multi-processors
#	multi32 = enable 32 multi-processors
#	multi64 = enable 64 multi-processors
#
#  SYSTEM SIZE CONFIGURATION (select no more than one)
#
#	xlarge = extra large scale system configuration
#	large  = large scale system configuration
#	medium = medium scale system configuration
#	small  = small scale system configuration
#	xsmall = extra small scale system configuration
#	bsmall = special extra small scale system configuration for
#		 (e.g. for boot floppies)
#
#######################################################################
#
#  DEPRECATED CONFIGURATION OPTIONS (select any combination, reluctantly)
#
#	oldfs   = 4.1 file system support
#	oldipc  = old CMU IPC support
#
#  DEPRECATED PSEUDO-DEVICES (select any combination, reluctantly)
#
#	fe   = CMU CS Front End terminal support
#	ild  = INGRES lock device support
#
#######################################################################
#  
#
#  Standard CMU CS/RI Production Configuration Components:
#  -------- --- -- -- ---------- ------------- ----------
#
#  BOOT      = [      mach      unix       MSTD              ]
#  OLD       = [debug      vice unix                         ]
#  STD       = [debug mach      unix small MSTD nfs afs      ]
#  STDVICE   = [      mach vice unix small MSTD         mtime muarea nbc md ]
#
#  BS	     = [bsmall]
#  XS        = [xsmall]
#  S         = [ small]
#  M         = [medium]
#  L         = [ large]
#  XL        = [xlarge]
#
#  (Optional for multi-processor configurations)
#
#  64        = [multi64]
#  32        = [multi32]
#  16        = [multi16]
#
#  Options which are almost always turned on when mach is turned on,
#  but can still be individually selected (eg, "MACH-ipc_tcache"):
#
#  MSTD      = [ atsys ]
#
#  Some old Mach configuration shorthands... to construct a configuration
#  for an old name like "MACHRTEMUL" use "MACH+mach_emulation":
#
#  MACH          = [ STD ]
#  MACHXPE       = [ MACH md me ]
#
#  MACHSUN3      = [ STD ANY ]
#  MACHRT        = [ STD ANY md ]
#  MACHMM        = [ debug mach vice unix MSTD ANY multi64 xlarge md timing simple ]
#  MACHSQT       = [ debug mach vice unix MSTD ANY multi32 xlarge db md]
#
#  DIR           = [ md vmtp np ]
#
#  To protect the innocent:
#
#  mach_directory = [ md ]
#  mach_emulation = [ me ]
#
#######################################################################
#
ident		CMU

options		GENERIC		# <!bsmall>
options		QUOTA		# <quota>
options		INET
options		DLI		# Direct data-link interface protocol
options		SYSV_COFF	# format of load files		# <mmax,mips,at,exl>
options		BSD_A_OUT	# format of load files		# <!mmax,mips,at,exl>
options 	CMUCS_RFS	# Remote file system support (fix)
options		CMUCS_KDB	# Kernel debugger (?) (fix)
options		CS_LINT		# (obsolete)
options		CS_TTY		# (obsolete)
options		CS_TTYLOC	# (obsolete)
options 	MACH		# Standard Mach features	# <mach>
options		MACH_NO_KERNEL	# Build without MACH kernel
options		MACH_ASSERT	# Compile in assertions		# <test>
options		MACH_COMPAT	# Vendor syscall compatibility  # <mach>
options 	MACH_DIRECTORY	# Mach namei support		# <md>
options		NAMEI_MACROS	# @sys/@cpu expansion		# <atsys>
options		MACH_NBC	# No buffer cache		# <nbc>
options		MACH_VFS	# use vnodes			# <vfs,afs,nfs>
options		MACH_NFS	# sun's network file system	# <nfs>
options		MACH_AFS	# in-kernel andrew file system	# <afs>
options		SUN_RPC		# rpc support for nfs		# <nfs>
options		MACH_VMTP	# versatile msg trans. protocol	# <vmtp>
options		MACH_XP		# external pager support	# <mach>
options		MACH_XP_FPD	# copy data direct from user	# <mach>
options		VICE		# ANDREW file system support 	# <vice>
options		XPR_DEBUG	# kernel tracing		# <!bsmall>
options		MACH_DB		# new kernel debugger		# <db>
options		MULTICAST	# Class D addressing		# <ipmcast,vmtp>
options		IGMPROTO	# IGMP code			# <ipmcast,vmtp>
options		MULTICAST_AGENT	# Multicast Agent code		# <ipmcast>
options		TTLCONTROL	# New ioctl to set IP TTL	# <ipmcast,vmtp>
options		MAP_TIME	# Use mapped time from kernel	# <mtime>
options		MAP_UAREA	# Use shared memory region	# <muarea>
options		MAP_ETHER	# Use mapped ethernet		# <map_ether>

timezone	5 dst
maxdsiz		33554432	# 32 Megabytes
maxusers	64		# <xlarge>
maxusers	50		# <large>
maxusers	32		# <medium>
maxusers	16		# <small>
maxusers	8		# <xsmall>
maxusers	2		# <bsmall>

#
#  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>
#
#  CMU pseudo terminal service
#
pseudo-device	cmupty			# <!bsmall>
#
# VICE file system support
#
pseudo-device	vicefs	3		# <vice>
#
#  Ethernet (ARP)
#
pseudo-device	ether
#
#  CMU Front End service
#
pseudo-device	fe	1		# <fe>
#
#  INGRES lock device
#
pseudo-device	ild			# <ild>
#
#  INTERNET protocol
#
pseudo-device	inet
#
#   SL-IP
#
pseudo-device	sl			# <sl>
#
#  Network loopback device
#
pseudo-device	loop

#  UCB pseudo terminal service
#
pseudo-device	pty	80			# <!bsmall>
