1# $NetBSD: GENERIC,v 1.6 2024/01/19 05:47:15 thorpej Exp $
2#
3# GENERIC machine description file
4# 
5# This machine description file is used to generate the default NetBSD
6# kernel.  The generic kernel does not include all options, subsystems
7# and device drivers, but should be useful for most applications.
8#
9# The machine description file can be customised for your specific
10# machine to reduce the kernel size and improve its performance.
11#
12# For further information on compiling NetBSD kernels, see the config(8)
13# man page.
14#
15# For further information on hardware support for this architecture, see
16# the intro(4) man page.  For further information about kernel options
17# for this architecture, see the options(4) man page.  For an explanation
18# of each device driver in this file see the section 4 man page for the
19# device.
20
21include 	"arch/virt68k/conf/std.virt68k"
22
23options 	INCLUDE_CONFIG_FILE	# embed config file in kernel binary
24
25#ident 		"GENERIC-$Revision: 1.6 $"
26
27makeoptions	COPTS="-O2 -fno-reorder-blocks"	# see share/mk/sys.mk
28
29# reserve symbol space and copy the symbol table into it.  Needed
30# because Qemu does not load the symbol table when loading the
31# kernel.
32makeoptions     COPY_SYMTAB=1
33
34# CPUs this kernel supports
35options		M68030
36options		M68040
37
38maxusers	16
39
40# Needed on m68040 boards to emulate some missing FP instructions
41options 	FPSP
42
43options 	DDB
44options 	DIAGNOSTIC
45#options 	LOCKDEBUG
46#options 	DEBUG
47
48#options 	SYSVSHM
49options 	KTRACE
50
51options 	USERCONF	# userconf(4) support
52#options	PIPE_SOCKETPAIR	# smaller, but slower pipe(2)
53options 	SYSCTL_INCLUDE_DESCR	# Include sysctl descriptions in kernel
54
55# Alternate buffer queue strategies for better responsiveness under high
56# disk I/O load.
57#options 	BUFQ_READPRIO
58#options 	BUFQ_PRIOCSCAN
59
60file-system 	FFS
61file-system 	NFS
62file-system 	KERNFS
63file-system 	PROCFS
64#file-system 	MFS
65file-system 	CD9660
66file-system	MSDOSFS
67#file-system	UNION
68file-system	PTYFS		# /dev/pts/N support
69file-system	TMPFS		# Efficient memory file-system
70#file-system	UDF		# experimental - OSTA UDF CD/DVD file-system
71
72# File system options
73#options 	FFS_EI		# FFS Endian Independent support
74options 	FFS_NO_SNAPSHOT	# No FFS snapshot support
75#options 	UFS_DIRHASH	# UFS Large Directory Hashing
76#options 	UFS_EXTATTR	# Extended attribute support for UFS1
77options 	WAPBL		# File system journaling support
78options 	NFSSERVER	# Network File System server
79
80# Networking options
81options 	INET
82options 	INET6		# IPV6
83#options 	IPSEC		# IP security
84#options 	IPSEC_DEBUG	# debug for IP security
85#options 	GATEWAY		# IP packet forwarding
86#options 	TCP_DEBUG	# Record last TCP_NDEBUG packets with SO_DEBUG
87
88#options 	ALTQ		# Manipulate network interfaces' output queues
89#options 	ALTQ_BLUE	# Stochastic Fair Blue
90#options 	ALTQ_CBQ	# Class-Based Queueing
91#options 	ALTQ_CDNR	# Diffserv Traffic Conditioner
92#options 	ALTQ_FIFOQ	# First-In First-Out Queue
93#options 	ALTQ_FLOWVALVE	# RED/flow-valve (red-penalty-box)
94#options 	ALTQ_HFSC	# Hierarchical Fair Service Curve
95#options 	ALTQ_LOCALQ	# Local queueing discipline
96#options 	ALTQ_PRIQ	# Priority Queueing
97#options 	ALTQ_RED	# Random Early Detection
98#options 	ALTQ_RIO	# RED with IN/OUT
99#options 	ALTQ_WFQ	# Weighted Fair Queueing
100
101options 	COMPAT_AOUT_M68K	# compatibility with NetBSD/m68k a.out
102include 	"conf/compat_netbsd09.config"
103#options 	COMPAT_SUNOS
104#options 	COMPAT_M68K4K	# compatibility with NetBSD/m68k4k binaries
105#options 	COMPAT_LINUX	# compatibility with Linux/m68k binaries
106#options 	COMPAT_OSSAUDIO	# compatibility with Linux/m68k binaries
107
108## force NFS root and swap
109#config	netbsd		root on ? type nfs
110## "generic" boot (put root on boot device)
111config netbsd		root on ? type ?
112
113# Which protocol to use when booting over NFS
114options 	NFS_BOOT_DHCP		# Diskless client w/ dhcp
115options 	NFS_BOOT_BOOTP		# Diskless client w/ bootp
116options 	NFS_BOOT_BOOTPARAM	# Diskless client w/ bootparamd
117
118#
119# accept filters
120pseudo-device   accf_data		# "dataready" accept filter
121pseudo-device   accf_http		# "httpready" accept filter
122
123pseudo-device	sl
124pseudo-device	ppp 
125#pseudo-device	pppoe			# PPP over Ethernet (RFC 2516)
126pseudo-device	loop
127pseudo-device	bpfilter
128#pseudo-device	carp			# Common Address Redundancy Protocol
129pseudo-device	gif			# IPv[46] over IPv[46] tunnel (RFC1933)
130#pseudo-device	faith			# IPv[46] tcp relay translation i/f
131pseudo-device	stf			# 6to4 IPv6 over IPv4 encapsulation
132#pseudo-device	vlan			# IEEE 802.1q encapsulation
133#pseudo-device	bridge			# simple inter-network bridging
134#pseudo-device	vether			# Virtual Ethernet for bridge
135#pseudo-device	agr			# IEEE 802.3ad link aggregation
136pseudo-device	pty			# pseudo-terminals
137#pseudo-device	cgd			# cryptographic disk devices
138pseudo-device	vnd 
139#options 	VND_COMPRESSION		# compressed vnd(4)
140pseudo-device	fss			# file system snapshot device
141pseudo-device	clockctl		# user control of clock subsystem
142pseudo-device	ksyms			# /dev/ksyms
143#pseudo-device	npf			# NPF packet filter
144pseudo-device 	swwdog			# software watchdog timer -- swwdog(4)
145
146# random number generator pseudo-device
147#options 	RND_COM			# use "com" randomness as well (BROKEN)
148
149# Veriexec
150# include "dev/veriexec.config"
151
152mainbus0	at root
153
154# Goldfish virtual devices
155gfpic*		at mainbus? addr ?	# interrupt controller
156gftty*		at mainbus? addr ?	# console terminal
157gfrtc*		at mainbus? addr ?	# real-time clock / timer
158
159# Qemu Virtual System Controller
160virtctrl*	at mainbus? addr ?
161
162# VirtIO devices
163virtio*		at mainbus? addr ?	# VirtIO nexus
164ld*		at virtio?		# VirtIO disk device
165vioif*		at virtio?		# VirtIO network device
166viornd*		at virtio?		# VirtIO entropy device
167vioscsi*	at virtio?		# VirtIO SCSI device
168
169# SCSI devices
170scsibus* at scsi?
171sd*		at scsibus? target ? lun ?	# SCSI disks
172#st*		at scsibus? target ? lun ?	# SCSI tapes
173cd*		at scsibus? target ? lun ?	# SCSI CD-ROMs
174#ch*		at scsibus? target ? lun ?	# SCSI changer devices
175#ss*		at scsibus? target ? lun ?	# SCSI scanners
176#ses*		at scsibus? target ? lun ?	# SCSI SES/SAF-TE devices
177uk*		at scsibus? target ? lun ?	# unknown SCSI
178
179# Pull in optional local configuration - always at end
180cinclude	"arch/virt68k/conf/GENERIC.local"
181