GENERIC revision 1.77
11.77Srpaulo# $NetBSD: GENERIC,v 1.77 2006/02/04 03:21:04 rpaulo Exp $
21.1Smatt#
31.11Sgmcgarry# GENERIC machine description file
41.11Sgmcgarry# 
51.11Sgmcgarry# This machine description file is used to generate the default NetBSD
61.11Sgmcgarry# kernel.  The generic kernel does not include all options, subsystems
71.11Sgmcgarry# and device drivers, but should be useful for most applications.
81.1Smatt#
91.11Sgmcgarry# The machine description file can be customised for your specific
101.11Sgmcgarry# machine to reduce the kernel size and improve its performance.
111.11Sgmcgarry#
121.11Sgmcgarry# For further information on compiling NetBSD kernels, see the config(8)
131.11Sgmcgarry# man page.
141.11Sgmcgarry#
151.11Sgmcgarry# For further information on hardware support for this architecture, see
161.11Sgmcgarry# the intro(4) man page.  For further information about kernel options
171.11Sgmcgarry# for this architecture, see the options(4) man page.  For an explanation
181.11Sgmcgarry# of each device driver in this file see the section 4 man page for the
191.11Sgmcgarry# device.
201.1Smatt
211.11Sgmcgarryinclude		"arch/netwinder/conf/std.netwinder"
221.23Satatat
231.23Satatatoptions 	INCLUDE_CONFIG_FILE	# embed config file in kernel binary
241.1Smatt
251.1Smatt# estimated number of users
261.1Smatt
271.1Smattmaxusers	32
281.1Smatt
291.1Smatt# Standard system options
301.1Smatt
311.1Smattoptions 	RTC_OFFSET=0	# hardware clock is this many mins. west of GMT
321.1Smatt#options 	NTP		# NTP phase/frequency locked loop
331.29Sjunyoung
341.30Swiz# Enable experimental buffer queue strategy for better responsiveness under 
351.29Sjunyoung# high disk I/O load. Use it with caution - it's not proven to be stable yet.
361.61Stsutsui#options 	BUFQ_READPRIO
371.61Stsutsui#options 	BUFQ_PRIOCSCAN
381.1Smatt
391.1Smatt# CPU options
401.1Smatt
411.1Smatt# For StrongARM systems
421.1Smattoptions 	CPU_SA110	# Support the SA110 core
431.36Suwemakeoptions	CPUFLAGS="-march=armv4 -mtune=strongarm"
441.1Smatt
451.1Smatt# FPA options
461.1Smatt
471.1Smatt#options 	ARMFPE		# ARM Ltd FPE
481.1Smatt
491.35Suwe# Default console is wscons, if igsfb(4) and pckbc(4) are configured,
501.35Suwe# or com(4) otherwise.  You can force a serial console with these options
511.35Suwe#options 	CONSDEVNAME="\"com\"",CONCOMADDR=0x3f8,CONSPEED=115200
521.35Suwe
531.35Suwe
541.1Smatt# File systems
551.1Smatt
561.1Smattfile-system	FFS		# UFS
571.1Smatt#file-system	LFS		# log-structured file system
581.1Smattfile-system	MFS		# memory file system
591.1Smattfile-system	NFS		# Network file system
601.1Smatt#file-system 	ADOSFS		# AmigaDOS-compatible file system
611.1Smattfile-system 	EXT2FS		# second extended file system (linux)
621.1Smatt#file-system	CD9660		# ISO 9660 + Rock Ridge file system
631.1Smattfile-system	MSDOSFS		# MS-DOS file system
641.18Sthorpejfile-system	FDESC		# /dev/fd
651.18Sthorpejfile-system	KERNFS		# /kern
661.1Smattfile-system	NULLFS		# loopback file system
671.1Smatt#file-system	PORTAL		# portal filesystem (still experimental)
681.18Sthorpejfile-system	PROCFS		# /proc
691.1Smatt#file-system	UMAPFS		# NULLFS + uid and gid remapping
701.1Smatt#file-system	UNION		# union file system
711.68Schristosfile-system	PTYFS		# /dev/pts/N support
721.69Sjmmv#file-system	TMPFS		# experimental - Efficient memory file-system
731.76Sreinoud#file-system	UDF		# experimental - OSTA UDF CD/DVD file-system
741.1Smatt
751.1Smatt# File system options
761.1Smatt#options 	QUOTA		# UFS quotas
771.1Smatt#options 	FFS_EI		# FFS Endian Independant support
781.74Stsutsui#options 	FFS_NO_SNAPSHOT	# No FFS snapshot support
791.1Smattoptions 	NFSSERVER
801.3Smattoptions 	SOFTDEP
811.55Srumble#options	UFS_DIRHASH	# UFS Large Directory Hashing - Experimental
821.1Smatt
831.1Smatt# Networking options
841.1Smatt
851.1Smatt#options 	GATEWAY		# packet forwarding
861.1Smattoptions 	INET		# IP + ICMP + TCP + UDP
871.1Smattoptions 	INET6		# IPV6
881.1Smatt#options 	IPSEC		# IP security
891.1Smatt#options 	IPSEC_ESP	# IP security (encryption part; define w/ IPSEC)
901.63Stron#options 	IPSEC_NAT_T	# IPsec NAT traversal (NAT-T)
911.1Smatt#options 	IPSEC_DEBUG	# debug for IP security
921.1Smatt#options 	MROUTING	# IP multicast routing
931.53Smanu#options 	PIM		# Protocol Independent Multicast
941.1Smatt#options 	NS		# XNS
951.1Smatt#options 	NSIP		# XNS tunneling over IP
961.1Smatt#options 	ISO,TPIP	# OSI
971.1Smatt#options 	EON		# OSI tunneling over IP
981.1Smatt#options 	CCITT,LLC,HDLC	# X.25
991.1Smatt#options 	NETATALK	# AppleTalk networking
1001.1Smatt#options 	PFIL_HOOKS	# pfil(9) packet filter hooks
1011.1Smatt#options 	PPP_BSDCOMP	# BSD-Compress compression support for PPP
1021.1Smatt#options 	PPP_DEFLATE	# Deflate compression support for PPP
1031.1Smatt#options 	PPP_FILTER	# Active filter support for PPP (requires bpf)
1041.5Sabs#options 	TCP_DEBUG	# Record last TCP_NDEBUG packets with SO_DEBUG
1051.1Smatt
1061.49Sabs#options 	ALTQ		# Manipulate network interfaces' output queues
1071.49Sabs#options 	ALTQ_BLUE	# Stochastic Fair Blue
1081.49Sabs#options 	ALTQ_CBQ	# Class-Based Queueing
1091.49Sabs#options 	ALTQ_CDNR	# Diffserv Traffic Conditioner
1101.49Sabs#options 	ALTQ_FIFOQ	# First-In First-Out Queue
1111.49Sabs#options 	ALTQ_FLOWVALVE	# RED/flow-valve (red-penalty-box)
1121.49Sabs#options 	ALTQ_HFSC	# Hierarchical Fair Service Curve
1131.49Sabs#options 	ALTQ_LOCALQ	# Local queueing discipline
1141.49Sabs#options 	ALTQ_PRIQ	# Priority Queueing
1151.49Sabs#options 	ALTQ_RED	# Random Early Detection
1161.49Sabs#options 	ALTQ_RIO	# RED with IN/OUT
1171.49Sabs#options 	ALTQ_WFQ	# Weighted Fair Queueing
1181.49Sabs
1191.1Smattoptions 	NFS_BOOT_BOOTP
1201.1Smattoptions 	NFS_BOOT_DHCP
1211.1Smatt#options 	NFS_BOOT_BOOTPARAM
1221.1Smatt
1231.1Smatt# Compatibility options
1241.1Smatt
1251.1Smatt#options 	COMPAT_43	# 4.3BSD compatibility.
1261.67Schristosoptions 	COMPAT_30	# NetBSD 3.0 compatibility.
1271.59Ssimonboptions 	COMPAT_20	# NetBSD 2.0 compatibility.
1281.37Schrisoptions 	COMPAT_16	# NetBSD 1.6 compatibility.
1291.2Smattoptions 	COMPAT_15	# NetBSD 1.5 compatibility.
1301.1Smattoptions 	COMPAT_14	# NetBSD 1.4 compatibility.
1311.1Smatt#options 	COMPAT_13	# NetBSD 1.3 compatibility.
1321.1Smatt#options 	COMPAT_12	# NetBSD 1.2 compatibility.
1331.1Smatt#options 	COMPAT_11	# NetBSD 1.1 compatibility.
1341.1Smatt#options 	COMPAT_10	# NetBSD 1.0 compatibility.
1351.1Smatt#options 	COMPAT_09	# NetBSD 0.9 compatibility.
1361.5Sabs#options 	TCP_COMPAT_42	# 4.2BSD TCP/IP bug compat. Not recommended.
1371.1Smatt
1381.19Sthorpejoptions 	COMPAT_LINUX	# binary compatibility with Linux
1391.54Schristosoptions		COMPAT_BSDPTY	# /dev/[pt]ty?? ptys.
1401.19Sthorpej
1411.1Smatt# Shared memory options
1421.1Smatt
1431.1Smattoptions 	SYSVMSG		# System V-like message queues
1441.1Smattoptions 	SYSVSEM		# System V-like semaphores
1451.9Slukem#options 	SEMMNI=10	# number of semaphore identifiers
1461.9Slukem#options 	SEMMNS=60	# number of semaphores in system
1471.9Slukem#options 	SEMUME=10	# max number of undo entries per process
1481.9Slukem#options 	SEMMNU=30	# number of undo structures in system
1491.1Smattoptions 	SYSVSHM		# System V-like memory sharing
1501.1Smattoptions 	SHMMAXPGS=1024	# 1024 pages is the default
1511.50Sbouyeroptions 	P1003_1B_SEMAPHORE # p1003.1b semaphore support
1521.1Smatt
1531.1Smatt# Device options
1541.1Smatt
1551.2Smatt#options 	MEMORY_DISK_HOOKS	# boottime setup of ramdisk
1561.16Slukem#options 	MEMORY_DISK_ROOT_SIZE=3400	# Size in blocks
1571.1Smatt#options 	MEMORY_DISK_IS_ROOT	# use memory disk as root
1581.1Smatt
1591.1Smatt# Miscellaneous kernel options
1601.1Smattoptions 	KTRACE		# system call tracing, a la ktrace(1)
1611.27Sprovosoptions 	SYSTRACE	# system call vetting via systrace(1)
1621.1Smattoptions 	IRQSTATS	# manage IRQ statistics
1631.1Smatt#options 	LKM		# loadable kernel modules
1641.1Smatt#options 	KMEMSTATS	# kernel memory statistics
1651.1Smatt#options 	SCSIVERBOSE	# Verbose SCSI errors
1661.3Smattoptions 	PCIVERBOSE	# Verbose PCI descriptions
1671.3Smattoptions 	MIIVERBOSE	# Verbose MII autoconfuration messages
1681.2Smatt#options 	PCI_CONFIG_DUMP	# verbosely dump PCI config space
1691.1Smatt#options 	DDB_KEYCODE=0x40
1701.25Slukemoptions 	USERCONF	# userconf(4) support
1711.13Sjdolecek#options	PIPE_SOCKETPAIR	# smaller, but slower pipe(2)
1721.51Satatatoptions 	SYSCTL_INCLUDE_DESCR	# Include sysctl descriptions in kernel
1731.1Smatt
1741.1Smatt# Development and Debugging options
1751.1Smatt
1761.1Smatt#options 	ARM700BUGTRACK	# track the ARM700 swi bug
1771.1Smatt#options 	PORTMASTER	# Enable PortMaster only options
1781.70Schs#options 	DIAGNOSTIC	# internally consistency checks
1791.9Slukem#options 	PMAP_DEBUG	# Enable pmap_debug_level code
1801.1Smatt#options 	IPKDB		# remote kernel debugging
1811.1Smattoptions 	DDB		# in-kernel debugger
1821.1Smattoptions 	DDB_HISTORY_SIZE=100	# Enable history editing in DDB
1831.17Sthorpejmakeoptions	DEBUG="-g"	# compile full symbol table
1841.60Smattoptions 	SYMTAB_SPACE=480000
1851.1Smatt
1861.1Smattconfig		netbsd	root on ? type ?
1871.1Smatt
1881.1Smatt# The main bus device
1891.2Smattmainbus0	at root
1901.1Smatt
1911.45Swiz# The boot CPU
1921.2Smattcpu0		at mainbus?
1931.1Smatt
1941.1Smatt# Core logic
1951.1Smattfootbridge0	at mainbus?
1961.1Smatt
1971.1Smatt# footbridge uart
1981.2Smatt#fcom0		at footbridge?
1991.1Smatt
2001.1Smatt# system clock via footbridge
2011.2Smatt#clock*		at footbridge?
2021.1Smatt
2031.1Smatt# time-of-day device via footbridge
2041.1Smatttodclock0	at footbridge?
2051.1Smatt
2061.1Smatt# PCI bus via footbridge
2071.2Smattpci0		at footbridge?			# PCI bus
2081.1Smatt
2091.1Smatt# ISA bus support
2101.2Smattpcib*		at pci? dev ? function ?	# ISA bridge
2111.2Smattisa*		at pcib?
2121.1Smatt
2131.1Smatt
2141.1Smatt# PCI IDE Controllers and Devices
2151.1Smatt# PCI IDE controllers - see pciide(4) for supported hardware.
2161.1Smatt# The 0x0001 flag force the driver to use DMA, even if the driver doesn't know
2171.1Smatt# how to set up DMA modes for this chip. This may work, or may cause
2181.1Smatt# a machine hang with some controllers.
2191.42Sthorpej#pciide* 	at pci? dev ? function ? flags 0x0000	# GENERIC pciide driver
2201.39Sbouyerslide*  	at pci? dev ? function ?	# Symphony Labs IDE controllers
2211.38Sbouyer
2221.40Slukem# ATA (IDE) bus support
2231.40Slukematabus* at ata?
2241.1Smatt
2251.1Smatt# IDE drives
2261.1Smatt# Flags are used only with controllers that support DMA operations
2271.1Smatt# and mode settings (e.g. some pciide controllers)
2281.1Smatt# The lowest order four bits (rightmost digit) of the flags define the PIO
2291.1Smatt# mode to use, the next set of four bits the DMA mode and the third set the
2301.1Smatt# UltraDMA mode. For each set of four bits, the 3 lower bits define the mode
2311.1Smatt# to use, and the last bit must be 1 for this setting to be used.
2321.1Smatt# For DMA and UDMA, 0xf (1111) means 'disable'.
2331.1Smatt# 0x0fac means 'use PIO mode 4, DMA mode 2, disable UltraDMA'.
2341.1Smatt# (0xc=1100, 0xa=1010, 0xf=1111)
2351.1Smatt# 0x0000 means "use whatever the drive claims to support".
2361.38Sbouyerwd*		at atabus? drive ? flags 0x0000	# the drives themselves
2371.1Smatt
2381.1Smatt# PCI network interfaces
2391.2Smattne*		at pci? dev ? function ?	# NE2000 compat ethernet
2401.2Smatttlp*		at pci? dev ? function ?	# DECchip 21x4x (and clones) Ethernet
2411.1Smattoptions 	TLP_MATCH_21142
2421.1Smatt
2431.1Smatt# MII/PHY support
2441.14Swizicsphy*		at mii? phy ?			# ISC-189x PHYs
2451.2Smattukphy*		at mii? phy ?			# generic unknown PHYs
2461.1Smatt
2471.26Suwe
2481.1Smatt# WSCONS Support
2491.1Smattoptions 	WSEMUL_VT100		# VT100 / VT220 emulation
2501.26Suwe# different kernel output - see dev/wscons/wsdisplayvar.h
2511.1Smattoptions 	WS_KERNEL_FG=WSCOL_GREEN
2521.26Suwe#options 	WS_KERNEL_BG=WSCOL_BLACK
2531.26Suweoptions 	WS_KERNEL_COLATTR=WSATTR_HILIT
2541.26Suwe# compatibility to other console drivers
2551.26Suweoptions 	WSDISPLAY_COMPAT_PCVT		# emulate some ioctls
2561.26Suweoptions 	WSDISPLAY_COMPAT_SYSCONS	# emulate some ioctls
2571.26Suweoptions 	WSDISPLAY_COMPAT_USL		# VT handling
2581.26Suweoptions 	WSDISPLAY_COMPAT_RAWKBD		# can get raw scancodes
2591.26Suwe
2601.26Suweoptions 	FONT_GALLANT12x22		# Sun PROM font look-alike
2611.26Suwe
2621.2Smattpckbc0		at isa?
2631.1Smattpckbd*		at pckbc?
2641.1Smattwskbd*		at pckbd? console ?
2651.1Smattpms*		at pckbc?
2661.1Smattwsmouse*	at pms? mux 0
2671.1Smatt
2681.33Suweigsfb*		at pci? dev ? function ?
2691.33Suwewsdisplay*	at igsfb? console ?
2701.26Suwe
2711.1Smatt
2721.1Smatt# ISA Devices
2731.1Smattcom0		at isa? port 0x3f8 irq 4
2741.2Smattlpt0		at isa? port 0x378 irq 7
2751.1Smatt
2761.1Smatt
2771.1Smatt# Audio Devices
2781.1Smatt
2791.2Smatt# ISA audio devices
2801.2Smattsb0		at isa? port 0x220 irq 3 drq 1 drq2 7	# SoundBlaster
2811.2Smattopl*		at sb?
2821.2Smattmpu*		at sb?
2831.2Smattmidi*		at sb?					# SB1 MIDI port
2841.1Smatt
2851.1Smatt# Audio support
2861.2Smattaudio*		at sb?
2871.1Smatt
2881.1Smatt# Pseudo-Devices
2891.1Smatt
2901.72Sthorpejpseudo-device 	crypto		# /dev/crypto device
2911.73Sthorpejpseudo-device	swcrypto	# software crypto implementation
2921.43Sjonathan
2931.1Smatt# disk/mass storage pseudo-devices
2941.2Smatt#pseudo-device	md		1	# memory disk device (ramdisk)
2951.1Smattpseudo-device	vnd		4	# disk-like interface to files
2961.64Shubertf#options 	VND_COMPRESSION		# compressed vnd(4)
2971.56Shannkenpseudo-device	fss		4	# file system snapshot device
2981.28Selric#pseudo-device	cgd		4	# cryptographic disk devices
2991.1Smatt
3001.1Smatt# network pseudo-devices
3011.77Srpaulopseudo-device	bpfilter		# Berkeley packet filter
3021.12Smartinpseudo-device	pppoe			# PPP over Ethernet (RFC 2516)
3031.10Satatatpseudo-device	bridge			# simple inter-network bridging
3041.31Sperseant#options	BRIDGE_IPF		# bridge uses IP/IPv6 pfil hooks too
3051.1Smattpseudo-device	loop			# network loopback
3061.1Smatt
3071.1Smatt# miscellaneous pseudo-devices
3081.1Smattpseudo-device	pty			# pseudo-terminals
3091.1Smattpseudo-device	rnd			# /dev/random and in-kernel generator
3101.24Slukempseudo-device	clockctl		# user control of clock subsystem
3111.32Sraggepseudo-device	ksyms			# /dev/ksyms
3121.48Sitojun#pseudo-device	pf			# PF packet filter
3131.48Sitojun#pseudo-device	pflog			# PF log if
3141.26Suwe
3151.26Suwe# wscons pseudo-devices
3161.26Suwepseudo-device	wsmux			# mouse & keyboard multiplexor
3171.26Suwe#pseudo-device	wsfont
3181.75Selad
3191.75Selad# Veriexec
3201.75Selad#options VERIFIED_EXEC
3211.75Selad#
3221.75Selad# a pseudo device needed for veriexec
3231.75Selad#pseudo-device	veriexec		1
3241.75Selad#
3251.75Selad# Uncomment the fingerprint methods below that are desired. Note that
3261.75Selad# removing fingerprint methods will have almost no impact on the kernel
3271.75Selad# code size.
3281.75Selad#
3291.75Selad#options VERIFIED_EXEC_FP_RMD160
3301.75Selad#options VERIFIED_EXEC_FP_SHA256
3311.75Selad#options VERIFIED_EXEC_FP_SHA384
3321.75Selad#options VERIFIED_EXEC_FP_SHA512
3331.75Selad#options VERIFIED_EXEC_FP_SHA1
3341.75Selad#options VERIFIED_EXEC_FP_MD5
335