GENERIC revision 1.3
11.3Schristos# $NetBSD: GENERIC,v 1.3 2016/08/07 10:44:05 christos Exp $
21.1Smatt#
31.1Smatt# GENERIC machine description file
41.1Smatt#
51.1Smatt# This machine description file is used to generate the default NetBSD
61.1Smatt# kernel.  The generic kernel does not include all options, subsystems
71.1Smatt# and device drivers, but should be useful for most applications.
81.1Smatt#
91.1Smatt# The machine description file can be customised for your specific
101.1Smatt# machine to reduce the kernel size and improve its performance.
111.1Smatt#
121.1Smatt# For further information on compiling NetBSD kernels, see the config(8)
131.1Smatt# man page.
141.1Smatt#
151.1Smatt# For further information on hardware support for this architecture, see
161.1Smatt# the intro(4) man page.  For further information about kernel options
171.1Smatt# for this architecture, see the options(4) man page.  For an explanation
181.1Smatt# of each device driver in this file see the section 4 man page for the
191.1Smatt# device.
201.1Smatt
211.1Smattinclude	"arch/riscv/conf/std.riscv64"
221.1Smatt
231.1Smattoptions 	INCLUDE_CONFIG_FILE	# embed config file in kernel binary
241.1Smatt
251.3Schristos#ident 		"GENERIC-$Revision: 1.3 $"
261.1Smatt
271.1Smattmaxusers	64		# estimated number of users
281.1Smatt
291.1Smatt# Standard system options
301.1Smatt
311.1Smattoptions 	NTP		# NTP phase/frequency locked loop
321.1Smatt
331.1Smattoptions 	KTRACE		# system call tracing via ktrace(1)
341.1Smatt
351.1Smatt# Note: SysV IPC parameters could be changed dynamically, see sysctl(8).
361.1Smattoptions 	SYSVMSG		# System V-like message queues
371.1Smattoptions 	SYSVSEM		# System V-like semaphores
381.1Smattoptions 	SYSVSHM		# System V-like memory sharing
391.1Smatt
401.1Smattoptions 	MODULAR		# new style module(7) framework
411.1Smattoptions 	MODULAR_DEFAULT_AUTOLOAD
421.1Smattoptions 	USERCONF	# userconf(4) support
431.1Smatt#options 	PIPE_SOCKETPAIR	# smaller, but slower pipe(2)
441.1Smattoptions 	SYSCTL_INCLUDE_DESCR	# Include sysctl descriptions in kernel
451.1Smatt
461.1Smatt# Alternate buffer queue strategies for better responsiveness under high
471.1Smatt# disk I/O load.
481.1Smatt#options 	BUFQ_READPRIO
491.1Smattoptions 	BUFQ_PRIOCSCAN
501.1Smatt
511.1Smatt# Diagnostic/debugging support options
521.1Smattoptions 	DIAGNOSTIC	# inexpensive kernel consistency checks
531.1Smatt				# XXX to be commented out on release branch
541.1Smatt#options 	DEBUG		# expensive debugging checks/support
551.1Smatt#options 	LOCKDEBUG	# expensive locking checks/support
561.1Smatt
571.1Smatt#
581.1Smatt# Because gcc omits the frame pointer for any -O level, the line below
591.1Smatt# is needed to make backtraces in DDB work.
601.1Smatt#
611.1Smatt#makeoptions	COPTS="-O2 -fno-omit-frame-pointer"
621.1Smattmakeoptions	COPY_SYMTAB=1
631.1Smattoptions 	DDB		# in-kernel debugger
641.1Smatt#options	DDB_COMMANDONENTER="bt"	# execute command when ddb is entered
651.1Smatt#options 	DDB_ONPANIC=1	# see also sysctl(7): `ddb.onpanic'
661.1Smattoptions 	DDB_HISTORY_SIZE=512	# enable history editing in DDB
671.1Smatt#options 	KGDB		# remote debugger
681.1Smatt#options 	KGDB_DEVNAME="\"com\"",KGDB_DEVADDR=0x3f8,KGDB_DEVRATE=9600
691.1Smatt#options 	SYSCALL_STATS	# per syscall counts
701.1Smatt#options 	SYSCALL_TIMES	# per syscall times
711.1Smatt#options 	SYSCALL_TIMES_HASCOUNTER	# use 'broken' rdtsc (soekris)
721.1Smatt
731.1Smatt# Compatibility options
741.1Smattoptions 	COMPAT_70	# NetBSD 7.0 binary compatibility.
751.1Smattoptions 	COMPAT_43	# and 4.3BSD
761.1Smatt
771.1Smattoptions 	COMPAT_OSSAUDIO
781.1Smattoptions 	COMPAT_NETBSD32
791.1Smatt#options 	COMPAT_LINUX
801.1Smatt#options 	COMPAT_LINUX32	# req. COMPAT_LINUX and COMPAT_NETBSD32
811.1Smatt#options 	EXEC_ELF32
821.1Smattoptions 	COMPAT_BSDPTY	# /dev/[pt]ty?? ptys.
831.1Smatt
841.1Smatt# Wedge support
851.1Smattoptions 	DKWEDGE_AUTODISCOVER	# Automatically add dk(4) instances
861.1Smattoptions 	DKWEDGE_METHOD_GPT	# Supports GPT partitions as wedges
871.1Smattoptions 	DKWEDGE_METHOD_BSDLABEL	# Support disklabel entries as wedges
881.1Smattoptions 	DKWEDGE_METHOD_MBR	# Support MBR partitions as wedges
891.1Smattoptions		DKWEDGE_METHOD_APPLE    # Support Apple partitions as wedges
901.1Smatt
911.1Smattinclude		"conf/filesystems.config"
921.1Smatt
931.1Smatt# File system options
941.1Smattoptions 	QUOTA		# legacy UFS quotas
951.1Smattoptions 	QUOTA2		# new, in-filesystem UFS quotas
961.1Smattoptions 	FFS_EI		# FFS Endian Independent support
971.1Smattoptions 	WAPBL		# File system journaling support
981.1Smatt# Note that UFS_DIRHASH is suspected of causing kernel memory corruption.
991.1Smatt# It is not recommended for general use.
1001.1Smatt#options 	UFS_DIRHASH	# UFS Large Directory Hashing - Experimental
1011.1Smattoptions 	NFSSERVER	# Network File System server
1021.1Smatt#options 	EXT2FS_SYSTEM_FLAGS # makes ext2fs file flags (append and
1031.1Smatt				# immutable) behave as system flags.
1041.1Smatt#options 	FFS_NO_SNAPSHOT	# No FFS snapshot support
1051.1Smatt
1061.1Smatt# Networking options
1071.1Smatt#options 	GATEWAY		# packet forwarding
1081.1Smattoptions 	INET		# IP + ICMP + TCP + UDP
1091.1Smattoptions 	INET6		# IPV6
1101.1Smattoptions 	IPSEC		# IP security
1111.1Smatt#options 	IPSEC_DEBUG	# debug for IP security
1121.3Schristos#options 	MPLS		# MultiProtocol Label Switching (needs mpls)
1131.1Smatt#options 	MROUTING	# IP multicast routing
1141.1Smatt#options 	PIM		# Protocol Independent Multicast
1151.1Smatt#options 	NETATALK	# AppleTalk networking protocols
1161.1Smatt#options 	PPP_BSDCOMP	# BSD-Compress compression support for PPP
1171.1Smatt#options 	PPP_DEFLATE	# Deflate compression support for PPP
1181.1Smatt#options 	PPP_FILTER	# Active filter support for PPP (requires bpf)
1191.1Smatt#options 	IPFILTER_LOG	# ipmon(8) log support
1201.1Smatt#options 	IPFILTER_LOOKUP	# ippool(8) support
1211.1Smatt#options 	IPFILTER_COMPAT # Compat for IP-Filter
1221.1Smatt#options 	IPFILTER_DEFAULT_BLOCK	# block all packets by default
1231.1Smatt#options 	TCP_DEBUG	# Record last TCP_NDEBUG packets with SO_DEBUG
1241.1Smatt
1251.1Smatt#options 	ALTQ		# Manipulate network interfaces' output queues
1261.1Smatt#options 	ALTQ_BLUE	# Stochastic Fair Blue
1271.1Smatt#options 	ALTQ_CBQ	# Class-Based Queueing
1281.1Smatt#options 	ALTQ_CDNR	# Diffserv Traffic Conditioner
1291.1Smatt#options 	ALTQ_FIFOQ	# First-In First-Out Queue
1301.1Smatt#options 	ALTQ_FLOWVALVE	# RED/flow-valve (red-penalty-box)
1311.1Smatt#options 	ALTQ_HFSC	# Hierarchical Fair Service Curve
1321.1Smatt#options 	ALTQ_LOCALQ	# Local queueing discipline
1331.1Smatt#options 	ALTQ_PRIQ	# Priority Queueing
1341.1Smatt#options 	ALTQ_RED	# Random Early Detection
1351.1Smatt#options 	ALTQ_RIO	# RED with IN/OUT
1361.1Smatt#options 	ALTQ_WFQ	# Weighted Fair Queueing
1371.1Smatt
1381.1Smatt# These options enable verbose messages for several subsystems.
1391.1Smatt# Warning, these may compile large string tables into the kernel!
1401.1Smatt
1411.1Smatt# Kernel root file system and dump configuration.
1421.1Smattconfig		netbsd	root on ? type ?
1431.1Smatt
1441.1Smatt#
1451.1Smatt# Device configuration
1461.1Smatt#
1471.1Smattmainbus0	at root
1481.1Smattcpu0		at mainbus0
1491.1Smatthtif0		at mainbus0
1501.1Smatthtifcons0	at htif0
1511.1Smatthtifdisk0	at htif0
1521.1Smattld0		at htifdisk0
1531.1Smatt
1541.1Smatt
1551.1Smatt# Pseudo-Devices
1561.1Smatt
1571.1Smattpseudo-device 	crypto			# /dev/crypto device
1581.1Smattpseudo-device	swcrypto		# software crypto implementation
1591.1Smatt
1601.1Smatt# disk/mass storage pseudo-devices
1611.1Smatt#pseudo-device	md			# memory disk device (ramdisk)
1621.1Smatt#options 	MEMORY_DISK_HOOKS	# enable root ramdisk
1631.1Smatt#options 	MEMORY_DISK_DYNAMIC	# loaded via kernel module(7)
1641.1Smatt
1651.1Smattpseudo-device	vnd			# disk-like interface to files
1661.1Smattoptions 	VND_COMPRESSION		# compressed vnd(4)
1671.1Smatt
1681.1Smattpseudo-device	loop			# network loopback
1691.1Smattpseudo-device	pty			# pseudo-terminals
1701.1Smattpseudo-device	clockctl		# user control of clock subsystem
1711.1Smattpseudo-device	ksyms			# /dev/ksyms
1721.1Smattpseudo-device	lockstat		# lock profiling
1731.1Smatt
1741.1Smatt# userland interface to drivers, including autoconf and properties retrieval
1751.1Smattpseudo-device	drvctl
1761.1Smatt
1771.1Smattoptions 	PAX_MPROTECT=0		# PaX mprotect(2) restrictions
1781.1Smattoptions 	PAX_ASLR=0		# PaX Address Space Layout Randomization
179