1# $NetBSD: GENERIC,v 1.209 2024/01/07 07:58:33 isaki 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/x68k/conf/std.x68k"
22
23options 	INCLUDE_CONFIG_FILE	# embed config file in kernel binary
24
25#ident 		"GENERIC-$Revision: 1.209 $"
26
27makeoptions	COPTS="-O2 -fno-reorder-blocks -fno-unwind-tables -fno-omit-frame-pointer"
28	# See share/mk/sys.mk. -fno-omit-frame-pointer is necessary for
29	# backtraces in DDB.
30
31maxusers	8
32
33## System kernel configuration.  See options(4) for more detail.
34
35
36## Options for variants of the m68k MPU
37## you must have at least the correct one; REQUIRED
38options 	M68030
39options 	M68040
40options 	M68060
41## If you want an optimized kernel for a specific processor, use either:
42#makeoptions	CMACHFLAGS="-m68030"
43#makeoptions	CMACHFLAGS="-m68040 -Wa,-m68030 -Wa,-m68851"
44#makeoptions	CMACHFLAGS="-m68060 -Wa,-m68030 -Wa,-m68851"
45
46
47#### System options specific to the x68k port
48
49options 	EXTENDED_MEMORY		# support for >16MB memory
50options 	FPU_EMULATE		# software fpu emulation for MC68030
51options 	FPSP			# floating point emulation for MC68040
52options 	M060SP			# int/fp emulation for MC68060
53#options 	JUPITER			# support for "Jupiter-X" accelerator
54#options 	ZSCONSOLE,ZSCN_SPEED="9600"	# use serial console
55
56
57#### System options that are the same for all ports
58
59## Root device configuration: change the ?'s if you are going to use a
60## nonstandard root partition (other than where the kernel is booted from)
61## and/or nonstandard root type (not ffs or nfs).  Normally this can be
62## automagically determined at boot time.
63
64config		netbsd	root on ? type ?
65#config		netbsd	root on sd0 type ffs
66
67## RTC is offset from GMT; -540 means JST-9
68options 	RTC_OFFSET=-540	# hardware clock is this many mins. west of GMT
69
70## System call tracing (see ktrace(1)).
71options 	KTRACE
72
73## System V compatible IPC subsystem.  (msgctl(2), semctl(2), and shmctl(2))
74options 	SYSVMSG		# System V message queues
75options 	SYSVSEM		# System V semaphores
76options 	SYSVSHM		# System V shared memory
77
78## Loadable kernel module support
79options 	MODULAR		# new style module(7) framework
80options 	MODULAR_DEFAULT_AUTOLOAD
81
82options 	USERCONF	# userconf(4) support
83#options 	PIPE_SOCKETPAIR	# smaller, but slower pipe(2)
84options 	SYSCTL_INCLUDE_DESCR	# Include sysctl descriptions in kernel
85
86# Alternate buffer queue strategies for better responsiveness under high
87# disk I/O load.
88#options 	BUFQ_READPRIO
89#options 	BUFQ_PRIOCSCAN
90
91## NFS boot options; not supported currently: needs nfsboot program
92#options 	NFS_BOOT_BOOTPARAM
93#options 	NFS_BOOT_BOOTP
94options 	NFS_BOOT_DHCP
95
96#### Debugging options
97
98## The DDB in-kernel debugger runs at panic (unless DDB_ONPANIC=0), or at
99## serial console break or keyboard reset, where the PROM would normally
100## intercept.  DDB_HISTORY_SIZE adds up/down arrow command history.
101options 	DDB			# kernel dynamic debugger
102#options 	DDB_HISTORY_SIZE=100	# enable history editing in DDB
103#options 	DDB_ONPANIC=1		# see also sysctl(7): `ddb.onpanic'
104#options 	PANICBUTTON		# interrupt switch invokes DDB
105
106## You may also use gdb, on another computer connected to this machine over
107## a serial port.  Both KGDB_DEV and KGDB_DEVRATE should be specified;
108## KGDB_DEV is a dev_t encoded device number of the serial port to use.
109## KGDB is not supported for now.
110#options 	KGDB			# support for kernel gdb
111#options 	KGDB_DEV=0xc00		# kgdb device number
112#options 	KGDB_DEVRATE=9600	# baud rate
113
114## Compile the kernel with debugging symbols (`netbsd.gdb' is the debug file),
115## such that gdb(1) can be used on a kernel coredump.
116
117#makeoptions	DEBUG="-g"
118
119## Adds code to the kernel that does internal consistency checks, and will
120## cause the kernel to panic if corruption of internal data structures
121## is detected.
122#options 	DIAGNOSTIC	# extra kernel sanity checking
123
124## Enable (possibly expensive) debugging code that may also display messages
125## on the system console
126#options 	DEBUG
127
128## These options enable verbose messages for several subsystems.
129## Warning, these may compile large string tables into the kernel!
130#options 	SCSIVERBOSE	# human readable SCSI error messages
131#options 	USBVERBOSE	# verbose USB device autoconfig messages
132
133## `INSECURE' turns off the kernel security level (securelevel = 0 always).
134## This allows writing to /dev/mem, loading kernel modules while multi-user,
135## and other insecurities good only for development work.  Do not use this
136## option on a production machine.
137#options 	INSECURE
138
139## `FDSCRIPTS' allows non-readable but executable scripts by providing a
140## pre-opened opaque file to the script interpreter.  `SETUIDSCRIPTS',
141## which implies FDSCRIPTS, allows scripts to be set-user-id using the same
142## opaque file mechanism.  Perl calls this "secure setuid scripts."
143
144#options 	FDSCRIPTS
145#options 	SETUIDSCRIPTS
146
147## Options for compatibility with previous releases foreign system binaries.
148
149include 	"conf/compat_netbsd09.config"
150
151options 	COMPAT_AOUT_M68K # compatibility with NetBSD/m68k a.out
152#options 	COMPAT_M68K4K	# NetBSD/m68k4k binaries
153#options 	COMPAT_SUNOS	# SunOS 4.x binary compatibility; broken
154#options 	COMPAT_LINUX	# Linux/m68k binary compatibility
155#options 	COMPAT_OSSAUDIO	# Linux/m68k binary compatibility
156
157## File systems.
158file-system	FFS		# Berkeley Fast Filesystem
159file-system	NFS		# Sun NFS-compatible filesystem client
160file-system	KERNFS		# kernel data-structure filesystem
161file-system	NULLFS		# NULL layered filesystem
162#file-system	OVERLAY		# overlay file system
163file-system	MFS		# memory-based filesystem
164#file-system	FDESC		# user file descriptor filesystem
165#file-system	UMAPFS		# uid/gid remapping filesystem
166#file-system	LFS		# Log-structured filesystem (experimental)
167file-system	PROCFS		# /proc
168file-system	CD9660		# ISO 9660 + Rock Ridge file system
169#file-system	UNION		# union file system (a little buggy)
170file-system	MSDOSFS		# MS-DOS FAT filesystem(s).
171#file-system	ADOSFS		# AmigaDOS filesystem
172file-system	PTYFS		# /dev/pts/N support
173file-system	TMPFS		# Efficient memory file-system
174#file-system	UDF		# experimental - OSTA UDF CD/DVD file-system
175
176## File system options.
177#options 	FFS_EI		# FFS Endian Independent support
178options 	FFS_NO_SNAPSHOT	# No FFS snapshot support
179#options 	QUOTA		# legacy UFS quotas
180#options 	QUOTA2		# new, in-filesystem UFS quotas
181#options 	UFS_DIRHASH	# UFS Large Directory Hashing
182#options 	UFS_EXTATTR	# Extended attribute support for UFS1
183options 	WAPBL		# File system journaling support
184options 	NFSSERVER	# Network File System server
185
186## Network protocol support.  In most environments, INET is required.
187options 	INET		# IP (Internet Protocol) v4
188options 	INET6		# IPV6
189#options 	IPSEC		# IP security
190#options 	IPSEC_DEBUG	# debug for IP security
191#options 	GATEWAY		# packet forwarding ("router switch")
192#options 	MROUTING	# packet forwarding of multicast packets
193#options 	PIM		# Protocol Independent Multicast
194#options 	NETATALK	# AppleTalk (over Ethernet) protocol
195#options 	NTP		# Network Time Protocol in-kernel support
196#options 	PPS_SYNC	# Add serial line synchronization for NTP
197#options 	PPP_BSDCOMP	# Add BSD compression to ppp device
198#options 	PPP_DEFLATE	# Add deflate (libz) compression to ppp device
199#options 	PPP_FILTER	# Add active filters for ppp (via bpf)
200#options 	TCP_DEBUG	# Record last TCP_NDEBUG packets with SO_DEBUG
201
202#options 	ALTQ		# Manipulate network interfaces' output queues
203#options 	ALTQ_BLUE	# Stochastic Fair Blue
204#options 	ALTQ_CBQ	# Class-Based Queueing
205#options 	ALTQ_CDNR	# Diffserv Traffic Conditioner
206#options 	ALTQ_FIFOQ	# First-In First-Out Queue
207#options 	ALTQ_FLOWVALVE	# RED/flow-valve (red-penalty-box)
208#options 	ALTQ_HFSC	# Hierarchical Fair Service Curve
209#options 	ALTQ_LOCALQ	# Local queueing discipline
210#options 	ALTQ_PRIQ	# Priority Queueing
211#options 	ALTQ_RED	# Random Early Detection
212#options 	ALTQ_RIO	# RED with IN/OUT
213#options 	ALTQ_WFQ	# Weighted Fair Queueing
214
215
216#### Device configurations
217
218## Fundamental devices; see also std.x68k
219dmac0	at intio0 addr 0xe84000		# DMA controller
220xel0	at intio0
221opm0	at intio0 addr 0xe90000		# OPM: required for fdc
222
223## Display devices and console
224grfbus0	at mainbus0			# bitmapped displays
225grf0	at grfbus0 addr 0		# multiplane graphics
226grf1	at grfbus0 addr 1		# flexible graphics
227
228kbd0	at mfp0				# standard keyboard
229ite0	at grf0 grfaddr 0		# internal terminal emulator
230options 	ITE_KERNEL_ATTR=4	# bold for kernel messages
231					# see /sys/arch/x68k/dev/itevar.h
232
233## floppy disks
234fdc0	at intio0 addr 0xe94000 intr 96 dma 0 dmaintr 100 # floppy controller
235fd*	at fdc0 unit ?			# builtin floppy drives
236
237## SCSI devices
238scsirom0 at intio0 addr 0xfc0000		# Built-in SCSI BIOS
239scsirom1 at intio0 addr 0xea0020		# External SCSI BIOS
240spc0	at scsirom0				# genuin SCSI
241spc1	at scsirom1				# genuin SCSI
242scsibus* at spc?
243mha0	at scsirom1				# Mankai MK-HA1 (Mach-2)
244scsibus* at mha0
245
246sd*	at scsibus? target ? lun ?	# SCSI disks
247cd*	at scsibus? target ? lun ?	# SCSI CD-ROMs
248#st*	at scsibus? target ? lun ?	# SCSI tapes
249#ss*	at scsibus? target ? lun ?	# SCSI scanners
250#ch*	at scsibus? target ? lun ?	# SCSI changer devices
251#uk*	at scsibus? target ? lun ?	# SCSI unknown devices
252
253## Ports
254zsc0	at intio0 addr 0xe98000 intr 112
255zstty0	at zsc0 channel 0		# built-in RS-232C
256ms0	at zsc0 channel 1		# standard mouse
257#zsc1	at intio0 addr 0xeafc00 intr 113
258#zstty2	at zsc1 channel 0
259#zstty3	at zsc1 channel 1
260#zsc2	at intio0 addr 0xeafc10 intr 114
261#zstty4	at zsc2 channel 0
262#zstty5	at zsc2 channel 1
263par0	at intio0 addr 0xe8c000		# Builtin printer port
264
265sram0	at intio0 addr 0xed0000		# battery-backuped static RAM
266pseudo-device	bell			# OPM bell
267
268powsw0	at mfp0				# Front switch
269#powsw1	at mfp0				# External power switch
270
271com0	at intio0 addr 0xefff00 intr 240	# PSX16550, port1
272com1	at intio0 addr 0xefff10 intr 241	# PSX16550, port2
273
274## Audio device
275vs0 at intio0 addr 0xe92000 dma 3 dmaintr 106
276audio*	at vs?
277
278spkr*	at audio?				# PC speaker (synthesized)
279
280## Network interfaces
281ne*	at intio0 addr 0xece300 intr 249	# Nereid Ethernet
282ne*	at intio0 addr 0xeceb00 intr 248	# Nereid Ethernet
283neptune0 at intio0 addr 0xece000 intr 249	# Neptune-X
284neptune1 at intio0 addr 0xece400 intr 249	# Neptune-X at alt. addr.
285ne*	at neptune? addr 0x300			# NE2000 or clone
286
287## Bank memory disk
288bmd*	at intio0 addr 0xece3f0		# Nereid
289bmd*	at intio0 addr 0xecebf0		# Nereid
290
291## MII/PHY support for USB ethernet
292#acphy*	at mii? phy ?
293#rgephy*	at mii? phy ?
294#rlphy*	at mii? phy ?
295#ukphy*	at mii? phy ?
296
297## USB Controller and Devices; Experimental
298
299# Nereid USB controllers
300#slhci0	at intio0 addr 0xece380 intr 251
301#slhci1	at intio0 addr 0xeceb80 intr 250
302#options 	SLHCI_DEBUG
303
304# USB bus support
305#usb*	at slhci?
306
307# USB Hubs
308#uhub*	at usb?
309#uhub*	at uhub? port ?
310
311# USB HID device
312#uhidev*	at uhub? port ? configuration ? interface ?
313
314# USB Mice; not supported wscons yet
315#ums*	at uhidev? reportid ?
316#wsmouse* at ums? mux 0
317
318# USB Keyboards; not supported wscons yet
319#ukbd*	at uhidev? reportid ?
320#wskbd*	at ukbd? console ? mux 1
321
322# USB serial adapter
323#ucycom*	at uhidev? reportid ?
324
325# USB Generic HID devices
326#uhid*	at uhidev? reportid ?
327
328# USB Printer
329#ulpt*	at uhub? port ? configuration ? interface ?
330
331# USB Modem
332#umodem*	at uhub? port ? configuration ?
333#ucom*	at umodem?
334
335# Option N.V. Wireless WAN modems
336#uhso*	at uhub? port ? configuration ?
337
338# USB Mass Storage
339#umass*	at uhub? port ? configuration ? interface ?
340#atapibus* at umass?
341#scsibus* at umass?
342
343# USB audio
344#uaudio*	at uhub? port ? configuration ?
345
346# USB MIDI
347#umidi* at uhub? port ? configuration ?
348
349# USB IrDA
350# USB-IrDA bridge spec
351#uirda* at uhub? port ? configuration ? interface ?
352#irframe* at uirda?
353
354# SigmaTel STIr4200 USB/IrDA Bridge
355#ustir* at uhub? port ?
356#irframe* at ustir?
357
358# USB Ethernet adapters
359#aue*	at uhub? port ?		# ADMtek AN986 Pegasus based adapters
360#axe*	at uhub? port ?		# ASIX AX88172 based adapters
361#cue*	at uhub? port ?		# CATC USB-EL1201A based adapters
362#kue*	at uhub? port ?		# Kawasaki LSI KL5KUSB101B based adapters
363#mue*	at uhub? port ?		# Microchip LAN75xx/LAN78xx based adapters
364#udav*	at uhub? port ?		# Davicom DM9601 based adapters
365#ure*	at uhub? port ?		# Realtek RTL8152/RTL8153 based adapters
366#url*	at uhub? port ?		# Realtek RTL8150L based adapters
367
368# Prolific PL2301/PL2302 host-to-host adapter
369#upl*	at uhub? port ?
370
371# Serial adapters
372#uftdi*	at uhub? port ?		# FTDI FT8U100AX serial adapter
373#ucom*	at uftdi? portno ?
374
375#umct*	at uhub? port ?		# MCT USB-RS232 serial adapter
376#ucom*	at umct? portno ?
377
378#uplcom*	at uhub? port ?		# I/O DATA USB-RSAQ2 serial adapter
379#ucom*	at uplcom? portno ?
380
381#uvscom*	at uhub? port ?		# SUNTAC Slipper U VS-10U serial adapter
382#ucom*	at uvscom? portno ?
383
384# USB Handspring Visor
385#uvisor*	at uhub? port ?
386#ucom*	at uvisor?
387
388# Kyocera AIR-EDGE PHONE
389#ukyopon* at uhub? port ?
390#ucom*	at ukyopon? portno ?
391
392# USB scanners that use SCSI emulation, e.g., HP5300
393#usscanner* at uhub? port ?
394#scsibus* at usscanner? channel ?
395
396# D-Link DSB-R100 USB radio
397#udsbr*	at uhub? port ?
398#radio*	at udsbr?
399
400# USB Generic driver
401#ugen*	at uhub? port ?
402
403
404#### Pseudo devices
405
406#
407# accept filters
408#pseudo-device   accf_data		# "dataready" accept filter
409#pseudo-device   accf_http		# "httpready" accept filter
410
411## A disk-like interface to files.  Can be used to create floppy, CD,
412## miniroot images, etc.
413
414pseudo-device	vnd
415#options 	VND_COMPRESSION		# compressed vnd(4)
416
417## Concatenated and striped disks; with this, you can create a software-based
418## disk array similar to a "RAID 0" setup.  See ccd(4).
419
420#pseudo-device	ccd
421
422## Cryptographic disk devices.  See cgd(4).
423
424#pseudo-device	cgd
425
426## RAIDframe disk driver: software RAID driver.  See raid(4).
427
428pseudo-device	raid
429options 	RAID_AUTOCONFIG		# auto-configuration of RAID components
430# Options to enable various other RAIDframe RAID types.
431# options 	RF_INCLUDE_EVENODD=1
432# options 	RF_INCLUDE_RAID5_RS=1
433# options 	RF_INCLUDE_PARITYLOGGING=1
434# options 	RF_INCLUDE_CHAINDECLUSTER=1
435# options 	RF_INCLUDE_INTERDECLUSTER=1
436# options 	RF_INCLUDE_PARITY_DECLUSTERING=1
437# options 	RF_INCLUDE_PARITY_DECLUSTERING_DS=1
438
439
440## Memory disk device, used on boot floppies with compressed
441## kernel-plus-root-disk images.
442
443#pseudo-device	md
444
445## Loopback network interface; required
446pseudo-device	loop
447
448## SLIP and CSLIP interfaces, for IP over a serial line.
449pseudo-device	sl
450
451## PPP, the successor to SLIP.  See pppd(8).
452pseudo-device	ppp
453
454## PPP over Ethernet (RFC 2516)
455pseudo-device	pppoe
456
457## Network "tunnel" device, allowing protocol stacks to run in the userland.
458## This is used by the third-party user-mode "ppp" program, and others.
459#pseudo-device	tun
460#pseudo-device	tap			# virtual Ethernet
461
462## Generic L3 over IP tunnel
463#pseudo-device	gre			# generic L3 over IP tunnel
464
465## Berkeley Packet Filter, required to run RARPD.  A generic C-language
466## interface that allows selective examining of incoming packets.
467pseudo-device	bpfilter
468
469#pseudo-device	carp			# Common Address Redundancy Protocol
470
471#pseudo-device	npf			# NPF packet filter
472
473## for IPv6
474pseudo-device	gif			# IPv[46] over IPv[46] tunnel (RFC1933)
475#pseudo-device	faith			# IPv[46] tcp relay translation i/f
476pseudo-device	stf			# 6to4 IPv6 over IPv4 encapsulation
477
478## IEEE 802.1Q Virtual LAN encapsulation, see vlan(4).
479pseudo-device	vlan
480
481## Simple inter-network traffic bridging
482pseudo-device	bridge
483#pseudo-device	vether			# Virtual Ethernet for bridge
484pseudo-device	agr			# IEEE 802.3ad link aggregation
485
486#### Other device configuration
487
488## Pseudo ttys, required for network logins and programs like screen.
489
490pseudo-device	pty			# pseudo-terminals
491
492## Random device, used to implement /dev/random (a source of random noise),
493## and generate randomness for some kernel formulae.
494
495
496pseudo-device	clockctl		# user control of clock subsystem
497pseudo-device	drvctl			# user control of drive subsystem
498pseudo-device	ksyms			# /dev/ksyms
499#pseudo-device	fss			# file system snapshot device
500pseudo-device	swwdog			# software watchdog timer -- swwdog(4)
501
502# Veriexec
503# include "dev/veriexec.config"
504
505# Pull in optional local configuration - always at end
506cinclude	"arch/x68k/conf/GENERIC.local"
507