# 	$NetBSD: TADPOLE3GX,v 1.26 2005/02/25 13:46:51 simonb Exp $

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

options 	INCLUDE_CONFIG_FILE	# embed config file in kernel binary

maxusers	32

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

makeoptions		CCPUOPTS="-mcpu=v8 -mtune=v8"
makeoptions		CPPFLAGS="-I/data/src/sys/dist/ipf -I/data/src/sys/dist/pf"


# Options for variants of the Sun SPARC architecure.
# We currently support three architecture types; at least one is required.
options 	SUN4M		# sun4m - SS10, SS20, Classic, etc.

## System options specific to the sparc machine type

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

#options 	WSEMUL_SUN
options 	WSEMUL_VT100
options 	WSDISPLAY_COMPAT_RAWKBD		# can get raw scancodes
options 	WSDISPLAY_CUSTOM_OUTPUT		# wsconsctl(8)
options		WSDISPLAY_CHARFUNCS

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 	WSDISPLAY_COMPAT_PCVT		# emulate some ioctls
options 	WSDISPLAY_COMPAT_SYSCONS	# emulate some ioctls
options 	WSDISPLAY_COMPAT_USL		# VT handling

options 	WSDISPLAY_DEFAULTSCREENS=1

options		SPARCBOOK_CMD		# enable screen switching with lAlt-Fn
#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

## Collect statistics on kernel malloc's and free's.  This does have a
## significant performance hit on slower machines, so it is intended for
## diagnostic use only.
#options 	KMEMSTATS

## 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 	SHMMAXPGS=1024	# 1024 pages is the default

## Loadable kernel module support; still under development.
options 	LKM

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(8): `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

## 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 and COMPAT_SVR4, you may need to set up
## additional user-level utilities or system configuration files. See
## compat_sunos(8) and compat_svr4(8).

#options 	COMPAT_43	# 4.3BSD system interfaces
#options 	COMPAT_10	# NetBSD 1.0 binary compatibility
#options 	COMPAT_11	# NetBSD 1.1 binary compatibility
#options 	COMPAT_12	# NetBSD 1.2 binary compatibility
#options 	COMPAT_13	# NetBSD 1.3 binary compatibility
#options 	COMPAT_14	# NetBSD 1.4 binary compatibility
#options 	COMPAT_16	# NetBSD 1.6 binary compatibility
#options 	COMPAT_20	# NetBSD 2.0 binary compatibility
options 	COMPAT_30	# NetBSD 3.0 binary compatibility
#options 	COMPAT_SUNOS	# SunOS 4.x binary compatibility
options 	COMPAT_SVR4	# SunOS 5.x binary compatibility
#options		DEBUG_SVR4
#options 	TCP_COMPAT_42	# 4.2BSD TCP/IP bug compat. Not recommended.
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	PORTAL		# portal 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
file-system	TMPFS

## File system options.
options 	NFSSERVER	# Sun NFS-compatible filesystem server
#options 	QUOTA		# FFS quotas
#options 	FFS_EI		# FFS Endian Independent support
#options 	FFS_NO_SNAPSHOT	# ffs snapshots
options 	SOFTDEP

## 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 	DIRECTED_BROADCAST	# allow broadcasts through routers
#options 	NS		# Xerox NS networking
#options 	NSIP		# Xerox NS tunneling over IP
#options 	ISO,TPIP	# OSI networking
#options 	EON		# OSI tunneling over IP
#options 	CCITT,LLC,HDLC	# X.25 packet switched protocol
#options 	NETATALK	# AppleTalk (over Ethernet) protocol
options 	NTP		# Network Time Protocol in-kernel support
#options 	PPS_SYNC	# Add serial line synchronization for NTP
options 	PFIL_HOOKS	# Add pfil(9) hooks, intended for custom LKMs.
options 	IPFILTER_LOG	# Add ipmon(8) logging for ipfilter device
#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

#### Bus types found on SPARC systems.

obio0	at mainbus0				# sun4 and sun4m
iommu0	at mainbus0				# sun4m
sbus0	at iommu0				# sun4m

## SBus to PCMCIA bridge
tslot*	at sbus? slot ? offset ?		# PCMCIA bridge (tadpole 3gx)
pcmcia*	at tslot?

#options TSLOT_DEBUG
#options PCMCIAVERBOSE
#options PCMCIADEBUG
#options PCMCIACISDEBUG
#options WI_DEBUG

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

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

## Additional auxiliary system registers on Sparcbook
auxiotwo0	at obio0				# sun4m

## Mostek clock found on 4/300, sun4c, and sun4m systems.
## The Mostek clock NVRAM is the "eeprom" on sun4/300 systems.
clock0	at obio0				# sun4m

## Timer chip found on 4/300, sun4c, and sun4m systems.
timer0	at obio0				# sun4m

## Clock control hardware found on SPARCbook 3GX
clkctrl0 at obio0

#### Serial port configuration

## Zilog 8530 serial chips.  Each has two-channels.
## zs0 is ttya and ttyb.  zs1 is the keyboard and mouse.
zs0	at obio0					# sun4m
zstty0	at zs0 channel 0	# ttya
zstty1	at zs0 channel 1	# ttyb

zs1	at obio0					# sun4m
zstty*	at zs1 channel ?	# mouse/keyboard

kbd0	at zstty?
ms0	at zstty?

wskbd*		at kbd? console ?
wsmouse*	at ms?

## Tadpole 3GX/3XL have a builtin modem that emulates a NS16450.
com*	at obio0					# sun4m (tadpole)

## 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 sbus0 slot ? offset ?			# sun4c/sun4m
esp0	at dma0 flags 0x0000				# sun4m

scsibus* at esp?

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

## PCMCIA IDE controllers
#wdc*	at pcmcia?

#atabus* at ata?
#wd*		at atabus? drive ? flags 0x0000

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

pseudo-device	vnd	4

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

#pseudo-device	md	1


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

ledma0		at sbus0 slot ? offset ?		# sun4m on-board
le0		at ledma0				# sun4m on-board

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

#xirc*	at pcmcia? function ?	# Xircom CreditCard Ethernet UT
#com*	at xirc?
#xi*	at xirc?

#options 	MIIVERBOSE	# verbose PHY autoconfig messages

# MII/PHY support
# XXX: only nsphy "tested"
#dmphy*	at mii? phy ?			# Davicom DM9101 PHYs
#exphy*	at mii? phy ?			# 3Com internal PHYs
#icsphy*	at mii? phy ?			# Integrated Circuit Systems ICS189x
#inphy*	at mii? phy ?			# Intel 82555 PHYs
#iophy*	at mii? phy ?			# Intel 82553 PHYs
#lxtphy*	at mii? phy ?			# Level One LXT-970 PHYs
#nsphy*	at mii? phy ?			# NS83840 PHYs
#nsphyter* at mii? phy ?			# NS83843 PHYs
#qsphy*	at mii? phy ?			# Quality Semiconductor QS6612 PHYs
#sqphy*	at mii? phy ?			# Seeq 80220/80221/80223 PHYs
#tlphy*	at mii? phy ?			# ThunderLAN PHYs
#tqphy*	at mii? phy ?			# TDK Semiconductor PHYs
#ukphy*	at mii? phy ?			# generic unknown PHYs


wi*		at pcmcia?

## Loopback network interface; required
pseudo-device	loop

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

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

## Generic L3 over IP tunnel
#pseudo-device	gre		2	# 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	16

## IP Filter, used in firewall and NAT applications.  See ipnat(8) for
## one example of the use of the IP Filter.
#pseudo-device	ipfilter


#### Audio and video devices

#options	DBRI_DEBUG	# noisy debug output from the dbri driver
options		DBRI_BIG_BUFFER	# use bigger DMA buffers, for slow CPUs
dbri*	at sbus? slot ? offset ?	# SUNW,DBRI audio

audio*		at audiobus?

# Tadpole 3GX/3GS (P9100 -- P Nine One Zero Zero -> pnozz)
pnozz0 at sbus? slot ? offset ?
#options	PNOZZ_SOFT_PUTCHAR	# draw characters by software 
					# instead of using the blitter
#options	PNOZZ_EMUL_CG3		# emulate a CG3 for Xsun instead of 
					# running natively

wsdisplay* 	at pnozz? console ?

#### Other device configuration

# Tadpole microcontroller
tctrl0 at obio0
#options	TCTRL_DEBUG		# enable longish debug output
options		TCTRL_SUSPEND		# enable pseudo suspend-to-ram
#options	TCTRL_SCSI_POWER	# power down the SCSI bus in suspend
# use ONLY when your drive doesn't power down otherwise.


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

pseudo-device	pty			# pseudo-ttys (for network, etc.)

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

pseudo-device	rnd

pseudo-device	clockctl		# user control of clock subsystem
#pseudo-device	fss		4	# file system snapshot device

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

pseudo-device	blinkerctl		# for device monitors on tctrl