#
# @(#)GENERIC 1.1 88/03/29 SMI
#-------------------------------------------------------------------
# This config file describes a generic Series6 kernel, including all
# possible standard devices and software options.
#
# The following lines include support for all Series6 cpu types.
# There is little to be gained by removing support for particular
# cpu's, so you may as well leave them all in.
#
machine		"kap0"
cpu		"Series6"
options		kbus
options		refmmu
options		viking

#
# Name this kernel
#
ident		"GENERIC_M800I"

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

#
# Number of cpus this kernel will support
# and type of multi cpu support
# (Customers should not change this value.)
#
ncpus           16

#
# compile related options 
#
makeoptions	CCOPTS="-O"

#-------------------------------------------------------------------
# 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 is
# 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
options		TMPFS		# Temp filesystem.
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.
# No standard software needs them, although some third party
# software relies on at least IPCSHMEM.
#
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 is used to switch on kernel ASSERT
# checking for kernel debugging.
#
#options		ASS

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

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

#
# 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 two options are only needed if you want to use RFS.
#
options RFS
options VFSSTATS

#
# The following options are new for 4.1C.  They MUST be enabled.
#
options		PAM_AFFINITY
options		OVL_WRITES
options		DOMAIN_LOCK
options		NFS_PARALLEL
options		SVC_WUPALT

#
#-------------------------------------------------------------------
# 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
#pseudo-device	rd		# ramdisk
#pseudo-device	ns		# no swap device
#pseudo-device	ft		# tftp boot device for use with ramdisk

#
# The following is needed to support any SCSI devices
#
pseudo-device	scsi		# basic SCSI support

#
# The following is needed to support any FDDI devices
#
pseudo-device	fddi		# basic FDDI support

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

#
# The following is needed to support the mouse device, with or
# without SunWindows/SunView
#
pseudo-device	ms3		# mouse support, allow 3 mice

#
# The following is for SunWindows support.
# (Requires keyboard and mouse support)
#
pseudo-device	win128		# window devices, allow 128 windows
pseudo-device	dtop4		# desktops (screens), allow 4

#
# The following option adds support for SunView 1 journaling.
# (Requires SunWindows support)
#
options WINSVJ          # SunView 1 journaling support

#
# The following is for the streams pipe device.  This is only required
# if RFS is used.
#
pseudo-device	sp

#
# 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.
#
pseudo-device	clone

#
# Symmetric Multiprocessing
#
#pseudo-device	lckdeb

#-------------------------------------------------------------------
# The following sections describe what kinds of busses each
# cpu type supports.  You should never need to change this.
# (The word "nexus" is historical...)
#

# connections for machine type 1 (KAP0)
controller	kbmem	     1 at nexus ? # memory-like devices on the cpu
controller	kbio 	     1 at nexus ? # I/O devices on kbus
controller	kbslot	     1 at nexus ? # slot dependent I/O devices on kbus
controller	vme16d16     1 at nexus ? # VME 16 bit addr 16 bit data devices
controller	vme24d16     1 at nexus ? # VME 24 bit addr 16 bit data devices
controller	vme32d16     1 at nexus ? # VME 32 bit addr 16 bit data devices
controller	vme16d32     1 at nexus ? # VME 16 bit addr 32 bit data devices
controller	vme24d32     1 at nexus ? # VME 24 bit addr 32 bit data devices
controller	vme32d32     1 at nexus ? # VME 32 bit addr 32 bit data devices
controller	vme16d16_blk 1 at nexus ? # VME 16 bit addr 16 bit data devices
controller	vme24d16_blk 1 at nexus ? # VME 24 bit addr 16 bit data devices
controller	vme32d16_blk 1 at nexus ? # VME 32 bit addr 16 bit data devices
controller	vme16d32_blk 1 at nexus ? # VME 16 bit addr 32 bit data devices
controller	vme24d32_blk 1 at nexus ? # VME 24 bit addr 32 bit data devices
controller	vme32d32_blk 1 at nexus ? # VME 32 bit addr 32 bit data devices

#-------------------------------------------------------------------
# The following (large) section describes which standard devices this
# kernel supports.
#

#
# Support for the 2 tty lines (ttya, ttyb) on the system board.
# Needed when using a terminal for the console device.
# Flags=3 says to supply carrier in software for both lines.
# Note that the zs1 device must be listed first and must always be
# present for the kernel to successfully configure and boot
#
device		zs1 at kbslot ? csr 0x00011000 flags 0x103 priority 3
device		zs0 at kbslot ? csr 0x00012000 flags 0x003 priority 3

#
# Support for monochrome memory frame buffers on various machines.
#
device		bwtwo0	at kbslot ? csr 0x00200000 priority 4
#
# Support for cg30 hardware
#
device		cgtwo0	at kbslot ? csr 0x00030000 priority 4
device		zs2	at kbslot ? csr 0x00060000 flags 0x103 priority 3
device		cgtwo1	at kbslot ? csr 0x00030000 priority 4
device		zs3	at kbslot ? csr 0x00060000 flags 0x103 priority 3
device		cgtwo2	at kbslot ? csr 0x00030000 priority 4
device		zs4	at kbslot ? csr 0x00060000 flags 0x103 priority 3

#
# reseve portions of VMEbus space for other things...
# EXAMPLE: reserve .5Mb of vme24 starting at 0x100000
#device		rv0 at vme24d32 ? csr 0x100000 flags 0x80000
device		rv0 at vme24d32 ? csr 0x000000 flags 0x00000

#
# Support for 1 (ioboard) SCSI IOASIC (si)
#
# drive bits	3-0 -> scsi target id for device
#       bits	4-7 -> scsi lun on target
# flags bit 0(0x001):	0 -> allow disconnect on scsi bus.
#       bit 1(0x002):	1 -> attempt to negotiate synchronous transfers.
#       bit 2(0x004):	0 -> check parity
#       bit 3(0x008):	1 -> apply disconnect huristic
#       bit 4(0x010):	1 -> multiple luns active per target at the same time
#       bit 5(0x020):	1 -> SASI device: cmd complete message only ~SYNC~DISCON
#       bit 6(0x040):	1 -> do combine optimizations
#	bit 7(0x080):	1 -> tag to drive even with sd_auto_queue == 0.
#	bit 8(0x100):	1 -> disable 16bit xfers 
controller	si0 at kbio ? csr ? priority 2
device		sa0 at si0 drive 0
disk		sd0 at si0 drive 0x00 flags 0x4a
disk		sd1 at si0 drive 0x01 flags 0x4a
disk		sd2 at si0 drive 0x02 flags 0x4a
disk		sd3 at si0 drive 0x03 flags 0x4a
tape		st0 at si0 drive 0x04 flags 0x100
tape		st1 at si0 drive 0x05 flags 0x100
disk		sr0 at si0 drive 0x06 flags 0x100

#
# Support for 4 (2-9) Interphase VSCSI 4210/4220 (sv) (all disks...)
#
controller      sv2 at vme16d16 ? csr 0x8000 dma vme24d32 priority 2
		    vector svintr 0x52
controller      sv3 at vme16d16 ? csr 0x8000 dma vme24d32 priority 2
		    vector svintr 0x53
device		sa2 at sv2 drive 0
disk		sd20 at sv2 drive 0x00 flags 0x4a
disk		sd21 at sv2 drive 0x01 flags 0x4a
disk		sd22 at sv2 drive 0x02 flags 0x4a
disk		sd23 at sv2 drive 0x03 flags 0x4a
#disk		sd24 at sv2 drive 0x04 flags 0x4a
#disk		sd25 at sv2 drive 0x05 flags 0x4a
#disk		sd26 at sv2 drive 0x06 flags 0x4a
tape		st2 at sv2 drive 0x04 flags 0x100
tape		st3 at sv2 drive 0x05 flags 0x100
disk		sr1 at sv2 drive 0x06 flags 0x100
device		sa3 at sv3 drive 0
disk		sd30 at sv3 drive 0x00 flags 0x4a
disk		sd31 at sv3 drive 0x01 flags 0x4a
disk		sd32 at sv3 drive 0x02 flags 0x4a
disk		sd33 at sv3 drive 0x03 flags 0x4a
disk		sd34 at sv3 drive 0x04 flags 0x4a
disk		sd35 at sv3 drive 0x05 flags 0x4a
disk		sd36 at sv3 drive 0x06 flags 0x4a
controller      sv4 at vme16d16 ? csr 0x8800 dma vme24d32 priority 2
		    vector svintr 0x54
controller      sv5 at vme16d16 ? csr 0x8800 dma vme24d32 priority 2
		    vector svintr 0x55
device		sa4 at sv4 drive 0
disk		sd40 at sv4 drive 0x00 flags 0x4a
disk		sd41 at sv4 drive 0x01 flags 0x4a
disk		sd42 at sv4 drive 0x02 flags 0x4a
disk		sd43 at sv4 drive 0x03 flags 0x4a
disk		sd44 at sv4 drive 0x04 flags 0x4a
disk		sd45 at sv4 drive 0x05 flags 0x4a
disk		sd46 at sv4 drive 0x06 flags 0x4a
device		sa5 at sv5 drive 0
disk		sd50 at sv5 drive 0x00 flags 0x4a
disk		sd51 at sv5 drive 0x01 flags 0x4a
disk		sd52 at sv5 drive 0x02 flags 0x4a
disk		sd53 at sv5 drive 0x03 flags 0x4a
disk		sd54 at sv5 drive 0x04 flags 0x4a
disk		sd55 at sv5 drive 0x05 flags 0x4a
disk		sd56 at sv5 drive 0x06 flags 0x4a

# controller entries for the other controllers
controller      sv6 at vme16d16 ? csr 0x7000 dma vme24d32 priority 2
		    vector svintr 0x56
controller      sv7 at vme16d16 ? csr 0x7000 dma vme24d32 priority 2
		    vector svintr 0x57
controller      sv8 at vme16d16 ? csr 0x7800 dma vme24d32 priority 2
		    vector svintr 0x58
controller      sv9 at vme16d16 ? csr 0x7800 dma vme24d32 priority 2
		    vector svintr 0x59

#
# Support for SCSI RF3500 (sc)
#
controller      sc0 at vme16d16 ? csr 0x5000
			dma vme24d32 priority 2 vector scintr 0xf4
device		sa0 at sc0 drive 0
disk		sd0 at sc0 drive 0x00 flags 0x4a
disk		sd1 at sc0 drive 0x01 flags 0x4a
disk		sd2 at sc0 drive 0x02 flags 0x4a
disk		sd3 at sc0 drive 0x03 flags 0x4a
tape		st0 at sc0 drive 0x04 flags 0x100
tape		st1 at sc0 drive 0x05 flags 0x100
disk		sr0 at sc0 drive 0x06 flags 0x100

#
# Support for 4 Xylogics 753 controllers with 6 drives each.
#
controller	xdc0 at vme16d16 ? csr 0xee80 
			dma vme24d32_blk priority 2 vector xdintr 0x44
controller	xdc1 at vme16d16 ? csr 0xee90 
			dma vme24d32_blk priority 2 vector xdintr 0x45
controller	xdc2 at vme16d16 ? csr 0xeea0 
			dma vme24d32_blk priority 2 vector xdintr 0x46
controller	xdc3 at vme16d16 ? csr 0xeeb0 
			dma vme24d32_blk 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 xdc0 drive 4
disk		xd5  at xdc0 drive 5
disk		xd6  at xdc1 drive 0
disk		xd7  at xdc1 drive 1
disk		xd8  at xdc1 drive 2
disk		xd9  at xdc1 drive 3
disk		xd10 at xdc1 drive 4
disk		xd11 at xdc1 drive 5
disk		xd12 at xdc2 drive 0
disk		xd13 at xdc2 drive 1
disk		xd14 at xdc2 drive 2
disk		xd15 at xdc2 drive 3
disk		xd16 at xdc2 drive 4
disk		xd17 at xdc2 drive 5
disk		xd18 at xdc3 drive 0
disk		xd19 at xdc3 drive 1
disk		xd20 at xdc3 drive 2
disk		xd21 at xdc3 drive 3
disk		xd22 at xdc3 drive 4
disk		xd23 at xdc3 drive 5

#
# Support for LANCE Ethernet Driver
#
device          ei0 at kbio ? csr ? priority 3

#
# Support for Excelan Ethernet Driver (Solbourne internal)
#
#device          ex0 at vme24d16 ? csr 0xd00000 
#			dma vme24d16 priority 3 vector exintr 0xf0

#
# Support for Interphase Eagle 4207 Ethernet Driver
#
device          eg0 at vme16d16 ? csr 0x9000 
			dma vme24d32_blk priority 3 vector egintr 0xe0
device          eg1 at vme16d16 ? csr 0x9800 
			dma vme24d32_blk priority 3 vector egintr 0xe2

#
# Support for 4 xp's (Xylogics 781 16 line Async Mux Card).  Flags set for
# all lines to be local, i.e., carrier supplied by software rather than by 
# the device.
#
device		xp0 at vme16d16 ? csr 0x620
			dma vme24d16 flags 0xffff priority 5 vector xpintr 0x88
device		xp1 at vme16d16 ? csr 0x640
			dma vme24d16 flags 0xffff priority 5 vector xpintr 0x89
device		xp2 at vme16d16 ? csr 0x660
			dma vme24d16 flags 0xffff priority 5 vector xpintr 0x8a
device		xp3 at vme16d16 ? csr 0x680
			dma vme24d16 flags 0xffff priority 5 vector xpintr 0x8b

#
# Interphase 4211 FDDI Controller
#
device		pg0 at vme16d16 ? csr 0x6000
		dma vme24d16 priority 3 vector prgintr 0xd6 prgxintr 0xd7

