-# $NetBSD: GENERIC,v 1.19 1995/10/08 11:45:39 pk Exp $
-# XXX should get rid of a bunch of things
+# $NetBSD: GENERIC,v 1.28.2.1 1996/07/02 23:55:22 jtc Exp $
+# Machine architecture; required by config(8)
machine sparc
-option SUN4C, SUN4M
-#option MMU_3L
-#option DDB,DEBUG,DIAGNOSTIC
-
-# obsolete timezone spec
-option TIMEZONE=0, DST=0
-
-# Standard system options
-option SWAPPAGER, VNODEPAGER, DEVPAGER # paging
-#option DEBUG, DIAGNOSTIC # extra kernel debugging
-option KTRACE # system call tracing support
-#option KGDB # support for kernel gdb
-#option KGDBDEV=0xc01, KGDBRATE=38400 # device & baud rate
-option RASTERCONSOLE # fast rasterop console
-option SYSVMSG,SYSVSEM,SYSVSHM
-option COMPAT_09, COMPAT_10
-
-# Filesystem options
-option FFS
-option NFSSERVER # Sun NFS-compatible filesystem
-option NFSCLIENT # Sun NFS-compatible filesystem
-option KERNFS # kernel data-structure filesystem
-option FIFO # POSIX fifo support (in all filesystems)
-option QUOTA # fast filesystem with user and group quotas
-option MFS # memory-based filesystem
-option LOFS # Loop-back filesystem
-option FDESC # user file descriptor filesystem
-option UMAPFS # uid/gid remapping filesystem
-option LFS # Log-based filesystem (still experimental)
-option PORTAL # portal filesystem (still experimental)
-option PROCFS # /proc
-option CD9660 # ISO 9660 + Rock Ridge file system
-option UNION # union file system
-
-# Networking options
-option INET
-#option TCP_COMPAT_42 # compatibility with 4.2BSD TCP/IP
-#option GATEWAY # IP packet forwarding
-#option ISO # OSI networking
-#option TPIP
-#option EON
-option COMPAT_43
-
-option LKM
+
+include "../../../conf/GENERIC"
+
+# Options for variants of the Sun SPARC architecure.
+# At least one is required.
+#option SUN4 # sun4/100, sun4/200, sun4/300
+option SUN4C # sun4c - SS1, 1+, 2, ELC, SLC, IPC, IPX, etc.
+option SUN4M # sun4m - SS10, SS20, Classic, etc.
+
+#option MMU_3L # 3-level MMU on sun4/400
+
+#option KGDB # support for kernel gdb
+#option KGDBDEV=0xc01 # kgdb device number (dev_t)
+#option KGDBRATE=38400 # baud rate
# Options for SPARCstation hardware
-option COMPAT_SUNOS # compatibility with SunOS binaries
-option COMPAT_SVR4 # compatibility with SVR4 binaries
+option RASTERCONSOLE # fast rasterop console
+# Generic swap; second partition of root disk or network.
config bsd swap generic
+# Main bus and CPU .. all systems.
mainbus0 at root
cpu0 at mainbus0
-sbus0 at mainbus0
-#obio0 at mainbus0
-#vmes0 at mainbus0
-#vmel0 at mainbus0
-
-audio0 at mainbus0
-auxreg0 at mainbus0
-clock0 at mainbus0
-#clock0 at obio0 addr 0xf2000000
-#oclock0 at obio0 addr 0xf3000000
-#oclock0 at obio0 addr 0x03000000 # 4/100
-memreg0 at mainbus0
-#memreg0 at obio0 addr 0xf4000000
-#memreg0 at obio0 addr 0x04000000 # 4/100
-timer0 at mainbus0
-#timer0 at obio0 addr 0xef000000
-#eeprom0 at obio0 addr 0xf2000000
-#eeprom0 at obio0 addr 0x02000000 # 4/100
-
-zs0 at mainbus0
-#zs0 at obio0 addr 0xf1000000 level 12 flags 0x103
-#zs0 at obio0 addr 0x01000000 level 12 flags 0x103 # 4/100
-zs1 at mainbus0
-#zs1 at obio0 addr 0xf0000000 level 12 flags 0x103
-#zs1 at obio0 addr 0x00000000 level 12 flags 0x103 # 4/100
-#zs2 at obio0 addr 0xe0000000 level 12 flags 0x103
-
-# FSBE/S or sun4m
-espdma0 at sbus0 slot ? offset ?
-espdma* at sbus0 slot ? offset ?
-esp0 at espdma? slot ? offset ?
-esp* at espdma? slot ? offset ?
-
-# old sun4c SCSI
-dma0 at sbus0 slot ? offset ?
-dma* at sbus0 slot ? offset ?
-#dma0 at obio0 addr 0xfa001000 level 4
-esp0 at sbus0 slot ? offset ?
-esp* at sbus0 slot ? offset ?
-#esp0 at obio0 addr 0xfa000000 level 4
-
-# old sun4c
-le0 at sbus? slot ? offset ?
+# Bus types found on SPARC systems.
+sbus0 at mainbus0 # sun4c
+obio0 at mainbus0 # sun4 and sun4m
+#vmes0 at mainbus0 # sun4
+#vmel0 at mainbus0 # sun4
+iommu0 at mainbus0 # sun4m
+sbus0 at iommu0 # sun4m
+
+audio0 at mainbus0 # sun4c
+audio0 at obio0 # sun4m
+
+auxreg0 at mainbus0 # sun4c
+auxreg0 at obio0 # sun4m
+
+# Power status and control register found on Sun4m systems
+power0 at obio0
+
+# Mostek clock found on 4/300, sun4c, and sun4m systems.
+# The Mostek clock NVRAM is the "eeprom" on sun4/300 systems.
+clock0 at mainbus0 # sun4c
+clock0 at obio0 # sun4m
+#clock0 at obio0 addr 0xf2000000 # sun4/300
+
+# Intersil clock found on 4/100 and 4/200 systems.
+#oclock0 at obio0 addr 0xf3000000 # sun4/200
+#oclock0 at obio0 addr 0x03000000 # sun4/100
+
+# Memory error registers.
+memreg0 at mainbus0 # sun4c
+memreg0 at obio0 # sun4m
+#memreg0 at obio0 addr 0xf4000000 # sun4/200 and sun4/300
+#memreg0 at obio0 addr 0x04000000 # sun4/100
+
+# Timer chip found on 4/300, sun4c, and sun4m systems.
+timer0 at mainbus0 # sun4c
+timer0 at obio0 # sun4m
+#timer0 at obio0 addr 0xef000000 # sun4/300
+
+# EEPROM found on 4/100 and 4/200 systems. Note that the 4/300
+# doesn't use this driver; the `EEPROM' is in the NVRAM on the
+# Mostek clock chip on 4/300 systems.
+#eeprom0 at obio0 addr 0xf2000000 # sun4/200
+#eeprom0 at obio0 addr 0x02000000 # sun4/100
+
+# Zilog 8530 serial chips. Each has two-channels.
+# zs0 is ttya and ttyb. zs1 is the keyboard and mouse.
+zs0 at mainbus0 # sun4c
+zs0 at obio0 # sun4m
+#zs0 at obio0 addr 0xf1000000 level 12 flags 0x103 # sun4/200 and sun4/300
+#zs0 at obio0 addr 0x01000000 level 12 flags 0x103 # sun4/100
+zs1 at mainbus0 # sun4c
+zs1 at obio0 # sun4m
+#zs1 at obio0 addr 0xf0000000 level 12 flags 0x103 # sun4/200 and sun4/300
+#zs1 at obio0 addr 0x00000000 level 12 flags 0x103 # sun4/100
+#zs2 at obio0 addr 0xe0000000 level 12 flags 0x103 # sun4/300
+
+#
+# Note the flags on the esp entries below, that work around
+# deficiencies in the current driver:
+# bits 0-7: disable disconnect/reselect for the corresponding target
+# bits 8-15: disable synch negotiation for target [bit-8]
+# Note: targets 4-7 have disconnect/reselect enabled on the premise
+# that tape devices normally have one of these targets. Tape
+# devices should be allowed to disconnect for the SCSI bus
+# to operate acceptably.
+#
+
+# sun4/300 SCSI - an NCR53c94 or equivalent behind
+# an LSI Logic DMA controller
+#dma0 at obio0 addr 0xfa001000 level 4 # sun4/300
+esp0 at obio0 addr 0xfa000000 level 4 flags 0xff0f #
+
+# sun4c or sun4m SCSI - an NCR53c94 or equivalent behind
+# specialized DMA glue
+dma0 at sbus0 slot ? offset ? # on-board SCSI
+esp0 at sbus0 slot ? offset ? flags 0xff0f # sun4c
+esp0 at dma0 flags 0xff0f # sun4m
+
+# FSBE/S SCSI - an NCR53c94 or equivalent behind
+dma* at sbus? slot ? offset ? # SBus SCSI
+esp* at sbus? slot ? offset ? flags 0xff0f # two flavours
+esp* at dma? flags 0xff0f # depending on model
+
+# sun4m Ethernet - an AMD 7990 LANCE behind
+# specialized DMA glue
+ledma0 at sbus0 slot ? offset ? # sun4m on-board
+le0 at ledma0 #
+
+# Additional SBus LANCE devices - glued on by lebuffer (not yet implemented)
+#lebuffer* at sbus0 slot ? offset ? # sun4m SBus
+#le* at lebuffer? #
+
+# sun4/300 and sun4c Ethernet - an AMD 7990 LANCE
+le0 at sbus0 slot ? offset ? # sun4c on-board
le* at sbus? slot ? offset ?
-#le0 at obio0 addr 0xf9000000 level 6
-#ie0 at obio0 addr 0xf6000000 level 6
-#ie0 at obio0 addr 0x06000000 level 6 # 4/100
+#le0 at obio0 addr 0xf9000000 level 6 # sun4/300
+
+# sun4/100 and sun4/200 Ethernet - an Intel 82586 on-board
+# or on a Multibus/VME card.
+#ie0 at obio0 addr 0xf6000000 level 6 # sun4/200 on-board
+#ie0 at obio0 addr 0x06000000 level 6 # sun4/100 on-board
+
#ie1 at vmes0 addr 0xffe88000 level 5 vect 0x75
#ie2 at vmes0 addr 0xff31ff02 level 5 vect 0x76
#ie3 at vmes0 addr 0xff35ff02 level 5 vect 0x77
#ie4 at vmes0 addr 0xff2dff02 level 5 vect 0x7c
+# Xylogics 753 or 7053 VME SMD disk controllers and disks, found
+# on sun4 systems.
#xdc0 at vmel0 addr 0xffffee80 level 3 vect 0x44
#xdc1 at vmel0 addr 0xffffee90 level 3 vect 0x45
#xdc2 at vmel0 addr 0xffffeea0 level 3 vect 0x46
#xdc3 at vmel0 addr 0xffffeeb0 level 3 vect 0x47
#xd* at xdc? drive ?
+# Xylogics 451 or 451 VME SMD disk controllers and disks, found
+# on sun4 systems.
#xyc0 at vmes0 addr 0xffffee40 level 3 vect 0x48
#xyc1 at vmes0 addr 0xffffee48 level 3 vect 0x49
#xy* at xyc? drive ?
-#si0 at vmes0 addr 0xff200000 level 2 vect 0x40
-#si1 at vmes0 addr 0xff204000 level 2 vect 0x41
-#sw0 at obio0 addr 0x0a000000 level 2
-
-bwtwo0 at sbus? slot ? offset ?
-bwtwo* at sbus? slot ? offset ?
-#bwtwo0 at obio0 addr 0xfd000000 level 4 # 4/260
-#bwtwo0 at obio0 addr 0xfb300000 level 4 # 4/{300/400} ??
+# NCR5380-based "Sun SCSI 3" VME SCSI controller.
+# This driver has several flags which may be enabled by OR'ing
+# the values and using the "flags" directive.
+# Valid flags are:
+#
+# 0x01 Use DMA (may be polled)
+# 0x02 Use DMA completion interrupts
+# 0x04 Allow disconnect/reselect
+#
+# E.g. the following would enable DMA, interrupts, and reselect:
+# si0 at vmes0 addr 0xff200000 level 3 vect 0x40 flags 0x07
+#
+# By default, DMA is enabled in the driver.
+#si0 at vmes0 addr 0xff200000 level 3 vect 0x40
+
+# NCR5380-based "SCSI Weird" on-board SCSI interface found
+# on sun4/100 systems. The flags are the same as the "si"
+# controller. Note, while DMA is enabled by default, only
+# polled DMA works at this time, and reselects do not work
+# on this particular controller.
+#sw0 at obio0 addr 0x0a000000 level 3
+
+# Sun "bwtwo" black and white framebuffer, found on sun4, sun4c, and sun4m
+# systems. If your sun4 system has a cgfour installed in the P4 slot,
+# the P4 entries for "bwtwo" will attach to the overlay plane of the
+# "cgfour".
+bwtwo0 at sbus0 slot ? offset ? # sun4c on-board
+bwtwo* at sbus? slot ? offset ? # sun4c and sun4m
+#bwtwo0 at obio0 addr 0xfd000000 level 4 # sun4/200
+#bwtwo0 at obio0 addr 0xfb300000 level 4 # sun4/300 in P4 slot
+#bwtwo0 at obio0 addr 0x0b300000 level 4 # sun4/100 in P4 slot
+
+# Sun "cgtwo" VME color framebuffer
#cgtwo0 at vmes0 addr 0xff400000 level 4 vect 0xa8
-#cgnine0 at vmel0 addr 0x08000000 level 4
+
+# Sun "cgthree" Sbus color framebuffer
cgthree0 at sbus? slot ? offset ?
cgthree* at sbus? slot ? offset ?
-cgsix0 at sbus? slot ? offset ?
-cgsix* at sbus? slot ? offset ?
-
-#pfour0 at obio0 addr 0xfb000000
-#pfour0 at obio0 addr 0x0b000000 # 4/100
-#bwtwo0 at pfour0
-#cgfour0 at pfour0
-#cgeight0 at pfour0
-#cgsix0 at pfour0
-
+#cgthree0 at obio? slot ? offset ? # sun4m
+#cgthree* at obio? slot ? offset ? # sun4m
+
+# Sun "cgfour" color framebuffer with overlay plane. See above comment
+# regarding overlay plane.
+#cgfour0 at obio0 addr 0xfb300000 level 4 # sun4/300 P4
+#cgfour0 at obio0 addr 0x0b300000 level 4 # sun4/100 P4
+
+# Sun "cgsix" accelerated color framebuffer.
+cgsix0 at sbus? slot ? offset ?
+cgsix* at sbus? slot ? offset ?
+#cgsix0 at obio0 addr 0xfb000000 level 4 # sun4/300 P4
+#cgsix0 at obio0 addr 0x0b000000 level 4 # sun4/100 P4
+
+# Sun "cgeight" 24-bit framebuffer
+#cgeight0 at obio0 addr 0xfb300000 level 4 # sun4/300 P4
+#cgeight0 at obio0 addr 0x0b300000 level 4 # sun4/100 P4
+
+# SCSI bus layer. SCSI devices attach to the SCSI bus, which attaches
+# to the underlying hardware controller.
scsibus* at esp?
#scsibus* at si?
#scsibus* at sw?
-sd* at scsibus? target ? lun ?
-st* at scsibus? target ? lun ?
-cd* at scsibus? target ? lun ?
-
-fdc0 at mainbus0
-fd* at fdc0
-
-pseudo-device loop
-pseudo-device pty 32
-pseudo-device sl 2
-pseudo-device kbd
-pseudo-device ppp 2
-pseudo-device tun 4
-pseudo-device vnd 3
-pseudo-device bpfilter 16
+# These entries find devices on all SCSI busses and assign
+# unit numers dynamically.
+sd* at scsibus? target ? lun ? # SCSI disks
+st* at scsibus? target ? lun ? # SCSI tapes
+cd* at scsibus? target ? lun ? # SCSI CD-ROMs
+ch* at scsibus? target ? lun ? # SCSI changer devices
+
+# Floppy controller and drive found on SPARCstations.
+fdc0 at mainbus0 # sun4c controller
+fdc0 at obio0 # sun4m controller
+fd* at fdc0 # the drive itself
+
+pseudo-device kbd # Sun keyboard
+#pseudo-device strip 1 # radio clock