1# $NetBSD: GENERIC,v 1.239 2025/04/03 01:54:46 nat 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.239 $"
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# Powerbook 1xx AC adaptor and battery
208#pbbat*   at aed?
209
210# Basic frame buffer support
211intvid0   at obio?                      # Internal video hardware
212macvid*   at nubus?                     # NuBus video card
213
214# Device-independent frame buffer interface
215macfb*    at intvid?
216macfb*    at macvid?
217
218# Workstation Console devices
219wsdisplay* at macfb? console ?
220wskbd*    at akbd? console ?
221wsmouse* at ams?
222
223
224# Centronics printer port
225
226# CSI Hurdler Centronics Parallel Interface
227# CPI_CTC12_IS_TIMECOUNTER    0x01      Run counters 1+2 as timecounter
228cpi*      at nubus? flags 0x1
229
230
231# Serial Devices
232
233# On-board serial interface
234zsc0      at obio?
235zstty*    at zsc? channel ?
236
237
238# SCSI Controllers and Devices
239
240# SCSI controllers
241# XXX - use only one of ncrscsi or sbc
242ncrscsi0 at obio? addr 0                # SCSI NCR 5380
243#sbc0     at obio? addr 0 flags 0x1     # MI SCSI NCR 5380
244esp0      at obio? addr 0                         # SCSI NCR 53C9x
245esp1      at obio? addr 1                         # SCSI NCR 53C9x
246
247# SCSI bus support
248scsibus* at scsi?
249
250# SCSI devices
251sd*       at scsibus? target ? lun ?    # SCSI disk drives
252st*       at scsibus? target ? lun ?    # SCSI tape drives
253cd*       at scsibus? target ? lun ?    # SCSI CD-ROM drives
254ch*       at scsibus? target ? lun ?    # SCSI autochangers
255dse*      at scsibus? target ? lun ?    # SCSI ethernet (Dayna)
256se*       at scsibus? target ? lun ?    # SCSI ethernet
257ss*       at scsibus? target ? lun ?    # SCSI scanners
258uk*       at scsibus? target ? lun ?    # SCSI unknown
259
260# IDE controller and devices
261wdc*      at obio? flags 0x1000
262atabus* at ata?
263wd*       at atabus? drive ?
264
265
266# Miscellaneous mass storage devices
267
268# IWM floppy disk controller
269iwm0      at obio?                      # Sony driver (800K GCR)
270fd*       at iwm? drive ?
271
272
273# Network Interfaces
274
275# On-board Ethernet controllers
276sn*       at obio?                      # SONIC-based (DP83932, DP83916)
277mc*       at obio?                      # MACE-based
278
279# NuBus Ethernet controllers
280ae*       at nubus?                     # DP8390-based
281sn*       at nubus?                     # SONIC-based (DP83932, DP83916)
282sm*       at nubus?                     # SMC 91cxx-based
283netdock*  at nubus?           # Asante NetDock, Newer Ether MicroDock
284
285nsphy*    at mii? phy ?
286ukphy*    at mii? phy ?
287
288# Audio Devices
289
290# On-board audio hardware
291asc0      at obio?                      # ASC/EASC audio
292
293# Pseudo-Devices
294
295# disk/mass storage pseudo-devices
296pseudo-device       ccd                           # concatenated/striped disk devices
297#pseudo-device      cgd                           # cryptographic disk devices
298#pseudo-device      raid                          # RAIDframe disk driver
299#options  RAID_AUTOCONFIG               # auto-configuration of RAID components
300# Options to enable various other RAIDframe RAID types.
301# options RF_INCLUDE_EVENODD=1
302# options RF_INCLUDE_RAID5_RS=1
303# options RF_INCLUDE_PARITYLOGGING=1
304# options RF_INCLUDE_CHAINDECLUSTER=1
305# options RF_INCLUDE_INTERDECLUSTER=1
306# options           RF_INCLUDE_PARITY_DECLUSTERING=1
307# options RF_INCLUDE_PARITY_DECLUSTERING_DS=1
308pseudo-device       fss                           # file system snapshot device
309pseudo-device       md                            # memory disk device (ramdisk)
310pseudo-device       vcoda                         # Venus/Coda distributed file system
311pseudo-device       vnd                           # disk-like interface to files
312#options  VND_COMPRESSION               # compressed vnd(4)
313
314# network pseudo-devices
315pseudo-device       bpfilter            # Berkeley packet filter
316pseudo-device       carp                          # Common Address Redundancy Protocol
317pseudo-device       npf                           # NPF packet filter
318pseudo-device       loop                          # network loopback
319pseudo-device       ppp                           # Point-to-Point Protocol
320pseudo-device       pppoe                         # PPP over Ethernet (RFC 2516)
321pseudo-device       sl                            # Serial Line IP
322pseudo-device       tun                           # network tunneling over tty
323pseudo-device       tap                           # virtual Ethernet
324#pseudo-device      gre                           # generic L3 over IP tunnel
325pseudo-device       gif                           # IPv[46] over IPv[46] tunnel (RFC1933)
326#pseudo-device      faith                         # IPv[46] tcp relay translation i/f
327pseudo-device       stf                           # 6to4 IPv6 over IPv4 encapsulation
328pseudo-device       vlan                          # IEEE 802.1q encapsulation
329pseudo-device       bridge                        # simple inter-network bridging
330pseudo-device       vether                        # Virtual Ethernet for bridge
331pseudo-device       agr                           # IEEE 802.3ad link aggregation
332
333#
334# accept filters
335pseudo-device   accf_data               # "dataready" accept filter
336pseudo-device   accf_http               # "httpready" accept filter
337
338# miscellaneous pseudo-devices
339pseudo-device       grf                 2         # grf emulation for wscons
340pseudo-device       ite                 1         # ite emulation for wscons
341pseudo-device       pty                           # pseudo-terminals
342pseudo-device       clockctl            # user control of clock subsystem
343pseudo-device       putter                        # for puffs and pud
344pseudo-device       swwdog                        # software watchdog driver
345
346# random number generator pseudo-device
347#options  RND_COM                       # use "com" randomness as well (BROKEN)
348pseudo-device       ksyms                         # /dev/ksyms
349
350include "dev/veriexec.config"
351
352# Pull in optional local configuration - always at end
353cinclude  "arch/mac68k/conf/GENERIC.local"
354