#
# @(#) 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