GENERIC revision 1.1
11.1Sthorpej# $NetBSD: GENERIC,v 1.1 2024/01/02 07:40:59 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.1Sthorpej#ident 		"GENERIC-$Revision: 1.1 $"
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.1Sthorpejoptions 	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.1Sthorpej#file-system 	MFS
641.1Sthorpejfile-system 	CD9660
651.1Sthorpej#file-system	MSDOSFS
661.1Sthorpej#file-system	UNION
671.1Sthorpejfile-system	PTYFS		# /dev/pts/N support
681.1Sthorpejfile-system	TMPFS		# Efficient memory file-system
691.1Sthorpej#file-system	UDF		# experimental - OSTA UDF CD/DVD file-system
701.1Sthorpej
711.1Sthorpej# File system options
721.1Sthorpej#options 	FFS_EI		# FFS Endian Independent support
731.1Sthorpejoptions 	FFS_NO_SNAPSHOT	# No FFS snapshot support
741.1Sthorpej#options 	UFS_DIRHASH	# UFS Large Directory Hashing
751.1Sthorpej#options 	UFS_EXTATTR	# Extended attribute support for UFS1
761.1Sthorpejoptions 	WAPBL		# File system journaling support
771.1Sthorpejoptions 	NFSSERVER	# Network File System server
781.1Sthorpej
791.1Sthorpej# Networking options
801.1Sthorpejoptions 	INET
811.1Sthorpejoptions 	INET6		# IPV6
821.1Sthorpej#options 	IPSEC		# IP security
831.1Sthorpej#options 	IPSEC_DEBUG	# debug for IP security
841.1Sthorpej#options 	GATEWAY		# IP packet forwarding
851.1Sthorpej#options 	TCP_DEBUG	# Record last TCP_NDEBUG packets with SO_DEBUG
861.1Sthorpej
871.1Sthorpej#options 	ALTQ		# Manipulate network interfaces' output queues
881.1Sthorpej#options 	ALTQ_BLUE	# Stochastic Fair Blue
891.1Sthorpej#options 	ALTQ_CBQ	# Class-Based Queueing
901.1Sthorpej#options 	ALTQ_CDNR	# Diffserv Traffic Conditioner
911.1Sthorpej#options 	ALTQ_FIFOQ	# First-In First-Out Queue
921.1Sthorpej#options 	ALTQ_FLOWVALVE	# RED/flow-valve (red-penalty-box)
931.1Sthorpej#options 	ALTQ_HFSC	# Hierarchical Fair Service Curve
941.1Sthorpej#options 	ALTQ_LOCALQ	# Local queueing discipline
951.1Sthorpej#options 	ALTQ_PRIQ	# Priority Queueing
961.1Sthorpej#options 	ALTQ_RED	# Random Early Detection
971.1Sthorpej#options 	ALTQ_RIO	# RED with IN/OUT
981.1Sthorpej#options 	ALTQ_WFQ	# Weighted Fair Queueing
991.1Sthorpej
1001.1Sthorpejoptions 	COMPAT_AOUT_M68K	# compatibility with NetBSD/m68k a.out
1011.1Sthorpejinclude 	"conf/compat_netbsd09.config"
1021.1Sthorpej#options 	COMPAT_SUNOS
1031.1Sthorpej#options 	COMPAT_M68K4K	# compatibility with NetBSD/m68k4k binaries
1041.1Sthorpej#options 	COMPAT_LINUX	# compatibility with Linux/m68k binaries
1051.1Sthorpej#options 	COMPAT_OSSAUDIO	# compatibility with Linux/m68k binaries
1061.1Sthorpej
1071.1Sthorpej## force NFS root and swap
1081.1Sthorpej#config	netbsd		root on ? type nfs
1091.1Sthorpej## "generic" boot (put root on boot device)
1101.1Sthorpejconfig netbsd		root on ? type ?
1111.1Sthorpej
1121.1Sthorpej# Which protocol to use when booting over NFS
1131.1Sthorpejoptions 	NFS_BOOT_DHCP		# Diskless client w/ dhcp
1141.1Sthorpejoptions 	NFS_BOOT_BOOTP		# Diskless client w/ bootp
1151.1Sthorpejoptions 	NFS_BOOT_BOOTPARAM	# Diskless client w/ bootparamd
1161.1Sthorpej
1171.1Sthorpej#
1181.1Sthorpej# accept filters
1191.1Sthorpejpseudo-device   accf_data		# "dataready" accept filter
1201.1Sthorpejpseudo-device   accf_http		# "httpready" accept filter
1211.1Sthorpej
1221.1Sthorpejpseudo-device	sl
1231.1Sthorpejpseudo-device	ppp 
1241.1Sthorpej#pseudo-device	pppoe			# PPP over Ethernet (RFC 2516)
1251.1Sthorpejpseudo-device	loop
1261.1Sthorpejpseudo-device	bpfilter
1271.1Sthorpej#pseudo-device	carp			# Common Address Redundancy Protocol
1281.1Sthorpejpseudo-device	gif			# IPv[46] over IPv[46] tunnel (RFC1933)
1291.1Sthorpej#pseudo-device	faith			# IPv[46] tcp relay translation i/f
1301.1Sthorpejpseudo-device	stf			# 6to4 IPv6 over IPv4 encapsulation
1311.1Sthorpej#pseudo-device	vlan			# IEEE 802.1q encapsulation
1321.1Sthorpej#pseudo-device	bridge			# simple inter-network bridging
1331.1Sthorpej#pseudo-device	vether			# Virtual Ethernet for bridge
1341.1Sthorpej#pseudo-device	agr			# IEEE 802.3ad link aggregation
1351.1Sthorpejpseudo-device	pty			# pseudo-terminals
1361.1Sthorpej#pseudo-device	cgd			# cryptographic disk devices
1371.1Sthorpejpseudo-device	vnd 
1381.1Sthorpej#options 	VND_COMPRESSION		# compressed vnd(4)
1391.1Sthorpejpseudo-device	fss			# file system snapshot device
1401.1Sthorpejpseudo-device	clockctl		# user control of clock subsystem
1411.1Sthorpejpseudo-device	ksyms			# /dev/ksyms
1421.1Sthorpej#pseudo-device	npf			# NPF packet filter
1431.1Sthorpejpseudo-device 	swwdog			# software watchdog timer -- swwdog(4)
1441.1Sthorpej
1451.1Sthorpej# random number generator pseudo-device
1461.1Sthorpej#options 	RND_COM			# use "com" randomness as well (BROKEN)
1471.1Sthorpej
1481.1Sthorpej# Veriexec
1491.1Sthorpej# include "dev/veriexec.config"
1501.1Sthorpej
1511.1Sthorpejmainbus0	at root
1521.1Sthorpej
1531.1Sthorpej# Goldfish virtual devices
1541.1Sthorpejgfpic*		at mainbus? addr ?	# interrupt controller
1551.1Sthorpejgftty*		at mainbus? addr ?	# console terminal
1561.1Sthorpejgfrtc*		at mainbus? addr ?	# real-time clock / timer
1571.1Sthorpej
1581.1Sthorpej# VirtIO devices
1591.1Sthorpejvirtio*		at mainbus? addr ?	# VirtIO nexus
1601.1Sthorpejld*		at virtio?		# VirtIO disk device
1611.1Sthorpejvioif*		at virtio?		# VirtIO network device
1621.1Sthorpejviornd*		at virtio?		# VirtIO entropy device
1631.1Sthorpejvioscsi*	at virtio?		# VirtIO SCSI device
1641.1Sthorpej
1651.1Sthorpej# SCSI devices
1661.1Sthorpejscsibus* at scsi?
1671.1Sthorpejsd*		at scsibus? target ? lun ?	# SCSI disks
1681.1Sthorpej#st*		at scsibus? target ? lun ?	# SCSI tapes
1691.1Sthorpejcd*		at scsibus? target ? lun ?	# SCSI CD-ROMs
1701.1Sthorpej#ch*		at scsibus? target ? lun ?	# SCSI changer devices
1711.1Sthorpej#ss*		at scsibus? target ? lun ?	# SCSI scanners
1721.1Sthorpej#ses*		at scsibus? target ? lun ?	# SCSI SES/SAF-TE devices
1731.1Sthorpejuk*		at scsibus? target ? lun ?	# unknown SCSI
1741.1Sthorpej
1751.1Sthorpej# Pull in optional local configuration - always at end
1761.1Sthorpejcinclude	"arch/virt68k/conf/GENERIC.local"
177