#
# Mach Operating System
# Copyright (c) 1986 Carnegie-Mellon University
# All rights reserved.  The CMU software License Agreement
# specifies the terms and conditions for use and redistribution.
#  
#######################################################################
#
#	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.
#
#######################################################################
# HISTORY
# $Log:	MASTER,v $
# 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) ]
#
#######################################################################
#
#	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
#	simple  = non-rollover clock support
#	timing  = precision timing support
#	me      = user space syscall emulation
#	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 vice unix small MSTD]
#
#  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      = [ ipc_tcache ipc_sighack ipc_xxxhack ]
#
#  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		MAXDSIZ = 33554432	# 32 Megabytes
options 	CMUCS
options		CMUCS_ASSERT	# Compile in assertions		# <test>
options		CMUCS_DEBUG	# Support for debugging		# <test>
options 	CMUCS_KDB	# Kernel debugger support	# <debug>
options 	CMUCS_RFS	# Remote file system support
options 	CS_KDB		# Kernel debugger support	# <debug>
options 	CS_LINT		# CS/RI fixes for lint(1)
options 	CS_TTY		# Terminal driver enhancements
options 	CS_TTYLOC	# Terminal location support
options 	MACH		# Standard Mach features	# <mach>
options		MACH_COMPAT	# Vendor syscall compatibility  # <mach>
options		MACH_CO_INFO	# Call-out queue info		# <co_info>
options		MACH_CO_STATS	# Call-out queue statistics	# <co_stats>
options		MACH_DEBUG	# IPC debugging interface	# <mdebug>
options 	MACH_DIRECTORY	# Mach namei support		# <md>
options		MACH_IPC_RCVHACK	# Allow enabled rcv	# <ipc_rcvhack>
options		MACH_IPC_SIGHACK	# Send bogus signals	# <ipc_sighack>
options		MACH_IPC_STATS	# Collect IPC statistics	# <ipc_stats>
options		MACH_IPC_TCACHE	# IPC Translation Cache		# <ipc_tcache>
options		MACH_IPC_WWA	# IPC Wakeup-When-Available	# <ipc_wwa>
options		MACH_IPC_XXXHACK	# Enable obsolete funcs	# <ipc_xxxhack>
options		MACH_LDEBUG	# Sanity-check simple locking	# <test>
options 	MACH_NP		# Kernel-based network IPC	# <np>
options		MACH_NBC	# No buffer cache		# <nbc>
options		MACH_SCTIMES	# Dummy system calls for timing	# <sctimes>
options 	MACH_SYSCALL	# New system call interface	# <mach>
options		MACH_NET	# Fast network access		# <mach>
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		MACH_DEVICE	# mach i/o support		# <mach_device>
options		MACH_EMULATION	# mach syscall emulation	# <me>
options		SIMPLE_CLOCK	# no hardware clock rollover	# <simple>
options		STAT_TIME	# Use statistical timing	# <!timing>
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>

timezone	5 dst

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>
