1# $NetBSD: GENERIC,v 1.210 2024/10/05 03:56:54 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.210 $"
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#options  ITE_SIXEL
233
234## floppy disks
235fdc0      at intio0 addr 0xe94000 intr 96 dma 0 dmaintr 100 # floppy controller
236fd*       at fdc0 unit ?                          # builtin floppy drives
237
238## SCSI devices
239scsirom0 at intio0 addr 0xfc0000                  # Built-in SCSI BIOS
240scsirom1 at intio0 addr 0xea0020                  # External SCSI BIOS
241spc0      at scsirom0                                       # genuin SCSI
242spc1      at scsirom1                                       # genuin SCSI
243scsibus* at spc?
244mha0      at scsirom1                                       # Mankai MK-HA1 (Mach-2)
245scsibus* at mha0
246
247sd*       at scsibus? target ? lun ?    # SCSI disks
248cd*       at scsibus? target ? lun ?    # SCSI CD-ROMs
249#st*      at scsibus? target ? lun ?    # SCSI tapes
250#ss*      at scsibus? target ? lun ?    # SCSI scanners
251#ch*      at scsibus? target ? lun ?    # SCSI changer devices
252#uk*      at scsibus? target ? lun ?    # SCSI unknown devices
253
254## Ports
255zsc0      at intio0 addr 0xe98000 intr 112
256zstty0    at zsc0 channel 0             # built-in RS-232C
257ms0       at zsc0 channel 1             # standard mouse
258#zsc1     at intio0 addr 0xeafc00 intr 113
259#zstty2   at zsc1 channel 0
260#zstty3   at zsc1 channel 1
261#zsc2     at intio0 addr 0xeafc10 intr 114
262#zstty4   at zsc2 channel 0
263#zstty5   at zsc2 channel 1
264par0      at intio0 addr 0xe8c000                 # Builtin printer port
265
266sram0     at intio0 addr 0xed0000                 # battery-backuped static RAM
267pseudo-device       bell                          # OPM bell
268
269powsw0    at mfp0                                 # Front switch
270#powsw1   at mfp0                                 # External power switch
271
272com0      at intio0 addr 0xefff00 intr 240        # PSX16550, port1
273com1      at intio0 addr 0xefff10 intr 241        # PSX16550, port2
274
275## Audio device
276vs0 at intio0 addr 0xe92000 dma 3 dmaintr 106
277audio*    at vs?
278
279spkr*     at audio?                               # PC speaker (synthesized)
280
281## Network interfaces
282ne*       at intio0 addr 0xece300 intr 249        # Nereid Ethernet
283ne*       at intio0 addr 0xeceb00 intr 248        # Nereid Ethernet
284neptune0 at intio0 addr 0xece000 intr 249         # Neptune-X
285neptune1 at intio0 addr 0xece400 intr 249         # Neptune-X at alt. addr.
286ne*       at neptune? addr 0x300                            # NE2000 or clone
287
288## Bank memory disk
289bmd*      at intio0 addr 0xece3f0                 # Nereid
290bmd*      at intio0 addr 0xecebf0                 # Nereid
291
292## MII/PHY support for USB ethernet
293#acphy*   at mii? phy ?
294#rgephy*  at mii? phy ?
295#rlphy*   at mii? phy ?
296#ukphy*   at mii? phy ?
297
298## USB Controller and Devices; Experimental
299
300# Nereid USB controllers
301#slhci0   at intio0 addr 0xece380 intr 251
302#slhci1   at intio0 addr 0xeceb80 intr 250
303#options  SLHCI_DEBUG
304
305# USB bus support
306#usb*     at slhci?
307
308# USB Hubs
309#uhub*    at usb?
310#uhub*    at uhub? port ?
311
312# USB HID device
313#uhidev*  at uhub? port ? configuration ? interface ?
314
315# USB Mice; not supported wscons yet
316#ums*     at uhidev? reportid ?
317#wsmouse* at ums? mux 0
318
319# USB Keyboards; not supported wscons yet
320#ukbd*    at uhidev? reportid ?
321#wskbd*   at ukbd? console ? mux 1
322
323# USB serial adapter
324#ucycom*  at uhidev? reportid ?
325
326# USB Generic HID devices
327#uhid*    at uhidev? reportid ?
328
329# USB Printer
330#ulpt*    at uhub? port ? configuration ? interface ?
331
332# USB Modem
333#umodem*  at uhub? port ? configuration ?
334#ucom*    at umodem?
335
336# Option N.V. Wireless WAN modems
337#uhso*    at uhub? port ? configuration ?
338
339# USB Mass Storage
340#umass*   at uhub? port ? configuration ? interface ?
341#atapibus* at umass?
342#scsibus* at umass?
343
344# USB audio
345#uaudio*  at uhub? port ? configuration ?
346
347# USB MIDI
348#umidi* at uhub? port ? configuration ?
349
350# USB IrDA
351# USB-IrDA bridge spec
352#uirda* at uhub? port ? configuration ? interface ?
353#irframe* at uirda?
354
355# SigmaTel STIr4200 USB/IrDA Bridge
356#ustir* at uhub? port ?
357#irframe* at ustir?
358
359# USB Ethernet adapters
360#aue*     at uhub? port ?               # ADMtek AN986 Pegasus based adapters
361#axe*     at uhub? port ?               # ASIX AX88172 based adapters
362#cue*     at uhub? port ?               # CATC USB-EL1201A based adapters
363#kue*     at uhub? port ?               # Kawasaki LSI KL5KUSB101B based adapters
364#mue*     at uhub? port ?               # Microchip LAN75xx/LAN78xx based adapters
365#udav*    at uhub? port ?               # Davicom DM9601 based adapters
366#ure*     at uhub? port ?               # Realtek RTL8152/RTL8153 based adapters
367#url*     at uhub? port ?               # Realtek RTL8150L based adapters
368
369# Prolific PL2301/PL2302 host-to-host adapter
370#upl*     at uhub? port ?
371
372# Serial adapters
373#uftdi*   at uhub? port ?               # FTDI FT8U100AX serial adapter
374#ucom*    at uftdi? portno ?
375
376#umct*    at uhub? port ?               # MCT USB-RS232 serial adapter
377#ucom*    at umct? portno ?
378
379#uplcom*  at uhub? port ?               # I/O DATA USB-RSAQ2 serial adapter
380#ucom*    at uplcom? portno ?
381
382#uvscom*  at uhub? port ?               # SUNTAC Slipper U VS-10U serial adapter
383#ucom*    at uvscom? portno ?
384
385# USB Handspring Visor
386#uvisor*  at uhub? port ?
387#ucom*    at uvisor?
388
389# Kyocera AIR-EDGE PHONE
390#ukyopon* at uhub? port ?
391#ucom*    at ukyopon? portno ?
392
393# USB scanners that use SCSI emulation, e.g., HP5300
394#usscanner* at uhub? port ?
395#scsibus* at usscanner? channel ?
396
397# D-Link DSB-R100 USB radio
398#udsbr*   at uhub? port ?
399#radio*   at udsbr?
400
401# USB Generic driver
402#ugen*    at uhub? port ?
403
404
405#### Pseudo devices
406
407#
408# accept filters
409#pseudo-device   accf_data              # "dataready" accept filter
410#pseudo-device   accf_http              # "httpready" accept filter
411
412## A disk-like interface to files.  Can be used to create floppy, CD,
413## miniroot images, etc.
414
415pseudo-device       vnd
416#options  VND_COMPRESSION               # compressed vnd(4)
417
418## Concatenated and striped disks; with this, you can create a software-based
419## disk array similar to a "RAID 0" setup.  See ccd(4).
420
421#pseudo-device      ccd
422
423## Cryptographic disk devices.  See cgd(4).
424
425#pseudo-device      cgd
426
427## RAIDframe disk driver: software RAID driver.  See raid(4).
428
429pseudo-device       raid
430options   RAID_AUTOCONFIG               # auto-configuration of RAID components
431# Options to enable various other RAIDframe RAID types.
432# options           RF_INCLUDE_EVENODD=1
433# options           RF_INCLUDE_RAID5_RS=1
434# options           RF_INCLUDE_PARITYLOGGING=1
435# options           RF_INCLUDE_CHAINDECLUSTER=1
436# options           RF_INCLUDE_INTERDECLUSTER=1
437# options           RF_INCLUDE_PARITY_DECLUSTERING=1
438# options           RF_INCLUDE_PARITY_DECLUSTERING_DS=1
439
440
441## Memory disk device, used on boot floppies with compressed
442## kernel-plus-root-disk images.
443
444#pseudo-device      md
445
446## Loopback network interface; required
447pseudo-device       loop
448
449## SLIP and CSLIP interfaces, for IP over a serial line.
450pseudo-device       sl
451
452## PPP, the successor to SLIP.  See pppd(8).
453pseudo-device       ppp
454
455## PPP over Ethernet (RFC 2516)
456pseudo-device       pppoe
457
458## Network "tunnel" device, allowing protocol stacks to run in the userland.
459## This is used by the third-party user-mode "ppp" program, and others.
460#pseudo-device      tun
461#pseudo-device      tap                           # virtual Ethernet
462
463## Generic L3 over IP tunnel
464#pseudo-device      gre                           # generic L3 over IP tunnel
465
466## Berkeley Packet Filter, required to run RARPD.  A generic C-language
467## interface that allows selective examining of incoming packets.
468pseudo-device       bpfilter
469
470#pseudo-device      carp                          # Common Address Redundancy Protocol
471
472#pseudo-device      npf                           # NPF packet filter
473
474## for IPv6
475pseudo-device       gif                           # IPv[46] over IPv[46] tunnel (RFC1933)
476#pseudo-device      faith                         # IPv[46] tcp relay translation i/f
477pseudo-device       stf                           # 6to4 IPv6 over IPv4 encapsulation
478
479## IEEE 802.1Q Virtual LAN encapsulation, see vlan(4).
480pseudo-device       vlan
481
482## Simple inter-network traffic bridging
483pseudo-device       bridge
484#pseudo-device      vether                        # Virtual Ethernet for bridge
485pseudo-device       agr                           # IEEE 802.3ad link aggregation
486
487#### Other device configuration
488
489## Pseudo ttys, required for network logins and programs like screen.
490
491pseudo-device       pty                           # pseudo-terminals
492
493## Random device, used to implement /dev/random (a source of random noise),
494## and generate randomness for some kernel formulae.
495
496
497pseudo-device       clockctl            # user control of clock subsystem
498pseudo-device       drvctl                        # user control of drive subsystem
499pseudo-device       ksyms                         # /dev/ksyms
500#pseudo-device      fss                           # file system snapshot device
501pseudo-device       swwdog                        # software watchdog timer -- swwdog(4)
502
503# Veriexec
504# include "dev/veriexec.config"
505
506# Pull in optional local configuration - always at end
507cinclude  "arch/x68k/conf/GENERIC.local"
508