TADPOLE3GX revision 1.64
11.64Smanu# 	$NetBSD: TADPOLE3GX,v 1.64 2014/11/12 10:47:24 manu Exp $
21.1Smatt
31.1Smattinclude "arch/sparc/conf/std.sparc"
41.14Satatat
51.14Satatat#options 	INCLUDE_CONFIG_FILE	# embed config file in kernel binary
61.1Smatt
71.27Smacallan# all supported SPARCbooks have V8 CPUs
81.27Smacallanmakeoptions		CCPUOPTS="-mcpu=v8 -mtune=v8"
91.27Smacallan
101.1Smattmaxusers	32
111.1Smatt
121.1Smatt## System kernel configuration.  See options(4) for more detail.
131.1Smatt
141.1Smatt
151.1Smatt# Options for variants of the Sun SPARC architecure.
161.1Smatt# We currently support three architecture types; at least one is required.
171.1Smattoptions 	SUN4M		# sun4m - SS10, SS20, Classic, etc.
181.1Smatt
191.1Smatt## System options specific to the sparc machine type
201.1Smatt
211.1Smatt# Blink the power LED on some machines to indicate the system load.
221.1Smatt#options 	BLINK
231.1Smatt
241.37Smacallan# wsdisplay options
251.57Smacallan#options 	WSEMUL_SUN
261.57Smacallanoptions 	WSEMUL_VT100
271.37Smacallanoptions 	WSDISPLAY_COMPAT_RAWKBD		# can get raw scancodes
281.37Smacallanoptions 	WSDISPLAY_CUSTOM_OUTPUT		# wsconsctl(8)
291.37Smacallan
301.37Smacallan# black on white, kernel output in green
311.37Smacallanoptions 	WS_DEFAULT_FG=WSCOL_BLACK
321.37Smacallanoptions 	WS_DEFAULT_BG=WSCOL_LIGHT_WHITE
331.37Smacallanoptions 	WS_KERNEL_FG=WSCOL_GREEN
341.37Smacallanoptions 	WS_KERNEL_BG=WSCOL_LIGHT_WHITE
351.37Smacallan
361.37Smacallanoptions 	WSDISPLAY_COMPAT_PCVT		# emulate some ioctls
371.37Smacallanoptions 	WSDISPLAY_COMPAT_SYSCONS	# emulate some ioctls
381.56Sabsoptions 	WSDISPLAY_COMPAT_USL		# wsconscfg VT handling
391.37Smacallan
401.37Smacallanoptions 	WSDISPLAY_DEFAULTSCREENS=1
411.37Smacallan
421.44Sjdcoptions 	SPARCBOOK_CMD		# enable screen switching with lAlt-Fn
431.1Smatt#options 	FONT_GALLANT12x22	# the console font
441.2Smattoptions 	FONT_BOLD8x16		# a somewhat smaller font
451.1Smatt
461.1Smatt#### System options that are the same for all ports
471.1Smatt
481.1Smatt## Root device configuration: change the ?'s if you are going to use a
491.1Smatt## nonstandard root partition (other than where the kernel is booted from)
501.1Smatt## and/or nonstandard root type (not ffs or nfs).  Normally this can be
511.1Smatt## automagically determined at boot time.
521.1Smatt
531.1Smattconfig		netbsd	root on ? type ?
541.1Smatt
551.1Smatt## System call tracing (see ktrace(1)).
561.1Smattoptions 	KTRACE
571.1Smatt
581.1Smatt## Collect statistics on kernel malloc's and free's.  This does have a
591.1Smatt## significant performance hit on slower machines, so it is intended for
601.1Smatt## diagnostic use only.
611.1Smatt#options 	KMEMSTATS
621.1Smatt
631.1Smatt## System V compatible IPC subsystem.  (msgctl(2), semctl(2), and shmctl(2))
641.1Smattoptions 	SYSVMSG		# System V message queues
651.1Smattoptions 	SYSVSEM		# System V semaphores
661.1Smattoptions 	SYSVSHM		# System V shared memory
671.1Smatt
681.17Slukemoptions 	USERCONF	# userconf(4) support
691.44Sjdc#options 	PIPE_SOCKETPAIR	# smaller, but slower pipe(2)
701.20Satatat#options 	SYSCTL_INCLUDE_DESCR	# Include sysctl descriptions in kernel
711.1Smatt
721.15Slukem## NFS boot options; tries DHCP/BOOTP then BOOTPARAM
731.1Smattoptions 	NFS_BOOT_BOOTPARAM
741.1Smatt#options 	NFS_BOOT_BOOTP
751.15Slukemoptions 	NFS_BOOT_DHCP
761.1Smatt
771.1Smatt#### Debugging options
781.1Smatt
791.1Smatt## The DDB in-kernel debugger runs at panic (unless DDB_ONPANIC=0), or at
801.1Smatt## serial console break or keyboard reset, where the PROM would normally
811.1Smatt## intercept.  DDB_HISTORY_SIZE adds up/down arrow command history.
821.47Stsutsuioptions 	DDB			# kernel dynamic debugger
831.47Stsutsuioptions 	DDB_HISTORY_SIZE=100	# enable history editing in DDB
841.61Sszptvlfn#options 	DDB_ONPANIC=1		# see also sysctl(7): `ddb.onpanic'
851.1Smatt
861.1Smatt## You may also use gdb, on another computer connected to this machine over
871.10Slukem## a serial port.  Both KGDB_DEV and KGDB_DEVRATE should be specified;
881.10Slukem## KGDB_DEV is a dev_t encoded device number of the serial port to use.
891.1Smatt## (0xc01 = ttya, 0xc02 = ttyb.)
901.10Slukem#options 	KGDB			# support for kernel gdb
911.10Slukem#options 	KGDB_DEV=0xc01		# kgdb device number (this is `ttyb')
921.10Slukem#options 	KGDB_DEVRATE=38400	# baud rate
931.1Smatt
941.1Smatt
951.1Smatt## Compile the kernel with debugging symbols (`netbsd.gdb' is the debug file),
961.1Smatt## such that gdb(1) can be used on a kernel coredump.
971.1Smatt
981.11Slukemmakeoptions	DEBUG="-g"
991.1Smatt
1001.1Smatt
1011.1Smatt## Adds code to the kernel that does internal consistency checks, and will
1021.1Smatt## cause the kernel to panic if corruption of internal data structures
1031.1Smatt## is detected.
1041.1Smatt#options 	DIAGNOSTIC	# extra kernel sanity checking
1051.1Smatt
1061.1Smatt## Enable (possibly expensive) debugging code that may also display messages
1071.1Smatt## on the system console
1081.1Smatt#options 	DEBUG
1091.52Sjdc#options 	LOCKDEBUG
1101.52Sjdc#options 	SYSCALL_DEBUG
1111.1Smatt
1121.1Smatt## Make SCSI error messages more verbose when explaining their meanings.
1131.1Smattoptions 	SCSIVERBOSE
1141.1Smatt
1151.1Smatt## `INSECURE' turns off the kernel security level (securelevel = 0 always).
1161.1Smatt## This allows writing to /dev/mem, loading kernel modules while multi-user,
1171.1Smatt## and other insecurities good only for development work.  Do not use this
1181.1Smatt## option on a production machine.
1191.4Smattoptions 	INSECURE
1201.1Smatt
1211.1Smatt## `FDSCRIPTS' allows non-readable but executable scripts by providing a
1221.1Smatt## pre-opened opaque file to the script interpreter.  `SETUIDSCRIPTS',
1231.1Smatt## which implies FDSCRIPTS, allows scripts to be set-user-id using the same
1241.1Smatt## opaque file mechanism.  Perl calls this "secure setuid scripts."
1251.1Smatt
1261.1Smatt#options 	FDSCRIPTS
1271.1Smatt#options 	SETUIDSCRIPTS
1281.1Smatt
1291.1Smatt## Options for compatibility with previous releases foreign system binaries.
1301.1Smatt## In the cases of COMPAT_SUNOS and COMPAT_SVR4, you may need to set up
1311.1Smatt## additional user-level utilities or system configuration files. See
1321.1Smatt## compat_sunos(8) and compat_svr4(8).
1331.1Smatt
1341.1Smattoptions 	COMPAT_43	# 4.3BSD system interfaces
1351.63Sdhollandoptions 	COMPAT_10	# NetBSD 1.0,
1361.63Sdhollandoptions 	COMPAT_11	# NetBSD 1.1,
1371.63Sdhollandoptions 	COMPAT_12	# NetBSD 1.2,
1381.63Sdhollandoptions 	COMPAT_13	# NetBSD 1.3,
1391.63Sdhollandoptions 	COMPAT_14	# NetBSD 1.4,
1401.63Sdhollandoptions 	COMPAT_15	# NetBSD 1.5,
1411.63Sdhollandoptions 	COMPAT_16	# NetBSD 1.6,
1421.63Sdhollandoptions 	COMPAT_20	# NetBSD 2.0,
1431.63Sdhollandoptions 	COMPAT_30	# NetBSD 3.0,
1441.63Sdhollandoptions 	COMPAT_40	# NetBSD 4.0,
1451.63Sdhollandoptions 	COMPAT_50	# NetBSD 5.0,
1461.63Sdhollandoptions 	COMPAT_60	# NetBSD 6.0, and
1471.63Sdhollandoptions 	COMPAT_70	# NetBSD 7.0 binary compatibility.
1481.1Smattoptions 	COMPAT_SUNOS	# SunOS 4.x binary compatibility
1491.1Smattoptions 	COMPAT_SVR4	# SunOS 5.x binary compatibility
1501.9Sabs#options 	TCP_COMPAT_42	# 4.2BSD TCP/IP bug compat. Not recommended.
1511.44Sjdcoptions 	COMPAT_BSDPTY	# /dev/[pt]ty?? ptys.
1521.1Smatt
1531.1Smatt## File systems.  You probably need at least one of FFS or NFS.
1541.1Smattfile-system	FFS		# Berkeley Fast Filesystem
1551.1Smattfile-system	NFS		# Sun NFS-compatible filesystem client
1561.1Smattfile-system	KERNFS		# kernel data-structure filesystem
1571.1Smatt#file-system	NULLFS		# NULL layered filesystem
1581.1Smattfile-system	MFS		# memory-based filesystem
1591.1Smatt#file-system	FDESC		# user file descriptor filesystem
1601.1Smatt#file-system	UMAPFS		# uid/gid remapping filesystem
1611.1Smatt#file-system	LFS		# Log-based filesystem (still experimental)
1621.1Smattfile-system	PROCFS		# /proc
1631.1Smattfile-system	CD9660		# ISO 9660 + Rock Ridge file system
1641.1Smatt#file-system	UNION		# union file system
1651.1Smattfile-system	MSDOSFS		# MS-DOS FAT filesystem(s).
1661.32Schristosfile-system	PTYFS		# /dev/pts/N support
1671.1Smatt
1681.1Smatt## File system options.
1691.1Smattoptions 	NFSSERVER	# Sun NFS-compatible filesystem server
1701.53Sbouyeroptions 	QUOTA		# legacy UFS quotas
1711.53Sbouyeroptions 	QUOTA2		# new, in-filesystem UFS quotas
1721.1Smatt#options 	FFS_EI		# FFS Endian Independent support
1731.34Stsutsui#options 	FFS_NO_SNAPSHOT	# No FFS snapshot support
1741.64Smanuoptions 	UFS_EXTATTR	# Extended attribute support for UFS1
1751.64Smanuoptions 	UFS_EXTATTR_AUTOSTART
1761.64Smanuoptions 	UFS_EXTATTR_AUTOCREATE=1024
1771.1Smatt
1781.1Smatt## Network protocol support.  In most environments, INET is required.
1791.1Smattoptions 	INET		# IP (Internet Protocol) v4
1801.1Smatt#options 	GATEWAY		# packet forwarding ("router switch")
1811.1Smatt#options 	MROUTING	# packet forwarding of multicast packets
1821.21Smanu#options 	PIM		# Protocol Independent Multicast
1831.1Smatt#options 	DIRECTED_BROADCAST	# allow broadcasts through routers
1841.1Smatt#options 	NETATALK	# AppleTalk (over Ethernet) protocol
1851.1Smattoptions 	NTP		# Network Time Protocol in-kernel support
1861.1Smatt#options 	PPS_SYNC	# Add serial line synchronization for NTP
1871.1Smattoptions 	IPFILTER_LOG	# Add ipmon(8) logging for ipfilter device
1881.39Schristosoptions 	IPFILTER_LOOKUP	# ippool(8) support
1891.50Smrgoptions 	IPFILTER_COMPAT # Compat for IP-Filter
1901.50Smrg#options 	IPFILTER_DEFAULT_BLOCK	# block all packets by default
1911.1Smattoptions 	PPP_BSDCOMP	# Add BSD compression to ppp device
1921.1Smattoptions 	PPP_DEFLATE	# Add deflate (libz) compression to ppp device
1931.1Smattoptions 	PPP_FILTER	# Add active filters for ppp (via bpf)
1941.9Sabs#options 	TCP_DEBUG	# Record last TCP_NDEBUG packets with SO_DEBUG
1951.1Smatt
1961.1Smatt
1971.1Smatt#### Main bus and CPU .. all systems.
1981.1Smattmainbus0 at root
1991.1Smattcpu0	at mainbus0
2001.1Smatt
2011.1Smatt#### Bus types found on SPARC systems.
2021.1Smatt
2031.1Smattobio0	at mainbus0				# sun4 and sun4m
2041.1Smattiommu0	at mainbus0				# sun4m
2051.1Smattsbus0	at iommu0				# sun4m
2061.1Smatt
2071.1Smatt## SBus to PCMCIA bridge
2081.27Smacallantslot*	at sbus? slot ? offset ?		# PCMCIA bridge (tadpole 3gx)
2091.27Smacallanpcmcia*	at tslot?
2101.1Smatt
2111.1Smatt#### Standard system devices -- all required for a given architecture
2121.1Smatt
2131.1Smatt## Auxiliary system registers on sun4c and sun4m
2141.1Smattauxreg0	at obio0				# sun4m
2151.6Sjdc
2161.6Sjdc## Additional auxiliary system registers on Sparcbook
2171.6Sjdcauxiotwo0	at obio0				# sun4m
2181.1Smatt
2191.37Smacallan## Clock control on SPARCbook - used to put the CPU to sleep when idle
2201.33Smacallanclkctrl0 at obio0
2211.33Smacallan
2221.1Smatt## Mostek clock found on 4/300, sun4c, and sun4m systems.
2231.1Smatt## The Mostek clock NVRAM is the "eeprom" on sun4/300 systems.
2241.1Smattclock0	at obio0				# sun4m
2251.1Smatt
2261.1Smatt## Timer chip found on 4/300, sun4c, and sun4m systems.
2271.1Smatttimer0	at obio0				# sun4m
2281.1Smatt
2291.1Smatt#### Serial port configuration
2301.1Smatt
2311.1Smatt## Zilog 8530 serial chips.  Each has two-channels.
2321.1Smatt## zs0 is ttya and ttyb.  zs1 is the keyboard and mouse.
2331.1Smattzs0	at obio0					# sun4m
2341.1Smattzstty0	at zs0 channel 0	# ttya
2351.1Smattzstty1	at zs0 channel 1	# ttyb
2361.1Smatt
2371.1Smattzs1	at obio0					# sun4m
2381.37Smacallanzstty*	at zs1 channel ?	# mouse/keyboard
2391.37Smacallan
2401.37Smacallankbd0	at zstty?
2411.37Smacallanms0	at zstty?
2421.37Smacallan
2431.37Smacallanwskbd*		at kbd? console ?
2441.37Smacallanwsmouse*	at ms?
2451.1Smatt
2461.1Smatt## Tadpole 3GX/3XL have a builtin modem that emulates a NS16450.
2471.1Smattcom*	at obio0					# sun4m (tadpole)
2481.1Smatt
2491.1Smatt## PCMCIA serial interfaces
2501.27Smacallancom*	at pcmcia?
2511.27Smacallanpcmcom*	at pcmcia?
2521.27Smacallancom*	at pcmcom?
2531.1Smatt
2541.1Smatt#### Disk controllers and disks
2551.1Smatt
2561.1Smatt#
2571.1Smatt
2581.1Smatt## The following flags may be set for the NCR53c94 based esp driver:
2591.1Smatt##	bits 0-7:  disable disconnect/reselect for the corresponding target
2601.1Smatt##	bits 8-15: disable synchronous negotiation for target [bit-8]
2611.1Smatt
2621.1Smatt## sun4/300, sun4c, sun4m on-board SCSI, and FSBE/S SBus SCSI cards.
2631.1Smatt## Both `dma' and `esp' are needed in all cases.
2641.1Smatt## Two kinds of additional SBus SCSI interfaces are available.  One uses
2651.1Smatt## "esp at sbus" like the sun4c on-board; the other uses "esp at dma".
2661.1Smatt
2671.1Smatt## sun4/300 SCSI - an NCR53c94 or equivalent behind
2681.1Smatt## an LSI Logic DMA controller
2691.1Smatt
2701.1Smattdma0	at sbus0 slot ? offset ?			# sun4c/sun4m
2711.1Smattesp0	at dma0 flags 0x0000				# sun4m
2721.1Smatt
2731.1Smattscsibus* at esp?
2741.1Smatt
2751.1Smatt## PCMCIA SCSI controllers
2761.1Smatt#aic*	at pcmcia?
2771.1Smatt#scsibus* at aic?
2781.1Smatt
2791.1Smatt## These entries find devices on all SCSI busses and assign
2801.1Smatt## unit numbers dynamically.
2811.1Smattsd*	at scsibus? target ? lun ?		# SCSI disks
2821.1Smattst*	at scsibus? target ? lun ?		# SCSI tapes
2831.1Smattcd*	at scsibus? target ? lun ?		# SCSI CD-ROMs
2841.1Smattch*	at scsibus? target ? lun ?		# SCSI changer devices
2851.1Smattss*	at scsibus? target ? lun ?		# SCSI scanners
2861.1Smattuk*	at scsibus? target ? lun ?		# unknown SCSI
2871.1Smatt
2881.1Smatt## PCMCIA IDE controllers
2891.27Smacallanwdc*	at pcmcia?
2901.27Smacallan
2911.27Smacallanatabus* at ata?
2921.27Smacallanwd*		at atabus? drive ? flags 0x0000
2931.1Smatt
2941.1Smatt## A disk-like interface to files.  Can be used to create floppy, CD,
2951.1Smatt## miniroot images, etc.
2961.1Smatt
2971.36Scubepseudo-device	vnd	
2981.1Smatt
2991.1Smatt## Memory disk device, used on boot floppies with compressed
3001.1Smatt## kernel-plus-root-disk images.
3011.1Smatt
3021.51Shannken#pseudo-device	md	
3031.1Smatt
3041.1Smatt
3051.1Smatt#### Network interfaces
3061.1Smatt
3071.1Smatt## LANCE Ethernet - an AMD 7990 LANCE behind specialized DMA glue
3081.1Smatt## Three flavors of additional SBus ethernets are available.  One attaches
3091.1Smatt## directly like the sun4c on-board, one uses the ledma device like the
3101.1Smatt## sun4m on-board, and one uses the lebuffer device.
3111.1Smatt
3121.1Smattledma0		at sbus0 slot ? offset ?		# sun4m on-board
3131.1Smattle0		at ledma0				# sun4m on-board
3141.1Smatt
3151.1Smatt# PCMCIA ethernet devices
3161.27Smacallanep*	at pcmcia?
3171.1Smatt#mbe*	at pcmcia?
3181.1Smatt#ne*	at pcmcia?
3191.1Smatt#sm*	at pcmcia?
3201.1Smatt
3211.27Smacallanwi*	at pcmcia?
3221.27Smacallan
3231.1Smatt## Loopback network interface; required
3241.1Smattpseudo-device	loop
3251.1Smatt
3261.1Smatt## PPP, the successor to SLIP.  See pppd(8).
3271.36Scubepseudo-device	ppp		
3281.1Smatt
3291.1Smatt## Network "tunnel" device, allowing protocol stacks to run in the userland.
3301.1Smatt## This is used by the third-party user-mode "ppp" program, and others.
3311.36Scubepseudo-device	tun		
3321.1Smatt
3331.1Smatt## Generic L3 over IP tunnel
3341.36Scube#pseudo-device	gre			# generic L3 over IP tunnel
3351.1Smatt
3361.1Smatt## Berkeley Packet Filter, required to run RARPD.  A generic C-language
3371.1Smatt## interface that allows selective examining of incoming packets.
3381.35Srpaulopseudo-device	bpfilter
3391.1Smatt
3401.1Smatt## IP Filter, used in firewall and NAT applications.  See ipnat(8) for
3411.1Smatt## one example of the use of the IP Filter.
3421.1Smattpseudo-device	ipfilter
3431.1Smatt
3441.1Smatt
3451.1Smatt#### Audio and video devices
3461.1Smatt
3471.28Smacallan## /dev/audio support
3481.28Smacallan
3491.44Sjdc#options 	DBRI_DEBUG	# noisy debug output from the dbri driver
3501.44Sjdcoptions 	DBRI_BIG_BUFFER	# use bigger DMA buffers, for slow CPUs
3511.28Smacallandbri0		at sbus0 slot ? offset ?		# SUNW,DBRI[s3|e]
3521.28Smacallanaudio*		at audiobus?
3531.2Smatt
3541.2Smatt# Tadpole 3GX/3GS (P9100 -- P Nine One Zero Zero -> pnozz)
3551.2Smattpnozz0 at sbus? slot ? offset ?
3561.44Sjdc#options 	PNOZZ_EMUL_CG3		# emulate a CG3 for Xsun instead of 
3571.37Smacallan					# running natively
3581.37Smacallan
3591.37Smacallanwsdisplay* 	at wsemuldisplaydev? console ?
3601.1Smatt
3611.1Smatt#### Other device configuration
3621.3Smatt
3631.3Smatt# Tadpole microcontroller
3641.3Smatttctrl0 at obio0
3651.1Smatt
3661.1Smatt## Pseudo ttys, required for network logins and programs like screen.
3671.1Smatt
3681.8Sjdolecekpseudo-device	pty			# pseudo-ttys (for network, etc.)
3691.1Smatt
3701.1Smatt## Random device, used to implement /dev/random (a source of random noise),
3711.1Smatt## and generate randomness for some kernel formulae.
3721.1Smatt
3731.16Slukem
3741.16Slukempseudo-device	clockctl		# user control of clock subsystem
3751.49Spooka#pseudo-device	fss			# file system snapshot device
3761.37Smacallan
3771.37Smacallanpseudo-device	wsmux			# mouse and keyboard multiplexor
3781.37Smacallanpseudo-device	wsfont
379