GENERIC revision 1.145
11.145Sabs# $NetBSD: GENERIC,v 1.145 2023/02/12 14:50:40 abs Exp $
21.1Smatt#
31.11Sgmcgarry# GENERIC machine description file
41.138Sskrll#
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.133Smrginclude 	"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.134Ssevan# Alternate buffer queue strategies for better responsiveness under high
351.134Ssevan# disk I/O load.
361.61Stsutsui#options 	BUFQ_READPRIO
371.137Ssevanoptions 	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.35Suwe# Default console is wscons, if igsfb(4) and pckbc(4) are configured,
461.35Suwe# or com(4) otherwise.  You can force a serial console with these options
471.35Suwe#options 	CONSDEVNAME="\"com\"",CONCOMADDR=0x3f8,CONSPEED=115200
481.35Suwe
491.35Suwe
501.1Smatt# File systems
511.1Smatt
521.1Smattfile-system	FFS		# UFS
531.1Smatt#file-system	LFS		# log-structured file system
541.1Smattfile-system	MFS		# memory file system
551.1Smattfile-system	NFS		# Network file system
561.1Smatt#file-system 	ADOSFS		# AmigaDOS-compatible file system
571.1Smattfile-system 	EXT2FS		# second extended file system (linux)
581.1Smatt#file-system	CD9660		# ISO 9660 + Rock Ridge file system
591.1Smattfile-system	MSDOSFS		# MS-DOS file system
601.18Sthorpejfile-system	FDESC		# /dev/fd
611.18Sthorpejfile-system	KERNFS		# /kern
621.1Smattfile-system	NULLFS		# loopback file system
631.18Sthorpejfile-system	PROCFS		# /proc
641.1Smatt#file-system	UMAPFS		# NULLFS + uid and gid remapping
651.1Smatt#file-system	UNION		# union file system
661.68Schristosfile-system	PTYFS		# /dev/pts/N support
671.101Schsfile-system	TMPFS		# Efficient memory file-system
681.76Sreinoud#file-system	UDF		# experimental - OSTA UDF CD/DVD file-system
691.1Smatt
701.1Smatt# File system options
711.143Ssimonb#options 	FFS_EI		# FFS Endian Independent support
721.143Ssimonb#options 	FFS_NO_SNAPSHOT	# No FFS snapshot support
731.103Sbouyer#options 	QUOTA		# legacy UFS quotas
741.103Sbouyer#options 	QUOTA2		# new, in-filesystem UFS quotas
751.143Ssimonb#options 	UFS_DIRHASH	# UFS Large Directory Hashing
761.125Smanu#options 	UFS_EXTATTR	# Extended attribute support for UFS1
771.110Sdhollandoptions 	WAPBL		# File system journaling support
781.143Ssimonboptions 	NFSSERVER	# Network File System server
791.1Smatt
801.1Smatt# Networking options
811.1Smatt
821.1Smatt#options 	GATEWAY		# packet forwarding
831.1Smattoptions 	INET		# IP + ICMP + TCP + UDP
841.1Smattoptions 	INET6		# IPV6
851.1Smatt#options 	IPSEC		# IP security
861.1Smatt#options 	IPSEC_DEBUG	# debug for IP security
871.1Smatt#options 	MROUTING	# IP multicast routing
881.53Smanu#options 	PIM		# Protocol Independent Multicast
891.1Smatt#options 	NETATALK	# AppleTalk networking
901.1Smatt#options 	PPP_BSDCOMP	# BSD-Compress compression support for PPP
911.1Smatt#options 	PPP_DEFLATE	# Deflate compression support for PPP
921.1Smatt#options 	PPP_FILTER	# Active filter support for PPP (requires bpf)
931.5Sabs#options 	TCP_DEBUG	# Record last TCP_NDEBUG packets with SO_DEBUG
941.1Smatt
951.49Sabs#options 	ALTQ		# Manipulate network interfaces' output queues
961.49Sabs#options 	ALTQ_BLUE	# Stochastic Fair Blue
971.49Sabs#options 	ALTQ_CBQ	# Class-Based Queueing
981.49Sabs#options 	ALTQ_CDNR	# Diffserv Traffic Conditioner
991.49Sabs#options 	ALTQ_FIFOQ	# First-In First-Out Queue
1001.49Sabs#options 	ALTQ_FLOWVALVE	# RED/flow-valve (red-penalty-box)
1011.49Sabs#options 	ALTQ_HFSC	# Hierarchical Fair Service Curve
1021.49Sabs#options 	ALTQ_LOCALQ	# Local queueing discipline
1031.49Sabs#options 	ALTQ_PRIQ	# Priority Queueing
1041.49Sabs#options 	ALTQ_RED	# Random Early Detection
1051.49Sabs#options 	ALTQ_RIO	# RED with IN/OUT
1061.49Sabs#options 	ALTQ_WFQ	# Weighted Fair Queueing
1071.49Sabs
1081.1Smattoptions 	NFS_BOOT_BOOTP
1091.1Smattoptions 	NFS_BOOT_DHCP
1101.1Smatt#options 	NFS_BOOT_BOOTPARAM
1111.1Smatt
1121.1Smatt# Compatibility options
1131.1Smatt
1141.133Smrgoptions 	COMPAT_NETBSD32	# allow running arm (e.g. non-earm) binaries
1151.133Smrginclude 	"conf/compat_netbsd14.config"
1161.1Smatt
1171.1Smatt# Shared memory options
1181.1Smatt
1191.1Smattoptions 	SYSVMSG		# System V-like message queues
1201.1Smattoptions 	SYSVSEM		# System V-like semaphores
1211.1Smattoptions 	SYSVSHM		# System V-like memory sharing
1221.1Smatt
1231.1Smatt# Device options
1241.1Smatt
1251.2Smatt#options 	MEMORY_DISK_HOOKS	# boottime setup of ramdisk
1261.16Slukem#options 	MEMORY_DISK_ROOT_SIZE=3400	# Size in blocks
1271.1Smatt#options 	MEMORY_DISK_IS_ROOT	# use memory disk as root
1281.1Smatt
1291.1Smatt# Miscellaneous kernel options
1301.1Smattoptions 	KTRACE		# system call tracing, a la ktrace(1)
1311.1Smattoptions 	IRQSTATS	# manage IRQ statistics
1321.1Smatt#options 	SCSIVERBOSE	# Verbose SCSI errors
1331.3Smattoptions 	PCIVERBOSE	# Verbose PCI descriptions
1341.3Smattoptions 	MIIVERBOSE	# Verbose MII autoconfuration messages
1351.2Smatt#options 	PCI_CONFIG_DUMP	# verbosely dump PCI config space
1361.1Smatt#options 	DDB_KEYCODE=0x40
1371.25Slukemoptions 	USERCONF	# userconf(4) support
1381.87Suwe#options 	PIPE_SOCKETPAIR	# smaller, but slower pipe(2)
1391.51Satatatoptions 	SYSCTL_INCLUDE_DESCR	# Include sysctl descriptions in kernel
1401.1Smatt
1411.1Smatt# Development and Debugging options
1421.1Smatt
1431.1Smatt#options 	ARM700BUGTRACK	# track the ARM700 swi bug
1441.1Smatt#options 	PORTMASTER	# Enable PortMaster only options
1451.99Sdholland#options 	DIAGNOSTIC	# internal consistency checks
1461.139Sskrll#options 	UVMHIST		# kernhist for uvm/pmap subsystems
1471.1Smattoptions 	DDB		# in-kernel debugger
1481.1Smattoptions 	DDB_HISTORY_SIZE=100	# Enable history editing in DDB
1491.17Sthorpejmakeoptions	DEBUG="-g"	# compile full symbol table
1501.123Sjoergmakeoptions	COPY_SYMTAB=1
1511.1Smatt
1521.1Smattconfig		netbsd	root on ? type ?
1531.1Smatt
1541.1Smatt# The main bus device
1551.2Smattmainbus0	at root
1561.1Smatt
1571.45Swiz# The boot CPU
1581.2Smattcpu0		at mainbus?
1591.1Smatt
1601.1Smatt# Core logic
1611.1Smattfootbridge0	at mainbus?
1621.1Smatt
1631.1Smatt# footbridge uart
1641.2Smatt#fcom0		at footbridge?
1651.1Smatt
1661.1Smatt# system clock via footbridge
1671.2Smatt#clock*		at footbridge?
1681.1Smatt
1691.1Smatt# PCI bus via footbridge
1701.2Smattpci0		at footbridge?			# PCI bus
1711.1Smatt
1721.1Smatt# ISA bus support
1731.2Smattpcib*		at pci? dev ? function ?	# ISA bridge
1741.2Smattisa*		at pcib?
1751.1Smatt
1761.1Smatt
1771.1Smatt# PCI IDE Controllers and Devices
1781.1Smatt# PCI IDE controllers - see pciide(4) for supported hardware.
1791.1Smatt# The 0x0001 flag force the driver to use DMA, even if the driver doesn't know
1801.1Smatt# how to set up DMA modes for this chip. This may work, or may cause
1811.1Smatt# a machine hang with some controllers.
1821.42Sthorpej#pciide* 	at pci? dev ? function ? flags 0x0000	# GENERIC pciide driver
1831.39Sbouyerslide*  	at pci? dev ? function ?	# Symphony Labs IDE controllers
1841.38Sbouyer
1851.40Slukem# ATA (IDE) bus support
1861.40Slukematabus* at ata?
1871.1Smatt
1881.1Smatt# IDE drives
1891.1Smatt# Flags are used only with controllers that support DMA operations
1901.1Smatt# and mode settings (e.g. some pciide controllers)
1911.1Smatt# The lowest order four bits (rightmost digit) of the flags define the PIO
1921.1Smatt# mode to use, the next set of four bits the DMA mode and the third set the
1931.1Smatt# UltraDMA mode. For each set of four bits, the 3 lower bits define the mode
1941.1Smatt# to use, and the last bit must be 1 for this setting to be used.
1951.1Smatt# For DMA and UDMA, 0xf (1111) means 'disable'.
1961.1Smatt# 0x0fac means 'use PIO mode 4, DMA mode 2, disable UltraDMA'.
1971.1Smatt# (0xc=1100, 0xa=1010, 0xf=1111)
1981.1Smatt# 0x0000 means "use whatever the drive claims to support".
1991.38Sbouyerwd*		at atabus? drive ? flags 0x0000	# the drives themselves
2001.1Smatt
2011.1Smatt# PCI network interfaces
2021.2Smattne*		at pci? dev ? function ?	# NE2000 compat ethernet
2031.2Smatttlp*		at pci? dev ? function ?	# DECchip 21x4x (and clones) Ethernet
2041.1Smattoptions 	TLP_MATCH_21142
2051.1Smatt
2061.1Smatt# MII/PHY support
2071.14Swizicsphy*		at mii? phy ?			# ISC-189x PHYs
2081.2Smattukphy*		at mii? phy ?			# generic unknown PHYs
2091.1Smatt
2101.26Suwe
2111.1Smatt# WSCONS Support
2121.1Smattoptions 	WSEMUL_VT100		# VT100 / VT220 emulation
2131.79Suwe
2141.79Suwe# customization of console and kernel output - see dev/wscons/wsdisplayvar.h
2151.79Suweoptions 	WSDISPLAY_CUSTOM_OUTPUT	# color customization from wsconsctl(8)
2161.79Suwe#options 	WS_DEFAULT_FG=WSCOL_WHITE
2171.79Suwe#options 	WS_DEFAULT_BG=WSCOL_BLACK
2181.79Suwe#options 	WS_DEFAULT_COLATTR="(0)"
2191.79Suwe#options 	WS_DEFAULT_MONOATTR="(0)"
2201.1Smattoptions 	WS_KERNEL_FG=WSCOL_GREEN
2211.26Suwe#options 	WS_KERNEL_BG=WSCOL_BLACK
2221.26Suweoptions 	WS_KERNEL_COLATTR=WSATTR_HILIT
2231.79Suwe#options 	WS_KERNEL_MONOATTR="(0)"
2241.79Suwe
2251.26Suwe# compatibility to other console drivers
2261.26Suweoptions 	WSDISPLAY_COMPAT_PCVT		# emulate some ioctls
2271.26Suweoptions 	WSDISPLAY_COMPAT_SYSCONS	# emulate some ioctls
2281.112Sabsoptions 	WSDISPLAY_COMPAT_USL		# wsconscfg VT handling
2291.26Suweoptions 	WSDISPLAY_COMPAT_RAWKBD		# can get raw scancodes
2301.26Suwe
2311.26Suweoptions 	FONT_GALLANT12x22		# Sun PROM font look-alike
2321.26Suwe
2331.2Smattpckbc0		at isa?
2341.1Smattpckbd*		at pckbc?
2351.1Smattwskbd*		at pckbd? console ?
2361.1Smattpms*		at pckbc?
2371.1Smattwsmouse*	at pms? mux 0
2381.1Smatt
2391.33Suweigsfb*		at pci? dev ? function ?
2401.33Suwewsdisplay*	at igsfb? console ?
2411.26Suwe
2421.1Smatt
2431.1Smatt# ISA Devices
2441.1Smattcom0		at isa? port 0x3f8 irq 4
2451.2Smattlpt0		at isa? port 0x378 irq 7
2461.1Smatt
2471.1Smatt
2481.1Smatt# Audio Devices
2491.1Smatt
2501.2Smatt# ISA audio devices
2511.2Smattsb0		at isa? port 0x220 irq 3 drq 1 drq2 7	# SoundBlaster
2521.2Smattopl*		at sb?
2531.2Smattmpu*		at sb?
2541.2Smattmidi*		at sb?					# SB1 MIDI port
2551.1Smatt
2561.1Smatt# Audio support
2571.2Smattaudio*		at sb?
2581.1Smatt
2591.130Schristosspkr*	at audio?		# PC speaker (synthesized)
2601.128Snat
2611.1Smatt# Pseudo-Devices
2621.1Smatt
2631.72Sthorpejpseudo-device 	crypto		# /dev/crypto device
2641.73Sthorpejpseudo-device	swcrypto	# software crypto implementation
2651.43Sjonathan
2661.1Smatt# disk/mass storage pseudo-devices
2671.102Shannken#pseudo-device	md			# memory disk device (ramdisk)
2681.78Scubepseudo-device	vnd			# disk-like interface to files
2691.64Shubertf#options 	VND_COMPRESSION		# compressed vnd(4)
2701.100Spookapseudo-device	fss			# file system snapshot device
2711.117Schristos#pseudo-device	cgd			# cryptographic disk devices
2721.1Smatt
2731.1Smatt# network pseudo-devices
2741.77Srpaulopseudo-device	bpfilter		# Berkeley packet filter
2751.137Ssevanpseudo-device	carp			# Common Address Redundancy Protocol
2761.12Smartinpseudo-device	pppoe			# PPP over Ethernet (RFC 2516)
2771.10Satatatpseudo-device	bridge			# simple inter-network bridging
2781.142Sroy#pseudo-device	vether			# Virtual Ethernet for bridge
2791.1Smattpseudo-device	loop			# network loopback
2801.1Smatt
2811.93Stls#
2821.93Stls# accept filters
2831.93Stlspseudo-device   accf_data		# "dataready" accept filter
2841.93Stlspseudo-device   accf_http		# "httpready" accept filter
2851.93Stls
2861.1Smatt# miscellaneous pseudo-devices
2871.1Smattpseudo-device	pty			# pseudo-terminals
2881.24Slukempseudo-device	clockctl		# user control of clock subsystem
2891.136Sisakipseudo-device	drvctl			# user control of drive subsystem
2901.32Sraggepseudo-device	ksyms			# /dev/ksyms
2911.135Smaxv#pseudo-device	npf			# NPF packet filter
2921.144Sriastradpseudo-device 	swwdog			# software watchdog timer -- swwdog(4)
2931.26Suwe
2941.26Suwe# wscons pseudo-devices
2951.26Suwepseudo-device	wsmux			# mouse & keyboard multiplexor
2961.26Suwe#pseudo-device	wsfont
2971.75Selad
2981.137Ssevaninclude "dev/veriexec.config"
2991.145Sabs
3001.145Sabs# Pull in optional local configuration - always at end
3011.145Sabscinclude	"arch/netwinder/conf/GENERIC.local"
302