128029b68SRuslan Bukin# 228029b68SRuslan Bukin# GENERIC -- Generic kernel configuration file for FreeBSD/RISC-V 328029b68SRuslan Bukin# 428029b68SRuslan Bukin# For more information on this file, please read the config(5) manual page, 528029b68SRuslan Bukin# and/or the handbook section on Kernel Configuration Files: 628029b68SRuslan Bukin# 7c1a14887SCeri Davies# https://docs.freebsd.org/en/books/handbook/kernelconfig/#kernelconfig-config 828029b68SRuslan Bukin# 928029b68SRuslan Bukin# The handbook is also available locally in /usr/share/doc/handbook 1028029b68SRuslan Bukin# if you've installed the doc distribution, otherwise always see the 11a2aef24aSEitan Adler# FreeBSD World Wide Web server (https://www.FreeBSD.org/) for the 1228029b68SRuslan Bukin# latest information. 1328029b68SRuslan Bukin# 1428029b68SRuslan Bukin# An exhaustive list of options and more detailed explanations of the 1528029b68SRuslan Bukin# device lines is also present in the ../../conf/NOTES and NOTES files. 1628029b68SRuslan Bukin# If you are in doubt as to the purpose or necessity of a line, check first 1728029b68SRuslan Bukin# in NOTES. 1828029b68SRuslan Bukin# 1928029b68SRuslan Bukin 2028029b68SRuslan Bukincpu RISCV 2128029b68SRuslan Bukinident GENERIC 2228029b68SRuslan Bukin 2328029b68SRuslan Bukinmakeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols 24c04c594dSMitchell Hornemakeoptions WITH_CTF=1 # Run ctfconvert(1) for DTrace support 2528029b68SRuslan Bukin 2628029b68SRuslan Bukinoptions SCHED_ULE # ULE scheduler 2728029b68SRuslan Bukinoptions PREEMPTION # Enable kernel thread preemption 28bd528a39SRuslan Bukinoptions VIMAGE # Subsystem virtualization, e.g. VNET 2928029b68SRuslan Bukinoptions INET # InterNETworking 3028029b68SRuslan Bukinoptions INET6 # IPv6 communications protocols 31bd79708dSJonathan T. Looneyoptions TCP_HHOOK # hhook(9) framework for TCP 323b65550eSJosh Paetzeloptions IPSEC_SUPPORT # Allow kldload of ipsec and tcpmd5 33d5fe384bSAlexander V. Chernikovoptions ROUTE_MPATH # Multipath routing support 34b1b0fb3dSMarko Zecoptions FIB_ALGO # Modular fib lookups 3528029b68SRuslan Bukinoptions TCP_OFFLOAD # TCP offload 36ad20efddSMichael Tuexenoptions TCP_BLACKBOX # Enhanced TCP event logging 37ad20efddSMichael Tuexenoptions TCP_RFC7413 # TCP Fast Open 38e64080e7SMark Johnstonoptions SCTP_SUPPORT # Allow kldload of SCTP 3928029b68SRuslan Bukinoptions FFS # Berkeley Fast Filesystem 4028029b68SRuslan Bukinoptions SOFTUPDATES # Enable FFS soft updates support 4128029b68SRuslan Bukinoptions UFS_ACL # Support for access control lists 4228029b68SRuslan Bukinoptions UFS_DIRHASH # Improve performance on big directories 4328029b68SRuslan Bukinoptions UFS_GJOURNAL # Enable gjournal-based UFS journaling 4428029b68SRuslan Bukinoptions QUOTA # Enable disk quotas for UFS 4528029b68SRuslan Bukinoptions NFSCL # Network Filesystem Client 4628029b68SRuslan Bukinoptions NFSD # Network Filesystem Server 4728029b68SRuslan Bukinoptions NFSLOCKD # Network Lock Manager 4828029b68SRuslan Bukinoptions NFS_ROOT # NFS usable as /, requires NFSCL 4928029b68SRuslan Bukinoptions MSDOSFS # MSDOS Filesystem 5028029b68SRuslan Bukinoptions CD9660 # ISO 9660 Filesystem 5128029b68SRuslan Bukinoptions PROCFS # Process filesystem (requires PSEUDOFS) 5228029b68SRuslan Bukinoptions PSEUDOFS # Pseudo-filesystem framework 53b798ef64SAlex Richardsonoptions TMPFS # Efficient memory filesystem 54c04c594dSMitchell Horneoptions GEOM_RAID # Soft RAID functionality. 5528029b68SRuslan Bukinoptions GEOM_LABEL # Provides labelization 5623e1961eSKristof Provostoptions COMPAT_FREEBSD12 # Compatible with FreeBSD12 574e85b648SKristof Provostoptions COMPAT_FREEBSD13 # Compatible with FreeBSD13 5884d12f88SKristof Provostoptions COMPAT_FREEBSD14 # Compatible with FreeBSD14 5928029b68SRuslan Bukinoptions SCSI_DELAY=5000 # Delay (in ms) before probing SCSI 6028029b68SRuslan Bukinoptions KTRACE # ktrace(1) support 61c04c594dSMitchell Horneoptions STACK # stack(9) support 6228029b68SRuslan Bukinoptions SYSVSHM # SYSV-style shared memory 6328029b68SRuslan Bukinoptions SYSVMSG # SYSV-style message queues 6428029b68SRuslan Bukinoptions SYSVSEM # SYSV-style semaphores 6528029b68SRuslan Bukinoptions _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions 6628029b68SRuslan Bukinoptions PRINTF_BUFR_SIZE=128 # Prevent printf output being interspersed. 6728029b68SRuslan Bukinoptions KBD_INSTALL_CDEV # install a CDEV entry in /dev 6828029b68SRuslan Bukin# options HWPMC_HOOKS # Necessary kernel hooks for hwpmc(4) 6928029b68SRuslan Bukinoptions AUDIT # Security event auditing 7028029b68SRuslan Bukinoptions CAPABILITY_MODE # Capsicum capability mode 7128029b68SRuslan Bukinoptions CAPABILITIES # Capsicum capabilities 7228029b68SRuslan Bukinoptions MAC # TrustedBSD MAC Framework 7322d5f354SRuslan Bukinoptions KDTRACE_FRAME # Ensure frames are compiled in 7422d5f354SRuslan Bukinoptions KDTRACE_HOOKS # Kernel DTrace hooks 75c085d2eaSAndrew Turneroptions DDB_CTF # Kernel ELF linker loads CTF data 7628029b68SRuslan Bukinoptions RACCT # Resource accounting framework 7728029b68SRuslan Bukinoptions RACCT_DEFAULT_TO_DISABLED # Set kern.racct.enable=0 by default 7828029b68SRuslan Bukinoptions RCTL # Resource limits 7917696c12SRuslan Bukinoptions SMP 8017696c12SRuslan Bukin 81af19cc59SRuslan Bukin# RISC-V SBI console 82af19cc59SRuslan Bukindevice rcons 83af19cc59SRuslan Bukin 84092a42a6SEmmanuel Vadot# pseudo devices 8582524003SJessica Clarkedevice clk 868e7e0690SJessica Clarkedevice hwreset 8785471971SMitchell Hornedevice nvmem 884a763910SMitchell Hornedevice phy 894a763910SMitchell Hornedevice regulator 9082524003SJessica Clarkedevice syscon 9182524003SJessica Clarkedevice syscon_power 9282524003SJessica Clarkedevice riscv_syscon 9382524003SJessica Clarke 94def7999cSMitchell Horne# CPU frequency control 95def7999cSMitchell Hornedevice cpufreq 96def7999cSMitchell Horne 977106b618SRuslan Bukin# Bus drivers 987106b618SRuslan Bukindevice pci 99*06a4a092SRuslan Bukindevice xlnx_pcib # Xilinx PCIe Controller 1007106b618SRuslan Bukin 1016e162bd2SJessica Clarke# Block devices 10262cb6717SRuslan Bukindevice ahci 1036e162bd2SJessica Clarkedevice scbus 1046e162bd2SJessica Clarkedevice da 1056e162bd2SJessica Clarke 1066fdc5735SRuslan Bukin# VirtIO support 1076fdc5735SRuslan Bukindevice virtio # Generic VirtIO bus (required) 1086fdc5735SRuslan Bukindevice virtio_pci # VirtIO PCI device 1096fdc5735SRuslan Bukindevice vtnet # VirtIO Ethernet device 1106fdc5735SRuslan Bukindevice virtio_blk # VirtIO Block device 1116fdc5735SRuslan Bukindevice virtio_mmio # VirtIO MMIO bus 1126fdc5735SRuslan Bukin 113f78cc42fSJessica Clarke# ATA/SCSI peripherals 114f78cc42fSJessica Clarkedevice pass # Passthrough device (direct ATA/SCSI access) 115f78cc42fSJessica Clarke 1166e162bd2SJessica Clarke# NVM Express (NVMe) support 1176e162bd2SJessica Clarkedevice nvme # base NVMe driver 1186e162bd2SJessica Clarkeoptions NVME_USE_NVD=0 # prefer the cam(4) based nda(4) driver 1196e162bd2SJessica Clarkedevice nvd # expose NVMe namespaces as disks, depends on nvme 1206e162bd2SJessica Clarke 1216e162bd2SJessica Clarke# USB support 1226e162bd2SJessica Clarkeoptions USB_DEBUG # enable debug msgs 1236e162bd2SJessica Clarkedevice ohci # OHCI USB interface 1246e162bd2SJessica Clarkedevice uhci # UHCI USB interface 1256e162bd2SJessica Clarkedevice ehci # EHCI USB interface (USB 2.0) 1266e162bd2SJessica Clarkedevice xhci # XHCI USB interface (USB 3.0) 1276e162bd2SJessica Clarkedevice usb # USB Bus (required) 12813d00a43SEmmanuel Vadotdevice usbhid # USB HID Transport 12913d00a43SEmmanuel Vadotdevice hkbd # Keyboard 1306e162bd2SJessica Clarkedevice ukbd # Keyboard 1316e162bd2SJessica Clarkedevice umass # Disks/Mass storage - Requires scbus and da 1326e162bd2SJessica Clarke 1336e162bd2SJessica Clarke# HID support 1346e162bd2SJessica Clarkeoptions HID_DEBUG # enable debug msgs 1356e162bd2SJessica Clarkedevice hid # Generic HID support 13613d00a43SEmmanuel Vadotdevice hidbus # Generic HID Bus 1376e162bd2SJessica Clarke 138a0823230SRuslan Bukin# Serial (COM) ports 139a0823230SRuslan Bukindevice uart # Generic UART driver 140053ec050SRuslan Bukindevice uart_lowrisc # lowRISC UART driver 141a0823230SRuslan Bukindevice uart_ns8250 # ns8250-type UART driver 142a0823230SRuslan Bukin 1432404f03fSJessica Clarke# Console 1442404f03fSJessica Clarkedevice vt 145e2a08ac9SMitchell Hornedevice vt_efifb 1462404f03fSJessica Clarkedevice kbdmux 1472404f03fSJessica Clarke 148d63a631eSJessica Clarke# RTC 149d63a631eSJessica Clarkedevice goldfish_rtc # QEMU RTC 150fcc3a0f6SRuslan Bukin 151fcc3a0f6SRuslan Bukin# Ethernet drivers 152fcc3a0f6SRuslan Bukindevice miibus # MII bus support 153fcc3a0f6SRuslan Bukindevice xae # Xilinx AXI Ethernet MAC 154fcc3a0f6SRuslan Bukin 155fcc3a0f6SRuslan Bukin# DMA support 156fcc3a0f6SRuslan Bukindevice xdma # DMA interface 157fcc3a0f6SRuslan Bukindevice axidma # Xilinx AXI DMA Controller 158fcc3a0f6SRuslan Bukin 159b47e5c5dSJessica Clarke# GPIO 160b47e5c5dSJessica Clarkedevice gpio 16171924545SJulien Cassettedevice fdt_pinctrl 162b47e5c5dSJessica Clarke 1638c439847SJessica Clarke# SPI 1648c439847SJessica Clarkedevice spibus 1658c439847SJessica Clarkedevice spigen 166c7ffe32bSRuslan Bukindevice xilinx_spi # Xilinx AXI SPI Controller 1678c439847SJessica Clarke 16828029b68SRuslan Bukin# Debugging support. Always need this: 169d52d6d7cSRuslan Bukinoptions KDB # Enable kernel debugger support. 170d52d6d7cSRuslan Bukinoptions KDB_TRACE # Print a stack trace for a panic. 17128029b68SRuslan Bukin# For full debugger support use (turn off in stable branch): 1724f8f9d70SLexi Winterinclude "std.debug" 173da48ddbfSMitchell Horne# options EARLY_PRINTF=sbi 17428029b68SRuslan Bukin 17596744f02SSean Bruno# Kernel dump features. 176a779fd06SMitchell Horneoptions EKCD # Support for encrypted kernel dumps 177a779fd06SMitchell Horneoptions GZIO # gzip-compressed kernel and user dumps 17896744f02SSean Brunooptions ZSTDIO # zstd-compressed kernel and user dumps 179a779fd06SMitchell Horneoptions DEBUGNET # debugnet networking 180a779fd06SMitchell Horneoptions NETDUMP # netdump(4) client support 18196744f02SSean Bruno 18228029b68SRuslan Bukin# Pseudo devices. 1838cd385fdSJohn Baldwindevice crypto # core crypto support 18428029b68SRuslan Bukindevice loop # Network loopback 18528029b68SRuslan Bukindevice ether # Ethernet support 18628029b68SRuslan Bukindevice vlan # 802.1Q VLAN support 187251a32b5SKyle Evansdevice tuntap # Packet tunnel. 18828029b68SRuslan Bukindevice md # Memory "disks" 18928029b68SRuslan Bukindevice gif # IPv6 and IPv4 tunneling 19028029b68SRuslan Bukindevice firmware # firmware assist module 19128029b68SRuslan Bukin 1924a763910SMitchell Horne# MMC/SD/SDIO Card slot support 1934a763910SMitchell Hornedevice sdhci 1944a763910SMitchell Hornedevice mmc # MMC/SD bus 1954a763910SMitchell Hornedevice mmcsd # MMC/SD flash cards 1964a763910SMitchell Horne 19722d5f354SRuslan Bukin# The `bpf' device enables the Berkeley Packet Filter. 19822d5f354SRuslan Bukin# Be aware of the administrative consequences of enabling this! 19922d5f354SRuslan Bukin# Note that 'bpf' is required for DHCP. 20022d5f354SRuslan Bukindevice bpf # Berkeley packet filter 20122d5f354SRuslan Bukin 202d6f10a5dSDavid E. O'Brien# random(4) 203d6f10a5dSDavid E. O'Brienoptions RANDOM_ENABLE_KBD 204d6f10a5dSDavid E. O'Brienoptions RANDOM_ENABLE_MOUSE 205d6f10a5dSDavid E. O'Brien 2063994f5bcSMitchell Horne# Flattened Device Tree 20728029b68SRuslan Bukinoptions FDT 2083994f5bcSMitchell Horne 20991feb4f4SPhilip Paeps# I2C support 21091feb4f4SPhilip Paepsdevice iicbus # Bus support, required for iicoc below. 21191feb4f4SPhilip Paepsdevice iicoc # OpenCores I2C controller support 21291feb4f4SPhilip Paeps 2133deb21f1SDavid E. O'Brien# random(4) 2143deb21f1SDavid E. O'Briendevice tpm # Trusted Platform Module 2153deb21f1SDavid E. O'Brienoptions RANDOM_ENABLE_TPM # enable entropy from TPM 2.0 2163deb21f1SDavid E. O'Brien 217bd79cafeSMitchell Horne# Include SoC specific configuration 218bd79cafeSMitchell Horneinclude "std.allwinner" 219092b70daSBojan Novkovićinclude "std.cvitek" 2204f584512SRuslan Bukininclude "std.eswin" 221bd79cafeSMitchell Horneinclude "std.sifive" 222749e318dSMitchell Horneinclude "std.starfive" 223