#	$NetBSD: INSTALL,v 1.102 2018/12/19 13:57:49 maxv Exp $
#
# from: NetBSD: GENERIC,v 1.84 1999/06/06 13:00:03 mrg Exp
#
# floppy install kernel.  try to keep this in sync with GENERIC but
# leave as much disabled as possible.

include "arch/sparc/conf/std.sparc"

#options 	INCLUDE_CONFIG_FILE	# embed config file in kernel binary

makeoptions	COPTS="-Os"		# Optimise for space. Implies -O2

maxusers	32

# Enable the hooks used for initializing the root memory-disk.
options 	MEMORY_DISK_HOOKS
options 	MEMORY_DISK_IS_ROOT	# force root on memory disk
options 	MEMORY_DISK_SERVER=0	# no userspace memory disk support
## The miniroot size must be kept in sync manually with the size of
## the `ramdisk' image (which is built in distrib/sparc/ramdisk).
options 	MEMORY_DISK_ROOT_SIZE=2000	# size of memory disk, in blocks
options 	MEMORY_DISK_RBFLAGS=RB_SINGLE	# boot in single-user mode

pseudo-device	md			# memory disk device (ramdisk)

## System kernel configuration.  See options(4) for more detail.


# Options for variants of the Sun SPARC architecure.
# We currently support three architecture types; at least one is required.
options 	SUN4		# sun4/100, sun4/200, sun4/300
options 	SUN4C		# sun4c - SS1, 1+, 2, ELC, SLC, IPC, IPX, etc.
options 	SUN4M		# sun4m - SS10, SS20, Classic, etc.

options 	SUN4_MMU3L	# 3-level MMU on sun4/400

## System options specific to the sparc machine type

# Blink the power LED on some machines to indicate the system load.
#options 	BLINK

# wscons stuff
#options 	WSEMUL_SUN
options 	WSEMUL_VT100
options 	WSDISPLAY_DEFAULTSCREENS=1
#options 	WSDISPLAY_COMPAT_USL		# wsconscfg VT handling
options 	WSDISPLAY_COMPAT_RAWKBD
options 	WSDISPLAY_CUSTOM_OUTPUT
options 	WS_DEFAULT_FG=WSCOL_BLACK
options 	WS_DEFAULT_BG=WSCOL_LIGHT_WHITE
options 	WS_KERNEL_FG=WSCOL_GREEN
options 	WS_KERNEL_BG=WSCOL_LIGHT_WHITE
options 	FONT_GALLANT12x22	# the console font
options 	FONT_BOLD8x16		# a somewhat smaller font

#### System options that are the same for all ports

## Root device configuration: change the ?'s if you are going to use a
## nonstandard root partition (other than where the kernel is booted from)
## and/or nonstandard root type (not ffs or nfs).  Normally this can be
## automagically determined at boot time.

config		netbsd	root on ? type ?

## System call tracing (see ktrace(1)).
#options 	KTRACE

## System V compatible IPC subsystem.  (msgctl(2), semctl(2), and shmctl(2))
#options 	SYSVMSG		# System V message queues
#options 	SYSVSEM		# System V semaphores
#options 	SYSVSHM		# System V shared memory

options 	USERCONF	# userconf(4) support
options 	PIPE_SOCKETPAIR		# smaller, but slower pipe(2)
#options 	SYSCTL_INCLUDE_DESCR	# Include sysctl descriptions in kernel

## NFS boot options; tries DHCP/BOOTP then BOOTPARAM
options 	NFS_BOOT_BOOTPARAM
#options 	NFS_BOOT_BOOTP
options 	NFS_BOOT_DHCP

#### Debugging options

## The DDB in-kernel debugger runs at panic (unless DDB_ONPANIC=0), or at
## serial console break or keyboard reset, where the PROM would normally
## intercept.  DDB_HISTORY_SIZE adds up/down arrow command history.
#options 	DDB			# kernel dynamic debugger
#options 	DDB_HISTORY_SIZE=100	# enable history editing in DDB
#options 	DDB_ONPANIC=1		# see also sysctl(7): `ddb.onpanic'

## You may also use gdb, on another computer connected to this machine over
## a serial port.  Both KGDB_DEV and KGDB_DEVRATE should be specified;
## KGDB_DEV is a dev_t encoded device number of the serial port to use.
## (0xc01 = ttya, 0xc02 = ttyb.)
#options 	KGDB			# support for kernel gdb
#options 	KGDB_DEV=0xc01		# kgdb device number (this is `ttyb')
#options 	KGDB_DEVRATE=38400	# baud rate


## Compile the kernel with debugging symbols (`netbsd.gdb' is the debug file),
## such that gdb(1) can be used on a kernel coredump.

#makeoptions	DEBUG="-g"


## Adds code to the kernel that does internal consistency checks, and will
## cause the kernel to panic if corruption of internal data structures
## is detected.
#options 	DIAGNOSTIC	# extra kernel sanity checking

## Enable (possibly expensive) debugging code that may also display messages
## on the system console
#options 	DEBUG

#options 	MIIVERBOSE	# verbose PHY autoconfig messages

## Make SCSI error messages more verbose when explaining their meanings.
#options 	SCSIVERBOSE

## `INSECURE' turns off the kernel security level (securelevel = 0 always).
## This allows writing to /dev/mem, loading kernel modules while multi-user,
## and other insecurities good only for development work.  Do not use this
## option on a production machine.
options 	INSECURE

## `FDSCRIPTS' allows non-readable but executable scripts by providing a
## pre-opened opaque file to the script interpreter.  `SETUIDSCRIPTS',
## which implies FDSCRIPTS, allows scripts to be set-user-id using the same
## opaque file mechanism.  Perl calls this "secure setuid scripts."

#options 	FDSCRIPTS
#options 	SETUIDSCRIPTS

## Options for compatibility with previous releases foreign system binaries.
## In the cases of COMPAT_SUNOS, you may need to set up additional user-level
## utilities or system configuration files. See compat_sunos(8).

#include 	"conf/compat_netbsd10.config"
#options 	COMPAT_SUNOS	# SunOS 4.x binary compatibility
options 	COMPAT_BSDPTY	# /dev/[pt]ty?? ptys.

## File systems.  You probably need at least one of FFS or NFS.
file-system	FFS		# Berkeley Fast Filesystem
file-system	NFS		# Sun NFS-compatible filesystem client
#file-system	KERNFS		# kernel data-structure filesystem
#file-system	NULLFS		# NULL layered filesystem
file-system	MFS		# memory-based filesystem
#file-system	FDESC		# user file descriptor filesystem
#file-system	UMAPFS		# uid/gid remapping filesystem
#file-system	LFS		# Log-based filesystem (still experimental)
#file-system	PROCFS		# /proc
file-system	CD9660		# ISO 9660 + Rock Ridge file system
#file-system	UNION		# union file system
#file-system	MSDOSFS		# MS-DOS FAT filesystem(s).
#file-system	PTYFS		# /dev/pts/N support

## File system options
#options 	NFSSERVER	# Sun NFS-compatible filesystem server
#options 	QUOTA		# legacy UFS quotas
#options 	QUOTA2		# new, in-filesystem UFS quotas
#options 	FFS_EI		# FFS Endian Independent support
#options 	NFS_V2_ONLY	# Exclude NFS3 code to save space
options 	FFS_NO_SNAPSHOT	# No FFS snapshot support
options 	WAPBL		# File system journaling support

## Network protocol support.  In most environments, INET is required.
options 	INET		# IP (Internet Protocol) v4
#options 	GATEWAY		# packet forwarding ("router switch")
#options 	MROUTING	# packet forwarding of multicast packets
#options 	PIM		# Protocol Independent Multicast
#options 	NETATALK	# AppleTalk (over Ethernet) protocol
#options 	NTP		# Network Time Protocol in-kernel support
#options 	PPS_SYNC	# Add serial line synchronization for NTP
#options 	PPP_BSDCOMP	# Add BSD compression to ppp device
#options 	PPP_DEFLATE	# Add deflate (libz) compression to ppp device
#options 	PPP_FILTER	# Add active filters for ppp (via bpf)
#options 	TCP_DEBUG	# Record last TCP_NDEBUG packets with SO_DEBUG


#### Main bus and CPU .. all systems.
mainbus0 at root
cpu0	at mainbus0

#### SX rendering engine found in SS20 and SS10SX
sx0	at mainbus0

#### Bus types found on SPARC systems.

sbus0	at mainbus0				# sun4c
obio0	at mainbus0				# sun4 and sun4m
sparcvme0	at mainbus0				# sun4
iommu0	at mainbus0				# sun4m
sbus0	at iommu0				# sun4m
sparcvme0	at iommu0				# sun4m
vme0	at sparcvme0			# mi VME attachment

## SBus expander box
xbox*	at sbus? slot ? offset ?
sbus*	at xbox?

## SBus to PCMCIA bridge
# Currently enabling nell* with audioamd* causes panic at attach
#nell*	at sbus? slot ? offset ?		# PCMCIA bridge
#pcmcia*	at nell?

#### Standard system devices -- all required for a given architecture

## Auxiliary system registers on sun4c and sun4m
auxreg0	at mainbus0				# sun4c
auxreg0	at obio0				# sun4m

## Power status and control register 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

## ECC memory control
eccmemctl0 at mainbus0				# sun4m

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


#### Serial port configuration

## 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		# sun4/300

zstty*	at zs?

# these are for wscons
kbd0	at zstty?
ms0	at zstty?
wskbd*	at wskbddev?
wsmouse* 	at wsmousedev?

## Magma Serial/Parallel driver
#magma*	at sbus? slot ? offset ?
#mtty*	at magma?
#mbpp*	at magma?

## PCMCIA serial interfaces
#com*	at pcmcia?
#pcmcom*	at pcmcia?
#com*	at pcmcom?

#### Disk controllers and disks

#

## The following flags may be set for the NCR53c94 based esp driver:
##	bits 0-7:  disable disconnect/reselect for the corresponding target
##	bits 8-15: disable synchronous negotiation for target [bit-8]

## sun4/300, sun4c, sun4m on-board SCSI, and FSBE/S SBus SCSI cards.
## Both `dma' and `esp' are needed in all cases.
## Two kinds of additional SBus SCSI interfaces are available.  One uses
## "esp at sbus" like the sun4c on-board; the other uses "esp at dma".

## 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 0x0000	# sun4/300

dma0	at sbus0 slot ? offset ?			# sun4c/sun4m
esp0	at sbus0 slot ? offset ? flags 0x0000		# sun4c
esp0	at dma0 flags 0x0000				# sun4m

# FSBE/S SCSI
dma*	at sbus? slot ? offset ?			# SBus
esp*	at sbus? slot ? offset ? flags 0x0000		# SBus (older proms)
esp*	at dma? flags 0x0000				# SBus

scsibus* at esp?

## Qlogic ISP SBus SCSI Card
isp*	at sbus? slot ? offset ?
scsibus* at isp?

## 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 vme0 addr 0x200000 irq 3 vect 0x40 flags 0x07
##
## By default, DMA is enabled in the driver.

si0	at vme0 addr 0x200000 irq 2 vect 0x40
scsibus* at si?

## 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
scsibus* at sw?

## PCMCIA SCSI controllers
#aic*	at pcmcia?
#scsibus* at aic?


## These entries find devices on all SCSI busses and assign
## unit numbers 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
#ss*	at scsibus? target ? lun ?		# SCSI scanners
#uk*	at scsibus? target ? lun ?		# unknown SCSI


## Xylogics 753 or 7053 VME SMD disk controllers and disks, found
## on sun4 systems.
xdc0	at vme0 addr 0xee80 irq 3 vect 0x44
xdc1	at vme0 addr 0xee90 irq 3 vect 0x45
xdc2	at vme0 addr 0xeea0 irq 3 vect 0x46
xdc3	at vme0 addr 0xeeb0 irq 3 vect 0x47
xd*	at xdc? drive ?

## Xylogics 451 or 451 VME SMD disk controllers and disks, found
## on sun4 systems.
xyc0	at vme0 addr 0xee40 irq 3 vect 0x48
xyc1	at vme0 addr 0xee48 irq 3 vect 0x49
xy*	at xyc? drive ?


## Floppy controller and drive found on SPARCstations.

fdc0	at mainbus0				# sun4c controller
fdc0	at obio0				# sun4m controller
fd*	at fdc0					# the drive itself

## PCMCIA IDE controllers
#wdc*	at pcmcia?
#wd*	at wdc?

## A disk-like interface to files.  Can be used to create floppy, CD,
## miniroot images, etc.

#pseudo-device	vnd	

## Concatenated and striped disks; with this, you can create a software-based
## disk array similar to a "RAID 0" setup.  See ccd(4).

#pseudo-device	ccd

## RAIDframe disk driver: software RAID driver.  See raid(4).

#pseudo-device	raid

## Memory disk device, used on boot floppies with compressed
## kernel-plus-root-disk images.

#pseudo-device	md	


#### Network interfaces

## LANCE Ethernet - an AMD 7990 LANCE behind specialized DMA glue
## Three flavors of additional SBus ethernets are available.  One attaches
## directly like the sun4c on-board, one uses the ledma device like the
## sun4m on-board, and one uses the lebuffer device.

le0		at obio0 addr 0xf9000000 level 6	# sun4/300
le0		at sbus0 slot ? offset ?		# sun4c on-board
ledma0		at sbus0 slot ? offset ?		# sun4m on-board
le0		at ledma0				# sun4m on-board
le*		at sbus? slot ? offset ?		# SBus
ledma*		at sbus? slot ? offset ?		# SBus
le*		at ledma?				# SBus
lebuffer0	at sbus? slot ? offset ?		# SBus
le0		at lebuffer?				# SBus
lebuffer*	at sbus? slot ? offset ?		# SBus
le*		at lebuffer?				# SBus


## 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 vme0 addr 0xe88000 irq 3 vect 0x75		# VME
ie2	at vme0 addr 0x31ff02 irq 3 vect 0x76		# VME
ie3	at vme0 addr 0x35ff02 irq 3 vect 0x77		# VME
ie4	at vme0 addr 0x2dff02 irq 3 vect 0x7c		# VME

## qec/be, qec/hme
qec*		at sbus? slot ? offset ?
be*		at qec?
qe*		at qec?

# PCMCIA ethernet devices
#ep*	at pcmcia?
#mbe*	at pcmcia?
#ne*	at pcmcia?
#sm*	at pcmcia?

# MII/PHY support
#exphy*	at mii? phy ?			# 3Com internal PHYs
#icsphy*	at mii? phy ?			# Integrated Circuit Systems ICS189x
#inphy*	at mii? phy ?			# Intel 82555 PHYs
#lxtphy*	at mii? phy ?			# Level One LXT-970 PHYs
#nsphy*	at mii? phy ?			# NS83840 PHYs
#qsphy*	at mii? phy ?			# Quality Semiconductor QS6612 PHYs
#sqphy*	at mii? phy ?			# Seeq 80220/80221/80223 PHYs
#tlphy*	at mii? phy ?			# ThunderLAN PHYs
#ukphy*	at mii? phy ?			# generic unknown PHYs

## Loopback network interface; required
pseudo-device	loop

## SLIP and CSLIP interfaces, for IP over a serial line.
#pseudo-device	sl		

## PPP, the successor to SLIP.  See pppd(8).
#pseudo-device	ppp		

## Starmode Radio IP, a special hardware network device.
#pseudo-device	strip		

## Network "tunnel" device, allowing protocol stacks to run in the userland.
## This is used by the third-party user-mode "ppp" program, and others.
#pseudo-device	tun		

## Generic L3 over IP tunnel
#pseudo-device	gre			# generic L3 over IP tunnel

## Berkeley Packet Filter, required to run RARPD.  A generic C-language
## interface that allows selective examining of incoming packets.
#pseudo-device	bpfilter

#pseudo-device	npf			# NPF packet filter

#### Audio and video devices

## /dev/audio support (`audioamd' plus `audio')
##
#audioamd0	at mainbus0				# sun4c
#audioamd0	at obio0				# sun4m
#audioamd0	at sbus0 slot ? offset ?		# sun4m
#audio*		at audioamd0

#audiocs0	at sbus0 slot ? offset ?		# SUNW,CS4231
#audio*		at audiocs0

#spkr*		at audio?		# PC speaker (synthesized)


## 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 and sun4m
bwtwo*		at sbus? slot ? offset ?		#
#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 vme0 addr 0x400000 irq ? vect 0xa8

## Sun "cgthree" Sbus color framebuffer
cgthree0	at sbus? slot ? offset ?
cgthree*	at sbus? slot ? offset ?

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

## Sun "tcx" accelerated color framebuffer.
# there can be only one
tcx0		at sbus? slot ? offset ?

## Sun CG12 / Matrox SG3 accelerated 24bit framebuffer
## runs monochrome only for now
## since it occupies 3 SBus slots there's no way to use more than one
cgtwelve0	at sbus? slot ? offset ?

# Sun "cgfourteen" accelerated 24-bit framebuffer.
cgfourteen*	at obio0			# sun4m

# P9100-based display on Tadpole SPARCbook 3.
pnozz0		at sbus? slot ? offset ?
# the SPARCbook 3 hardware docs say that accesses to P9100 registers need to be
# 'latched in' but at least my 3GX works happily without
# Enable it by default since we don't know which hardware really needs it.
options PNOZZ_USE_LATCH

# Sun ZX/Leo 24-bit framebuffer
zx*		at sbus? slot ? offset ?

# Fujitsu AG-10e accelerated graphics 8/24-bit board
agten*	at sbus? slot ? offset ?

## Southland Media Systems (now Quantum 3D) MGX
mgx* 		at sbus? slot ? offset ?

# generic framebuffer console
genfb*	at sbus? slot ? offset ?

# make sure wsdisplay0 is the console
wsdisplay0	at wsemuldisplaydev? console 1
wsdisplay*	at wsemuldisplaydev?

#### Other device configuration

## Pseudo ttys, required for network logins and programs like screen.

pseudo-device	pty			# pseudo-terminals

## Random device, used to implement /dev/random (a source of random noise),
## and generate randomness for some kernel formulae.

#pseudo-device	fss			# file system snapshot device

pseudo-device	wsmux			# mouse and keyboard multiplexor
pseudo-device	wsfont
