11.106Schristos# $NetBSD: NET4501,v 1.106 2024/01/29 18:27:13 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.76Sryo#
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.106Schristos#ident 		"NET4501-$Revision: 1.106 $"
141.1Sthorpej
151.1Sthorpejmaxusers	32		# estimated number of users
161.1Sthorpej
171.15Sthorpej# AMD Elan SC520's timer runs at a different frequency
181.15Sthorpejoptions 	TIMER_FREQ=1189200
191.3Sthorpej
201.76Sryomakeoptions	COPTS="-Os"
211.1Sthorpej
221.1Sthorpej# CPU-related options.
231.1Sthorpej#options 	USER_LDT	# user-settable LDT; used by WINE
241.1Sthorpej
251.1Sthorpej#options 	MTRR		# memory-type range register syscall support
261.1Sthorpej
271.1Sthorpej# delay between "rebooting ..." message and hardware reset, in milliseconds
281.1Sthorpej#options 	CPURESET_DELAY=2000
291.1Sthorpej
301.1Sthorpej# This option allows you to force a serial console at the specified
311.1Sthorpej# I/O address.   see console(4) for details.
321.1Sthorpej#options 	CONSDEVNAME="\"com\"",CONADDR=0x2f8,CONSPEED=57600
331.1Sthorpej#	you don't want the option below ON iff you are using the
341.1Sthorpej#	serial console option of the new boot strap code.
351.1Sthorpej#options 	CONS_OVERRIDE	# Always use above! independent of boot info
361.1Sthorpej
371.1Sthorpej# The following options override the memory sizes passed in from the boot
381.1Sthorpej# block.  Use them *only* if the boot block is unable to determine the correct
391.1Sthorpej# values.  Note that the BIOS may *correctly* report less than 640k of base
401.1Sthorpej# memory if the extended BIOS data area is located at the top of base memory
411.1Sthorpej# (as is the case on most recent systems).
421.1Sthorpej#options 	REALBASEMEM=639		# size of base memory (in KB)
431.1Sthorpej#options 	REALEXTMEM=15360	# size of extended memory (in KB)
441.1Sthorpej
451.1Sthorpej# Standard system options
461.1Sthorpej
471.1Sthorpejoptions 	INSECURE	# disable kernel security levels
481.1Sthorpej
491.1Sthorpejoptions 	RTC_OFFSET=0	# hardware clock is this many mins. west of GMT
501.1Sthorpejoptions 	NTP		# NTP phase/frequency locked loop
511.1Sthorpej
521.1Sthorpejoptions 	KTRACE		# system call tracing via ktrace(1)
531.1Sthorpej
541.1Sthorpejoptions 	SYSVMSG		# System V-like message queues
551.1Sthorpejoptions 	SYSVSEM		# System V-like semaphores
561.1Sthorpej#options 	SEMMNI=10	# number of semaphore identifiers
571.1Sthorpej#options 	SEMMNS=60	# number of semaphores in system
581.1Sthorpej#options 	SEMUME=10	# max number of undo entries per process
591.1Sthorpej#options 	SEMMNU=30	# number of undo structures in system
601.1Sthorpejoptions 	SYSVSHM		# System V-like memory sharing
611.1Sthorpej
621.16Slukemoptions 	USERCONF	# userconf(4) support
631.1Sthorpej#options 	PIPE_SOCKETPAIR	# smaller, but slower pipe(2)
641.26Satatat#options 	SYSCTL_INCLUDE_DESCR	# Include sysctl descriptions in kernel
651.1Sthorpej
661.1Sthorpej# Diagnostic/debugging support options
671.85Sdholland#options 	DIAGNOSTIC	# inexpensive kernel consistency checks
681.1Sthorpej#options 	DEBUG		# expensive debugging checks/support
691.1Sthorpejoptions 	DDB		# in-kernel debugger
701.89Suebayasipseudo-device	ksyms
711.84Sszptvlfn#options 	DDB_ONPANIC=1	# see also sysctl(7): `ddb.onpanic'
721.1Sthorpejoptions 	DDB_HISTORY_SIZE=512	# enable history editing in DDB
731.1Sthorpej#options 	KGDB		# remote debugger
741.1Sthorpej#options 	KGDB_DEVNAME="\"com\"",KGDB_DEVADDR=0x3f8,KGDB_DEVRATE=9600
751.76Sryo#makeoptions	DEBUG="-g"	# compile full symbol table
761.1Sthorpej
771.1Sthorpej# Compatibility options
781.99Smrginclude 	"conf/compat_netbsd09.config"
791.97Smaxvoptions 	COMPAT_NOMID	# NetBSD 0.8, 386BSD, and BSDI
801.1Sthorpejoptions 	COMPAT_386BSD_MBRPART # recognize old partition ID
811.1Sthorpej
821.1Sthorpej#options 	COMPAT_LINUX	# binary compatibility with Linux
831.105Snia#options 	COMPAT_OSSAUDIO	# binary compatibility with Linux
841.1Sthorpej
851.1Sthorpej# File systems
861.71Sdhollandfile-system	FFS		# UFS
871.71Sdholland#file-system	EXT2FS		# second extended file system (linux)
881.71Sdholland#file-system	LFS		# log-structured file system
891.71Sdhollandfile-system	MFS		# memory file system
901.71Sdhollandfile-system	NFS		# Network File System client
911.71Sdholland#file-system	NTFS		# Windows/NT file system (experimental)
921.71Sdholland#file-system	CD9660		# ISO 9660 + Rock Ridge file system
931.71Sdholland#file-system	MSDOSFS		# MS-DOS file system
941.71Sdhollandfile-system	FDESC		# /dev/fd
951.71Sdhollandfile-system	KERNFS		# /kern
961.71Sdholland#file-system	NULLFS		# loopback file system
971.71Sdholland#file-system	OVERLAY		# overlay file system
981.71Sdhollandfile-system	PROCFS		# /proc
991.71Sdholland#file-system	UMAPFS		# NULLFS + uid and gid remapping
1001.71Sdholland#file-system	UNION		# union file system
1011.71Sdholland#file-system	CODA		# Coda File System; also needs vcoda (below)
1021.71Sdhollandfile-system	PTYFS		# /dev/pts/N support
1031.71Sdholland#file-system	TMPFS		# Efficient memory file-system
1041.1Sthorpej
1051.1Sthorpej# File system options
1061.73Sbouyer#options 	QUOTA		# legacy UFS quotas
1071.73Sbouyer#options 	QUOTA2		# new, in-filesystem UFS quotas
1081.100Srin#options 	DISKLABEL_EI	# disklabel Endian Independent support
1091.1Sthorpej#options 	FFS_EI		# FFS Endian Independent support
1101.43Stsutsui#options 	FFS_NO_SNAPSHOT	# No FFS snapshot support
1111.1Sthorpej#options 	NFSSERVER	# Network File System server
1121.1Sthorpej
1131.1Sthorpej# Networking options
1141.2Sthorpejoptions 	GATEWAY		# packet forwarding
1151.1Sthorpejoptions 	INET		# IP + ICMP + TCP + UDP
1161.70Sdhollandoptions 	INET6		# IPv6
1171.1Sthorpej#options 	IPSEC		# IP security
1181.1Sthorpej#options 	IPSEC_DEBUG	# debug for IP security
1191.1Sthorpejoptions 	MROUTING	# IP multicast routing
1201.27Smanuoptions 	PIM		# Protocol Independent Multicast
1211.1Sthorpej#options 	NETATALK	# AppleTalk networking protocols
1221.1Sthorpej#options 	PPP_BSDCOMP	# BSD-Compress compression support for PPP
1231.1Sthorpej#options 	PPP_DEFLATE	# Deflate compression support for PPP
1241.1Sthorpej#options 	PPP_FILTER	# Active filter support for PPP (requires bpf)
1251.1Sthorpej#options 	TCP_DEBUG	# Record last TCP_NDEBUG packets with SO_DEBUG
1261.1Sthorpej
1271.1Sthorpej# These options enable verbose messages for several subsystems.
1281.1Sthorpej# Warning, these may compile large string tables into the kernel!
1291.1Sthorpej#options 	MIIVERBOSE	# verbose PHY autoconfig messages
1301.1Sthorpej#options 	PCIVERBOSE	# verbose PCI device autoconfig messages
1311.1Sthorpej#options 	PCI_CONFIG_DUMP	# verbosely dump PCI config space
1321.1Sthorpej
1331.1Sthorpejoptions 	NFS_BOOT_DHCP,NFS_BOOT_BOOTPARAM
1341.1Sthorpej
1351.1Sthorpej# Kernel root file system and dump configuration.
1361.1Sthorpejconfig		netbsd	root on ? type ?
1371.1Sthorpej#config		netbsd	root on sd0a type ffs
1381.1Sthorpej#config		netbsd	root on ? type nfs
1391.1Sthorpej
1401.1Sthorpej#
1411.1Sthorpej# Device configuration
1421.1Sthorpej#
1431.1Sthorpej
1441.1Sthorpej# Basic Bus Support
1451.1Sthorpej
1461.1Sthorpej# PCI bus support
1471.61Sdyoungpci*	at elansc? bus ?
1481.1Sthorpej
1491.1Sthorpej# Configure PCI using BIOS information
1501.1Sthorpej#options 	PCIBIOS			# PCI BIOS support
1511.1Sthorpej#options 	PCIBIOSVERBOSE		# PCI BIOS verbose info
1521.34Ssekiya#options 	PCI_ADDR_FIXUP		# fixup PCI I/O addresses
1531.34Ssekiya#options 	PCI_BUS_FIXUP		# fixup PCI bus numbering
1541.34Ssekiya#options 	PCI_INTR_FIXUP		# fixup PCI interrupt routing
1551.1Sthorpej#options 	PCIBIOS_IRQS_HINT=0x0a00 # PCI interrupts hint. IRQ 9 or 11
1561.1Sthorpej#options 	PCIBIOS_INTR_GUESS	# see pcibios(4)
1571.1Sthorpej#options 	PCIINTR_DEBUG		# super-verbose PCI interrupt fixup
1581.1Sthorpej
1591.1Sthorpej# PCI bridges
1601.71Sdhollandelansc* at mainbus? bus ?			# Elan SC520 System Controller
1611.66Sdyoung#elanpar*	at elansc?			# Programmable Address Regions
1621.66Sdyoung#elanpex*	at elansc?			# PCI Exception Instrumentation
1631.76Sryogpio*		at elansc?
1641.48Sriz#gpioow* 	at gpio? offset 6 mask 0x1	# 1-wire bus bitbanging via gpio
1651.48Sriz#onewire*	at gpioow?
1661.48Sriz
1671.48Sriz# 1-Wire devices
1681.48Sriz#owtemp* 	at onewire?			# Temperature sensors
1691.1Sthorpej
1701.1Sthorpej# ISA bus support
1711.1Sthorpejisa0	at mainbus?
1721.1Sthorpej
1731.13Sitojun# CardBus bridge support
1741.13Sitojuncbb*		at pci? dev ? function ?
1751.13Sitojuncardslot*	at cbb?
1761.13Sitojun
1771.13Sitojun# CardBus bus support
1781.13Sitojuncardbus*	at cardslot?
1791.13Sitojunpcmcia* 	at cardslot?
1801.22Sdyoung
1811.22Sdyoung# Cardbus NICs
1821.40Sdrochnerath*	at cardbus? function ?	# Atheros 5210/5211/5212 802.11
1831.40Sdrochneratw*	at cardbus? function ?	# ADMtek ADM8211 (802.11)
1841.66Sdyoungral*	at cardbus? function ?	# Ralink RT2x60 (802.11)
1851.66Sdyoungrtw*	at cardbus? function ?	# Realtek RTL8180 (802.11)
1861.13Sitojun
1871.1Sthorpej# ISA serial interfaces
1881.1Sthorpejcom0	at isa? port 0x3f8 irq 4	# Standard PC serial ports
1891.1Sthorpejcom1	at isa? port 0x2f8 irq 3
1901.1Sthorpej
1911.1Sthorpej# IDE and related devices
1921.1Sthorpej
1931.24Scube# ATA (IDE) bus support
1941.71Sdhollandatabus* at ata?
1951.24Scube
1961.1Sthorpej# ISA ST506, ESDI, and IDE controllers
1971.1Sthorpej# Use flags 0x01 if you want to try to use 32bits data I/O (the driver will
1981.1Sthorpej# fall back to 16bits I/O if 32bits I/O are not functional).
1991.1Sthorpej# Some controllers pass the initial 32bit test, but will fail later.
2001.1Sthorpejwdc0	at isa? port 0x1f0 irq 14 flags 0x00
2011.1Sthorpej
2021.1Sthorpej# IDE drives
2031.1Sthorpej# Flags are used only with controllers that support DMA operations
2041.1Sthorpej# and mode settings (e.g. some pciide controllers)
2051.1Sthorpej# The lowest order four bits (rightmost digit) of the flags define the PIO
2061.1Sthorpej# mode to use, the next set of four bits the DMA mode and the third set the
2071.1Sthorpej# UltraDMA mode. For each set of four bits, the 3 lower bits define the mode
2081.1Sthorpej# to use, and the last bit must be 1 for this setting to be used.
2091.1Sthorpej# For DMA and UDMA, 0xf (1111) means 'disable'.
2101.1Sthorpej# 0x0fac means 'use PIO mode 4, DMA mode 2, disable UltraDMA'.
2111.1Sthorpej# (0xc=1100, 0xa=1010, 0xf=1111)
2121.1Sthorpej# 0x0000 means "use whatever the drive claims to support".
2131.24Scubewd*	at atabus? drive ? flags 0x0000
2141.1Sthorpej
2151.1Sthorpej# Network Interfaces
2161.1Sthorpej
2171.1Sthorpej# PCI network interfaces
2181.66Sdyoungath*	at pci? dev ? function ?	# Atheros 5210/5211/5212 802.11
2191.66Sdyoung#ipw*	at pci? dev ? function ?	# Intel PRO/Wireless 2100
2201.66Sdyoung#iwi*	at pci? dev ? function ?	# Intel PRO/Wireless 2200BG
2211.1Sthorpejsip*	at pci? dev ? function ?	# SiS 900/DP83815 Ethernet
2221.12Sthorpejwi*	at pci? dev ? function ?	# Intersil Prism Mini-PCI (802.11b)
2231.13Sitojun
2241.66Sdyoung# PCI crypto coprocessors
2251.66Sdyounghifn*	at pci? dev ? function ?	# Hifn 7755/7811/795x
2261.66Sdyoung
2271.13Sitojun# PCMCIA network interfaces
2281.66Sdyoungawi*	at pcmcia? function ?
2291.70Sdhollandwi*	at pcmcia? function ?		# Lucent/Intersil WaveLAN/IEEE (802.11)
2301.1Sthorpej
2311.1Sthorpej# MII/PHY support
2321.71Sdhollandnsphyter* at mii? phy ? 		# NS83843 PHYs
2331.1Sthorpej
2341.1Sthorpej# Pseudo-Devices
2351.1Sthorpej
2361.66Sdyoungpseudo-device 	crypto		# opencrypto framework
2371.66Sdyoung
2381.1Sthorpej# network pseudo-devices
2391.46Srpaulopseudo-device	bpfilter		# Berkeley packet filter
2401.102Smaxvpseudo-device	npf			# NPF packet filter
2411.1Sthorpejpseudo-device	loop			# network loopback
2421.64Sispseudo-device	ppp			# Point-to-Point Protocol
2431.64Sispseudo-device	pppoe			# PPP over Ethernet (RFC 2516)
2441.47Scube#pseudo-device	sl			# Serial Line IP
2451.47Scubepseudo-device	tun			# network tunneling over tty
2461.64Sispseudo-device	tap			# virtual Ethernet
2471.64Sispseudo-device	gre			# generic L3 over IP tunnel
2481.70Sdhollandpseudo-device	gif			# IPv[46] over IPv[46] tunnel (RFC 1933)
2491.70Sdhollandpseudo-device	faith			# IPv[46] TCP relay translation i/f
2501.47Scubepseudo-device	stf			# 6to4 IPv6 over IPv4 encapsulation
2511.1Sthorpejpseudo-device	vlan			# IEEE 802.1q encapsulation
2521.1Sthorpejpseudo-device	bridge			# simple inter-network bridging
2531.104Sroypseudo-device	vether			# Virtual Ethernet for bridge
2541.1Sthorpej
2551.1Sthorpej# miscellaneous pseudo-devices
2561.1Sthorpejpseudo-device	pty			# pseudo-terminals
2571.80Schristos#pseudo-device	sequencer		# MIDI sequencer
2581.1Sthorpej# rnd works; RND_COM does not on port i386 yet.
2591.1Sthorpej#options 	RND_COM			# use "com" randomness as well (BROKEN)
2601.8Slukempseudo-device	clockctl		# user control of clock subsystem
2611.72Spooka#pseudo-device	fss			# file system snapshot device
262