1# $NetBSD: GENERIC,v 1.238 2024/01/29 18:27:13 christos 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/mac68k/conf/std.mac68k"
22
23options 	INCLUDE_CONFIG_FILE	# embed config file in kernel binary
24
25#ident 		"GENERIC-$Revision: 1.238 $"
26
27makeoptions	COPTS="-O2 -fno-reorder-blocks -fno-omit-frame-pointer"
28	# See share/mk/sys.mk. -fno-omit-frame-pointer is necessary for
29	# backtraces in DDB.
30
31maxusers	16		# estimated number of users
32
33# CPU support.  At least one is REQUIRED.
34options 	M68040
35options 	M68030
36options 	M68020		# Note:  must have 68851 PMMU
37
38# CPU-related options.
39options 	FPSP
40options 	FPU_EMULATE
41
42# Support for 128 meg SIMMs in Centris / Quadra 610, 650 and 800 machines.
43# You need to set the total memory in the MacOS Booter.
44#options 	DJMEMCMAX
45
46# Use hard-coded memory size in MB, instead of parameter given by Booter.
47# Workaround for Booter bug by which max memory is restricted to 255MB.
48#options 	MAC68K_MEMSIZE=256
49
50# Standard system options
51
52options 	INSECURE	# disable kernel security levels
53
54options 	RTC_OFFSET=0	# hardware clock is this many mins. west of GMT
55#options 	NTP		# NTP phase/frequency locked loop
56
57options 	KTRACE		# system call tracing via ktrace(1)
58
59options 	SYSVMSG		# System V-like message queues
60options 	SYSVSEM		# System V-like semaphores
61options 	SYSVSHM		# System V-like memory sharing
62
63options 	USERCONF	# userconf(4) support
64#options	PIPE_SOCKETPAIR	# smaller, but slower pipe(2)
65options 	SYSCTL_INCLUDE_DESCR	# Include sysctl descriptions in kernel
66
67# Alternate buffer queue strategies for better responsiveness under high
68# disk I/O load.
69#options 	BUFQ_READPRIO
70options 	BUFQ_PRIOCSCAN
71
72# Diagnostic/debugging support options
73#options 	DIAGNOSTIC	# cheap kernel consistency checks
74#options 	DEBUG		# expensive debugging checks/support
75#options 	LOCKDEBUG	# kernel lock debugging
76options 	DDB			# in-kernel debugger
77#options 	DDB_HISTORY_SIZE=100	# enable history editing in DDB
78#options 	KGDB			# remote debugger
79#options 	KGDB_DEV=0xc01		# kgdb device number (dev_t)
80#options 	KGDB_DEVRATE=38400	# baud rate
81#makeoptions	DEBUG="-g"	# compile full symbol table
82
83# Compatibility options
84include 	"conf/compat_netbsd10.config"
85#options 	COMPAT_NOMID	# compatibility with 386BSD, BSDI, NetBSD 0.8,
86
87# The following is needed to run pre-NetBSD 1.6 binaries under ELF.
88options 	COMPAT_AOUT_M68K # compatibility with NetBSD/m68k a.out
89options 	EXEC_AOUT	# support for exec'ing a.out
90
91#options 	COMPAT_LINUX	# compatibility with Linux/m68k binaries
92#options 	COMPAT_OSSAUDIO	# compatibility with Linux/m68k binaries
93#options 	COMPAT_M68K4K	# compatibility with NetBSD/m68k4k binaries
94#options 	COMPAT_SUNOS	# compatibility with SunOS 4.x binaries
95
96# File systems
97file-system 	FFS		# UFS
98file-system 	EXT2FS		# second extended file system (linux)
99file-system 	LFS		# log-structured file system
100file-system 	MFS		# memory file system
101file-system 	NFS		# Network File System client
102file-system 	CD9660		# ISO 9660 + Rock Ridge file system
103file-system 	MSDOSFS		# MS-DOS file system
104file-system 	FDESC		# /dev/fd
105file-system 	KERNFS		# /kern
106file-system 	NULLFS		# loopback file system
107file-system 	OVERLAY		# overlay file system
108file-system	PUFFS		# Userspace file systems (e.g. ntfs-3g & sshfs)
109file-system 	PROCFS		# /proc
110file-system 	UMAPFS		# NULLFS + uid and gid remapping
111file-system 	UNION		# union file system
112file-system 	CODA		# Venus/Coda distributed file system
113file-system	PTYFS		# /dev/pts/N support
114file-system	TMPFS		# Efficient memory file-system
115#file-system	UDF		# experimental - OSTA UDF CD/DVD file-system
116#file-system	HFS		# experimental - Apple HFS+ (read-only)
117
118# File system options
119#options 	FFS_EI		# FFS Endian Independent support
120#options 	FFS_NO_SNAPSHOT	# No FFS snapshot support
121options 	QUOTA		# legacy UFS quotas
122options 	QUOTA2		# new, in-filesystem UFS quotas
123options 	UFS_DIRHASH	# UFS Large Directory Hashing
124options 	UFS_EXTATTR	# Extended attribute support for UFS1
125options 	WAPBL		# File system journaling support
126options 	LFS_DIRHASH	# LFS version of UFS_DIRHASH - experimental
127options 	NFSSERVER	# Network File System server
128
129# Networking options
130options 	GATEWAY		# packet forwarding
131options 	INET		# IP + ICMP + TCP + UDP
132options 	INET6		# IPV6
133#options 	IPSEC		# IP security
134#options 	IPSEC_DEBUG	# debug for IP security
135#options 	MROUTING	# IP multicast routing
136#options 	PIM		# Protocol Independent Multicast
137options 	NETATALK	# AppleTalk networking protocols
138options 	PPP_BSDCOMP	# BSD-Compress compression support for PPP
139options 	PPP_DEFLATE	# Deflate compression support for PPP
140options 	PPP_FILTER	# Active filter support for PPP (requires bpf)
141#options 	TCP_DEBUG	# Record last TCP_NDEBUG packets with SO_DEBUG
142
143#options 	ALTQ		# Manipulate network interfaces' output queues
144#options 	ALTQ_BLUE	# Stochastic Fair Blue
145#options 	ALTQ_CBQ	# Class-Based Queueing
146#options 	ALTQ_CDNR	# Diffserv Traffic Conditioner
147#options 	ALTQ_FIFOQ	# First-In First-Out Queue
148#options 	ALTQ_FLOWVALVE	# RED/flow-valve (red-penalty-box)
149#options 	ALTQ_HFSC	# Hierarchical Fair Service Curve
150#options 	ALTQ_LOCALQ	# Local queueing discipline
151#options 	ALTQ_PRIQ	# Priority Queueing
152#options 	ALTQ_RED	# Random Early Detection
153#options 	ALTQ_RIO	# RED with IN/OUT
154#options 	ALTQ_WFQ	# Weighted Fair Queueing
155
156# These options enable verbose messages for several subsystems.
157# Warning, these may compile large string tables into the kernel!
158options 	SCSIVERBOSE	# human readable SCSI error messages
159
160# wscons options
161#options 	WSEMUL_SUN		# sun terminal emulation
162options 	WSEMUL_VT100		# VT100 / VT220 emulation
163options 	WSDISPLAY_COMPAT_USL		# wsconscfg VT handling
164options 	WSDISPLAY_COMPAT_ITEFONT # use ite font (6x10)
165
166# rcons options; note that 1-bit and 8-bit displays are supported by default.
167options 	RCONS_2BPP		# Support for 2-bit display
168options 	RCONS_4BPP		# Support for 4-bit display
169options 	RCONS_16BPP		# Support for 16-bit display
170
171# Mac-specific options
172#options 	ALTXBUTTONS	# Map Opt-{1,2,3} to mouse buttons
173#options 	DISABLE_EXT_CACHE # If really paranoid, disable IIci ext. cache
174options 	GRF_COMPAT	# Include grf compatibility code
175#options 	MRG_ADB		# Use ROM-based ADB driver
176options 	ZS_CONSOLE_ABORT
177
178options 	NFS_BOOT_DHCP
179
180# Kernel root file system and dump configuration.
181config		netbsd	root on ? type ?
182
183#
184# Device configuration
185#
186
187mainbus0 at root
188
189
190# Basic Bus Support
191
192# On-board I/O bus support
193obio0 at mainbus?
194
195# NuBus support
196nubus0 at mainbus?
197
198
199# Console Devices
200
201# Apple Desktop Bus interface
202adb0	at obio?
203aed*	at adb?				# ADB event device
204akbd*	at adb?				# ADB keyboard
205ams*	at adb?				# ADB mouse
206
207# Basic frame buffer support
208intvid0	at obio?			# Internal video hardware
209macvid*	at nubus?			# NuBus video card
210
211# Device-independent frame buffer interface
212macfb*	at intvid?
213macfb*	at macvid?
214
215# Workstation Console devices
216wsdisplay* at macfb? console ?
217wskbd*	at akbd? console ?
218wsmouse* at ams?
219
220
221# Centronics printer port
222
223# CSI Hurdler Centronics Parallel Interface
224# CPI_CTC12_IS_TIMECOUNTER	0x01	Run counters 1+2 as timecounter	
225cpi*	at nubus? flags 0x1
226
227
228# Serial Devices
229
230# On-board serial interface
231zsc0	at obio?
232zstty*	at zsc? channel ?
233
234
235# SCSI Controllers and Devices
236
237# SCSI controllers
238# XXX - use only one of ncrscsi or sbc
239ncrscsi0 at obio? addr 0		# SCSI NCR 5380
240#sbc0	at obio? addr 0 flags 0x1	# MI SCSI NCR 5380
241esp0	at obio? addr 0			# SCSI NCR 53C9x
242esp1	at obio? addr 1			# SCSI NCR 53C9x
243
244# SCSI bus support
245scsibus* at scsi?
246
247# SCSI devices
248sd*	at scsibus? target ? lun ?	# SCSI disk drives
249st*	at scsibus? target ? lun ?	# SCSI tape drives
250cd*	at scsibus? target ? lun ?	# SCSI CD-ROM drives
251ch*	at scsibus? target ? lun ?	# SCSI autochangers
252dse*	at scsibus? target ? lun ?	# SCSI ethernet (Dayna)
253se*	at scsibus? target ? lun ?	# SCSI ethernet
254ss*	at scsibus? target ? lun ?	# SCSI scanners
255uk*	at scsibus? target ? lun ?	# SCSI unknown
256
257# IDE controller and devices
258wdc*	at obio? flags 0x1000
259atabus* at ata?
260wd*	at atabus? drive ?
261
262
263# Miscellaneous mass storage devices
264
265# IWM floppy disk controller
266iwm0	at obio?			# Sony driver (800K GCR)
267fd*	at iwm? drive ?
268
269
270# Network Interfaces
271
272# On-board Ethernet controllers
273sn*	at obio?			# SONIC-based (DP83932, DP83916)
274mc*	at obio?			# MACE-based
275
276# NuBus Ethernet controllers
277ae*	at nubus?			# DP8390-based
278sn*	at nubus?			# SONIC-based (DP83932, DP83916)
279sm*	at nubus?			# SMC 91cxx-based
280netdock*	at nubus?		# Asante NetDock, Newer Ether MicroDock
281
282nsphy*	at mii? phy ?
283ukphy*	at mii? phy ?
284
285# Audio Devices
286
287# On-board audio hardware
288asc0	at obio?			# ASC/EASC audio
289
290# Pseudo-Devices
291
292# disk/mass storage pseudo-devices
293pseudo-device	ccd			# concatenated/striped disk devices
294#pseudo-device	cgd			# cryptographic disk devices
295#pseudo-device	raid			# RAIDframe disk driver
296#options 	RAID_AUTOCONFIG		# auto-configuration of RAID components
297# Options to enable various other RAIDframe RAID types.
298# options	RF_INCLUDE_EVENODD=1
299# options	RF_INCLUDE_RAID5_RS=1
300# options	RF_INCLUDE_PARITYLOGGING=1
301# options	RF_INCLUDE_CHAINDECLUSTER=1
302# options	RF_INCLUDE_INTERDECLUSTER=1
303# options 	RF_INCLUDE_PARITY_DECLUSTERING=1
304# options	RF_INCLUDE_PARITY_DECLUSTERING_DS=1
305pseudo-device	fss			# file system snapshot device
306pseudo-device	md			# memory disk device (ramdisk)
307pseudo-device	vcoda			# Venus/Coda distributed file system
308pseudo-device	vnd			# disk-like interface to files
309#options 	VND_COMPRESSION		# compressed vnd(4)
310
311# network pseudo-devices
312pseudo-device	bpfilter		# Berkeley packet filter
313pseudo-device	carp			# Common Address Redundancy Protocol
314pseudo-device	npf			# NPF packet filter
315pseudo-device	loop			# network loopback
316pseudo-device	ppp			# Point-to-Point Protocol
317pseudo-device	pppoe			# PPP over Ethernet (RFC 2516)
318pseudo-device	sl			# Serial Line IP
319pseudo-device	tun			# network tunneling over tty
320pseudo-device	tap			# virtual Ethernet
321#pseudo-device	gre			# generic L3 over IP tunnel
322pseudo-device	gif			# IPv[46] over IPv[46] tunnel (RFC1933)
323#pseudo-device	faith			# IPv[46] tcp relay translation i/f
324pseudo-device	stf			# 6to4 IPv6 over IPv4 encapsulation
325pseudo-device	vlan			# IEEE 802.1q encapsulation
326pseudo-device	bridge			# simple inter-network bridging
327pseudo-device	vether			# Virtual Ethernet for bridge
328pseudo-device	agr			# IEEE 802.3ad link aggregation
329
330#
331# accept filters
332pseudo-device   accf_data		# "dataready" accept filter
333pseudo-device   accf_http		# "httpready" accept filter
334
335# miscellaneous pseudo-devices
336pseudo-device	grf		2	# grf emulation for wscons
337pseudo-device	ite		1	# ite emulation for wscons
338pseudo-device	pty			# pseudo-terminals
339pseudo-device	clockctl		# user control of clock subsystem
340pseudo-device	putter			# for puffs and pud
341pseudo-device	swwdog			# software watchdog driver
342
343# random number generator pseudo-device
344#options 	RND_COM			# use "com" randomness as well (BROKEN)
345pseudo-device	ksyms			# /dev/ksyms
346
347include "dev/veriexec.config"
348
349# Pull in optional local configuration - always at end
350cinclude	"arch/mac68k/conf/GENERIC.local"
351