# $MirOS: src/sys/arch/sparc/conf/GENERIC,v 1.25 2009/08/09 13:16:48 tg Exp $
# $OpenBSD: GENERIC,v 1.75 2004/03/09 15:24:27 miod Exp $
# $NetBSD: GENERIC,v 1.48 1997/08/23 19:19:01 mjacob Exp $

# Machine architecture; required by config(8)
machine		sparc			# arch, used by config; REQUIRED

# $miros: src/sys/arch/i386/conf/GENERIC,v 1.42 2009/02/16 21:21:01 tg Exp $
# $OpenBSD: GENERIC,v 1.112 2004/11/28 23:39:45 canacar Exp $
#
# Machine-independent option; used by all architectures.

# Don't change the kernel configuration file. Take a look
# at config -ef /bsd first. man config.

#option		INSECURE		# securelevel -1; default to secure

option		DDB			# in-kernel debugger
#option		DDB_SAFE_CONSOLE	# allow break into ddb during boot
option		INCLUDE_CONFIG_FILE	# store this file in the kernel
#makeoptions	DEBUG="-g"		# compile full symbol table
option		DIAGNOSTIC		# internal consistency checks
option		KTRACE			# system call tracing, a la ktrace(1)
option		ACCOUNTING		# acct(2) process accounting
option		KMEMSTATS		# collect malloc(9) statistics
option		PTRACE			# ptrace(2) system call
option		SCSIDEBUG		# extra debugging information
#option		SCSITERSE		# be terse with SCSI diagnostic stuff
#option		APM_NOPRINT		# don't print APM messages
#makeoptions	CSYS="..."		# extra CFLAGS
#option		SMALL_KERNEL		# remove certain large stuff
#option		NO_PROPOLICE		# remove stack protector

option		BOOT_CONFIG		# add support for boot -c
option		TIMEZONE=0		# time zone to adjust RTC time by
option		DST=0			# daylight saving time used by RTC
#option		MINIROOTSIZE=3712	# size of ramdisk array
#option		RAMDISK_HOOKS		# allow using initrd

option		CRYPTO			# Cryptographic framework
option		UVM_SWAP_ENCRYPT	# support encryption of pages going to swap
option		LKM			# loadable kernel modules

option		SYSVMSG			# System V-like message queues
option		SYSVSEM			# System V-like semaphores
option		SYSVSHM			# System V-like memory sharing

option		COMPAT_OSSAUDIO		# source compatibility with OSS/Lite
#option		COMPAT_OPENBSD		# binary compatibility with OpenBSD

option		FFS			# UFS
option		FFS_SOFTUPDATES		# Soft updates
option		UFS_DIRHASH		# speed up large directories
option		QUOTA			# UFS quotas
option		EXT2FS			# Second Extended Filesystem
#option		EXT2FS_SYSTEM_FLAGS	# immutable is schg, not uchg
option		MFS			# memory file system
#option		HARD_CHROOT		# disable mknod() in chroot() jails

option		TCP_SACK		# Selective Acknowledgements for TCP
option		TCP_ECN			# Explicit Congestion Notification for TCP
option		TCP_FACK		# Forward Acknowledgements for TCP
option		TCP_SIGNATURE		# TCP MD5 Signatures

option		NFSCLIENT		# Nightmare File System client
option		NFSSERVER		# Nightmare File System server

option		CD9660			# ISO 9660 + Rock Ridge file system
option		MSDOSFS			# MS-DOS file system
option		FDESC			# /dev/fd
option		FIFO			# FIFOs; RECOMMENDED
option		KERNFS			# /kern
option		PORTAL			# dynamically created filesystem objects
option		PROCFS			# /proc

option		INET			# IP + ICMP + TCP + UDP
option		ALTQ			# ALTQ base
option		INET6			# IPv6 (needs INET)
option		IPSEC			# IPsec
option		KEY			# PF_KEY (implied by IPSEC)
option		IPX			# IPX+SPX
option		IPXIP			# IPX tunneling over IP
option		NETATALK		# AppleTalk
option		PPP_BSDCOMP		# PPP BSD compression for pppd(8)
#option		PPP_DEFLATE		# PPP zlib compression for pppd(8)
#option		MROUTING		# Multicast router

pseudo-device	pf			# packet filter
pseudo-device	pflog			# pf log if
pseudo-device	pfsync			# pf sync if
pseudo-device	sppp	2		# Sync PPP/HDLC
pseudo-device	pppoe	1		# PPP over Ethernet (RFC 2516)
pseudo-device	enc	1		# IPsec needs this encapsulation iface
pseudo-device	faith	1		# IPv{4,6} tcp relay translation iface
#pseudo-device	strip	1		# Starmode Radio IP interface

pseudo-device	pty	16		# pseudo-terminals (can grow runtime)
pseudo-device	tb	1		# tablet line discipline
pseudo-device	vnd	16		# paging to files
pseudo-device	ccd	4		# concatenated disk devices
pseudo-device	rd	2		# ramdisk (fixed/avail and umem)
pseudo-device	ksyms	1		# kernel symbols device
pseudo-device	systrace 1		# system call tracing device

# clonable devices
pseudo-device	bpfilter 		# packet filter
pseudo-device	bridge			# network bridging support
pseudo-device	carp			# CARP protocol support
pseudo-device	gif			# IPv[46] over IPv[46] tunnel (RFC1933)
pseudo-device	gre			# GRE encapsulation interface
pseudo-device	loop			# network loopback
pseudo-device	ppp			# PPP
pseudo-device	sl			# CSLIP
pseudo-device	tun			# network tunneling over tty
pseudo-device	vlan 			# IEEE 802.1Q VLAN

# tuning options, potentally dangerous to enable/change *at all*, be warned
#option		POOLWORDS=1024		# size of entropy pool (power of two)
#option		NVNODE=32768			# raise static alloced bufsiz
#option		MAXDSIZ="(1024 * 1048576)"	# bump max data size to 1 GiB
#option		BUFCACHEPERCENT=7		# default: 5% of total RAM sz

maxusers	20			# estimated number of users

# Generic swap; second partition of root disk or network.
config		bsd	swap generic

#--- end of machine independent config

# Options for variants of the Sun SPARC architecture.
# At least one is required.
#option		SUN4		# sun4/100, sun4/200, sun4/300
# sun4 commented out due to v8 CFLAGS anyways, and devices below.
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

# remote debugger support - disable DDB if enabling this
#option		KGDB		# support for kernel gdb
#option		KGDBDEV=0xc01	# kgdb device number (dev_t)
#option		KGDBRATE=38400	# baud rate

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

# 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

audioamd0 at mainbus0				# sun4c
audioamd0 at obio0				# sun4m
audioamd0 at sbus0				# sun4m
audio*	at audioamd?

audiocs0 at sbus0				# sun4m
audio*	at audiocs?

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

# 8 segment led display on sun4/sun4m systems
#led0 at mainbus0				# sun4
#led0 at obio0					# sun4/600

# 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	# sun4/200 and sun4/300
#zs0	at obio0 addr 0x01000000 level 12	# sun4/100
zs1	at mainbus0				# sun4c
zs1	at obio0				# sun4m
#zs1	at obio0 addr 0xf0000000 level 12	# sun4/200 and sun4/300
#zs1	at obio0 addr 0x00000000 level 12	# sun4/100
#zs2	at obio0 addr 0xe0000000 level 12	# sun4/300

zstty* at zs? channel ?
zskbd* at zs? channel ?
wskbd* at zskbd? console ?

# Magma serial/parallel port devices
magma*	at sbus?				# magma serial cards
mtty*	at magma?
mbpp*	at magma?

# SUNW,spif serial/parallel port devices
spif*	at sbus?				# spif serial cards
stty*	at spif?
sbpp*	at spif?

bpp*	at sbus?				# parallel port

# SUNW,xbox SBus Expansion Subsystem
xbox*	at sbus?				# SBus Expansion box
sbus*	at xbox?

#
# 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
# specialised DMA glue
dma0	at sbus0					# on-board SCSI
esp0	at sbus0 flags 0xff0f				# sun4c
esp0	at dma0 flags 0xff0f				# sun4m

# FSBE/S SCSI - an NCR53c94 or equivalent behind
dma*	at sbus?					# SBus SCSI
esp*	at sbus? flags 0xff0f				# two flavours
esp*	at dma? flags 0xff0f				# depending on model

# sun4c, sun4m
isp*	at sbus?
options ISP_COMPILE_1000_FW=1

# sun4m Ethernet - an AMD 7990 LANCE behind
# specialised DMA glue
ledma0	at sbus?					# sun4m on-board
le0	at ledma0					#

# Additional SBus LANCE devices - glued on by lebuffer
lebuffer0	at sbus0				# sun4m SBus
lebuffer*	at sbus?				# sun4m SBus
le0	at lebuffer0					#
le*	at lebuffer?					#

# sun4/300 and sun4c Ethernet - an AMD 7990 LANCE
le0	at sbus0					# sun4c on-board
le*	at sbus?

#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

# HappyMeal ethernet (will not work on sun4c)
hme*	at sbus?

# Quad-ethernet glue device, and sub-devices
qec*	at sbus?
qe*	at qec?
be*	at qec?

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

# 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.
bwtwo0	at sbus0				# sun4c on-board
bwtwo*	at sbus?				# 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
wsdisplay* at bwtwo?

# Sun "cgtwo" VME color framebuffer.
#cgtwo0	at vmes0 addr 0xff400000 level 4 vect 0xa8
#wsdisplay* at cgtwo?

# Sun "cgthree" Sbus color framebuffer.
cgthree* at sbus?
wsdisplay* at cgthree?

# Sun "cgfour" color framebuffer.
#cgfour0	at obio0 addr 0xfb300000 level 4	# sun4/300 P4
#cgfour0	at obio0 addr 0x0b300000 level 4	# sun4/100 P4
#wsdisplay* at cgfour?

# Sun "cgsix" accelerated color framebuffer.
cgsix0	at sbus?
cgsix*	at sbus?
#cgsix0	at obio0 addr 0xfb000000 level 4	# sun4/300 P4
#cgsix0	at obio0 addr 0x0b000000 level 4	# sun4/100 P4
wsdisplay* at cgsix?

# 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
#wsdisplay* at cgeight?

# Sun "tcx" accelerated color framebuffer.
tcx*	at sbus?
wsdisplay* at tcx?

# Sun "cgfourteen" accelerated 24-bit framebuffer.
cgfourteen0 at obio0 addr 0x9c000000		# sun4m
cgfourteen1 at obio0 addr 0x90000000		# sun4m
wsdisplay* at cgfourteen?

# Sun "cgtwelve" (GS) accelerated 24-bit framebuffer.
cgtwelve*	at sbus?
wsdisplay* at cgtwelve?

# Sun "leo" (ZX) accelerated 24-bit framebuffer.
zx*	at sbus?
wsdisplay* at zx?

# Vigra VS10 or VS12 framebuffer.
vigra*	at sbus?
wsdisplay* at vigra?

# Weitek P9000 found on Tadpole SPARCbook 3, with external "Chameleon" RAMDAC
pninek0	at sbus?
btcham0	at obio?
wsdisplay* at pninek?

# Weitek P9100 found on Tadpole SPARCbook 3GS/3GX/3TX/3XP
pnozz0	at sbus?
wsdisplay* at pnozz?

# Parallax XVideo and PowerVideo
tvtwo* at sbus?
wsdisplay* at tvtwo?

# Fujitsu AG-10e framebuffer.
agten* at sbus?
wsdisplay* at agten?

# Southland Media Systems MGX/MGXPlus framebuffer.
mgx* at sbus?
wsdisplay* at mgx?

# Vitec/Connectware/AP&D RasterFlex framebuffer series.
rfx* at sbus?
wsdisplay* at rfx?

# Microcontroller found on Tadpole SPARCbook
tctrl0	at obio0

# Sun PCMCIA bridge
stp*	at sbus?
pcmcia*	at stp? socket ?

# PCMCIA controller found on Tadpole SPARCbook
tslot*	at sbus?
pcmcia*	at tslot? socket ?

# PCMCIA devices
wi*	at pcmcia? function ?			# WaveLAN IEEE 802.11DS
#an*	at pcmcia? function ?			# Aironet IEEE 802.11DS
ne*	at pcmcia? function ?			# NE2000-compat ethernet
ep*	at pcmcia? function ?			# PCMCIA based 3C5xx ethernet
#com*	at pcmcia? function ?			# PCMCIA modems/serial ports

# Media Independent Interface (mii) drivers (required by hme, ne, ep)
bmtphy*	at mii? phy ?				# Broadcom 10/100 PHYs
lxtphy*	at mii? phy ?				# Level1 LXT970 PHYs
nsphy*	at mii? phy ?				# NS and compatible PHYs
nsphyter* at mii? phy ?
qsphy*	at mii? phy ?				# Quality Semi QS6612 PHYs
tqphy* at mii? phy ?				# TDK 78Q212x PHYs
ukphy*	at mii? phy ?

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

# 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
ss*	at scsibus? target ? lun ?		# SCSI scanners
uk*	at scsibus? target ? lun ?		# unknown SCSI devices

# Floppy controller and drive found on SPARCstations.
fdc0	at mainbus0				# sun4c controller
fdc0	at obio0				# sun4m controller
fd*	at fdc0					# the drive itself

# flash memory, sysconfig regs, and VME for Force boards
#scf0	at mainbus0				# FORCE CPU-5V sysconfig
#flash0	at obio0				# FORCE CPU-5V flash-memory
#fga0	at iommu0				# FORCE CPU-5V VME/SBus bridge
#fvme*	at fga0					# FORCE CPU-5V
#daadio*	at fvme? addr 0x0 level 1 vect 0x1f	# Matrix MD-DAADIO board

# Prestoserve NVRAM
#presto*	at sbus?

# Software RAID, pretty large, will not fit into RELOC on the ramdisc
option		RAIDDEBUG			# be verbose about what it does
option		RAID_AUTOCONFIG			# automatically configure devices
pseudo-device	raid		4		# RAIDframe disk driver
