GENERIC revision 1.5
11.5Sthorpej# $NetBSD: GENERIC,v 1.5 2024/01/19 05:46:36 thorpej Exp $
21.1Sthorpej#
31.1Sthorpej# GENERIC machine description file
41.1Sthorpej# 
51.1Sthorpej# This machine description file is used to generate the default NetBSD
61.1Sthorpej# kernel.  The generic kernel does not include all options, subsystems
71.1Sthorpej# and device drivers, but should be useful for most applications.
81.1Sthorpej#
91.1Sthorpej# The machine description file can be customised for your specific
101.1Sthorpej# machine to reduce the kernel size and improve its performance.
111.1Sthorpej#
121.1Sthorpej# For further information on compiling NetBSD kernels, see the config(8)
131.1Sthorpej# man page.
141.1Sthorpej#
151.1Sthorpej# For further information on hardware support for this architecture, see
161.1Sthorpej# the intro(4) man page.  For further information about kernel options
171.1Sthorpej# for this architecture, see the options(4) man page.  For an explanation
181.1Sthorpej# of each device driver in this file see the section 4 man page for the
191.1Sthorpej# device.
201.1Sthorpej
211.1Sthorpejinclude 	"arch/virt68k/conf/std.virt68k"
221.1Sthorpej
231.1Sthorpejoptions 	INCLUDE_CONFIG_FILE	# embed config file in kernel binary
241.1Sthorpej
251.5Sthorpej#ident 		"GENERIC-$Revision: 1.5 $"
261.1Sthorpej
271.1Sthorpejmakeoptions	COPTS="-O2 -fno-reorder-blocks"	# see share/mk/sys.mk
281.1Sthorpej
291.1Sthorpej# reserve symbol space and copy the symbol table into it.  Needed
301.1Sthorpej# because Qemu does not load the symbol table when loading the
311.1Sthorpej# kernel.
321.1Sthorpejmakeoptions     COPY_SYMTAB=1
331.1Sthorpej
341.1Sthorpej# CPUs this kernel supports
351.1Sthorpejoptions		M68030
361.1Sthorpejoptions		M68040
371.1Sthorpej
381.1Sthorpejmaxusers	16
391.1Sthorpej
401.1Sthorpej# Needed on m68040 boards to emulate some missing FP instructions
411.1Sthorpejoptions 	FPSP
421.1Sthorpej
431.1Sthorpejoptions 	DDB
441.1Sthorpejoptions 	DIAGNOSTIC
451.2Sthorpej#options 	LOCKDEBUG
461.1Sthorpej#options 	DEBUG
471.1Sthorpej
481.1Sthorpej#options 	SYSVSHM
491.1Sthorpejoptions 	KTRACE
501.1Sthorpej
511.1Sthorpejoptions 	USERCONF	# userconf(4) support
521.1Sthorpej#options	PIPE_SOCKETPAIR	# smaller, but slower pipe(2)
531.1Sthorpejoptions 	SYSCTL_INCLUDE_DESCR	# Include sysctl descriptions in kernel
541.1Sthorpej
551.1Sthorpej# Alternate buffer queue strategies for better responsiveness under high
561.1Sthorpej# disk I/O load.
571.1Sthorpej#options 	BUFQ_READPRIO
581.1Sthorpej#options 	BUFQ_PRIOCSCAN
591.1Sthorpej
601.1Sthorpejfile-system 	FFS
611.1Sthorpejfile-system 	NFS
621.1Sthorpejfile-system 	KERNFS
631.4Sthorpejfile-system 	PROCFS
641.1Sthorpej#file-system 	MFS
651.1Sthorpejfile-system 	CD9660
661.4Sthorpejfile-system	MSDOSFS
671.1Sthorpej#file-system	UNION
681.1Sthorpejfile-system	PTYFS		# /dev/pts/N support
691.1Sthorpejfile-system	TMPFS		# Efficient memory file-system
701.1Sthorpej#file-system	UDF		# experimental - OSTA UDF CD/DVD file-system
711.1Sthorpej
721.1Sthorpej# File system options
731.1Sthorpej#options 	FFS_EI		# FFS Endian Independent support
741.1Sthorpejoptions 	FFS_NO_SNAPSHOT	# No FFS snapshot support
751.1Sthorpej#options 	UFS_DIRHASH	# UFS Large Directory Hashing
761.1Sthorpej#options 	UFS_EXTATTR	# Extended attribute support for UFS1
771.1Sthorpejoptions 	WAPBL		# File system journaling support
781.1Sthorpejoptions 	NFSSERVER	# Network File System server
791.1Sthorpej
801.1Sthorpej# Networking options
811.1Sthorpejoptions 	INET
821.1Sthorpejoptions 	INET6		# IPV6
831.1Sthorpej#options 	IPSEC		# IP security
841.1Sthorpej#options 	IPSEC_DEBUG	# debug for IP security
851.1Sthorpej#options 	GATEWAY		# IP packet forwarding
861.1Sthorpej#options 	TCP_DEBUG	# Record last TCP_NDEBUG packets with SO_DEBUG
871.1Sthorpej
881.1Sthorpej#options 	ALTQ		# Manipulate network interfaces' output queues
891.1Sthorpej#options 	ALTQ_BLUE	# Stochastic Fair Blue
901.1Sthorpej#options 	ALTQ_CBQ	# Class-Based Queueing
911.1Sthorpej#options 	ALTQ_CDNR	# Diffserv Traffic Conditioner
921.1Sthorpej#options 	ALTQ_FIFOQ	# First-In First-Out Queue
931.1Sthorpej#options 	ALTQ_FLOWVALVE	# RED/flow-valve (red-penalty-box)
941.1Sthorpej#options 	ALTQ_HFSC	# Hierarchical Fair Service Curve
951.1Sthorpej#options 	ALTQ_LOCALQ	# Local queueing discipline
961.1Sthorpej#options 	ALTQ_PRIQ	# Priority Queueing
971.1Sthorpej#options 	ALTQ_RED	# Random Early Detection
981.1Sthorpej#options 	ALTQ_RIO	# RED with IN/OUT
991.1Sthorpej#options 	ALTQ_WFQ	# Weighted Fair Queueing
1001.1Sthorpej
1011.1Sthorpejoptions 	COMPAT_AOUT_M68K	# compatibility with NetBSD/m68k a.out
1021.1Sthorpejinclude 	"conf/compat_netbsd09.config"
1031.5Sthorpejoptions 	COMPAT_SUNOS
1041.5Sthorpejoptions 	COMPAT_13
1051.5Sthorpejoptions 	COMPAT_16
1061.1Sthorpej#options 	COMPAT_M68K4K	# compatibility with NetBSD/m68k4k binaries
1071.1Sthorpej#options 	COMPAT_LINUX	# compatibility with Linux/m68k binaries
1081.1Sthorpej#options 	COMPAT_OSSAUDIO	# compatibility with Linux/m68k binaries
1091.1Sthorpej
1101.1Sthorpej## force NFS root and swap
1111.1Sthorpej#config	netbsd		root on ? type nfs
1121.1Sthorpej## "generic" boot (put root on boot device)
1131.1Sthorpejconfig netbsd		root on ? type ?
1141.1Sthorpej
1151.1Sthorpej# Which protocol to use when booting over NFS
1161.1Sthorpejoptions 	NFS_BOOT_DHCP		# Diskless client w/ dhcp
1171.1Sthorpejoptions 	NFS_BOOT_BOOTP		# Diskless client w/ bootp
1181.1Sthorpejoptions 	NFS_BOOT_BOOTPARAM	# Diskless client w/ bootparamd
1191.1Sthorpej
1201.1Sthorpej#
1211.1Sthorpej# accept filters
1221.1Sthorpejpseudo-device   accf_data		# "dataready" accept filter
1231.1Sthorpejpseudo-device   accf_http		# "httpready" accept filter
1241.1Sthorpej
1251.1Sthorpejpseudo-device	sl
1261.1Sthorpejpseudo-device	ppp 
1271.1Sthorpej#pseudo-device	pppoe			# PPP over Ethernet (RFC 2516)
1281.1Sthorpejpseudo-device	loop
1291.1Sthorpejpseudo-device	bpfilter
1301.1Sthorpej#pseudo-device	carp			# Common Address Redundancy Protocol
1311.1Sthorpejpseudo-device	gif			# IPv[46] over IPv[46] tunnel (RFC1933)
1321.1Sthorpej#pseudo-device	faith			# IPv[46] tcp relay translation i/f
1331.1Sthorpejpseudo-device	stf			# 6to4 IPv6 over IPv4 encapsulation
1341.1Sthorpej#pseudo-device	vlan			# IEEE 802.1q encapsulation
1351.1Sthorpej#pseudo-device	bridge			# simple inter-network bridging
1361.1Sthorpej#pseudo-device	vether			# Virtual Ethernet for bridge
1371.1Sthorpej#pseudo-device	agr			# IEEE 802.3ad link aggregation
1381.1Sthorpejpseudo-device	pty			# pseudo-terminals
1391.1Sthorpej#pseudo-device	cgd			# cryptographic disk devices
1401.1Sthorpejpseudo-device	vnd 
1411.1Sthorpej#options 	VND_COMPRESSION		# compressed vnd(4)
1421.1Sthorpejpseudo-device	fss			# file system snapshot device
1431.1Sthorpejpseudo-device	clockctl		# user control of clock subsystem
1441.1Sthorpejpseudo-device	ksyms			# /dev/ksyms
1451.1Sthorpej#pseudo-device	npf			# NPF packet filter
1461.1Sthorpejpseudo-device 	swwdog			# software watchdog timer -- swwdog(4)
1471.1Sthorpej
1481.1Sthorpej# random number generator pseudo-device
1491.1Sthorpej#options 	RND_COM			# use "com" randomness as well (BROKEN)
1501.1Sthorpej
1511.1Sthorpej# Veriexec
1521.1Sthorpej# include "dev/veriexec.config"
1531.1Sthorpej
1541.1Sthorpejmainbus0	at root
1551.1Sthorpej
1561.1Sthorpej# Goldfish virtual devices
1571.1Sthorpejgfpic*		at mainbus? addr ?	# interrupt controller
1581.1Sthorpejgftty*		at mainbus? addr ?	# console terminal
1591.1Sthorpejgfrtc*		at mainbus? addr ?	# real-time clock / timer
1601.1Sthorpej
1611.3Sthorpej# Qemu Virtual System Controller
1621.3Sthorpejvirtctrl*	at mainbus? addr ?
1631.3Sthorpej
1641.1Sthorpej# VirtIO devices
1651.1Sthorpejvirtio*		at mainbus? addr ?	# VirtIO nexus
1661.1Sthorpejld*		at virtio?		# VirtIO disk device
1671.1Sthorpejvioif*		at virtio?		# VirtIO network device
1681.1Sthorpejviornd*		at virtio?		# VirtIO entropy device
1691.1Sthorpejvioscsi*	at virtio?		# VirtIO SCSI device
1701.1Sthorpej
1711.1Sthorpej# SCSI devices
1721.1Sthorpejscsibus* at scsi?
1731.1Sthorpejsd*		at scsibus? target ? lun ?	# SCSI disks
1741.1Sthorpej#st*		at scsibus? target ? lun ?	# SCSI tapes
1751.1Sthorpejcd*		at scsibus? target ? lun ?	# SCSI CD-ROMs
1761.1Sthorpej#ch*		at scsibus? target ? lun ?	# SCSI changer devices
1771.1Sthorpej#ss*		at scsibus? target ? lun ?	# SCSI scanners
1781.1Sthorpej#ses*		at scsibus? target ? lun ?	# SCSI SES/SAF-TE devices
1791.1Sthorpejuk*		at scsibus? target ? lun ?	# unknown SCSI
1801.1Sthorpej
1811.1Sthorpej# Pull in optional local configuration - always at end
1821.1Sthorpejcinclude	"arch/virt68k/conf/GENERIC.local"
183