#
# @(#) GENERIC from master 1.28 90/09/21 SMI
#
# This config file describes a generic Sun-3 kernel, including all
# possible standard devices and software options.
#
# The following lines include support for all Sun-3 CPU types.
# There is little to be gained by removing support for particular
# CPUs, so you might as well leave them all in.
#
machine		"sun3"
cpu		"SUN3_50"	# Sun-3/50
cpu		"SUN3_60"	# Sun-3/60
cpu		"SUN3_110"	# Sun-3/110
cpu		"SUN3_160"	# Sun-3/75, Sun-3/140, Sun-3/160
cpu		"SUN3_260"	# Sun-3/260, Sun-3/280
cpu		"SUN3_E"	# Sun-3E (Eurocard VMEbus cpu)

#
# Name this kernel GENERIC.
#
ident		"GENERIC"

#
# This kernel supports about 8 users.  Count one user for each
# timesharing user, one for each window that you typically use, and one
# for each diskless client you serve.  This is only an approximation used
# to control the size of various kernel data structures, not a hard limit.
#
maxusers	8

#
# Include all possible software options.
#
# The INET option is not really optional; every kernel must include it.
#
options	INET		# basic networking support - mandatory

#
# The following options are all filesystem related.  You only need
# QUOTA if you have UFS.  You only need UFS if you have a disk.
# Diskless machines can remove QUOTA, UFS, and NFSSERVER.  LOFS and TFS
# are only needed if you're using the Sun Network Software Environment.
# HSFS is only needed if you have a CD-ROM drive and want to access
# ISO-9660 or High Sierra format CD discs.
#
options	QUOTA		# disk quotas for local disks
options	UFS		# filesystem code for local disks
options	NFSCLIENT	# NFS client side code
options	NFSSERVER	# NFS server side code
options	LOFS		# loopback filesystem - needed by NSE
options	TFS		# translucent filesystem - needed by NSE
options	TMPFS		# tmp (anonymous memory) file system
options	HSFS		# High Sierra (ISO 9660) CD-ROM file system

#
# The following options are for accounting and auditing.  SYSAUDIT
# should be removed unless you are using the C2 security features.
#
options	SYSACCT		# process accounting, see acct(2) & sa(8)
options	SYSAUDIT	# C2 auditing for security

#
# The following options are for various System V IPC facilities.
# Most standard software does not need them, although they are
# used by SunGKS and some third-party software.
#
options	IPCMESSAGE	# System V IPC message facility
options	IPCSEMAPHORE	# System V IPC semaphore facility
options	IPCSHMEM	# System V IPC shared-memory facility

#
# The following option is only needed if you want to use the trpt
# command to debug TCP problems.
#
options	TCPDEBUG	# TCP debugging, see trpt(8)

#
# The following option includes the software DES support, needed if
# you're using secure NFS or secure RPC and you don't have a DES chip.
#
options	CRYPT		# software encryption

#
# The following two options are only needed if you want to use RFS.
#
options	RFS
options	VFSSTATS

#
# The following two options are needed for asynchronous I/O.
#
options	LWP		# kernel threads
options	ASYNCHIO	# asynch I/O (requires LWP)

#
# The following option adds support for loadable kernel modules.
#
options	VDDRV		# loadable modules

#
# The following option adds support for the old SCSI architecture.
#
options	OLDSCSI		# Old SCSI architecture - mandatory

#
# The following option adds support for SunView 1 journaling.
#
options	WINSVJ		# SunView 1 journaling support

#
# Build one kernel based on this basic configuration.
# It will use the generic swap code so that you can have
# your root filesystem and swap space on any supported device.
# Put the kernel configured this way in a file named "vmunix".
#
config	vmunix	swap generic

#
# Include support for all possible pseudo-devices.
#
# The first few are mostly concerned with networking.
# You should probably always leave these in.
#
pseudo-device	pty		# pseudo-tty's, also needed for SunView
pseudo-device	ether		# basic Ethernet support
pseudo-device	loop		# loopback network - mandatory

#
# The next few are for SunWindows support, needed to run SunView 1.
#
pseudo-device	win128		# window devices, allow 128 windows
pseudo-device	dtop4		# desktops (screens), allow 4
pseudo-device	ms		# mouse support

#
# The following is needed to support the Sun keyboard, with or
# without the window system.
#
pseudo-device	kb		# keyboard support

#
# The following is needed to support the Sun dialbox.
#
pseudo-device	db	# dialbox support

#
# The following is for asynchronous tty support for the ALM-2 (aka MCP).
# If you have an ALM-2 (MCP) and it is being used to connect timesharing
# terminals, you will need this.
# The number appended to mcpa should be the total number of serial lines
# provided by the ALM-2s in the system.  For example, if you have four
# ALM-2s this should read "mcpa64".
#
pseudo-device	mcpa128

#
# The following is for the streams pipe device, which is required by RFS.
#
pseudo-device	sp		# streams pipe device

#
# The following are for streams NIT support.  NIT is used by
# etherfind, traffic, rarpd, and ndbootd.  As a rule of thumb,
# NIT is almost always needed on a server and almost never
# needed on a diskless client.
#
pseudo-device	snit		# streams NIT
pseudo-device	pf		# packet filter
pseudo-device	nbuf		# NIT buffering module

#
# The following is for the "clone" device, used with streams devices.
# This is required if you include streams NIT support or RFS.
#
pseudo-device	clone		# clone device

#
# The following is for TLI. Include these if you want to use RFS and/or
# the TLI library.
#
pseudo-device	tim64
pseudo-device	tirw64

#
# The following is for the TCP TLI stream head. This provides a TLI-conforming
# interface on top of which you can run RFS and/or the TLI library. This is
# required by RFS.
#
pseudo-device	tcptli32

#
# The following sections describe what kinds of buses each cpu type supports.
# You should never need to change this.  (The word "nexus" is historical.)
#
# Controller (bus) descriptions:
#
# virtual	virtually addressed devices
# obmem		memory-like devices on the cpu board
# obio		I/O devices on the cpu board
# vme16d16	VME 16 bit address 16 bit data devices
# vme24d16	VME 24 bit address 16 bit data devices
# vme32d16	VME 32 bit address 16 bit data devices
# vme16d32	VME 16 bit address 32 bit data devices
# vme24d32	VME 24 bit address 32 bit data devices
# vme32d32	VME 32 bit address 32 bit data devices
#

# connections for machine type 1 (SUN3_160)
controller	virtual 1 at nexus ?
controller	obmem 1 at nexus ?
controller	obio 1 at nexus ?
controller	vme16d16 1 at nexus ?
controller	vme24d16 1 at nexus ?
controller	vme32d16 1 at nexus ?
controller	vme16d32 1 at nexus ?
controller	vme24d32 1 at nexus ?
controller	vme32d32 1 at nexus ?

# connections for machine type 2 (SUN3_50)
controller	virtual 2 at nexus ?
controller	obmem 2 at nexus ?
controller	obio 2 at nexus ?

# connections for machine type 3 (SUN3_260)
controller	virtual 3 at nexus ?
controller	obmem 3 at nexus ?
controller	obio 3 at nexus ?
controller	vme16d16 3 at nexus ?
controller	vme24d16 3 at nexus ?
controller	vme32d16 3 at nexus ?
controller	vme16d32 3 at nexus ?
controller	vme24d32 3 at nexus ?
controller	vme32d32 3 at nexus ?

# connections for machine type 4 (SUN3_110)
controller	virtual 4 at nexus ?
controller	obmem 4 at nexus ?
controller	obio 4 at nexus ?
controller	vme16d16 4 at nexus ?
controller	vme24d16 4 at nexus ?
controller	vme32d16 4 at nexus ?
controller	vme16d32 4 at nexus ?
controller	vme24d32 4 at nexus ?
controller	vme32d32 4 at nexus ?

# connections for machine type 7 (SUN3_60)
controller	virtual 7 at nexus ?
controller	obmem 7 at nexus ?
controller	obio 7 at nexus ?

# connections for machine type 8 (SUN3_E)
controller	virtual 8 at nexus ?
controller	obmem 8 at nexus ?
controller	obio 8 at nexus ?
controller	vme16d16 8 at nexus ?
controller	vme24d16 8 at nexus ?
controller	vme32d16 8 at nexus ?
controller	vme16d32 8 at nexus ?
controller	vme24d32 8 at nexus ?
controller	vme32d32 8 at nexus ?

#
# The following (large) section describes the standard devices supported
# by this kernel.
#

#
# Support for 4 Xylogics 7053 controllers with 4 drives each.
#
controller	xdc0 at vme16d32 ? csr 0xee80 priority 2 vector xdintr 0x44
controller	xdc1 at vme16d32 ? csr 0xee90 priority 2 vector xdintr 0x45
controller	xdc2 at vme16d32 ? csr 0xeea0 priority 2 vector xdintr 0x46
controller	xdc3 at vme16d32 ? csr 0xeeb0 priority 2 vector xdintr 0x47
disk		xd0 at xdc0 drive 0
disk		xd1 at xdc0 drive 1
disk		xd2 at xdc0 drive 2
disk		xd3 at xdc0 drive 3
disk		xd4 at xdc1 drive 0
disk		xd5 at xdc1 drive 1
disk		xd6 at xdc1 drive 2
disk		xd7 at xdc1 drive 3
disk		xd8 at xdc2 drive 0
disk		xd9 at xdc2 drive 1
disk		xd10 at xdc2 drive 2
disk		xd11 at xdc2 drive 3
disk		xd12 at xdc3 drive 0
disk		xd13 at xdc3 drive 1
disk		xd14 at xdc3 drive 2
disk		xd15 at xdc3 drive 3

#
# Support for 2 Xylogics 450/451 controllers with 2 drives each.
#
controller	xyc0 at vme16d16 ? csr 0xee40 priority 2 vector xyintr 0x48
controller	xyc1 at vme16d16 ? csr 0xee48 priority 2 vector xyintr 0x49
disk		xy0 at xyc0 drive 0
disk		xy1 at xyc0 drive 1
disk		xy2 at xyc1 drive 0
disk		xy3 at xyc1 drive 1

#
# Support for the SCSI-2 host adapter with 2 disks and 1 1/4" tape
# on the first SCSI controller, 2 disks and 1 1/4" tape on the second
# SCSI controller, 2 embedded SCSI disks, and a CD-ROM drive.
#
controller	sc0 at vme24d16 ? csr 0x200000 priority 2 vector scintr 0x40
tape		st0 at sc0 drive 040 flags 1
tape		st1 at sc0 drive 050 flags 1
disk		sr0 at sc0 drive 060 flags 2
disk		sd0 at sc0 drive 000 flags 0
disk		sd1 at sc0 drive 001 flags 0
disk		sd2 at sc0 drive 010 flags 0
disk		sd3 at sc0 drive 011 flags 0
disk		sd4 at sc0 drive 020 flags 0
disk		sd6 at sc0 drive 030 flags 0

#
# Support for the SCSI-E host adapter used with the Sun-3/E.
#
controller	se0 at vme24d16 ? csr 0x300000 priority 2 vector se_intr 0x40
tape		st0 at se0 drive 040 flags 1
tape		st1 at se0 drive 050 flags 1
disk		sr0 at se0 drive 060 flags 2
disk		sd0 at se0 drive 000 flags 0
disk		sd1 at se0 drive 001 flags 0
disk		sd2 at se0 drive 010 flags 0
disk		sd3 at se0 drive 011 flags 0
disk		sd4 at se0 drive 020 flags 0
disk		sd6 at se0 drive 030 flags 0

#
# Support for the SCSI-3 host adapter and the on-board SCSI controller
# on several machines (e.g. 3/50).
#
controller	si0 at vme24d16 ? csr 0x200000 priority 2 vector siintr 0x40
controller	si0 at obio ? csr 0x140000 priority 2
controller	si1 at vme24d16 ? csr 0x204000 priority 2 vector siintr 0x41
tape		st0 at si0 drive 040 flags 1
tape		st1 at si0 drive 050 flags 1
tape		st2 at si0 drive 030 flags 1
tape		st3 at si0 drive 020 flags 1
tape		st4 at si1 drive 040 flags 1
tape		st5 at si1 drive 050 flags 1
tape		st6 at si1 drive 030 flags 1
tape		st7 at si1 drive 020 flags 1
disk		sr0 at si0 drive 060 flags 2
disk		sd0 at si0 drive 000 flags 0
disk		sd1 at si0 drive 001 flags 0
disk		sd2 at si0 drive 010 flags 0
disk		sd3 at si0 drive 011 flags 0
disk		sd4 at si0 drive 020 flags 0
disk		sd6 at si0 drive 030 flags 0

#
# Support for the 2 tty lines (ttya, ttyb) on the cpu board.
# Needed when using a terminal for the console device.
# Flags=3 says to supply carrier in software for both lines.
# Change flags by changing /etc/ttytab; see ttysoftcar(8).
#
device		zs0 at obio ? csr 0x20000 flags 3 priority 3

#
# Support for the keyboard and mouse interface.  Needed when
# using a frame buffer as the console device or with SunView.
# You can remove this line if you don't use the standard Sun
# Workstation keyboard and mouse, but if you leave it in don't
# change it.
#
device		zs1 at obio ? csr 0x00000 flags 0x103 priority 3

#
# Support for 4 ALMs (Systech MTI-800/1600).  Flags set for
# all lines to be local, i.e., carrier supplied by software
# rather than by the device.
# Change flags by changing /etc/ttytab; see ttysoftcar(8).
#
device		mti0 at vme16d16 ? csr 0x620 flags 0xffff priority 4
	vector mtiintr 0x88
device		mti1 at vme16d16 ? csr 0x640 flags 0xffff priority 4
	vector mtiintr 0x89
device		mti2 at vme16d16 ? csr 0x660 flags 0xffff priority 4
	vector mtiintr 0x8a
device		mti3 at vme16d16 ? csr 0x680 flags 0xffff priority 4
	vector mtiintr 0x8b

#
# Support for 8 MCP boards.
# Note that the first four MCPs use the same vectors as the ALMs and thus
# ALMs cut into the total number of MCPs that can installed.
# Make sure the maxusers line above is correct for the number of
# users expected.
#
device		mcp0 at vme32d32 ? csr 0x01000000 flags 0x1ffff priority 4
	vector mcpintr 0x8b
device		mcp1 at vme32d32 ? csr 0x01010000 flags 0x1ffff priority 4
	vector mcpintr 0x8a
device		mcp2 at vme32d32 ? csr 0x01020000 flags 0x1ffff priority 4
	vector mcpintr 0x89
device		mcp3 at vme32d32 ? csr 0x01030000 flags 0x1ffff priority 4
	vector mcpintr 0x88
device		mcp4 at vme32d32 ? csr 0x02000000 flags 0x1ffff priority 4
	vector mcpintr 0xa0
device		mcp5 at vme32d32 ? csr 0x02010000 flags 0x1ffff priority 4
	vector mcpintr 0xa1
device		mcp6 at vme32d32 ? csr 0x02020000 flags 0x1ffff priority 4
	vector mcpintr 0xa2
device		mcp7 at vme32d32 ? csr 0x02030000 flags 0x1ffff priority 4
	vector mcpintr 0xa3

#
# Support for the on-board Intel 82586 Ethernet chip on many machines.
#
device		ie0 at obio ? csr 0xc0000 priority 3
#
# Support for the on-board LANCE Ethernet chip (Am7990) on many machines.
#
device		le0 at obio ? csr 0x120000 priority 3
#
# Support for the Sun-3/E Intel Ethernet board for Sun-3/E cpu systems.
#
device		ie0 at vme24d16 8 csr 0x31ff02 priority 3 vector ieintr 0x74
#
# Support for a second Intel Ethernet interface, using a Multibus
# Ethernet board with a Multibus-to-VME adapter.
#
device		ie1 at vme24d16 ? csr 0xe88000 priority 3 vector ieintr 0x75
#
# Support for additional "Sun-3/E SCSI/Ethernet" boards
#
#device		ie2 at vme24d16 ? csr 0x31ff02 priority 3 vector ieintr 0x76
#device		ie3 at vme24d16 ? csr 0x35ff02 priority 3 vector ieintr 0x77

#
# Support for 2 Ciprico TapeMaster tape controllers with 1 tape drive each.
#
controller	tm0 at vme16d16 ? csr 0xa0 priority 3 vector tmintr 0x60
controller	tm1 at vme16d16 ? csr 0xa2 priority 3 vector tmintr 0x61
tape		mt0 at tm0 drive 0 flags 1
tape		mt1 at tm1 drive 0 flags 1

#
# Support for 2 Xylogics 472 tape controllers with 1 tape drive each.
#
controller	xtc0 at vme16d16 ? csr 0xee60 priority 3 vector xtintr 0x64
controller	xtc1 at vme16d16 ? csr 0xee68 priority 3 vector xtintr 0x65
tape		xt0 at xtc0 drive 0 flags 1
tape		xt1 at xtc1 drive 0 flags 1

#
# Support for color frame buffers on various machine types.
#

# 3/110 on-board 8-bit frame buffer
device		cgfour0 at obmem 4 csr 0xff000000 priority 4	# 3/110

# 3/60 P4 8-bit color frame buffer
device		cgfour0 at obmem 7 csr 0xff300000 priority 4	# 3/60

# 3/60 plug-in 8-bit color frame buffer
device		cgfour0 at obmem 7 csr 0xff400000 priority 4	# 3/60

# 3/E 8-bit color frame buffer
device		cgfour0 at obmem 8 csr 0xff400000 priority 4	# 3/E

# 3/60 P4 accelerated 8-bit color frame buffer
device		cgsix0 at obmem 7 csr 0xff000000 priority 4	# 3/60

# 3/60 P4 24-bit color frame buffer
device		cgeight0 at obmem 7 csr 0xff300000 priority 4	# 3/60

#
# Support for monochrome frame buffers on various machine types.
#
device		bwtwo0 at obmem 1 csr 0xff000000 priority 4	# 3/160
device		bwtwo0 at obmem 2 csr 0x100000 priority 4	# 3/50
device		bwtwo0 at obmem 3 csr 0xff000000 priority 4	# 3/260
# 3/110 on-board frame buffer overlay plane
device		bwtwo0 at obmem 4 csr 0xff000000		# 3/110
device		bwtwo0 at obmem 7 csr 0xff000000 priority 4	# 3/60
device		bwtwo0 at obmem 8 csr 0x1000000			# 3/E

# 3/60 P4 color frame buffer overlay plane, or P4 monochrome frame buffer
device		bwtwo1 at obmem 7 csr 0xff300000 priority 4	# 3/60
# 3/60 plug-in color frame buffer overlay plane
device		bwtwo1 at obmem 7 csr 0xff400000		# 3/60

# 3/E plug-in color frame buffer overlay plane
device		bwtwo1 at obmem 8 csr 0xff400000		# 3/E

#
# Support for the GP/GP+/GP2 graphics processors.
# Requires cgtwo and/or cgnine.
#
device		gpone0 at vme24d16 ? csr 0x210000	# GP or GP+
device		gpone0 at vme24d32 ? csr 0x240000	# GP2

#
# Support for the Sun-2 color board, Sun-3 color board, or CG5 8-bit
# VME frame buffer.
#
device		cgtwo0 at vme24d16 ? csr 0x400000 priority 4
	vector cgtwointr 0xa8

#
# Support for the CG9 24-bit VME frame buffer.
#
device		cgnine0 at vme32d32 ? csr 0x08000000 priority 4
	vector cgnineintr 0xaa

#
# Support for the SunVideo board.
#
device		tvone0 at vme32d32 ? csr 0xa000000 priority 4
	vector tvoneintr 0xa9

#
# Support for the TAAC-1 Application Accelerator.
#
device		taac0 at vme32d32 ? csr 0x28000000

#
# Support for 2 Systech VPC-2200 line printer controllers.
#
device		vpc0 at vme16d16 ? csr 0x480 priority 2 vector vpcintr 0x80
device		vpc1 at vme16d16 ? csr 0x500 priority 2 vector vpcintr 0x81

#
# Support for the hardware Data Ciphering Processor (aka the DES chip).
# Suggested if you make heavy use of secure RPC or secure NFS.
#
device		des0 at obio ? csr 0x1c0000

#
# Support for the Floating Point Accelerator.
#
device		fpa0 at virtual ? csr 0xe0000000
