1# $NetBSD: GENERIC,v 1.170 2024/01/29 18:27:10 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/bebox/conf/std.bebox"
22
23options   INCLUDE_CONFIG_FILE # embed config file in kernel binary
24
25#ident              "GENERIC-$Revision: 1.170 $"
26
27maxusers  32
28
29# Standard system options
30
31options   RTC_OFFSET=0        # hardware clock is this many mins. west of GMT
32options   NTP                 # NTP phase/frequency locked loop
33
34options   KTRACE              # system call tracing via ktrace(1)
35
36options   SYSVMSG             # System V-like message queues
37options   SYSVSEM             # System V-like semaphores
38options   SYSVSHM             # System V-like memory sharing
39
40options   USERCONF  # userconf(4) support
41#options  PIPE_SOCKETPAIR     # smaller, but slower pipe(2)
42options   SYSCTL_INCLUDE_DESCR          # Include sysctl descriptions in kernel
43
44# Alternate buffer queue strategies for better responsiveness under high
45# disk I/O load.
46#options  BUFQ_READPRIO
47options   BUFQ_PRIOCSCAN
48
49# Diagnostic/debugging support options
50#options  DIAGNOSTIC          # cheap kernel consistency checks
51#options  DEBUG               # expensive debugging checks/support
52options   DDB                 # in-kernel debugger
53options   DDB_ONPANIC=1       # see also sysctl(7): `ddb.onpanic'
54options   DDB_HISTORY_SIZE=512          # Enable history editing in DDB
55#makeoptions        DEBUG="-g"
56
57include   "conf/compat_netbsd09.config"
58
59#options  COMPAT_386BSD_MBRPART         # recognize old partition ID
60#options  COMPAT_LINUX        # Linux binary compatibility
61#options  COMPAT_OSSAUDIO     # Linux binary compatibility
62
63# File systems
64file-system         FFS                 # UFS
65#file-system        EXT2FS              # second extended file system (linux)
66#file-system        LFS                 # log-structured file system
67file-system         MFS                 # memory file system
68file-system         NFS                 # Network File System client
69file-system         CD9660              # ISO 9660 + Rock Ridge file system
70file-system         MSDOSFS             # MS-DOS file system
71#file-system        FDESC               # /dev/fd
72file-system         KERNFS              # /kern
73file-system         NULLFS              # loopback file system
74#file-system        OVERLAY             # overlay file system
75file-system         PROCFS              # /proc
76#file-system        UMAPFS              # NULLFS + uid and gid remapping
77file-system         UNION               # union file system
78#file-system        CODA                # Coda File System; also needs vcoda (below)
79file-system         PTYFS               # /dev/pts/N support
80file-system         TMPFS               # Efficient memory file-system
81#file-system        UDF                 # experimental - OSTA UDF CD/DVD file-system
82#file-system        HFS                 # experimental - Apple HFS+ (read-only)
83
84# File system options
85#options  APPLE_UFS # Apple UFS support in FFS
86#options  FFS_EI              # FFS Endian Independent support
87#options  FFS_NO_SNAPSHOT     # No FFS snapshot support
88options   QUOTA               # legacy UFS quotas
89options   QUOTA2              # new, in-filesystem UFS quotas
90options   UFS_DIRHASH         # UFS Large Directory Hashing
91options   UFS_EXTATTR         # Extended attribute support for UFS1
92options   WAPBL               # File system journaling support
93#options  DISKLABEL_EI        # disklabel Endian Independent support
94#options  NFSSERVER # Network File System server
95
96# Networking options
97#options  GATEWAY             # packet forwarding
98options   INET                # IP + ICMP + TCP + UDP
99options   INET6               # IPV6
100#options  IPSEC               # IP security
101#options  IPSEC_DEBUG         # debug for IP security
102#options  MROUTING  # IP multicast routing
103#options  PIM                 # Protocol Independent Multicast
104#options  NETATALK  # AppleTalk networking protocols
105#options  PPP_BSDCOMP         # BSD-Compress compression support for PPP
106#options  PPP_DEFLATE         # Deflate compression support for PPP
107#options  PPP_FILTER          # Active filter support for PPP (requires bpf)
108#options  TCP_DEBUG # Record last TCP_NDEBUG packets with SO_DEBUG
109
110#options  ALTQ                # Manipulate network interfaces' output queues
111#options  ALTQ_BLUE # Stochastic Fair Blue
112#options  ALTQ_CBQ  # Class-Based Queueing
113#options  ALTQ_CDNR # Diffserv Traffic Conditioner
114#options  ALTQ_FIFOQ          # First-In First-Out Queue
115#options  ALTQ_FLOWVALVE      # RED/flow-valve (red-penalty-box)
116#options  ALTQ_HFSC # Hierarchical Fair Service Curve
117#options  ALTQ_LOCALQ         # Local queueing discipline
118#options  ALTQ_PRIQ # Priority Queueing
119#options  ALTQ_RED  # Random Early Detection
120#options  ALTQ_RIO  # RED with IN/OUT
121#options  ALTQ_WFQ  # Weighted Fair Queueing
122
123# These options enable verbose messages for several subsystems.
124# Warning, these may compile large string tables into the kernel!
125options   PCIVERBOSE          # verbose PCI device autoconfig messages
126options   MIIVERBOSE          # verbose PHY autoconfig messages
127#options  PCI_CONFIG_DUMP     # verbosely dump PCI config space
128options   SCSIVERBOSE         # human readable SCSI error messages
129
130#options  NFS_BOOT_BOOTPARAM,NFS_BOOT_BOOTP
131
132# wscons options
133# builtin terminal emulations
134#options  WSEMUL_SUN                    # sun terminal emulation
135options   WSEMUL_VT100                  # VT100 / VT220 emulation
136options   WS_DEFAULT_FG=WSCOL_LIGHT_WHITE
137# compatibility to other console drivers
138options   WSDISPLAY_COMPAT_USL          # wsconscfg VT handling
139options   WSDISPLAY_COMPAT_RAWKBD       # can get raw scancodes
140
141config              netbsd    root on ? type ?
142
143mainbus0 at root
144
145cpu*      at mainbus0
146pci0      at mainbus0 bus ?
147
148pci*      at ppb? bus ?
149
150ppb*      at pci? dev ? function ?      # PCI-PCI bridges
151pchb*     at pci? dev ? function ?      # PCI-Host bridges
152pcib*     at pci? dev ? function ?      # PCI-ISA bridges
153
154isa*      at pcib?                      # ISA on PCI-ISA bridge
155
156# Console Devices
157
158# wscons
159pckbc0              at isa?                       # pc keyboard controller
160pckbd*              at pckbc?           # PC keyboard
161pms*                at pckbc?           # PS/2 mouse for wsmouse
162#options  PMS_DISABLE_POWERHOOK         # Disable PS/2 reset on resume
163#options  PMS_SYNAPTICS_TOUCHPAD        # Enable support for Synaptics Touchpads
164genfb*              at pci? dev ? function ?
165options   WSFB_FAKE_VGA_FB
166vga*                at pci? dev ? function ?
167wsdisplay*          at vga? console ?
168wskbd*              at pckbd? console ?
169wsmouse*  at pms? mux 0
170
171# make sure the console display is always wsdisplay0
172wsdisplay0          at wsemuldisplaydev? console 1
173wsdisplay*          at wsemuldisplaydev?
174
175com0      at isa? port 0x3f8 irq 4      # standard PC serial ports
176com1      at isa? port 0x2f8 irq 3
177com2      at isa? port 0x380 irq 22
178com3      at isa? port 0x388 irq 23
179
180lpt0      at isa? port 0x378 irq 7      # standard PC parallel ports
181
182mcclock0 at isa? port 0x70              # time-of-day clock
183attimer0 at isa?
184#pcppi0   at isa?
185#spkr*    at pcppi?
186
187wss0      at isa? port 0x82c irq 30 drq 6 drq2 7  # Windows Sound System
188
189# Audio support
190audio*    at audiobus?
191
192spkr*     at audio?                     # PC speaker (synthesized)
193
194# MIDI support
195#midi*    at pcppi?                     # MIDI interface to the PC speaker
196
197# Joystick driver. Probe is a little strange; add only if you have one.
198joy0      at isa? port 0x201
199
200siop*     at pci? dev ? function ?      # NCR 538XX SCSI controllers
201scsibus* at siop?
202
203sd*       at scsibus? target ? lun ?    # SCSI disk drives
204#st*      at scsibus? target ? lun ?    # SCSI tape drives
205cd*       at scsibus? target ? lun ?    # SCSI CD-ROM drives
206#ch*      at scsibus? target ? lun ?    # SCSI autochangers
207#ss*      at scsibus? target ? lun ?    # SCSI scanners
208#uk*      at scsibus? target ? lun ?    # SCSI unknown
209
210fdc0      at isa? port 0x3f0 irq 6 drq 2          # standard PC floppy controllers
211fd0       at fdc? drive 1
212#fd*      at fdc? drive ?
213
214wdc0      at isa? port 0x1f0 irq 14     # ST506, ESDI, and IDE controllers
215
216atabus* at ata?
217wd*       at atabus? drive ?
218
219# ATAPI bus support
220atapibus* at atapi?
221
222# ATAPI devices
223# flags have the same meaning as for IDE drives.
224cd*       at atapibus? drive ? flags 0x0000       # ATAPI CD-ROM drives
225#sd*      at atapibus? drive ? flags 0x0000       # ATAPI disk drives
226#st*      at atapibus? drive ? flags 0x0000       # ATAPI tape drives
227#uk*      at atapibus? drive ? flags 0x0000       # ATAPI unknown
228
229# Network devices
230ec0       at isa? port 0x250 iomem 0xd8000 irq 9  # 3Com 3c503 Ethernet
231ne0       at isa? port 0x300 irq 5      # NE[12]000 ethernet cards
232fxp*      at pci? dev ? function ?      # Intel EtherExpress PRO 10+/100B
233ne*       at pci? dev ? function ?      # NE2000-compatible Ethernet
234tlp*      at pci? dev ? function ?      # DECchip 21x4x and clones
235
236# MII/PHY support
237ukphy*  at mii? phy ?                   # generic unknown PHYs
238
239# TV cards
240
241# Brooktree 848/849/878/879 based TV cards
242bktr*     at pci? dev ? function ?      # Brooktree video/audio capture/tuner
243
244
245# Pseudo-Devices
246
247pseudo-device       crypto                        # /dev/crypto device
248                                                  # (disabled, requires generic softints)
249pseudo-device       swcrypto            # software crypto implementation
250
251# disk/mass storage pseudo-devices
252#pseudo-device      bio                           # RAID control device driver
253pseudo-device       ccd                           # concatenated/striped disk devices
254pseudo-device       cgd                           # cryptographic disk devices
255#pseudo-device      raid                          # RAIDframe disk driver
256#options  RAID_AUTOCONFIG               # auto-configuration of RAID components
257# Options to enable various other RAIDframe RAID types.
258#options  RF_INCLUDE_EVENODD=1
259#options  RF_INCLUDE_RAID5_RS=1
260#options  RF_INCLUDE_PARITYLOGGING=1
261#options  RF_INCLUDE_CHAINDECLUSTER=1
262#options  RF_INCLUDE_INTERDECLUSTER=1
263#options  RF_INCLUDE_PARITY_DECLUSTERING=1
264#options  RF_INCLUDE_PARITY_DECLUSTERING_DS=1
265pseudo-device       fss                           # file system snapshot device
266
267pseudo-device       md                            # memory disk device
268pseudo-device       vnd                           # disk-like interface to files
269options   VND_COMPRESSION               # compressed vnd(4)
270
271# network pseudo-devices
272pseudo-device       bpfilter            # packet filter
273pseudo-device       carp                          # Common Address Redundancy Protocol
274pseudo-device       npf                           # NPF packet filter
275pseudo-device       loop                          # network loopback
276pseudo-device       ppp                           # Point-to-Point Protocol
277pseudo-device       pppoe                         # PPP over Ethernet (RFC 2516)
278pseudo-device       sl                            # Serial Line IP
279#pseudo-device      irframetty                    # IrDA frame line discipline
280pseudo-device       tap                           # virtual Ethernet
281pseudo-device       tun                           # network tunneling over tty
282#pseudo-device      gre                           # generic L3 over IP tunnel
283#pseudo-device      gif                           # IPv[46] over IPv[46] tunnel (RFC1933)
284#pseudo-device      faith                         # IPv[46] tcp relay translation i/f
285#pseudo-device      stf                           # 6to4 IPv6 over IPv4 encapsulation
286#pseudo-device      vlan                          # IEEE 802.1q encapsulation
287#pseudo-device      bridge                        # simple inter-network bridging
288#pseudo-device      vether                        # Virtual Ethernet for bridge
289#pseudo-device      agr                           # IEEE 802.3ad link aggregation
290# srt is EXPERIMENTAL
291#pseudo-device      srt                           # source-address-based routing
292
293#
294# accept filters
295pseudo-device   accf_data               # "dataready" accept filter
296pseudo-device   accf_http               # "httpready" accept filter
297
298# miscellaneous pseudo-devices
299pseudo-device       pty                           # pseudo-terminals
300#pseudo-device      sequencer           # MIDI sequencer
301#options  RND_COM                       # use "com" randomness as well (BROKEN)
302pseudo-device       clockctl            # user control of clock subsystem
303pseudo-device       ksyms                         # /dev/ksyms
304pseudo-device       lockstat            # lock profiling
305#pseudo-device      bcsp                          # BlueCore Serial Protocol
306#pseudo-device      btuart                        # Bluetooth HCI UART (H4)
307pseudo-device       swwdog                        # software watchdog timer -- swwdog(4)
308
309# a pseudo device needed for Coda       # also needs CODA (above)
310#pseudo-device      vcoda                         # coda minicache <-> venus comm.
311
312# wscons pseudo-devices
313pseudo-device       wsmux                         # mouse & keyboard multiplexor
314pseudo-device       wsfont
315
316# pseudo audio device driver
317#pseudo-device      pad
318
319# userland interface to drivers, including autoconf and properties retrieval
320pseudo-device       drvctl
321
322include "dev/veriexec.config"
323
324#options  PAX_MPROTECT=0                # PaX mprotect(2) restrictions
325#options  PAX_ASLR=0                    # PaX Address Space Layout Randomization
326
327# Pull in optional local configuration - always at end
328cinclude  "arch/bebox/conf/GENERIC.local"
329