GENERIC revision 1.22
1# $NetBSD: GENERIC,v 1.22 2023/02/09 13:16:04 abs Exp $ 2# 3# GENERIC machine description file 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/riscv/conf/std.riscv64" 22include "arch/riscv/sifive/files.sifive" 23 24options INCLUDE_CONFIG_FILE # embed config file in kernel binary 25 26#ident "GENERIC-$Revision: 1.22 $" 27 28maxusers 64 # estimated number of users 29 30options FDT 31 32#options EARLYCONS=com, CONSADDR=0x10000000 # qemu virt 33#options EARLYCONS=com, CONSADDR=0x12440000 # sifive 34options VERBOSE_INIT_RISCV 35 36# Standard system options 37#options FPE # Floating-point extension support 38options NTP # NTP phase/frequency locked loop 39 40options KTRACE # system call tracing via ktrace(1) 41 42# Note: SysV IPC parameters could be changed dynamically, see sysctl(8). 43options SYSVMSG # System V-like message queues 44options SYSVSEM # System V-like semaphores 45options SYSVSHM # System V-like memory sharing 46 47options MODULAR # new style module(7) framework 48options MODULAR_DEFAULT_AUTOLOAD 49options USERCONF # userconf(4) support 50#options PIPE_SOCKETPAIR # smaller, but slower pipe(2) 51options SYSCTL_INCLUDE_DESCR # Include sysctl descriptions in kernel 52 53# Alternate buffer queue strategies for better responsiveness under high 54# disk I/O load. 55#options BUFQ_READPRIO 56options BUFQ_PRIOCSCAN 57 58# Diagnostic/debugging support options 59options DIAGNOSTIC # inexpensive kernel consistency checks 60 # XXX to be commented out on release branch 61#options DEBUG # expensive debugging checks/support 62#options LOCKDEBUG # expensive locking checks/support 63#options KERNHIST 64#options KERNHIST_PRINT 65#options UVMHIST 66#options UVMHIST_PRINT 67#options PMAPHIST 68#options PMAPHIST_PRINT 69#options SYSCTL_DEBUG 70#options SYSCTL_DEBUG_SETUP 71#options SYSCTL_DEBUG_CREATE 72 73 74# 75# Because gcc omits the frame pointer for any -O level, the line below 76# is needed to make backtraces in DDB work. 77# 78makeoptions COPTS="-O2 -fno-omit-frame-pointer" 79makeoptions COPY_SYMTAB=1 80options DDB # in-kernel debugger 81#options DDB_COMMANDONENTER="bt" # execute command when ddb is entered 82options DDB_ONPANIC=1 # see also sysctl(7): `ddb.onpanic' 83options DDB_HISTORY_SIZE=512 # enable history editing in DDB 84#options KGDB # remote debugger 85#options KGDB_DEVNAME="\"com\"",KGDB_DEVADDR=0x3f8,KGDB_DEVRATE=9600 86#options SYSCALL_STATS # per syscall counts 87#options SYSCALL_TIMES # per syscall times 88#options SYSCALL_TIMES_HASCOUNTER # use 'broken' rdtsc (soekris) 89 90# Compatibility options 91include "conf/compat_netbsd70.config" 92 93#options COMPAT_NETBSD32 94#options EXEC_ELF32 95 96# Wedge support 97options DKWEDGE_AUTODISCOVER # Automatically add dk(4) instances 98options DKWEDGE_METHOD_GPT # Supports GPT partitions as wedges 99options DKWEDGE_METHOD_BSDLABEL # Support disklabel entries as wedges 100options DKWEDGE_METHOD_MBR # Support MBR partitions as wedges 101options DKWEDGE_METHOD_APPLE # Support Apple partitions as wedges 102#options DKWEDGE_METHOD_RDB # Support RDB partitions as wedges 103 104include "conf/filesystems.config" 105 106# File system options 107options FFS_EI # FFS Endian Independent support 108#options FFS_NO_SNAPSHOT # No FFS snapshot support 109options QUOTA # legacy UFS quotas 110options QUOTA2 # new, in-filesystem UFS quotas 111#options UFS_DIRHASH # UFS Large Directory Hashing 112options WAPBL # File system journaling support 113#options EXT2FS_SYSTEM_FLAGS # makes ext2fs file flags (append and 114 # immutable) behave as system flags. 115#options DISKLABEL_EI # disklabel Endian Independent support 116options NFSSERVER # Network File System server 117options NFS_BOOT_DHCP # Support DHCP NFS root 118 119# Networking options 120#options GATEWAY # packet forwarding 121options INET # IP + ICMP + TCP + UDP 122options INET6 # IPV6 123options IPSEC # IP security 124#options IPSEC_DEBUG # debug for IP security 125#options MPLS # MultiProtocol Label Switching (needs mpls) 126#options MROUTING # IP multicast routing 127#options PIM # Protocol Independent Multicast 128#options NETATALK # AppleTalk networking protocols 129#options PPP_BSDCOMP # BSD-Compress compression support for PPP 130#options PPP_DEFLATE # Deflate compression support for PPP 131#options PPP_FILTER # Active filter support for PPP (requires bpf) 132#options TCP_DEBUG # Record last TCP_NDEBUG packets with SO_DEBUG 133 134#options ALTQ # Manipulate network interfaces' output queues 135#options ALTQ_BLUE # Stochastic Fair Blue 136#options ALTQ_CBQ # Class-Based Queueing 137#options ALTQ_CDNR # Diffserv Traffic Conditioner 138#options ALTQ_FIFOQ # First-In First-Out Queue 139#options ALTQ_FLOWVALVE # RED/flow-valve (red-penalty-box) 140#options ALTQ_HFSC # Hierarchical Fair Service Curve 141#options ALTQ_LOCALQ # Local queueing discipline 142#options ALTQ_PRIQ # Priority Queueing 143#options ALTQ_RED # Random Early Detection 144#options ALTQ_RIO # RED with IN/OUT 145#options ALTQ_WFQ # Weighted Fair Queueing 146 147# These options enable verbose messages for several subsystems. 148# Warning, these may compile large string tables into the kernel! 149 150# Kernel root file system and dump configuration. 151config netbsd root on ? type ? 152 153# 154# Device configuration 155# 156mainbus0 at root 157simplebus* at fdt? pass 0 158 159# Clock and reset controller 160prci* at fdt? # SiFive FU540 PRCI 161 162# UART 163com* at fdt? # UART 164 165# Pseudo-Devices 166 167pseudo-device crypto # /dev/crypto device 168pseudo-device swcrypto # software crypto implementation 169 170# disk/mass storage pseudo-devices 171#pseudo-device md # memory disk device (ramdisk) 172#options MEMORY_DISK_HOOKS # enable root ramdisk 173#options MEMORY_DISK_DYNAMIC # loaded via kernel module(7) 174 175pseudo-device vnd # disk-like interface to files 176options VND_COMPRESSION # compressed vnd(4) 177 178pseudo-device loop # network loopback 179pseudo-device pty # pseudo-terminals 180pseudo-device clockctl # user control of clock subsystem 181pseudo-device ksyms # /dev/ksyms 182pseudo-device lockstat # lock profiling 183pseudo-device swwdog # software watchdog timer -- swwdog(4) 184 185# userland interface to drivers, including autoconf and properties retrieval 186pseudo-device drvctl 187 188options PAX_MPROTECT=0 # PaX mprotect(2) restrictions 189options PAX_ASLR=0 # PaX Address Space Layout Randomization 190 191# Pull in optional local configuration 192cinclude "arch/riscv/conf/GENERIC.local" 193