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