1 # 2 # $NetBSD: GENERIC.common,v 1.22 2025/04/01 20:16:57 nia 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 # PCIE 153 pcihost* at fdt? # Generic PCI host controller 154 pci* at pcibus? 155 ppb* at pci? dev ? function ? 156 pci* at ppb? 157 158 # USB 159 xhci* at fdt? # XHCI 160 xhci* at pci? # XHCI 161 usb* at usbus? 162 include "dev/usb/usbdevices.config" 163 midi* at midibus? 164 pseudo-device sequencer # MIDI sequencer 165 166 # NVMe 167 nvme* at pci? dev ? function ? 168 ld* at nvme? nsid ? 169 170 # Audio 171 audio* at audiobus? 172 auich* at pci? dev ? function ? # Intel AC'97 Audio (QEMU) 173 eap* at pci? dev ? function ? # Ensoniq AudioPCI (QEMU) 174 175 # I2C controllers 176 dwiic* at fdt? # Designware I2C 177 iic* at i2cbus? 178 179 # I2C devices 180 #axppmic* at iic? # X-Powers AXP Power Management IC 181 #axpreg* at axppmic? 182 183 # Virtio devices 184 virtio* at fdt? # Virtio MMIO device 185 186 include "dev/virtio/virtio.config" 187 no vio9p* at virtio? # XXX ? 188 no viomb* at virtio? # XXX ? 189 no vioscsi* at virtio? # XXX ? 190 191 # Pseudo-Devices 192 # network pseudo-devices 193 pseudo-device bpfilter # Berkeley packet filter 194 pseudo-device bridge # simple inter-network bridging 195 pseudo-device carp # Common Address Redundancy Protocol 196 pseudo-device gif # IPv[46] over IPv[46] tunnel (RFC 1933) 197 pseudo-device gre # generic L3 over IP tunnel 198 pseudo-device ipsecif # interface for routing-based ipsec 199 pseudo-device loop # network loopback 200 pseudo-device npf # NPF packet filter 201 pseudo-device ppp # Point-to-Point Protocol 202 pseudo-device pppoe # PPP over Ethernet (RFC 2516) 203 pseudo-device swcrypto # software crypto implementation 204 pseudo-device tun # network tunneling over tty 205 pseudo-device tap # virtual Ethernet 206 pseudo-device vether # Virtual Ethernet for bridge 207 pseudo-device vlan # IEEE 802.1q encapsulation 208 209 # miscellaneous pseudo-devices 210 pseudo-device clockctl # user control of clock subsystem 211 pseudo-device crypto # /dev/crypto device 212 pseudo-device lockstat # lock profiling 213 pseudo-device ksyms # /dev/ksyms 214 pseudo-device openfirm # /dev/openfirm 215 pseudo-device pad # pseudo audio device 216 pseudo-device pty # pseudo-terminals 217 #options RND_COM 218 pseudo-device swwdog # software watchdog timer -- swwdog(4) 219 220 221 # disk/mass storage pseudo-devices 222 #pseudo-device md # memory disk device (ramdisk) 223 #options MEMORY_DISK_HOOKS # enable root ramdisk 224 #options MEMORY_DISK_DYNAMIC # loaded via kernel module(7) 225 226 pseudo-device vnd # disk-like interface to files 227 options VND_COMPRESSION # compressed vnd(4) 228 229 # userland interface to drivers, including autoconf and properties retrieval 230 pseudo-device drvctl 231 232 options PAX_MPROTECT=0 # PaX mprotect(2) restrictions 233 options PAX_ASLR=0 # PaX Address Space Layout Randomization 234 235 # Pull in optional local configuration - always at end 236 cinclude "arch/riscv/conf/GENERIC.local" 237