# NET4501 -- kernel configuration for a Soekris Engineering net4501
# single-board computer.
#
#	http://www.soekris.com/
# 
# 	By yazzy@yazzy.org
#

include 	"arch/i386/conf/std.i386"

#options 	INCLUDE_CONFIG_FILE	# embed config file in kernel binary

#ident 		"WIFIBSD-NET4501-$Revision: 0.1.0 $"

# Enable the hooks used for initializing the root memory-disk.
options 	MEMORY_DISK_HOOKS
options 	MEMORY_DISK_IS_ROOT	# force root on memory disk
options 	MEMORY_DISK_SERVER=0	# no userspace memory disk support
options 	MEMORY_DISK_ROOT_SIZE=10000	# size of memory disk, in blocks
options 	MEMORY_RBFLAGS=0	# don't force single user

maxusers	32		# estimated number of users

# CPU support.  At least one is REQUIRED.
#options 	I386_CPU
options 	I486_CPU
#options 	I586_CPU
#options 	I686_CPU

# AMD Elan SC520's timer runs at a different frequency
options 	TIMER_FREQ=1189200

makeoptions	COPTS="-Os -mcpu=i486"
options 	VNODE_OP_NOINLINE

# eliminate delay no-ops in I/O; recommended on all but very old machines
options         DUMMY_NOPS

# CPU-related options.
#options 	MATH_EMULATE	# floating point emulation
#options 	VM86		# virtual 8086 emulation
#options 	USER_LDT	# user-settable LDT; used by WINE

#options 	MTRR		# memory-type range register syscall support
#options 	PERFCTRS	# performance-monitoring counters support

# delay between "rebooting ..." message and hardware reset, in milliseconds
#options 	CPURESET_DELAY=2000

# This option allows you to force a serial console at the specified
# I/O address.   see console(4) for details.
#options 	CONSDEVNAME="\"com\"",CONADDR=0x2f8,CONSPEED=57600
#	you don't want the option below ON iff you are using the
#	serial console option of the new boot strap code.
#options 	CONS_OVERRIDE	# Always use above! independent of boot info

# The following options override the memory sizes passed in from the boot
# block.  Use them *only* if the boot block is unable to determine the correct
# values.  Note that the BIOS may *correctly* report less than 640k of base
# memory if the extended BIOS data area is located at the top of base memory
# (as is the case on most recent systems).
#options 	REALBASEMEM=639		# size of base memory (in KB)
#options 	REALEXTMEM=15360	# size of extended memory (in KB)

# Standard system options

options         UCONSOLE        # users can use TIOCCONS (for xconsole)
options 	INSECURE	# disable kernel security levels

options 	RTC_OFFSET=0	# hardware clock is this many mins. west of GMT
options 	NTP		# NTP phase/frequency locked loop

options 	KTRACE		# system call tracing via ktrace(1)

options 	SYSVMSG		# System V-like message queues
options 	SYSVSEM		# System V-like semaphores
#options 	SEMMNI=10	# number of semaphore identifiers
#options 	SEMMNS=60	# number of semaphores in system
#options 	SEMUME=10	# max number of undo entries per process
#options 	SEMMNU=30	# number of undo structures in system
options 	SYSVSHM		# System V-like memory sharing
#options 	SHMMAXPGS=2048	# 2048 pages is the default

#options 	LKM		# loadable kernel modules

#options 	USERCONF	# userconf(4) support
#options 	PIPE_SOCKETPAIR	# smaller, but slower pipe(2)
#options 	SYSCTL_INCLUDE_DESCR	# Include sysctl descriptions in kernel

# Diagnostic/debugging support options
#options 	DIAGNOSTIC	# expensive kernel consistency checks
#options 	DEBUG		# expensive debugging checks/support
#options 	KMEMSTATS	# kernel memory statistics (vmstat -m)
#options 	DDB		# in-kernel debugger
#options 	DDB_FROMCONSOLE=0
#options 	DDB_ONPANIC=1	# see also sysctl(8): `ddb.onpanic'
#options 	DDB_HISTORY_SIZE=512	# enable history editing in DDB
#options 	KGDB		# remote debugger
#options 	KGDB_DEVNAME="\"com\"",KGDB_DEVADDR=0x3f8,KGDB_DEVRATE=9600
#makeoptions	DEBUG="-g"	# compile full symbol table

# Compatibility options
#options 	COMPAT_NOMID	# NetBSD 0.8, 386BSD, and BSDI
#options 	COMPAT_09	# NetBSD 0.9
#options 	COMPAT_10	# NetBSD 1.0
#options 	COMPAT_11	# NetBSD 1.1
#options 	COMPAT_12	# NetBSD 1.2, 386BSD, and BSDI
#options 	COMPAT_13	# NetBSD 1.3, 386BSD, and BSDI
#options 	COMPAT_14	# NetBSD 1.4
#options 	COMPAT_15	# NetBSD 1.5
#options 	COMPAT_16	# NetBSD 1.6
#options 	COMPAT_43	# 4.3BSD, 386BSD, and BSDI
#options 	COMPAT_386BSD_MBRPART # recognize old partition ID
#options 	TCP_COMPAT_42	# 4.2BSD TCP/IP bug compat. Not recommended.

#options 	COMPAT_SVR4	# binary compatibility with SVR4
#options 	COMPAT_IBCS2	# binary compatibility with SCO and ISC
#options 	COMPAT_LINUX	# binary compatibility with Linux
#options 	COMPAT_FREEBSD	# binary compatibility with FreeBSD
#options 	COMPAT_MACH	# binary compatibility with Mach binaries
#options 	EXEC_MACHO	# exec MACH-O binaries
#options 	COMPAT_PECOFF	# kernel support to run Win32 apps

# File systems
file-system 	FFS		# UFS
file-system 	MFS		# memory file system
#file-system 	CD9660		# ISO 9660 + Rock Ridge file system
file-system 	FDESC		# /dev/fd
file-system 	KERNFS		# /kern
file-system 	PROCFS		# /proc

# File system options
#options 	QUOTA		# UFS quotas
#options 	FFS_EI		# FFS Endian Independent support
#options 	SOFTDEP		# FFS soft updates support.
#options 	NFSSERVER	# Network File System server
#options 	EXT2FS_SYSTEM_FLAGS # makes ext2fs file flags (append and
				# immutable) behave as system flags.

# Networking options
options 	GATEWAY		# packet forwarding
options 	INET		# IP + ICMP + TCP + UDP
options 	INET6		# IPV6
options 	FAST_IPSEC
options 	MROUTING	# IP multicast routing
#options 	NS		# XNS
#options 	NSIP		# XNS tunneling over IP
#options 	ISO,TPIP	# OSI
#options 	EON		# OSI tunneling over IP
#options 	CCITT,LLC,HDLC	# X.25
#options 	NETATALK	# AppleTalk networking protocols
#options 	PPP_BSDCOMP	# BSD-Compress compression support for PPP
#options 	PPP_DEFLATE	# Deflate compression support for PPP
#options 	PPP_FILTER	# Active filter support for PPP (requires bpf)
options 	PFIL_HOOKS	# pfil(9) packet filter hooks
options 	IPFILTER_LOG	# ipmon(8) log support
#options 	TCP_DEBUG	# Record last TCP_NDEBUG packets with SO_DEBUG

#options        ALTQ            # Manipulate network interfaces' output queues
#options        ALTQ_BLUE       # Stochastic Fair Blue
#options        ALTQ_CBQ        # Class-Based Queueing
#options        ALTQ_CDNR       # Diffserv Traffic Conditioner
#options        ALTQ_FIFOQ      # First-In First-Out Queue
#options        ALTQ_FLOWVALVE  # RED/flow-valve (red-penalty-box)
#options        ALTQ_HFSC       # Hierarchical Fair Service Curve
#options        ALTQ_LOCALQ     # Local queueing discipline
#options        ALTQ_PRIQ       # Priority Queueing
#options        ALTQ_RED        # Random Early Detection
#options        ALTQ_RIO        # RED with IN/OUT
#options        ALTQ_WFQ        # Weighted Fair Queueing

# These options enable verbose messages for several subsystems.
# Warning, these may compile large string tables into the kernel!
#options 	MIIVERBOSE	# verbose PHY autoconfig messages
#options 	PCIVERBOSE	# verbose PCI device autoconfig messages
#options 	PCI_CONFIG_DUMP	# verbosely dump PCI config space

#options 	NFS_BOOT_DHCP,NFS_BOOT_BOOTPARAM

# Kernel root file system and dump configuration.
#config		netbsd	root on ? type ?
config		netbsd	root on ? type ? dumps on none
#config		netbsd	root on sd0a type ffs
#config		netbsd	root on ? type nfs

#
# Device configuration
#

mainbus0 at root
cpu0 	at mainbus0

# Basic Bus Support

# PCI bus support
pci*	at mainbus? bus ?
#pci*    at pchb? bus ?

# Configure PCI using BIOS information
#options 	PCIBIOS			# PCI BIOS support
#options 	PCIBIOSVERBOSE		# PCI BIOS verbose info
#options 	PCIBIOS_ADDR_FIXUP	# fixup PCI I/O addresses
#options 	PCIBIOS_BUS_FIXUP	# fixup PCI bus numbering
#options 	PCIBIOS_INTR_FIXUP	# fixup PCI interrupt routing
#options 	PCIBIOS_IRQS_HINT=0x0a00 # PCI interrupts hint. IRQ 9 or 11
#options 	PCIBIOS_INTR_GUESS	# see pcibios(4)
#options 	PCIINTR_DEBUG		# super-verbose PCI interrupt fixup

# PCI bridges
elansc*	at pci? dev ? function ?	# Elan SC520 System Controller
#pchb*   at pci? dev ? function ?        # PCI-Host bridges

# ISA bus support
isa0	at mainbus?

# CardBus bridge support
cbb*		at pci? dev ? function ?
cardslot*	at cbb?

# CardBus bus support
cardbus*	at cardslot?
pcmcia* 	at cardslot?

# Cardbus NICs
ath*	at cardbus? dev ? function ?	# Atheros 5210/5211/5212 802.11
atw*	at cardbus? dev ? function ?	# ADMtek ADM8211 (802.11)

# Coprocessor Support

# Math Coprocessor support
npx0	at isa? port 0xf0 irq 13	# x86 math coprocessor

# ISA serial interfaces
com0	at isa? port 0x3f8 irq 4	# Standard PC serial ports
com1	at isa? port 0x2f8 irq 3

# IDE and related devices

# ATA (IDE) bus support
atabus*	at ata?

# ISA ST506, ESDI, and IDE controllers
wdc0	at isa? port 0x1f0 irq 14 flags 0x00

# IDE drives
wd*	at atabus? drive ? flags 0x0000

# Network Interfaces

# PCI network interfaces
sip*	at pci? dev ? function ?	# SiS 900/DP83815 Ethernet
wi*	at pci? dev ? function ?	# Intersil Prism Mini-PCI (802.11b)
ath*    at pci? dev ? function ?        # Atheros 5210/5211/5212 802.11
atw*    at pci? dev ? function ?        # ADMtek ADM8211 (802.11)

# PCMCIA network interfaces
wi*	at pcmcia? function ?		# Lucent/Intersil WaveLan IEEE (802.11)
an*     at pcmcia? function ?           # Aironet PC4500/PC4800 (802.11)

# MII/PHY support
nsphyter* at mii? phy ?			# NS83843 PHYs

# PCI cryptographic devices
hifn*	at pci? dev ? function ?	# Hifn 7755/7811/795x
#ubsec*	at pci? dev ? function ?	# Broadcom 5501/5601/580x/582x

# Pseudo-Devices

# network pseudo-devices
pseudo-device	bpfilter	16	# Berkeley packet filter
pseudo-device	ipfilter		# IP filter (firewall) and NAT
pseudo-device	loop			# network loopback
pseudo-device	ppp		2	# Point-to-Point Protocol
pseudo-device	pppoe			# PPP over Ethernet (RFC 2516)
#pseudo-device	sl		2	# Serial Line IP
#pseudo-device	strip		2	# Starmode Radio IP (Metricom)
pseudo-device	tun		2	# network tunneling over tty
#pseudo-device   tap                     # virtual Ethernet
#pseudo-device	gre		2	# generic L3 over IP tunnel
pseudo-device	gif		4	# IPv[46] over IPv[46] tunnel (RFC1933)
#pseudo-device	faith		1	# IPv[46] tcp relay translation i/f
#pseudo-device	stf		1	# 6to4 IPv6 over IPv4 encapsulation
#pseudo-device	vlan			# IEEE 802.1q encapsulation
#pseudo-device   vnd             1       # disk-like interface to files
#pseudo-device	bridge			# simple inter-network bridging
#options 	BRIDGE_IPF		# bridge uses IP/IPv6 pfil hooks too
#pseudo-device   pf                      # PF packet filter
#pseudo-device   pflog                   # PF log if

# miscellaneous pseudo-devices
pseudo-device	pty			# pseudo-terminals
#pseudo-device	tb		1	# tablet line discipline
#pseudo-device	sequencer	1	# MIDI sequencer
# rnd works; RND_COM does not on port i386 yet.
pseudo-device	rnd			# /dev/random and in-kernel generator
#options 	RND_COM			# use "com" randomness as well (BROKEN)
pseudo-device	clockctl		# user control of clock subsystem
#pseudo-device  fss             4       # file system snapshot device
pseudo-device	md		1	# memory disk device (ramdisk)
pseudo-device 	crypto			# opencrypto framework
pseudo-device	ksyms			# /dev/ksyms

