1# $NetBSD: GENERIC,v 1.113 2024/04/02 22:56:51 charlotte Exp $
2#
3# machine description file for GENERIC NAS
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/sandpoint/conf/std.sandpoint"
22
23options   INCLUDE_CONFIG_FILE # embed config file in kernel binary
24
25#ident              "GENERIC-$Revision: 1.113 $"
26
27maxusers  32
28
29#options  ALTIVEC             # Include AltiVec support
30
31# Standard system options
32#options  INSECURE  # disable kernel security levels
33
34options   RTC_OFFSET=0        # hardware clock is this many mins. west of GMT
35options   KTRACE
36
37options   SYSVMSG             # System V message queues
38options   SYSVSEM             # System V semaphores
39options   SYSVSHM             # System V shared memory
40
41#options  MODULAR             # module(7) support
42#options  MODULAR_DEFAULT_AUTOLOAD
43#options  USERCONF  # userconf(4) support
44
45#options  PIPE_SOCKETPAIR     # smaller, but slower pipe(2)
46options   SYSCTL_INCLUDE_DESCR          # Include sysctl descriptions in kernel
47
48# Alternate buffer queue strategies for better responsiveness under high
49# disk I/O load.
50#options  BUFQ_READPRIO
51options   BUFQ_PRIOCSCAN
52
53# Diagnostic/debugging support options
54#options  DIAGNOSTIC          # cheap kernel consistency checks
55#options  DEBUG               # expensive debugging checks/support
56options   DDB
57#options  DDB_HISTORY_SIZE=100          # Enable history editing in DDB
58#options  TRAP_PANICWAIT
59#options  PMAPCHECK
60#options  PMAPDEBUG
61options   MSGBUFSIZE=65536
62
63#makeoptions        DEBUG="-g"
64
65# Compatibility options
66include   "conf/compat_netbsd09.config"
67options   COMPAT_NOMID        # NetBSD 0.8, 386BSD, and BSDI
68#options  COMPAT_386BSD_MBRPART         # recognize old partition ID
69#options  COMPAT_LINUX        # binary compatibility with Linux
70#options  COMPAT_OSSAUDIO     # binary compatibility with Linux
71
72# Wedge support
73options   DKWEDGE_AUTODISCOVER          # Automatically add dk(4) instances
74options   DKWEDGE_METHOD_GPT  # Supports GPT partitions as wedges
75#options  DKWEDGE_METHOD_BSDLABEL       # Support disklabel entries as wedges
76#options  DKWEDGE_METHOD_MBR  # Support MBR partitions as wedges
77options             DKWEDGE_METHOD_APPLE    # Support Apple partitions as wedges
78#options  DKWEDGE_METHOD_RDB  # Support RDB partitions as wedges
79#options  DKWEDGE_METHOD_TOS  # Support Atari "TOS" partitions as wedges
80
81# File systems
82file-system         FFS                 # UFS
83file-system         EXT2FS              # second extended file system (linux)
84#file-system        LFS                 # log-structured file system
85file-system         MFS                 # memory file system
86file-system         NFS                 # Network File System client
87#file-system        NTFS                # Windows/NT file system (experimental)
88file-system         CD9660              # ISO 9660 + Rock Ridge file system
89file-system         MSDOSFS             # MS-DOS file system
90file-system         FDESC               # /dev/fd
91file-system         KERNFS              # /kern
92file-system         NULLFS              # loopback file system
93#file-system        OVERLAY             # overlay file system
94file-system         PROCFS              # /proc
95#file-system        UMAPFS              # NULLFS + uid and gid remapping
96#file-system        UNION               # union file system
97#file-system        CODA                # Coda File System; also needs vcoda (below)
98file-system         PTYFS               # /dev/ptm support
99file-system         TMPFS               # Efficient memory file-system
100
101# File system options
102#options  FFS_EI              # FFS Endian Independent support
103#options  FFS_NO_SNAPSHOT     # No FFS snapshot support
104options   QUOTA               # legacy UFS quotas
105options   QUOTA2              # new, in-filesystem UFS quotas
106options   UFS_DIRHASH         # UFS Large Directory Hashing
107options   UFS_EXTATTR         # Extended attribute support for UFS1
108options   WAPBL               # File system journaling support
109#options  DISKLABEL_EI        # disklabel Endian Independent support
110options   NFSSERVER # Network File System server
111
112#options  NFS_BOOT_DHCP
113options   NFS_BOOT_BOOTPARAM,NFS_BOOT_BOOTP
114
115# Networking options
116#options  GATEWAY             # packet forwarding
117options   INET                # IP + ICMP + TCP + UDP
118options   INET6               # IPV6
119#options  IPSEC               # IP security
120#options  IPSEC_DEBUG         # debug for IP security
121#options  MROUTING  # IP multicast routing
122#options  PIM                 # Protocol Independent Multicast
123#options  NETATALK  # AppleTalk networking protocols
124#options  PPP_BSDCOMP         # BSD-Compress compression support for PPP
125#options  PPP_DEFLATE         # Deflate compression support for PPP
126#options  PPP_FILTER          # Active filter support for PPP (requires BPF)
127#options  TCP_DEBUG # Record last TCP_NDEBUG packets with SO_DEBUG
128
129#options  ALTQ                # Manipulate network interfaces' output queues
130#options  ALTQ_BLUE # Stochastic Fair Blue
131#options  ALTQ_CBQ  # Class-Based Queueing
132#options  ALTQ_CDNR # Diffserv Traffic Conditioner
133#options  ALTQ_FIFOQ          # First-In First-Out Queue
134#options  ALTQ_FLOWVALVE      # RED/flow-valve (red-penalty-box)
135#options  ALTQ_HFSC # Hierarchical Fair Service Curve
136#options  ALTQ_LOCALQ         # Local queueing discipline
137#options  ALTQ_PRIQ # Priority Queueing
138#options  ALTQ_RED  # Random Early Detection
139#options  ALTQ_RIO  # RED with IN/OUT
140#options  ALTQ_WFQ  # Weighted Fair Queueing
141
142# These options enable verbose messages for several subsystems.
143# Warning, these may compile large string tables into the kernel!
144#options  PCIVERBOSE          # verbose PCI device autoconfig messages
145#options  MIIVERBOSE          # verbose PHY autoconfig messages
146#options  PCI_CONFIG_DUMP     # verbosely dump PCI config space
147#options  SCSIVERBOSE         # human readable SCSI error messages
148#options  USBVERBOSE          # verbose USB device autoconfig messages
149
150# Kernel root file system and dump configuration
151config              netbsd    root on ? type ?
152
153#
154# Device configuration
155#
156mainbus0  at root
157cpu*                at mainbus0
158
159#cfi0               at mainbus0
160#nor*               at cfi?
161#flash*             at nor?
162
163nhpow0              at mainbus0                             # NH230/231 power,LED,buttons
164
165#options  PCI_NETBSD_CONFIGURE
166pci*                at mainbus0 bus ?
167pchb*               at pci? dev ? function ?      # PCI host bridge
168
169eumb*               at mainbus0
170com0                at eumb? unit 0                         # console at 0x4500
171#com1               at eumb? unit 1
172satmgr0   at eumb? unit 1               # satmgr at 0x4600
173ociic*              at eumb?
174iic*                at ociic?
175lmtemp*             at iic? addr 0x48             # LM75 temperature sensor
176rs5c372rtc*         at iic? addr 0x32
177s390rtc*  at iic? addr 0x30
178pcf8563rtc*         at iic? addr 0x51
179dsrtc*              at iic? addr 0x68
180strtc*              at iic? addr 0x68             # ST M41T80 (or compat) RTC
181
182# PCI IDE controllers - see pciide(4) for supported hardware.
183acardide* at pci? dev ? function ?      # Acard IDE controllers
184cmdide*   at pci? dev ? function ?      # CMD tech IDE controllers
185iteide*   at pci? dev ? function ?      # IT Express IDE controllers
186satalink* at pci? dev ? function ?      # SiI SATALink controllers
187viaide*   at pci? dev ? function ?      # VIA IDE controllers
188
189# ATA (IDE) bus support
190atabus* at ata?
191
192# IDE drives
193# Flags are used only with controllers that support DMA operations
194# and mode settings (e.g. some pciide controllers)
195# The lowest order four bits (rightmost digit) of the flags define the PIO
196# mode to use, the next set of four bits the DMA mode and the third set the
197# UltraDMA mode. For each set of four bits, the 3 lower bits define the mode
198# to use, and the last bit must be 1 for this setting to be used.
199# For DMA and UDMA, 0xf (1111) means 'disable'.
200# 0x0fac means 'use PIO mode 4, DMA mode 2, disable UltraDMA'.
201# (0xc=1100, 0xa=1010, 0xf=1111)
202# 0x0000 means "use whatever the drive claims to support".
203wd*                 at atabus? drive ? flags 0x0000
204
205# ATAPI bus support
206atapibus* at atapi?
207
208# ATAPI devices
209# flags have the same meaning as for IDE drives.
210cd*       at atapibus? drive ? flags 0x0000       # ATAPI CD-ROM drives
211sd*       at atapibus? drive ? flags 0x0000       # ATAPI disk drives
212uk*       at atapibus? drive ? flags 0x0000       # ATAPI unknown
213
214# PCI network interfaces
215ral*      at pci? dev ? function ?      # Ralink Technology RT25x0 802.11a/b/g
216re*       at pci? dev ? function ?      # Realtek 8139C+/8169/8169S/8110S
217skc*      at pci? dev ? function ?      # Marvell Yukon Gigabit Ethernet
218sk*       at skc?                                 # Marvell Yukon Gigabit Ethernet
219stge*     at pci? dev ? function ?      # Sundance ST1023 Gigabit
220tlp*      at pci? dev ? function ?      # DEC Tulip and similar
221wm*       at pci? dev ? function ?      # Intel 8254x Gigabit Ethernet
222
223inphy*    at mii? phy ?                           # Intel 82555 PHYs
224nsphy*    at mii? phy ?                           # NS83840 PHYs
225rgephy* at mii? phy ?                             # Realtek 8169S/8110S internal PHYs
226makphy* at mii? phy ?                             # Marvell Semiconductor 88E1000 PHYs
227ukphy*    at mii? phy ?                           # generic unknown PHYs
228
229# GPIO devices
230gpio*     at gpiobus?
231
232# USB Controller and Devices
233ehci*     at pci?   dev ? function ?    # Enhanced Host Controller
234ohci*     at pci?   dev ? function ?    # Open Host Controller
235
236# USB bus support
237usb*      at ehci?
238usb*      at ohci?
239
240# USB Hubs
241uhub*     at usb?
242uhub*     at uhub? port ?
243
244# USB HID devices
245uhidev* at uhub? port ? configuration ? interface ?         # USB HID device
246uthum*    at uhidev? reportid ?                                       # TEMPerHUM sensors
247uhid*     at uhidev? reportid ?                                       # USB Generic HID
248
249# USB video
250uvideo* at uhub?                        # USB Video Class capture devices
251video*    at videobus?
252
253# USB printer
254ulpt*     at uhub? port ? configuration ? interface ?
255
256# USB Mass Storage
257umass*    at uhub? port ? configuration ? interface ?
258
259ugen*     at uhub? port ? configuration ? interface ?       # USB Generic driver
260
261# SCSI bus support
262scsibus*  at umass?
263
264# SCSI devices
265sd*                 at scsibus? target ? lun ?    # SCSI disk drives
266cd*                 at scsibus? target ? lun ?    # SCSI CD-ROM drives
267
268
269#
270# Pseudo-Devices
271#
272#pseudo-device      crypto                        # /dev/crypto device
273#pseudo-device      swcrypto            # software crypto implementation
274
275# disk/mass storage pseudo-devices
276#pseudo-device      ccd                           # concatenated/striped disk devices
277#pseudo-device      cgd                           # cryptographic disk devices
278pseudo-device       fss                           # file system snapshot device
279#pseudo-device      putter                        # for puffs and pud
280
281pseudo-device       raid                          # RAIDframe disk driver
282options   RAID_AUTOCONFIG               # auto-configuration of RAID components
283# Options to enable various other RAIDframe RAID types.
284#options  RF_INCLUDE_EVENODD=1
285#options  RF_INCLUDE_RAID5_RS=1
286#options  RF_INCLUDE_PARITYLOGGING=1
287#options  RF_INCLUDE_CHAINDECLUSTER=1
288#options  RF_INCLUDE_INTERDECLUSTER=1
289#options  RF_INCLUDE_PARITY_DECLUSTERING=1
290#options  RF_INCLUDE_PARITY_DECLUSTERING_DS=1
291
292pseudo-device       vnd
293#options  VND_COMPRESSION               # compressed vnd(4)
294
295# network pseudo-devices
296pseudo-device       loop
297pseudo-device       bpfilter            # packet filter
298pseudo-device       carp                          # Common Address Redundancy Protocol
299#pseudo-device      ppp                           # Point-to-Point Protocol
300#pseudo-device      pppoe                         # PPP over Ethernet (RFC 2516)
301#pseudo-device      npf                           # NPF packet filter
302#pseudo-device      sl                            # Serial Line IP
303#pseudo-device      tun                           # network tunneling over tty
304#pseudo-device      tap                           # virtual Ethernet
305#pseudo-device      gre                           # generic L3 over IP tunnel
306#pseudo-device      gif                           # IPv[46] over IPv[46] tunnel (RFC1933)
307#pseudo-device      faith                         # IPv[46] tcp relay translation i/f
308#pseudo-device      stf                           # 6to4 IPv6 over IPv4 encapsulation
309#pseudo-device      vlan                          # IEEE 802.1q encapsulation
310#pseudo-device      bridge                        # simple inter-network bridging
311#pseudo-device      vether                        # Virtual Ethernet for bridge
312#pseudo-device      agr                           # IEEE 802.3ad link aggregation
313
314#
315# accept filters
316#pseudo-device      accf_data           # "dataready" accept filter
317#pseudo-device      accf_http           # "httpready" accept filter
318
319# miscellaneous pseudo-devices
320pseudo-device       pty
321pseudo-device       clockctl            # user control of clock subsystem
322pseudo-device       ksyms                         # /dev/ksyms
323#pseudo-device      lockstat            # lock profiling
324pseudo-device       swwdog                        # software watchdog timer -- swwdog(4)
325
326# a pseudo device needed for Coda       # also needs CODA (above)
327#pseudo-device      vcoda                         # coda minicache <-> venus comm.
328
329# userland interface to drivers, including autoconf and properties retrieval
330pseudo-device       drvctl
331
332include "dev/veriexec.config"
333
334#options  PAX_MPROTECT=0                # PaX mprotect(2) restrictions
335#options  PAX_ASLR=0                    # PaX Address Space Layout Randomization
336
337# Pull in optional local configuration - always at end
338cinclude  "arch/sandpoint/conf/GENERIC.local"
339