GENERIC.common revision 1.13 1 #
2 # $NetBSD: GENERIC.common,v 1.13 2024/04/06 13:42:46 skrll Exp $
3 #
4 # GENERIC common RISC-V kernel config items shared between 32 and 64
5 # kernels
6 #
7
8 maxusers 64 # estimated number of users
9
10 options FDT
11 options MULTIPROCESSOR
12
13 # Standard system options
14 options FPE # Floating-point extension support
15 options NTP # NTP phase/frequency locked loop
16
17 options KTRACE # system call tracing via ktrace(1)
18
19 # Heartbeat checks
20 #options HEARTBEAT
21 #options HEARTBEAT_MAX_PERIOD_DEFAULT=15
22
23 # Note: SysV IPC parameters could be changed dynamically, see sysctl(8).
24 options SYSVMSG # System V-like message queues
25 options SYSVSEM # System V-like semaphores
26 options SYSVSHM # System V-like memory sharing
27
28 options MODULAR # new style module(7) framework
29 options MODULAR_DEFAULT_AUTOLOAD
30 options USERCONF # userconf(4) support
31 #options PIPE_SOCKETPAIR # smaller, but slower pipe(2)
32 options SYSCTL_INCLUDE_DESCR # Include sysctl descriptions in kernel
33
34 # Alternate buffer queue strategies for better responsiveness under high
35 # disk I/O load.
36 #options BUFQ_READPRIO
37 options BUFQ_PRIOCSCAN
38
39 # These options enable verbose messages for several subsystems.
40 # Warning, these may compile large string tables into the kernel!
41 #options USBVERBOSE # verbose USB device autoconfig messages
42
43 #
44 # Because gcc omits the frame pointer for any -O level, the line below
45 # is needed to make backtraces in DDB work.
46 #
47 makeoptions COPTS="-O2 -fno-omit-frame-pointer"
48 makeoptions COPY_SYMTAB=1
49 options DDB # in-kernel debugger
50 #options DDB_COMMANDONENTER="bt" # execute command when ddb is entered
51 options DDB_ONPANIC=1 # see also sysctl(7): `ddb.onpanic'
52 options DDB_HISTORY_SIZE=512 # enable history editing in DDB
53 #options KGDB # remote debugger
54 #options KGDB_DEVNAME="\"com\"",KGDB_DEVADDR=0x3f8,KGDB_DEVRATE=9600
55 #options SYSCALL_STATS # per syscall counts
56 #options SYSCALL_TIMES # per syscall times
57 #options SYSCALL_TIMES_HASCOUNTER # use 'broken' rdtsc (soekris)
58
59 # Compatibility options
60 include "conf/compat_netbsd100.config"
61
62 # Wedge support
63 options DKWEDGE_AUTODISCOVER # Automatically add dk(4) instances
64 options DKWEDGE_METHOD_GPT # Supports GPT partitions as wedges
65 options DKWEDGE_METHOD_BSDLABEL # Support disklabel entries as wedges
66 options DKWEDGE_METHOD_MBR # Support MBR partitions as wedges
67 options DKWEDGE_METHOD_APPLE # Support Apple partitions as wedges
68 #options DKWEDGE_METHOD_RDB # Support RDB partitions as wedges
69 #options DKWEDGE_METHOD_TOS # Support Atari "TOS" partitions as wedges
70
71 include "conf/filesystems.config"
72
73 # File system options
74 options FFS_EI # FFS Endian Independent support
75 #options FFS_NO_SNAPSHOT # No FFS snapshot support
76 options QUOTA # legacy UFS quotas
77 options QUOTA2 # new, in-filesystem UFS quotas
78 #options UFS_DIRHASH # UFS Large Directory Hashing
79 options WAPBL # File system journaling support
80 #options DISKLABEL_EI # disklabel Endian Independent support
81 options NFSSERVER # Network File System server
82 options NFS_BOOT_DHCP # Support DHCP NFS root
83
84 # Networking options
85 #options GATEWAY # packet forwarding
86 options INET # IP + ICMP + TCP + UDP
87 options INET6 # IPV6
88 options IPSEC # IP security
89 #options IPSEC_DEBUG # debug for IP security
90 #options MPLS # MultiProtocol Label Switching (needs mpls)
91 #options MROUTING # IP multicast routing
92 #options PIM # Protocol Independent Multicast
93 #options NETATALK # AppleTalk networking protocols
94 #options PPP_BSDCOMP # BSD-Compress compression support for PPP
95 #options PPP_DEFLATE # Deflate compression support for PPP
96 #options PPP_FILTER # Active filter support for PPP (requires bpf)
97 #options TCP_DEBUG # Record last TCP_NDEBUG packets with SO_DEBUG
98
99 #options ALTQ # Manipulate network interfaces' output queues
100 #options ALTQ_BLUE # Stochastic Fair Blue
101 #options ALTQ_CBQ # Class-Based Queueing
102 #options ALTQ_CDNR # Diffserv Traffic Conditioner
103 #options ALTQ_FIFOQ # First-In First-Out Queue
104 #options ALTQ_FLOWVALVE # RED/flow-valve (red-penalty-box)
105 #options ALTQ_HFSC # Hierarchical Fair Service Curve
106 #options ALTQ_LOCALQ # Local queueing discipline
107 #options ALTQ_PRIQ # Priority Queueing
108 #options ALTQ_RED # Random Early Detection
109 #options ALTQ_RIO # RED with IN/OUT
110 #options ALTQ_WFQ # Weighted Fair Queueing
111
112 # These options enable verbose messages for several subsystems.
113 # Warning, these may compile large string tables into the kernel!
114
115 # Kernel root file system and dump configuration.
116 config netbsd root on ? type ?
117
118 #
119 # Device configuration
120 #
121
122 mainbus0 at root
123 simplebus* at fdt? pass 0
124
125 # CPUs
126 cpus* at fdt? pass 0
127 cpu* at fdt? pass 0
128
129 intc* at cpu? pass 1
130
131 # Fixed Clocks
132 fclock* at fdt? pass 1
133
134 # System Controller
135 syscon* at fdt? pass 1 # Generic System Controller
136
137 # Core-level Interrupt Control block
138 #clint0 at fdt? pass 2
139
140 # Platform-Level Interrupt Controller
141 plic* at fdt? pass 2
142
143 # UART
144 com* at fdt? # UART
145
146 # Firmware devices
147 qemufwcfg* at fdt? # QEMU Firmware Configuration device
148
149 # RTC devices
150 gfrtc* at fdt? # Google Goldfish RTC
151
152 # USB
153 xhci* at fdt? # XHCI
154 usb* at usbus?
155 include "dev/usb/usbdevices.config"
156 midi* at midibus?
157 pseudo-device sequencer # MIDI sequencer
158
159
160 # Virtio devices
161 virtio* at fdt? # Virtio MMIO device
162 #viomb* at virtio? # Virtio memory balloon device
163 ld* at virtio? # Virtio disk device
164 vioif* at virtio? # Virtio network device
165 viornd* at virtio? # Virtio entropy device
166 #vioscsi* at virtio? # Virtio SCSI device
167
168 # Pseudo-Devices
169 # network pseudo-devices
170 pseudo-device bpfilter # Berkeley packet filter
171 pseudo-device bridge # simple inter-network bridging
172 pseudo-device carp # Common Address Redundancy Protocol
173 pseudo-device gif # IPv[46] over IPv[46] tunnel (RFC 1933)
174 pseudo-device gre # generic L3 over IP tunnel
175 pseudo-device ipsecif # interface for routing-based ipsec
176 pseudo-device loop # network loopback
177 pseudo-device npf # NPF packet filter
178 pseudo-device ppp # Point-to-Point Protocol
179 pseudo-device pppoe # PPP over Ethernet (RFC 2516)
180 pseudo-device swcrypto # software crypto implementation
181 pseudo-device tun # network tunneling over tty
182 pseudo-device tap # virtual Ethernet
183 pseudo-device vether # Virtual Ethernet for bridge
184 pseudo-device vlan # IEEE 802.1q encapsulation
185
186 # miscellaneous pseudo-devices
187 pseudo-device clockctl # user control of clock subsystem
188 pseudo-device crypto # /dev/crypto device
189 pseudo-device lockstat # lock profiling
190 pseudo-device ksyms # /dev/ksyms
191 #pseudo-device pad # pseudo audio device
192 pseudo-device pty # pseudo-terminals
193 #options RND_COM
194 pseudo-device swwdog # software watchdog timer -- swwdog(4)
195
196
197 # disk/mass storage pseudo-devices
198 #pseudo-device md # memory disk device (ramdisk)
199 #options MEMORY_DISK_HOOKS # enable root ramdisk
200 #options MEMORY_DISK_DYNAMIC # loaded via kernel module(7)
201
202 pseudo-device vnd # disk-like interface to files
203 options VND_COMPRESSION # compressed vnd(4)
204
205 # userland interface to drivers, including autoconf and properties retrieval
206 pseudo-device drvctl
207
208 options PAX_MPROTECT=0 # PaX mprotect(2) restrictions
209 options PAX_ASLR=0 # PaX Address Space Layout Randomization
210
211 # Pull in optional local configuration - always at end
212 cinclude "arch/riscv/conf/GENERIC.local"
213