|
| 1 | +# |
| 2 | +# GENERIC -- Generic kernel configuration file for FreeBSD/RISC-V |
| 3 | +# |
| 4 | +# For more information on this file, please read the config(5) manual page, |
| 5 | +# and/or the handbook section on Kernel Configuration Files: |
| 6 | +# |
| 7 | +# https://docs.freebsd.org/en/books/handbook/kernelconfig/#kernelconfig-config |
| 8 | +# |
| 9 | +# The handbook is also available locally in /usr/share/doc/handbook |
| 10 | +# if you've installed the doc distribution, otherwise always see the |
| 11 | +# FreeBSD World Wide Web server (https://www.FreeBSD.org/) for the |
| 12 | +# latest information. |
| 13 | +# |
| 14 | +# An exhaustive list of options and more detailed explanations of the |
| 15 | +# device lines is also present in the ../../conf/NOTES and NOTES files. |
| 16 | +# If you are in doubt as to the purpose or necessity of a line, check first |
| 17 | +# in NOTES. |
| 18 | +# |
| 19 | +# $FreeBSD$ |
| 20 | + |
| 21 | +cpu RISCV |
| 22 | +ident GENERIC |
| 23 | + |
| 24 | +makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols |
| 25 | +makeoptions WITH_CTF=1 # Run ctfconvert(1) for DTrace support |
| 26 | + |
| 27 | +options SCHED_ULE # ULE scheduler |
| 28 | +options PREEMPTION # Enable kernel thread preemption |
| 29 | +options VIMAGE # Subsystem virtualization, e.g. VNET |
| 30 | +options INET # InterNETworking |
| 31 | +options INET6 # IPv6 communications protocols |
| 32 | +options TCP_HHOOK # hhook(9) framework for TCP |
| 33 | +options IPSEC_SUPPORT # Allow kldload of ipsec and tcpmd5 |
| 34 | +options ROUTE_MPATH # Multipath routing support |
| 35 | +options TCP_OFFLOAD # TCP offload |
| 36 | +options SCTP_SUPPORT # Allow kldload of SCTP |
| 37 | +options FFS # Berkeley Fast Filesystem |
| 38 | +options SOFTUPDATES # Enable FFS soft updates support |
| 39 | +options UFS_ACL # Support for access control lists |
| 40 | +options UFS_DIRHASH # Improve performance on big directories |
| 41 | +options UFS_GJOURNAL # Enable gjournal-based UFS journaling |
| 42 | +options QUOTA # Enable disk quotas for UFS |
| 43 | +options NFSCL # Network Filesystem Client |
| 44 | +options NFSD # Network Filesystem Server |
| 45 | +options NFSLOCKD # Network Lock Manager |
| 46 | +options NFS_ROOT # NFS usable as /, requires NFSCL |
| 47 | +options MSDOSFS # MSDOS Filesystem |
| 48 | +options CD9660 # ISO 9660 Filesystem |
| 49 | +options PROCFS # Process filesystem (requires PSEUDOFS) |
| 50 | +options PSEUDOFS # Pseudo-filesystem framework |
| 51 | +options TMPFS # Efficient memory filesystem |
| 52 | +options GEOM_PART_GPT # GUID Partition Tables. |
| 53 | +options GEOM_RAID # Soft RAID functionality. |
| 54 | +options GEOM_LABEL # Provides labelization |
| 55 | +options SCSI_DELAY=5000 # Delay (in ms) before probing SCSI |
| 56 | +options KTRACE # ktrace(1) support |
| 57 | +options STACK # stack(9) support |
| 58 | +options SYSVSHM # SYSV-style shared memory |
| 59 | +options SYSVMSG # SYSV-style message queues |
| 60 | +options SYSVSEM # SYSV-style semaphores |
| 61 | +options _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions |
| 62 | +options PRINTF_BUFR_SIZE=128 # Prevent printf output being interspersed. |
| 63 | +options KBD_INSTALL_CDEV # install a CDEV entry in /dev |
| 64 | +# options HWPMC_HOOKS # Necessary kernel hooks for hwpmc(4) |
| 65 | +options AUDIT # Security event auditing |
| 66 | +options CAPABILITY_MODE # Capsicum capability mode |
| 67 | +options CAPABILITIES # Capsicum capabilities |
| 68 | +options MAC # TrustedBSD MAC Framework |
| 69 | +options KDTRACE_FRAME # Ensure frames are compiled in |
| 70 | +options KDTRACE_HOOKS # Kernel DTrace hooks |
| 71 | +options DDB_CTF # Kernel ELF linker loads CTF data |
| 72 | +options FPE # Floating-point extension support |
| 73 | +options RACCT # Resource accounting framework |
| 74 | +options RACCT_DEFAULT_TO_DISABLED # Set kern.racct.enable=0 by default |
| 75 | +options RCTL # Resource limits |
| 76 | +options SMP |
| 77 | +options INTRNG |
| 78 | + |
| 79 | +# RISC-V SBI console |
| 80 | +device rcons |
| 81 | + |
| 82 | +# EXT_RESOURCES pseudo devices |
| 83 | +options EXT_RESOURCES |
| 84 | +device clk |
| 85 | +device hwreset |
| 86 | +device syscon |
| 87 | +device syscon_power |
| 88 | +device riscv_syscon |
| 89 | + |
| 90 | +# Bus drivers |
| 91 | +device pci |
| 92 | + |
| 93 | +# Block devices |
| 94 | +device scbus |
| 95 | +device da |
| 96 | + |
| 97 | +# VirtIO support |
| 98 | +device virtio # Generic VirtIO bus (required) |
| 99 | +device virtio_pci # VirtIO PCI device |
| 100 | +device vtnet # VirtIO Ethernet device |
| 101 | +device virtio_blk # VirtIO Block device |
| 102 | +device virtio_mmio # VirtIO MMIO bus |
| 103 | + |
| 104 | +# NVM Express (NVMe) support |
| 105 | +device nvme # base NVMe driver |
| 106 | +options NVME_USE_NVD=0 # prefer the cam(4) based nda(4) driver |
| 107 | +device nvd # expose NVMe namespaces as disks, depends on nvme |
| 108 | + |
| 109 | +# USB support |
| 110 | +options USB_DEBUG # enable debug msgs |
| 111 | +device ohci # OHCI USB interface |
| 112 | +device uhci # UHCI USB interface |
| 113 | +device ehci # EHCI USB interface (USB 2.0) |
| 114 | +device xhci # XHCI USB interface (USB 3.0) |
| 115 | +device usb # USB Bus (required) |
| 116 | +device ukbd # Keyboard |
| 117 | +device umass # Disks/Mass storage - Requires scbus and da |
| 118 | + |
| 119 | +# HID support |
| 120 | +options HID_DEBUG # enable debug msgs |
| 121 | +device hid # Generic HID support |
| 122 | + |
| 123 | +# DTrace support |
| 124 | +# device dtrace |
| 125 | +# device dtrace_profile |
| 126 | +# device dtrace_sdt |
| 127 | +# device dtrace_fbt |
| 128 | +# device dtrace_systrace |
| 129 | +# device dtrace_prototype |
| 130 | +# device dtraceall |
| 131 | + |
| 132 | +# Serial (COM) ports |
| 133 | +device uart # Generic UART driver |
| 134 | +device uart_lowrisc # lowRISC UART driver |
| 135 | +device uart_ns8250 # ns8250-type UART driver |
| 136 | + |
| 137 | +# RTC |
| 138 | +device goldfish_rtc # QEMU RTC |
| 139 | + |
| 140 | +# Ethernet drivers |
| 141 | +device cgem # Cadence GEM Gigabit Ethernet device |
| 142 | +device miibus # MII bus support |
| 143 | +device xae # Xilinx AXI Ethernet MAC |
| 144 | + |
| 145 | +# DMA support |
| 146 | +device xdma # DMA interface |
| 147 | +device axidma # Xilinx AXI DMA Controller |
| 148 | + |
| 149 | +# GPIO |
| 150 | +device gpio |
| 151 | + |
| 152 | +# SPI |
| 153 | +device spibus |
| 154 | +device spigen |
| 155 | + |
| 156 | +# Uncomment for memory disk |
| 157 | +# options MD_ROOT |
| 158 | +# options MD_ROOT_SIZE=32768 # 32MB ram disk |
| 159 | +# makeoptions MFS_IMAGE=/path/to/img |
| 160 | +# options ROOTDEVNAME=\"ufs:/dev/md0\" |
| 161 | + |
| 162 | +# Uncomment for virtio block device |
| 163 | +# options ROOTDEVNAME=\"ufs:/dev/vtbd0\" |
| 164 | + |
| 165 | +# Debugging support. Always need this: |
| 166 | +options KDB # Enable kernel debugger support. |
| 167 | +options KDB_TRACE # Print a stack trace for a panic. |
| 168 | +# For full debugger support use (turn off in stable branch): |
| 169 | +options DDB # Support DDB. |
| 170 | +# options GDB # Support remote GDB. |
| 171 | +options DEADLKRES # Enable the deadlock resolver |
| 172 | +options INVARIANTS # Enable calls of extra sanity checking |
| 173 | +options INVARIANT_SUPPORT # Extra sanity checks of internal structures, required by INVARIANTS |
| 174 | +options WITNESS # Enable checks to detect deadlocks and cycles |
| 175 | +options WITNESS_SKIPSPIN # Don't run witness on spinlocks for speed |
| 176 | +options MALLOC_DEBUG_MAXZONES=8 # Separate malloc(9) zones |
| 177 | +# options EARLY_PRINTF |
| 178 | +options VERBOSE_SYSINIT=0 # Support debug.verbose_sysinit, off by default |
| 179 | + |
| 180 | +# Kernel dump features. |
| 181 | +options ZSTDIO # zstd-compressed kernel and user dumps |
| 182 | + |
| 183 | +# Pseudo devices. |
| 184 | +device crypto # core crypto support |
| 185 | +device loop # Network loopback |
| 186 | +device ether # Ethernet support |
| 187 | +device vlan # 802.1Q VLAN support |
| 188 | +device tuntap # Packet tunnel. |
| 189 | +device md # Memory "disks" |
| 190 | +device gif # IPv6 and IPv4 tunneling |
| 191 | +device firmware # firmware assist module |
| 192 | + |
| 193 | +# The `bpf' device enables the Berkeley Packet Filter. |
| 194 | +# Be aware of the administrative consequences of enabling this! |
| 195 | +# Note that 'bpf' is required for DHCP. |
| 196 | +device bpf # Berkeley packet filter |
| 197 | + |
| 198 | +# Flattened Device Tree |
| 199 | +options FDT |
| 200 | +makeoptions MODULES_EXTRA+="dtb/sifive" |
| 201 | + |
| 202 | +# SiFive device drivers |
| 203 | +device fu740_pci_dw |
| 204 | +device sifive_gpio |
| 205 | +device sifive_spi |
| 206 | +include "../sifive/std.sifive" |
0 commit comments