#
# @(#) GENERIC from master 1.47 91/08/05 SMI
#
# This config file describes a generic Sun-4m kernel, including all
# possible standard devices and software options.
#
# The following lines include support for all Sun-4m CPU types.
# There is little to be gained by removing support for particular
# CPUs, so you might as well leave them all in.
#
machine		"sun4m"
cpu		"SUN4M_690"	# Sun-4M/630, Sun-4M/670, Sun-4M/690
cpu		"SUN4M_50"	# Sun-4M/Sparcstation 3

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

#
# This kernel supports about 16 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	16

#
# Include all possible software options.
#
# This kernel may run on a multi-processor system;
# include multi-processor support. This option is mandatory.
#
options	MULTIPROCESSOR		# Multi-Processor support

#
# 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, High Sierra, or Rock Ridge 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) with Rock Ridge extensions CD-ROM file system
options	PCFS		# Unix access to MS-DOS 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 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	pty256		# 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	win256		# window devices, allow 256 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 "open EEPROM" pseudo-device is required to support the
# eeprom command.
#
pseudo-device	openeepr	# onboard configuration NVRAM

#
# 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	# support for 128 async lines on 8 alm-2 boards

#
# 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:
#
# 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
# ipi		IPI pseudo bus
#

# connections for machine type 1 (SUN4M_690)
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 ?
###controller	ipi 1 at nexus ?

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

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

#
# Support for 5 IPI-2 Channel adaptors.
# This declares the channel driver part of the VME IPI-2 controller support.
#
###controller	isc0	at vme32d32 ? csr 0x01080000 priority 2 
###				vector isintr 0x4c
###channel	is0	at isc0 ipi_addr 0x00000	  # channel 0 slave 0
###controller	isc1	at vme32d32 ? csr 0x01080400 priority 2
###				vector isintr 0x4d
###channel	is1	at isc1 ipi_addr 0x00100	  # channel 0 slave 1
###controller	isc2	at vme32d32 ? csr 0x01080800 priority 2
###				vector isintr 0x4e
###channel	is2	at isc2 ipi_addr 0x00200	  # channel 0 slave 2
###controller	isc3	at vme32d32 ? csr 0x01080c00 priority 2
###				vector isintr 0x4f
###channel	is3	at isc3 ipi_addr 0x00300	  # channel 0 slave 3
###controller	isc4	at vme32d32 ? csr 0x01081000 priority 2
###				vector isintr 0x50
###channel	is4	at isc4 ipi_addr 0x00400	  # cha     0 slave 4

# Support for 5 VME IPI-2 Controllers with 8 drives each.
# This declares the disk driver part of the VME IPI-2 controller support

# IPI Disk controllers and drives.   

###controller	idc0	at ipi ? csr 0x0000ff priority 2  # channel 0 slave 0
###disk		id 0	at idc0 drive 0			  # facility 0
###disk		id 1	at idc0 drive 1
###disk		id 2	at idc0 drive 2
###disk		id 3	at idc0 drive 3
###disk		id 4	at idc0 drive 4
###disk		id 5	at idc0 drive 5
###disk		id 6	at idc0 drive 6
###disk		id 7	at idc0 drive 7

###controller	idc1	at ipi ? csr 0x0001ff priority 2  # channel 0 slave 1
###disk		id 0x10	at idc1 drive 0 		  # facility 0
###disk		id 0x11	at idc1 drive 1
###disk		id 0x12	at idc1 drive 2
###disk		id 0x13	at idc1 drive 3
###disk		id 0x14	at idc1 drive 4
###disk		id 0x15	at idc1 drive 5
###disk		id 0x16	at idc1 drive 6
###disk		id 0x17	at idc1 drive 7

###controller	idc2	at ipi ? csr 0x0002ff priority 2  # channel 0 slave 2
###disk		id 0x20 at idc2 drive 0 		  # facility 0
###disk		id 0x21	at idc2 drive 1
###disk		id 0x22	at idc2 drive 2
###disk		id 0x23	at idc2 drive 3
###disk		id 0x24	at idc2 drive 4
###disk		id 0x25	at idc2 drive 5
###disk		id 0x26	at idc2 drive 6
###disk		id 0x27	at idc2 drive 7

###controller	idc3	at ipi ? csr 0x0003ff priority 2  # channel 0 slave 3
###disk		id 0x30	at idc3 drive 0 		  # facility 0
###disk		id 0x31	at idc3 drive 1
###disk		id 0x32	at idc3 drive 2
###disk		id 0x33	at idc3 drive 3
###disk		id 0x34	at idc3 drive 4
###disk		id 0x35	at idc3 drive 5
###disk		id 0x36	at idc3 drive 6
###disk		id 0x37	at idc3 drive 7

###controller	idc4	at ipi ? csr 0x0004ff priority 2  # channel 0 slave 4
###disk		id 0x40 at idc4 drive 0                   # facility 0
###disk		id 0x41 at idc4 drive 1
###disk		id 0x42 at idc4 drive 2
###disk		id 0x43 at idc4 drive 3
###disk		id 0x44 at idc4 drive 4
###disk		id 0x45 at idc4 drive 5
###disk		id 0x46 at idc4 drive 6
###disk		id 0x47 at idc4 drive 7

#
# 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

#
# The following section describes which standard device drivers this
# kernel supports.
#
device-driver	obio		# 'driver' for obio interface
device-driver	iommu		# 'driver' for iommu interface
###device-driver	vme		# 'driver' for vme interface
device-driver	sbus		# 'driver' for sbus interface
device-driver	bwtwo		# monochrome frame buffer
device-driver	cgthree		# 8-bit color frame buffer
device-driver	cgsix		# 8-bit accelerated color frame buffer
device-driver	cgtwelve	# 24-bit accelerated color frame buffer
device-driver	gt		# double-buffered 24-bit graphics accelerator
device-driver	dma		# 'driver' for dma engine on sbus interface
device-driver	esp		# Emulex SCSI interface
device-driver	espdma		# dma esp support
device-driver	fd		# Floppy disk
device-driver	audioamd	# AMD79C30A sound chip
device-driver   dbri            # DBRI Audio/ISDN BRI
device-driver	lebuf		# ethernet buffer
device-driver	le		# LANCE ethernet
device-driver	zs		# UARTs
device-driver	ledma	# dma ethernet support
device-driver	bpp		# bpp support
device-driver	pn		# Self-ident. VME/IPI pseudo driver
device-driver	ipisc		# Self-ident. IPI-3 Slave Cntrl pseudo driver
device-driver	idpseudo	# IPI Disk pseudo device driver

#
# The following section describes SCSI device unit assignments.
#
scsibus0 at esp				# declare first scsi bus
disk sd0 at scsibus0 target 3 lun 0	# first hard SCSI disk
disk sd1 at scsibus0 target 1 lun 0	# second hard SCSI disk
disk sd2 at scsibus0 target 2 lun 0	# third hard SCSI disk
disk sd3 at scsibus0 target 0 lun 0	# fourth hard SCSI disk
disk sd16 at scsibus0 target 5 lun 0	# seventeenth (fifth) hard SCSI disk
tape st0 at scsibus0 target 4 lun 0	# first SCSI tape
tape st1 at scsibus0 target 5 lun 0	# second SCSI tape
tape st2 at scsibus0 target 1 lun 0	# third SCSI tape
tape st3 at scsibus0 target 0 lun 0	# fourth SCSI tape
disk sr0 at scsibus0 target 6 lun 0	# CD-ROM device
disk sr1 at scsibus0 target 5 lun 0	# second CD-ROM device
disk sr2 at scsibus0 target 1 lun 0	# third CD-ROM device
disk sr3 at scsibus0 target 0 lun 0	# fourth CD-ROM device

scsibus1 at esp				# declare second scsi bus
disk sd4 at scsibus1 target 3 lun 0	# fifth hard SCSI disk
disk sd5 at scsibus1 target 1 lun 0	# sixth hard SCSI disk
disk sd6 at scsibus1 target 2 lun 0	# seventh hard SCSI disk
disk sd7 at scsibus1 target 0 lun 0	# eighth hard SCSI disk
tape st4 at scsibus1 target 4 lun 0	# fifth SCSI tape
tape st5 at scsibus1 target 5 lun 0	# sixth SCSI tape
disk sr4 at scsibus1 target 6 lun 0	# fifth CD-ROM device

scsibus2 at esp				# declare third scsi bus
disk sd8 at scsibus2 target 3 lun 0	# ninth hard SCSI disk
disk sd9 at scsibus2 target 1 lun 0	# tenth hard SCSI disk
disk sd10 at scsibus2 target 2 lun 0	# eleventh hard SCSI disk
disk sd11 at scsibus2 target 0 lun 0	# twelfth hard SCSI disk

scsibus3 at esp				# declare fourth scsi bus
disk sd12 at scsibus3 target 3 lun 0	# thirteenth hard SCSI disk
disk sd13 at scsibus3 target 1 lun 0	# fourteenth hard SCSI disk
disk sd14 at scsibus3 target 2 lun 0	# fifteenth hard SCSI disk
disk sd15 at scsibus3 target 0 lun 0	# sixteenth hard SCSI disk
tape st6 at scsibus3 target 4 lun 0	# seventh SCSI tape
tape st7 at scsibus3 target 5 lun 0	# eighth SCSI tape
disk sr5 at scsibus3 target 6 lun 0	# sixth CD-ROM device

scsibus4 at esp				# declare fifth scsi bus
disk sd17 at scsibus4 target 3 lun 0	# eighteenth hard SCSI disk
disk sd18 at scsibus4 target 1 lun 0	# nineteenth hard SCSI disk
disk sd19 at scsibus4 target 2 lun 0	# twentieth hard SCSI disk
disk sd20 at scsibus4 target 0 lun 0	# twenty-first hard SCSI disk

#
# The following option is for JLE (Japanese Language Environment) facility.
# JLE provides two code conversion routines in the kernel.
# One is between JIS and EUC, another is between Shift-JIS and EUC.
#
options EUC     # EUC line discipline
options JLE     # Japanese Language Environment
#
#	VME bus definitions for SFVME-100
#
device-driver	sfvme			#SFVME-100

#
# support for VME-CAMAC Interface K2917 
#
device          cc0 at vme16d16 ? csr 0xff00 priority 4 vector ccintr 0xff

