1# 2# $NetBSD: GENERIC.common,v 1.19 2025/01/25 13:52:19 skrll Exp $ 3# 4# GENERIC common RISC-V kernel config items shared between 32 and 64 5# kernels 6# 7 8maxusers 64 # estimated number of users 9 10options FDT 11options MULTIPROCESSOR 12 13# Standard system options 14options FPE # Floating-point extension support 15options NTP # NTP phase/frequency locked loop 16 17options KTRACE # system call tracing via ktrace(1) 18 19# Heartbeat checks 20options HEARTBEAT 21options HEARTBEAT_MAX_PERIOD_DEFAULT=15 22 23# Note: SysV IPC parameters could be changed dynamically, see sysctl(8). 24options SYSVMSG # System V-like message queues 25options SYSVSEM # System V-like semaphores 26options SYSVSHM # System V-like memory sharing 27 28options MODULAR # new style module(7) framework 29options MODULAR_DEFAULT_AUTOLOAD 30options USERCONF # userconf(4) support 31#options PIPE_SOCKETPAIR # smaller, but slower pipe(2) 32options 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 37options 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# 47makeoptions COPTS="-O2 -fno-omit-frame-pointer" 48makeoptions COPY_SYMTAB=1 49options DDB # in-kernel debugger 50#options DDB_COMMANDONENTER="bt" # execute command when ddb is entered 51options DDB_ONPANIC=1 # see also sysctl(7): `ddb.onpanic' 52options 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 60include "conf/compat_netbsd100.config" 61 62# Wedge support 63options DKWEDGE_AUTODISCOVER # Automatically add dk(4) instances 64options DKWEDGE_METHOD_GPT # Supports GPT partitions as wedges 65options DKWEDGE_METHOD_BSDLABEL # Support disklabel entries as wedges 66options DKWEDGE_METHOD_MBR # Support MBR partitions as wedges 67options 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 71include "conf/filesystems.config" 72 73# File system options 74options FFS_EI # FFS Endian Independent support 75#options FFS_NO_SNAPSHOT # No FFS snapshot support 76options QUOTA # legacy UFS quotas 77options QUOTA2 # new, in-filesystem UFS quotas 78#options UFS_DIRHASH # UFS Large Directory Hashing 79options WAPBL # File system journaling support 80#options DISKLABEL_EI # disklabel Endian Independent support 81options NFSSERVER # Network File System server 82options NFS_BOOT_DHCP # Support DHCP NFS root 83 84# Networking options 85#options GATEWAY # packet forwarding 86options INET # IP + ICMP + TCP + UDP 87options INET6 # IPV6 88options 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. 116config netbsd root on ? type ? 117 118# 119# Device configuration 120# 121 122mainbus0 at root 123simplebus* at fdt? pass 0 124 125# CPUs 126cpus* at fdt? pass 0 127cpu* at fdt? pass 0 128 129intc* at cpu? pass 1 130 131# Fixed Clocks 132fclock* at fdt? pass 1 133 134# System Controller 135syscon* 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 141plic* at fdt? pass 2 142 143# UART 144com* at fdt? # UART 145 146# Firmware devices 147qemufwcfg* at fdt? # QEMU Firmware Configuration device 148 149# RTC devices 150gfrtc* at fdt? # Google Goldfish RTC 151 152# PCIE 153pcihost* at fdt? # Generic PCI host controller 154pci* at pcibus? 155ppb* at pci? dev ? function ? 156pci* at ppb? 157 158# USB 159xhci* at fdt? # XHCI 160xhci* at pci? # XHCI 161usb* at usbus? 162include "dev/usb/usbdevices.config" 163midi* at midibus? 164pseudo-device sequencer # MIDI sequencer 165 166# NVMe 167nvme* at pci? dev ? function ? 168ld* at nvme? nsid ? 169 170# I2C controllers 171dwiic* at fdt? # Designware I2C 172iic* at i2cbus? 173 174# I2C devices 175#axppmic* at iic? # X-Powers AXP Power Management IC 176#axpreg* at axppmic? 177 178# Virtio devices 179virtio* at fdt? # Virtio MMIO device 180#viomb* at virtio? # Virtio memory balloon device 181ld* at virtio? # Virtio disk device 182viocon* at virtio? # Virtio serial device 183vioif* at virtio? # Virtio network device 184viornd* at virtio? # Virtio entropy device 185#vioscsi* at virtio? # Virtio SCSI device 186 187# Pseudo-Devices 188# network pseudo-devices 189pseudo-device bpfilter # Berkeley packet filter 190pseudo-device bridge # simple inter-network bridging 191pseudo-device carp # Common Address Redundancy Protocol 192pseudo-device gif # IPv[46] over IPv[46] tunnel (RFC 1933) 193pseudo-device gre # generic L3 over IP tunnel 194pseudo-device ipsecif # interface for routing-based ipsec 195pseudo-device loop # network loopback 196pseudo-device npf # NPF packet filter 197pseudo-device ppp # Point-to-Point Protocol 198pseudo-device pppoe # PPP over Ethernet (RFC 2516) 199pseudo-device swcrypto # software crypto implementation 200pseudo-device tun # network tunneling over tty 201pseudo-device tap # virtual Ethernet 202pseudo-device vether # Virtual Ethernet for bridge 203pseudo-device vlan # IEEE 802.1q encapsulation 204 205# miscellaneous pseudo-devices 206pseudo-device clockctl # user control of clock subsystem 207pseudo-device crypto # /dev/crypto device 208pseudo-device lockstat # lock profiling 209pseudo-device ksyms # /dev/ksyms 210#pseudo-device pad # pseudo audio device 211pseudo-device pty # pseudo-terminals 212#options RND_COM 213pseudo-device swwdog # software watchdog timer -- swwdog(4) 214 215 216# disk/mass storage pseudo-devices 217#pseudo-device md # memory disk device (ramdisk) 218#options MEMORY_DISK_HOOKS # enable root ramdisk 219#options MEMORY_DISK_DYNAMIC # loaded via kernel module(7) 220 221pseudo-device vnd # disk-like interface to files 222options VND_COMPRESSION # compressed vnd(4) 223 224# userland interface to drivers, including autoconf and properties retrieval 225pseudo-device drvctl 226 227options PAX_MPROTECT=0 # PaX mprotect(2) restrictions 228options PAX_ASLR=0 # PaX Address Space Layout Randomization 229 230# Pull in optional local configuration - always at end 231cinclude "arch/riscv/conf/GENERIC.local" 232