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