GENERIC revision 1.21
11.21Sjmcneill# $NetBSD: GENERIC,v 1.21 2022/11/25 12:35:44 jmcneill Exp $ 21.1Smatt# 31.1Smatt# GENERIC machine description file 41.1Smatt# 51.1Smatt# This machine description file is used to generate the default NetBSD 61.1Smatt# kernel. The generic kernel does not include all options, subsystems 71.1Smatt# and device drivers, but should be useful for most applications. 81.1Smatt# 91.1Smatt# The machine description file can be customised for your specific 101.1Smatt# machine to reduce the kernel size and improve its performance. 111.1Smatt# 121.1Smatt# For further information on compiling NetBSD kernels, see the config(8) 131.1Smatt# man page. 141.1Smatt# 151.1Smatt# For further information on hardware support for this architecture, see 161.1Smatt# the intro(4) man page. For further information about kernel options 171.1Smatt# for this architecture, see the options(4) man page. For an explanation 181.1Smatt# of each device driver in this file see the section 4 man page for the 191.1Smatt# device. 201.1Smatt 211.1Smattinclude "arch/riscv/conf/std.riscv64" 221.21Sjmcneillinclude "arch/riscv/sifive/files.sifive" 231.1Smatt 241.1Smattoptions INCLUDE_CONFIG_FILE # embed config file in kernel binary 251.1Smatt 261.21Sjmcneill#ident "GENERIC-$Revision: 1.21 $" 271.1Smatt 281.1Smattmaxusers 64 # estimated number of users 291.1Smatt 301.14Sskrlloptions FDT 311.14Sskrll 321.20Sskrll#options EARLYCONS=com, CONSADDR=0x10000000 # qemu virt 331.20Sskrll#options EARLYCONS=com, CONSADDR=0x12440000 # sifive 341.14Sskrlloptions VERBOSE_INIT_RISCV 351.14Sskrll 361.1Smatt# Standard system options 371.11Sskrll#options FPE # Floating-point extension support 381.1Smattoptions NTP # NTP phase/frequency locked loop 391.1Smatt 401.1Smattoptions KTRACE # system call tracing via ktrace(1) 411.1Smatt 421.1Smatt# Note: SysV IPC parameters could be changed dynamically, see sysctl(8). 431.1Smattoptions SYSVMSG # System V-like message queues 441.1Smattoptions SYSVSEM # System V-like semaphores 451.1Smattoptions SYSVSHM # System V-like memory sharing 461.1Smatt 471.1Smattoptions MODULAR # new style module(7) framework 481.1Smattoptions MODULAR_DEFAULT_AUTOLOAD 491.1Smattoptions USERCONF # userconf(4) support 501.1Smatt#options PIPE_SOCKETPAIR # smaller, but slower pipe(2) 511.1Smattoptions SYSCTL_INCLUDE_DESCR # Include sysctl descriptions in kernel 521.1Smatt 531.1Smatt# Alternate buffer queue strategies for better responsiveness under high 541.1Smatt# disk I/O load. 551.1Smatt#options BUFQ_READPRIO 561.1Smattoptions BUFQ_PRIOCSCAN 571.1Smatt 581.1Smatt# Diagnostic/debugging support options 591.1Smattoptions DIAGNOSTIC # inexpensive kernel consistency checks 601.1Smatt # XXX to be commented out on release branch 611.14Sskrll#options DEBUG # expensive debugging checks/support 621.14Sskrll#options LOCKDEBUG # expensive locking checks/support 631.14Sskrll#options KERNHIST 641.14Sskrll#options KERNHIST_PRINT 651.14Sskrll#options UVMHIST 661.14Sskrll#options UVMHIST_PRINT 671.14Sskrll#options PMAPHIST 681.14Sskrll#options PMAPHIST_PRINT 691.14Sskrll#options SYSCTL_DEBUG 701.14Sskrll#options SYSCTL_DEBUG_SETUP 711.14Sskrll#options SYSCTL_DEBUG_CREATE 721.14Sskrll 731.1Smatt 741.1Smatt# 751.1Smatt# Because gcc omits the frame pointer for any -O level, the line below 761.1Smatt# is needed to make backtraces in DDB work. 771.1Smatt# 781.15Sskrllmakeoptions COPTS="-O2 -fno-omit-frame-pointer" 791.1Smattmakeoptions COPY_SYMTAB=1 801.1Smattoptions DDB # in-kernel debugger 811.17Ssimonb#options DDB_COMMANDONENTER="bt" # execute command when ddb is entered 821.14Sskrlloptions DDB_ONPANIC=1 # see also sysctl(7): `ddb.onpanic' 831.1Smattoptions DDB_HISTORY_SIZE=512 # enable history editing in DDB 841.1Smatt#options KGDB # remote debugger 851.1Smatt#options KGDB_DEVNAME="\"com\"",KGDB_DEVADDR=0x3f8,KGDB_DEVRATE=9600 861.1Smatt#options SYSCALL_STATS # per syscall counts 871.1Smatt#options SYSCALL_TIMES # per syscall times 881.1Smatt#options SYSCALL_TIMES_HASCOUNTER # use 'broken' rdtsc (soekris) 891.1Smatt 901.1Smatt# Compatibility options 911.7Smrginclude "conf/compat_netbsd70.config" 921.1Smatt 931.10Smaxv#options COMPAT_NETBSD32 941.1Smatt#options EXEC_ELF32 951.1Smatt 961.1Smatt# Wedge support 971.1Smattoptions DKWEDGE_AUTODISCOVER # Automatically add dk(4) instances 981.1Smattoptions DKWEDGE_METHOD_GPT # Supports GPT partitions as wedges 991.1Smattoptions DKWEDGE_METHOD_BSDLABEL # Support disklabel entries as wedges 1001.1Smattoptions DKWEDGE_METHOD_MBR # Support MBR partitions as wedges 1011.17Ssimonboptions DKWEDGE_METHOD_APPLE # Support Apple partitions as wedges 1021.17Ssimonb#options DKWEDGE_METHOD_RDB # Support RDB partitions as wedges 1031.1Smatt 1041.7Smrginclude "conf/filesystems.config" 1051.1Smatt 1061.1Smatt# File system options 1071.13Ssimonboptions FFS_EI # FFS Endian Independent support 1081.13Ssimonb#options FFS_NO_SNAPSHOT # No FFS snapshot support 1091.1Smattoptions QUOTA # legacy UFS quotas 1101.1Smattoptions QUOTA2 # new, in-filesystem UFS quotas 1111.13Ssimonb#options UFS_DIRHASH # UFS Large Directory Hashing 1121.1Smattoptions WAPBL # File system journaling support 1131.1Smatt#options EXT2FS_SYSTEM_FLAGS # makes ext2fs file flags (append and 1141.1Smatt # immutable) behave as system flags. 1151.13Ssimonb#options DISKLABEL_EI # disklabel Endian Independent support 1161.13Ssimonboptions NFSSERVER # Network File System server 1171.18Ssimonboptions NFS_BOOT_DHCP # Support DHCP NFS root 1181.1Smatt 1191.1Smatt# Networking options 1201.1Smatt#options GATEWAY # packet forwarding 1211.1Smattoptions INET # IP + ICMP + TCP + UDP 1221.1Smattoptions INET6 # IPV6 1231.1Smattoptions IPSEC # IP security 1241.1Smatt#options IPSEC_DEBUG # debug for IP security 1251.3Schristos#options MPLS # MultiProtocol Label Switching (needs mpls) 1261.1Smatt#options MROUTING # IP multicast routing 1271.1Smatt#options PIM # Protocol Independent Multicast 1281.1Smatt#options NETATALK # AppleTalk networking protocols 1291.1Smatt#options PPP_BSDCOMP # BSD-Compress compression support for PPP 1301.1Smatt#options PPP_DEFLATE # Deflate compression support for PPP 1311.1Smatt#options PPP_FILTER # Active filter support for PPP (requires bpf) 1321.1Smatt#options TCP_DEBUG # Record last TCP_NDEBUG packets with SO_DEBUG 1331.1Smatt 1341.1Smatt#options ALTQ # Manipulate network interfaces' output queues 1351.1Smatt#options ALTQ_BLUE # Stochastic Fair Blue 1361.1Smatt#options ALTQ_CBQ # Class-Based Queueing 1371.1Smatt#options ALTQ_CDNR # Diffserv Traffic Conditioner 1381.1Smatt#options ALTQ_FIFOQ # First-In First-Out Queue 1391.1Smatt#options ALTQ_FLOWVALVE # RED/flow-valve (red-penalty-box) 1401.1Smatt#options ALTQ_HFSC # Hierarchical Fair Service Curve 1411.1Smatt#options ALTQ_LOCALQ # Local queueing discipline 1421.1Smatt#options ALTQ_PRIQ # Priority Queueing 1431.1Smatt#options ALTQ_RED # Random Early Detection 1441.1Smatt#options ALTQ_RIO # RED with IN/OUT 1451.1Smatt#options ALTQ_WFQ # Weighted Fair Queueing 1461.1Smatt 1471.1Smatt# These options enable verbose messages for several subsystems. 1481.1Smatt# Warning, these may compile large string tables into the kernel! 1491.1Smatt 1501.1Smatt# Kernel root file system and dump configuration. 1511.1Smattconfig netbsd root on ? type ? 1521.1Smatt 1531.1Smatt# 1541.1Smatt# Device configuration 1551.1Smatt# 1561.14Sskrllmainbus0 at root 1571.14Sskrllsimplebus* at fdt? pass 0 1581.1Smatt 1591.21Sjmcneill# Clock and reset controller 1601.21Sjmcneillprci* at fdt? # SiFive FU540 PRCI 1611.21Sjmcneill 1621.14Sskrll# UART 1631.14Sskrllcom* at fdt? # UART 1641.1Smatt 1651.1Smatt# Pseudo-Devices 1661.1Smatt 1671.1Smattpseudo-device crypto # /dev/crypto device 1681.1Smattpseudo-device swcrypto # software crypto implementation 1691.1Smatt 1701.1Smatt# disk/mass storage pseudo-devices 1711.1Smatt#pseudo-device md # memory disk device (ramdisk) 1721.1Smatt#options MEMORY_DISK_HOOKS # enable root ramdisk 1731.1Smatt#options MEMORY_DISK_DYNAMIC # loaded via kernel module(7) 1741.1Smatt 1751.1Smattpseudo-device vnd # disk-like interface to files 1761.1Smattoptions VND_COMPRESSION # compressed vnd(4) 1771.1Smatt 1781.1Smattpseudo-device loop # network loopback 1791.1Smattpseudo-device pty # pseudo-terminals 1801.1Smattpseudo-device clockctl # user control of clock subsystem 1811.1Smattpseudo-device ksyms # /dev/ksyms 1821.1Smattpseudo-device lockstat # lock profiling 1831.16Sriastradpseudo-device swwdog # software watchdog timer -- swwdog(4) 1841.1Smatt 1851.1Smatt# userland interface to drivers, including autoconf and properties retrieval 1861.1Smattpseudo-device drvctl 1871.1Smatt 1881.1Smattoptions PAX_MPROTECT=0 # PaX mprotect(2) restrictions 1891.1Smattoptions PAX_ASLR=0 # PaX Address Space Layout Randomization 1901.19Ssimonb 1911.19Ssimonbcinclude "arch/riscv/conf/GENERIC.local" 192