#
# 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
# 24-Dec-87  David Golub (dbg) at Carnegie-Mellon University
#	Turned on mach_exception and mach_ptrace for all VAX
#	configurations.  Removed NEW_SCHED option (obsolete).
#
#  7-Dec-87  Richard Sanzi (sanzi) at Carnegie-Mellon University
#	Turned mach_directory on for MACHRT configuration.
#
#  6-Dec-87  Avadis Tevanian (avie) at Carnegie-Mellon University
#	Eliminate MACH_NOFLOAT option.  NEW_SCHED should go also but it
#	is still unnecessarily used in a couple of files.
#
#  4-Dec-87  Michael Young (mwyoung) at Carnegie-Mellon University
#	Condensed configurations, eliminating redundant "TT" suffix,
#	"threads" and "wb" tags, and using "u" suffix for uniprocessor
#	configurations.  [Also, flushed old history.]
#
# 20-Nov-87  Avadis Tevanian (avie) at Carnegie-Mellon University
#	Remove MACH_VM, MACH_TT and MACH_MP options (they are standard).
#
# 18-Nov-87  Avadis Tevanian (avie) at Carnegie-Mellon University
#	Ident = MACH.
#
#######################################################################
#
#	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)
#
#	exception = mach ipc-based exceptions
#	nbc     = no buffer cache support
#	ptrace  = correct multi-thread ptrace support
#	simple  = non-rollover clock support
#	slow    = slow clock rate support (requires threads)
#	timing  = precision timing support
#
#  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
#	multi48 = enable 48 multi-processors
#
#  SYSTEM SIZE CONFIGURATION (select exactly 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
#	uboot  = special extra small scale system configuration for
#		 uVax boot floppy
#
#######################################################################
#
#  DEPRECATED CONFIGURATION OPTIONS (select any combination, reluctantly)
#
#	compat  = 4.1 system call compatibility
#	oldipc  = old CMU IPC support
#
#  DEPRECATED PSEUDO-DEVICES (select any combination, reluctantly)
#
#	ild  = INGRES lock device support (deprecated)
#
#######################################################################
#  
#  Standard Mach Research Configurations:
#  -------- ---- -------- ---------------
#
#  These are the default configurations that can be used by most sites.
#  They are used internally by the Mach project.
#
#  MACH      = [mach multi16 medium vice debug ptrace exception]
#  MACHVAX   = [mach multi16 medium vice debug ptrace exception]
#  MACHD     = [mach multi16 medium vice debug ptrace exception mach_directory ]
#  MACHDIR   = [mach multi16 medium vice debug ptrace exception mach_directory vmtp np]
#  MACHu     = [mach medium vice debug ptrace exception]
#  MACHDu    = [mach medium vice debug ptrace exception mach_directory]
#  MACHDIRu  = [mach medium vice debug ptrace exception mach_directory vmtp np]
#  MACHNBC   = [mach multi16 medium vice debug ptrace exception nbc]
#  MACHXP    = [mach multi16 medium vice debug ptrace exception xp]
#
#  MACHSUN3  = [mach small vice debug]
#  MACHSUN3XP = [mach small vice debug xp]
#  MACHSUN3NBC = [mach xsmall vice debug nbc]
#
#  MACHRT    = [mach small vice debug mach_directory]
#  MACHRTXP  = [mach small vice debug xp ]
#  MACHRTNBC = [mach small vice debug nbc ]
#
#  MACHMM    = [mach xlarge multi48 vice timing simple slow debug ptrace exception]
#
#  MACHSQT   = [mach xlarge multi32 vice db mach_directory]
#
#######################################################################
#
ident		MACH

options		GENERIC		# <!uboot>
options		QUOTA		# <quota>
options		INET
options		DLI		# Direct data-link interface protocol
options		MAXDSIZ = 33554432	# 32 Megabytes
options 	CS_BUGFIX	# CS/RI bug fixes
options 	CS_IPC		# Old CMU IPC support		# <oldipc>
options 	CS_GENERIC	# CS/RI general enhancements
options 	CS_ICHK		# Inode reference count checking
options 	CS_INET		# Internet Protocol enhancements
options 	CS_KDB		# Kernel debugger support	# <debug>
options 	CS_LINT		# CS/RI fixes for lint(1)
options 	CS_QUOTE	# Symbolic link quoting
options 	CS_RFS		# Remote file system support
options 	CS_RPAUSE	# Resource pause support
options 	CS_SECURITY	# CS/RI security fixes
options 	CS_SOCKET	# Socket enhancements
options 	CS_SYSCALL	# System call enhancementrs
options 	CS_TCP		# TCP enhancements
options 	CS_TTY		# Terminal driver enhancements
options 	CS_TTYLOC	# Terminal location support
options		NET_BUGFIX	# Network published bug fixes
options 	MACH_DIRECTORY	# Mach namei support		# <mach_directory>
options		MACH_EXCEPTION	# Mach ipc-based exceptions	# <exception>
options 	MACH_IPC	# Mach IPC support		# <mach>
options 	MACH_NP		# Mach IPC support		# <np>
options		MACH_MACH	# Mach kernel interface		# <mach>
options		MACH_NBC	# No buffer cache		# <nbc>
options		MACH_PTRACE	# New ptrace implementation	# <ptrace>
options 	MACH_SYSCALL	# New system call interface	# <mach>
options		MACH_TIME_NEW	# precision timing - new impl.	# <timing>
options		MACH_VMTP	# versatile msg trans. protocol	# <vmtp>
options		MACH_NET	# Fast network access		# <!unix>
options		MACH_XP		# external pager support	# <xp>
options		SIMPLE_CLOCK	# no hardware clock rollover	# <simple>
options		SLOW_CLOCK	# slow hardware clock rate 	# <slow>
options		VICE		# <vice>
options		XPR_DEBUG	# kernel tracing		# <!uboot>
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,msmall>
maxusers	2		# <uboot>

#
#  Multi-processor selection
#
pseudo-device	cpus		48	# <multi48>
pseudo-device	cpus		32	# <multi32>
pseudo-device	cpus		16	# <multi16>
pseudo-device	cpus		1	# <!multi48,multi32,multi16>
#
#  CMU pseudo terminal service
#
pseudo-device	cmupty			# <!uboot,msmall>
#
# VICE file system support
#
pseudo-device	vicefs	3		# <vice>
#
#  Ethernet (ARP)
#
pseudo-device	ether
#
#  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			# <!uboot,msmall>
pseudo-device	pty	16			# <msmall>
