11.12Sisaki# $NetBSD: GENERIC,v 1.12 2025/08/27 04:47:17 isaki 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.12Sisaki#ident 		"GENERIC-$Revision: 1.12 $"
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.12Sisakioptions 	M68030
361.12Sisakioptions 	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.12Sisaki#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.8Srinfile-system	NULLFS		# loopback file system
721.8Srinfile-system	PUFFS		# Userspace file systems (e.g. ntfs-3g & sshfs)
731.8Srinpseudo-device	putter		# for puffs and pud
741.1Sthorpej
751.1Sthorpej# File system options
761.1Sthorpej#options 	FFS_EI		# FFS Endian Independent support
771.1Sthorpejoptions 	FFS_NO_SNAPSHOT	# No FFS snapshot support
781.1Sthorpej#options 	UFS_DIRHASH	# UFS Large Directory Hashing
791.1Sthorpej#options 	UFS_EXTATTR	# Extended attribute support for UFS1
801.1Sthorpejoptions 	WAPBL		# File system journaling support
811.1Sthorpejoptions 	NFSSERVER	# Network File System server
821.1Sthorpej
831.1Sthorpej# Networking options
841.1Sthorpejoptions 	INET
851.1Sthorpejoptions 	INET6		# IPV6
861.1Sthorpej#options 	IPSEC		# IP security
871.1Sthorpej#options 	IPSEC_DEBUG	# debug for IP security
881.1Sthorpej#options 	GATEWAY		# IP packet forwarding
891.1Sthorpej#options 	TCP_DEBUG	# Record last TCP_NDEBUG packets with SO_DEBUG
901.1Sthorpej
911.1Sthorpej#options 	ALTQ		# Manipulate network interfaces' output queues
921.1Sthorpej#options 	ALTQ_BLUE	# Stochastic Fair Blue
931.1Sthorpej#options 	ALTQ_CBQ	# Class-Based Queueing
941.1Sthorpej#options 	ALTQ_CDNR	# Diffserv Traffic Conditioner
951.1Sthorpej#options 	ALTQ_FIFOQ	# First-In First-Out Queue
961.1Sthorpej#options 	ALTQ_FLOWVALVE	# RED/flow-valve (red-penalty-box)
971.1Sthorpej#options 	ALTQ_HFSC	# Hierarchical Fair Service Curve
981.1Sthorpej#options 	ALTQ_LOCALQ	# Local queueing discipline
991.1Sthorpej#options 	ALTQ_PRIQ	# Priority Queueing
1001.1Sthorpej#options 	ALTQ_RED	# Random Early Detection
1011.1Sthorpej#options 	ALTQ_RIO	# RED with IN/OUT
1021.1Sthorpej#options 	ALTQ_WFQ	# Weighted Fair Queueing
1031.1Sthorpej
1041.1Sthorpejoptions 	COMPAT_AOUT_M68K	# compatibility with NetBSD/m68k a.out
1051.1Sthorpejinclude 	"conf/compat_netbsd09.config"
1061.6Sthorpej#options 	COMPAT_SUNOS
1071.1Sthorpej#options 	COMPAT_M68K4K	# compatibility with NetBSD/m68k4k binaries
1081.1Sthorpej#options 	COMPAT_LINUX	# compatibility with Linux/m68k binaries
1091.1Sthorpej#options 	COMPAT_OSSAUDIO	# compatibility with Linux/m68k binaries
1101.1Sthorpej
1111.8Srin# Shared memory options
1121.8Srinoptions 	SYSVMSG		# System V-like message queues
1131.8Srinoptions 	SYSVSEM		# System V-like semaphores
1141.8Srinoptions 	SYSVSHM		# System V-like memory sharing
1151.8Srin
1161.1Sthorpej## force NFS root and swap
1171.1Sthorpej#config	netbsd		root on ? type nfs
1181.1Sthorpej## "generic" boot (put root on boot device)
1191.1Sthorpejconfig netbsd		root on ? type ?
1201.1Sthorpej
1211.1Sthorpej# Which protocol to use when booting over NFS
1221.1Sthorpejoptions 	NFS_BOOT_DHCP		# Diskless client w/ dhcp
1231.1Sthorpejoptions 	NFS_BOOT_BOOTP		# Diskless client w/ bootp
1241.1Sthorpejoptions 	NFS_BOOT_BOOTPARAM	# Diskless client w/ bootparamd
1251.1Sthorpej
1261.1Sthorpej#
1271.1Sthorpej# accept filters
1281.1Sthorpejpseudo-device   accf_data		# "dataready" accept filter
1291.1Sthorpejpseudo-device   accf_http		# "httpready" accept filter
1301.1Sthorpej
1311.1Sthorpejpseudo-device	sl
1321.1Sthorpejpseudo-device	ppp 
1331.1Sthorpej#pseudo-device	pppoe			# PPP over Ethernet (RFC 2516)
1341.1Sthorpejpseudo-device	loop
1351.1Sthorpejpseudo-device	bpfilter
1361.1Sthorpej#pseudo-device	carp			# Common Address Redundancy Protocol
1371.1Sthorpejpseudo-device	gif			# IPv[46] over IPv[46] tunnel (RFC1933)
1381.1Sthorpej#pseudo-device	faith			# IPv[46] tcp relay translation i/f
1391.1Sthorpejpseudo-device	stf			# 6to4 IPv6 over IPv4 encapsulation
1401.1Sthorpej#pseudo-device	vlan			# IEEE 802.1q encapsulation
1411.1Sthorpej#pseudo-device	bridge			# simple inter-network bridging
1421.1Sthorpej#pseudo-device	vether			# Virtual Ethernet for bridge
1431.1Sthorpej#pseudo-device	agr			# IEEE 802.3ad link aggregation
1441.1Sthorpejpseudo-device	pty			# pseudo-terminals
1451.1Sthorpej#pseudo-device	cgd			# cryptographic disk devices
1461.1Sthorpejpseudo-device	vnd 
1471.1Sthorpej#options 	VND_COMPRESSION		# compressed vnd(4)
1481.1Sthorpejpseudo-device	fss			# file system snapshot device
1491.1Sthorpejpseudo-device	clockctl		# user control of clock subsystem
1501.1Sthorpejpseudo-device	ksyms			# /dev/ksyms
1511.1Sthorpej#pseudo-device	npf			# NPF packet filter
1521.1Sthorpejpseudo-device 	swwdog			# software watchdog timer -- swwdog(4)
1531.9Smlelstvpseudo-device	drvctl			# user control of drive subsystem
1541.1Sthorpej
1551.8Srin# crypto pseudo-devices
1561.8Srinpseudo-device	crypto			# /dev/crypto device
1571.8Srinpseudo-device	swcrypto		# software crypto implementation
1581.8Srin
1591.1Sthorpej# random number generator pseudo-device
1601.1Sthorpej#options 	RND_COM			# use "com" randomness as well (BROKEN)
1611.1Sthorpej
1621.1Sthorpej# Veriexec
1631.1Sthorpej# include "dev/veriexec.config"
1641.1Sthorpej
1651.1Sthorpejmainbus0	at root
1661.1Sthorpej
1671.1Sthorpej# Goldfish virtual devices
1681.1Sthorpejgfpic*		at mainbus? addr ?	# interrupt controller
1691.1Sthorpejgftty*		at mainbus? addr ?	# console terminal
1701.1Sthorpejgfrtc*		at mainbus? addr ?	# real-time clock / timer
1711.1Sthorpej
1721.3Sthorpej# Qemu Virtual System Controller
1731.3Sthorpejvirtctrl*	at mainbus? addr ?
1741.3Sthorpej
1751.1Sthorpej# VirtIO devices
1761.1Sthorpejvirtio*		at mainbus? addr ?	# VirtIO nexus
1771.10Sriastrad
1781.10Sriastradinclude "dev/virtio/virtio.config"
1791.10Sriastradno vio9p* 	at virtio?		# XXX ?
1801.10Sriastradno viomb* 	at virtio?		# XXX ?
1811.11Sisakino viogpu*	at virtio?		# No rasops (yet?)
1821.1Sthorpej
1831.1Sthorpej# SCSI devices
1841.1Sthorpejscsibus* at scsi?
1851.1Sthorpejsd*		at scsibus? target ? lun ?	# SCSI disks
1861.1Sthorpej#st*		at scsibus? target ? lun ?	# SCSI tapes
1871.1Sthorpejcd*		at scsibus? target ? lun ?	# SCSI CD-ROMs
1881.1Sthorpej#ch*		at scsibus? target ? lun ?	# SCSI changer devices
1891.1Sthorpej#ss*		at scsibus? target ? lun ?	# SCSI scanners
1901.1Sthorpej#ses*		at scsibus? target ? lun ?	# SCSI SES/SAF-TE devices
1911.1Sthorpejuk*		at scsibus? target ? lun ?	# unknown SCSI
1921.1Sthorpej
1931.1Sthorpej# Pull in optional local configuration - always at end
1941.1Sthorpejcinclude	"arch/virt68k/conf/GENERIC.local"
195