NET4501 revision 1.38
11.38Schristos# $NetBSD: NET4501,v 1.38 2005/08/19 02:03:52 christos Exp $
21.1Sthorpej#
31.1Sthorpej# NET4501 -- kernel configuration for a Soekris Engineering net4501
41.1Sthorpej# single-board computer.
51.1Sthorpej#
61.1Sthorpej#	http://www.soekris.com/
71.1Sthorpej# 
81.1Sthorpej
91.1Sthorpejinclude 	"arch/i386/conf/std.i386"
101.1Sthorpej
111.6Satatat#options 	INCLUDE_CONFIG_FILE	# embed config file in kernel binary
121.6Satatat
131.38Schristos#ident 		"NET4501-$Revision: 1.38 $"
141.1Sthorpej
151.1Sthorpejmaxusers	32		# estimated number of users
161.1Sthorpej
171.1Sthorpej# CPU support.  At least one is REQUIRED.
181.1Sthorpej#options 	I386_CPU
191.1Sthorpejoptions 	I486_CPU
201.1Sthorpej#options 	I586_CPU
211.1Sthorpej#options 	I686_CPU
221.15Sthorpej
231.15Sthorpej# AMD Elan SC520's timer runs at a different frequency
241.15Sthorpejoptions 	TIMER_FREQ=1189200
251.3Sthorpej
261.3Sthorpejmakeoptions	COPTS="-Os -mcpu=i486"
271.3Sthorpejoptions 	VNODE_OP_NOINLINE
281.1Sthorpej
291.1Sthorpej# CPU-related options.
301.1Sthorpej#options 	MATH_EMULATE	# floating point emulation
311.1Sthorpej#options 	VM86		# virtual 8086 emulation
321.1Sthorpej#options 	USER_LDT	# user-settable LDT; used by WINE
331.1Sthorpej
341.1Sthorpej#options 	MTRR		# memory-type range register syscall support
351.7Sgmcgarry#options 	PERFCTRS	# performance-monitoring counters support
361.1Sthorpej
371.1Sthorpej# delay between "rebooting ..." message and hardware reset, in milliseconds
381.1Sthorpej#options 	CPURESET_DELAY=2000
391.1Sthorpej
401.1Sthorpej# This option allows you to force a serial console at the specified
411.1Sthorpej# I/O address.   see console(4) for details.
421.1Sthorpej#options 	CONSDEVNAME="\"com\"",CONADDR=0x2f8,CONSPEED=57600
431.1Sthorpej#	you don't want the option below ON iff you are using the
441.1Sthorpej#	serial console option of the new boot strap code.
451.1Sthorpej#options 	CONS_OVERRIDE	# Always use above! independent of boot info
461.1Sthorpej
471.1Sthorpej# The following options override the memory sizes passed in from the boot
481.1Sthorpej# block.  Use them *only* if the boot block is unable to determine the correct
491.1Sthorpej# values.  Note that the BIOS may *correctly* report less than 640k of base
501.1Sthorpej# memory if the extended BIOS data area is located at the top of base memory
511.1Sthorpej# (as is the case on most recent systems).
521.1Sthorpej#options 	REALBASEMEM=639		# size of base memory (in KB)
531.1Sthorpej#options 	REALEXTMEM=15360	# size of extended memory (in KB)
541.1Sthorpej
551.1Sthorpej# Standard system options
561.1Sthorpej
571.1Sthorpejoptions 	INSECURE	# disable kernel security levels
581.1Sthorpej
591.1Sthorpejoptions 	RTC_OFFSET=0	# hardware clock is this many mins. west of GMT
601.1Sthorpejoptions 	NTP		# NTP phase/frequency locked loop
611.1Sthorpej
621.1Sthorpejoptions 	KTRACE		# system call tracing via ktrace(1)
631.1Sthorpej
641.1Sthorpejoptions 	SYSVMSG		# System V-like message queues
651.1Sthorpejoptions 	SYSVSEM		# System V-like semaphores
661.1Sthorpej#options 	SEMMNI=10	# number of semaphore identifiers
671.1Sthorpej#options 	SEMMNS=60	# number of semaphores in system
681.1Sthorpej#options 	SEMUME=10	# max number of undo entries per process
691.1Sthorpej#options 	SEMMNU=30	# number of undo structures in system
701.1Sthorpejoptions 	SYSVSHM		# System V-like memory sharing
711.9Swiz#options 	SHMMAXPGS=2048	# 2048 pages is the default
721.1Sthorpej
731.1Sthorpejoptions 	LKM		# loadable kernel modules
741.1Sthorpej
751.16Slukemoptions 	USERCONF	# userconf(4) support
761.1Sthorpej#options 	PIPE_SOCKETPAIR	# smaller, but slower pipe(2)
771.26Satatat#options 	SYSCTL_INCLUDE_DESCR	# Include sysctl descriptions in kernel
781.1Sthorpej
791.1Sthorpej# Diagnostic/debugging support options
801.1Sthorpej#options 	DIAGNOSTIC	# expensive kernel consistency checks
811.1Sthorpej#options 	DEBUG		# expensive debugging checks/support
821.1Sthorpej#options 	KMEMSTATS	# kernel memory statistics (vmstat -m)
831.1Sthorpejoptions 	DDB		# in-kernel debugger
841.18Sjmmv#options 	DDB_ONPANIC=1	# see also sysctl(8): `ddb.onpanic'
851.1Sthorpejoptions 	DDB_HISTORY_SIZE=512	# enable history editing in DDB
861.1Sthorpej#options 	KGDB		# remote debugger
871.1Sthorpej#options 	KGDB_DEVNAME="\"com\"",KGDB_DEVADDR=0x3f8,KGDB_DEVRATE=9600
881.1Sthorpej#makeoptions	DEBUG="-g"	# compile full symbol table
891.1Sthorpej
901.1Sthorpej# Compatibility options
911.19Sabsoptions 	COMPAT_NOMID	# NetBSD 0.8, 386BSD, and BSDI
921.19Sabsoptions 	COMPAT_09	# NetBSD 0.9
931.19Sabsoptions 	COMPAT_10	# NetBSD 1.0
941.19Sabsoptions 	COMPAT_11	# NetBSD 1.1
951.19Sabsoptions 	COMPAT_12	# NetBSD 1.2, 386BSD, and BSDI
961.19Sabsoptions 	COMPAT_13	# NetBSD 1.3, 386BSD, and BSDI
971.19Sabsoptions 	COMPAT_14	# NetBSD 1.4
981.19Sabsoptions 	COMPAT_15	# NetBSD 1.5
991.21Sitojunoptions 	COMPAT_16	# NetBSD 1.6
1001.33Ssimonboptions 	COMPAT_20	# NetBSD 2.0
1011.38Schristosoptions 	COMPAT_30	# NetBSD 3.0 compatibility.
1021.19Sabsoptions 	COMPAT_43	# 4.3BSD, 386BSD, and BSDI
1031.1Sthorpejoptions 	COMPAT_386BSD_MBRPART # recognize old partition ID
1041.1Sthorpej#options 	TCP_COMPAT_42	# 4.2BSD TCP/IP bug compat. Not recommended.
1051.1Sthorpej
1061.1Sthorpej#options 	COMPAT_SVR4	# binary compatibility with SVR4
1071.1Sthorpej#options 	COMPAT_IBCS2	# binary compatibility with SCO and ISC
1081.1Sthorpej#options 	COMPAT_LINUX	# binary compatibility with Linux
1091.1Sthorpej#options 	COMPAT_FREEBSD	# binary compatibility with FreeBSD
1101.1Sthorpej#options 	COMPAT_MACH	# binary compatibility with Mach binaries
1111.1Sthorpej#options 	EXEC_MACHO	# exec MACH-O binaries
1121.1Sthorpej#options 	COMPAT_PECOFF	# kernel support to run Win32 apps
1131.28Schristosoptions		COMPAT_BSDPTY	# /dev/[pt]ty?? ptys.
1141.1Sthorpej
1151.1Sthorpej# File systems
1161.1Sthorpejfile-system 	FFS		# UFS
1171.1Sthorpej#file-system 	EXT2FS		# second extended file system (linux)
1181.1Sthorpej#file-system 	LFS		# log-structured file system
1191.1Sthorpejfile-system 	MFS		# memory file system
1201.1Sthorpejfile-system 	NFS		# Network File System client
1211.1Sthorpej#file-system 	NTFS		# Windows/NT file system (experimental)
1221.1Sthorpej#file-system 	CD9660		# ISO 9660 + Rock Ridge file system
1231.1Sthorpej#file-system 	MSDOSFS		# MS-DOS file system
1241.1Sthorpejfile-system 	FDESC		# /dev/fd
1251.1Sthorpejfile-system 	KERNFS		# /kern
1261.1Sthorpej#file-system 	NULLFS		# loopback file system
1271.1Sthorpej#file-system 	OVERLAY		# overlay file system
1281.1Sthorpej#file-system 	PORTAL		# portal filesystem (still experimental)
1291.1Sthorpejfile-system 	PROCFS		# /proc
1301.1Sthorpej#file-system 	UMAPFS		# NULLFS + uid and gid remapping
1311.1Sthorpej#file-system 	UNION		# union file system
1321.1Sthorpej#file-system	CODA		# Coda File System; also needs vcoda (below)
1331.1Sthorpej
1341.1Sthorpej# File system options
1351.1Sthorpej#options 	QUOTA		# UFS quotas
1361.1Sthorpej#options 	FFS_EI		# FFS Endian Independent support
1371.1Sthorpejoptions 	SOFTDEP		# FFS soft updates support.
1381.32Sdsl#options 	FFS_NO_SNAPSHOT	# ffs snapshots
1391.1Sthorpej#options 	NFSSERVER	# Network File System server
1401.1Sthorpej#options 	EXT2FS_SYSTEM_FLAGS # makes ext2fs file flags (append and
1411.1Sthorpej				# immutable) behave as system flags.
1421.1Sthorpej
1431.1Sthorpej# Networking options
1441.2Sthorpejoptions 	GATEWAY		# packet forwarding
1451.1Sthorpejoptions 	INET		# IP + ICMP + TCP + UDP
1461.1Sthorpejoptions 	INET6		# IPV6
1471.1Sthorpej#options 	IPSEC		# IP security
1481.1Sthorpej#options 	IPSEC_ESP	# IP security (encryption part; define w/IPSEC)
1491.35Stron#options 	IPSEC_NAT_T	# IPsec NAT traversal (NAT-T)
1501.1Sthorpej#options 	IPSEC_DEBUG	# debug for IP security
1511.1Sthorpejoptions 	MROUTING	# IP multicast routing
1521.27Smanuoptions 	PIM		# Protocol Independent Multicast
1531.1Sthorpej#options 	NS		# XNS
1541.1Sthorpej#options 	NSIP		# XNS tunneling over IP
1551.1Sthorpej#options 	ISO,TPIP	# OSI
1561.1Sthorpej#options 	EON		# OSI tunneling over IP
1571.1Sthorpej#options 	CCITT,LLC,HDLC	# X.25
1581.1Sthorpej#options 	NETATALK	# AppleTalk networking protocols
1591.1Sthorpej#options 	PPP_BSDCOMP	# BSD-Compress compression support for PPP
1601.1Sthorpej#options 	PPP_DEFLATE	# Deflate compression support for PPP
1611.1Sthorpej#options 	PPP_FILTER	# Active filter support for PPP (requires bpf)
1621.1Sthorpejoptions 	PFIL_HOOKS	# pfil(9) packet filter hooks
1631.1Sthorpej#options 	IPFILTER_LOG	# ipmon(8) log support
1641.1Sthorpej#options 	TCP_DEBUG	# Record last TCP_NDEBUG packets with SO_DEBUG
1651.1Sthorpej
1661.1Sthorpej# These options enable verbose messages for several subsystems.
1671.1Sthorpej# Warning, these may compile large string tables into the kernel!
1681.1Sthorpej#options 	MIIVERBOSE	# verbose PHY autoconfig messages
1691.1Sthorpej#options 	PCIVERBOSE	# verbose PCI device autoconfig messages
1701.1Sthorpej#options 	PCI_CONFIG_DUMP	# verbosely dump PCI config space
1711.1Sthorpej
1721.1Sthorpejoptions 	NFS_BOOT_DHCP,NFS_BOOT_BOOTPARAM
1731.1Sthorpej
1741.1Sthorpej# Kernel root file system and dump configuration.
1751.1Sthorpejconfig		netbsd	root on ? type ?
1761.1Sthorpej#config		netbsd	root on sd0a type ffs
1771.1Sthorpej#config		netbsd	root on ? type nfs
1781.1Sthorpej
1791.1Sthorpej#
1801.1Sthorpej# Device configuration
1811.1Sthorpej#
1821.1Sthorpej
1831.1Sthorpejmainbus0 at root
1841.17Sfvdlcpu0 	at mainbus0
1851.1Sthorpej
1861.1Sthorpej# Basic Bus Support
1871.1Sthorpej
1881.1Sthorpej# PCI bus support
1891.1Sthorpejpci*	at mainbus? bus ?
1901.1Sthorpej
1911.1Sthorpej# Configure PCI using BIOS information
1921.1Sthorpej#options 	PCIBIOS			# PCI BIOS support
1931.1Sthorpej#options 	PCIBIOSVERBOSE		# PCI BIOS verbose info
1941.34Ssekiya#options 	PCI_ADDR_FIXUP		# fixup PCI I/O addresses
1951.34Ssekiya#options 	PCI_BUS_FIXUP		# fixup PCI bus numbering
1961.34Ssekiya#options 	PCI_INTR_FIXUP		# fixup PCI interrupt routing
1971.1Sthorpej#options 	PCIBIOS_IRQS_HINT=0x0a00 # PCI interrupts hint. IRQ 9 or 11
1981.1Sthorpej#options 	PCIBIOS_INTR_GUESS	# see pcibios(4)
1991.1Sthorpej#options 	PCIINTR_DEBUG		# super-verbose PCI interrupt fixup
2001.1Sthorpej
2011.1Sthorpej# PCI bridges
2021.14Sthorpejelansc*	at pci? dev ? function ?	# Elan SC520 System Controller
2031.1Sthorpej
2041.1Sthorpej# ISA bus support
2051.1Sthorpejisa0	at mainbus?
2061.1Sthorpej
2071.13Sitojun# CardBus bridge support
2081.13Sitojuncbb*		at pci? dev ? function ?
2091.13Sitojuncardslot*	at cbb?
2101.13Sitojun
2111.13Sitojun# CardBus bus support
2121.13Sitojuncardbus*	at cardslot?
2131.13Sitojunpcmcia* 	at cardslot?
2141.22Sdyoung
2151.22Sdyoung# Cardbus NICs
2161.23Sdyoungath*	at cardbus? dev ? function ?	# Atheros 5210/5211/5212 802.11
2171.22Sdyoungatw*	at cardbus? dev ? function ?	# ADMtek ADM8211 (802.11)
2181.13Sitojun
2191.1Sthorpej# Coprocessor Support
2201.1Sthorpej
2211.1Sthorpej# Math Coprocessor support
2221.1Sthorpejnpx0	at isa? port 0xf0 irq 13	# x86 math coprocessor
2231.1Sthorpej
2241.1Sthorpej# ISA serial interfaces
2251.1Sthorpejcom0	at isa? port 0x3f8 irq 4	# Standard PC serial ports
2261.1Sthorpejcom1	at isa? port 0x2f8 irq 3
2271.1Sthorpej
2281.1Sthorpej# IDE and related devices
2291.1Sthorpej
2301.24Scube# ATA (IDE) bus support
2311.24Scubeatabus*	at ata?
2321.24Scube
2331.1Sthorpej# ISA ST506, ESDI, and IDE controllers
2341.1Sthorpej# Use flags 0x01 if you want to try to use 32bits data I/O (the driver will
2351.1Sthorpej# fall back to 16bits I/O if 32bits I/O are not functional).
2361.1Sthorpej# Some controllers pass the initial 32bit test, but will fail later.
2371.1Sthorpejwdc0	at isa? port 0x1f0 irq 14 flags 0x00
2381.1Sthorpej
2391.1Sthorpej# IDE drives
2401.1Sthorpej# Flags are used only with controllers that support DMA operations
2411.1Sthorpej# and mode settings (e.g. some pciide controllers)
2421.1Sthorpej# The lowest order four bits (rightmost digit) of the flags define the PIO
2431.1Sthorpej# mode to use, the next set of four bits the DMA mode and the third set the
2441.1Sthorpej# UltraDMA mode. For each set of four bits, the 3 lower bits define the mode
2451.1Sthorpej# to use, and the last bit must be 1 for this setting to be used.
2461.1Sthorpej# For DMA and UDMA, 0xf (1111) means 'disable'.
2471.1Sthorpej# 0x0fac means 'use PIO mode 4, DMA mode 2, disable UltraDMA'.
2481.1Sthorpej# (0xc=1100, 0xa=1010, 0xf=1111)
2491.1Sthorpej# 0x0000 means "use whatever the drive claims to support".
2501.24Scubewd*	at atabus? drive ? flags 0x0000
2511.1Sthorpej
2521.1Sthorpej# Network Interfaces
2531.1Sthorpej
2541.1Sthorpej# PCI network interfaces
2551.1Sthorpejsip*	at pci? dev ? function ?	# SiS 900/DP83815 Ethernet
2561.12Sthorpejwi*	at pci? dev ? function ?	# Intersil Prism Mini-PCI (802.11b)
2571.13Sitojun
2581.13Sitojun# PCMCIA network interfaces
2591.13Sitojunwi*	at pcmcia? function ?		# Lucent/Intersil WaveLan IEEE (802.11)
2601.1Sthorpej
2611.1Sthorpej# MII/PHY support
2621.1Sthorpejnsphyter* at mii? phy ?			# NS83843 PHYs
2631.1Sthorpej
2641.1Sthorpej# Pseudo-Devices
2651.1Sthorpej
2661.1Sthorpej# network pseudo-devices
2671.1Sthorpejpseudo-device	bpfilter	16	# Berkeley packet filter
2681.1Sthorpejpseudo-device	ipfilter		# IP filter (firewall) and NAT
2691.1Sthorpejpseudo-device	loop			# network loopback
2701.1Sthorpej#pseudo-device	ppp		2	# Point-to-Point Protocol
2711.1Sthorpej#pseudo-device	pppoe			# PPP over Ethernet (RFC 2516)
2721.1Sthorpej#pseudo-device	sl		2	# Serial Line IP
2731.1Sthorpej#pseudo-device	strip		2	# Starmode Radio IP (Metricom)
2741.1Sthorpejpseudo-device	tun		2	# network tunneling over tty
2751.29Scube#pseudo-device	tap			# virtual Ethernet
2761.1Sthorpej#pseudo-device	gre		2	# generic L3 over IP tunnel
2771.1Sthorpejpseudo-device	gif		4	# IPv[46] over IPv[46] tunnel (RFC1933)
2781.1Sthorpejpseudo-device	faith		1	# IPv[46] tcp relay translation i/f
2791.1Sthorpejpseudo-device	stf		1	# 6to4 IPv6 over IPv4 encapsulation
2801.1Sthorpejpseudo-device	vlan			# IEEE 802.1q encapsulation
2811.1Sthorpejpseudo-device	bridge			# simple inter-network bridging
2821.1Sthorpej
2831.1Sthorpej# miscellaneous pseudo-devices
2841.1Sthorpejpseudo-device	pty			# pseudo-terminals
2851.1Sthorpej#pseudo-device	tb		1	# tablet line discipline
2861.1Sthorpej#pseudo-device	sequencer	1	# MIDI sequencer
2871.1Sthorpej# rnd works; RND_COM does not on port i386 yet.
2881.1Sthorpejpseudo-device	rnd			# /dev/random and in-kernel generator
2891.1Sthorpej#options 	RND_COM			# use "com" randomness as well (BROKEN)
2901.8Slukempseudo-device	clockctl		# user control of clock subsystem
2911.30Shannken#pseudo-device	fss		4	# file system snapshot device
292