FreeBSD/Linux Kernel Cross Reference
sys/riscv/conf/GENERIC
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 TCP_BLACKBOX # Enhanced TCP event logging
37 options TCP_RFC7413 # TCP Fast Open
38 options SCTP_SUPPORT # Allow kldload of SCTP
39 options FFS # Berkeley Fast Filesystem
40 options SOFTUPDATES # Enable FFS soft updates support
41 options UFS_ACL # Support for access control lists
42 options UFS_DIRHASH # Improve performance on big directories
43 options UFS_GJOURNAL # Enable gjournal-based UFS journaling
44 options QUOTA # Enable disk quotas for UFS
45 options NFSCL # Network Filesystem Client
46 options NFSD # Network Filesystem Server
47 options NFSLOCKD # Network Lock Manager
48 options NFS_ROOT # NFS usable as /, requires NFSCL
49 options MSDOSFS # MSDOS Filesystem
50 options CD9660 # ISO 9660 Filesystem
51 options PROCFS # Process filesystem (requires PSEUDOFS)
52 options PSEUDOFS # Pseudo-filesystem framework
53 options TMPFS # Efficient memory filesystem
54 options GEOM_RAID # Soft RAID functionality.
55 options GEOM_LABEL # Provides labelization
56 options COMPAT_FREEBSD12 # Compatible with FreeBSD12
57 options COMPAT_FREEBSD13 # Compatible with FreeBSD13
58 options SCSI_DELAY=5000 # Delay (in ms) before probing SCSI
59 options KTRACE # ktrace(1) support
60 options STACK # stack(9) support
61 options SYSVSHM # SYSV-style shared memory
62 options SYSVMSG # SYSV-style message queues
63 options SYSVSEM # SYSV-style semaphores
64 options _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions
65 options PRINTF_BUFR_SIZE=128 # Prevent printf output being interspersed.
66 options KBD_INSTALL_CDEV # install a CDEV entry in /dev
67 # options HWPMC_HOOKS # Necessary kernel hooks for hwpmc(4)
68 options AUDIT # Security event auditing
69 options CAPABILITY_MODE # Capsicum capability mode
70 options CAPABILITIES # Capsicum capabilities
71 options MAC # TrustedBSD MAC Framework
72 options KDTRACE_FRAME # Ensure frames are compiled in
73 options KDTRACE_HOOKS # Kernel DTrace hooks
74 options DDB_CTF # Kernel ELF linker loads CTF data
75 options FPE # Floating-point extension support
76 options RACCT # Resource accounting framework
77 options RACCT_DEFAULT_TO_DISABLED # Set kern.racct.enable=0 by default
78 options RCTL # Resource limits
79 options SMP
80
81 # RISC-V SBI console
82 device rcons
83
84 # pseudo devices
85 device clk
86 device hwreset
87 device syscon
88 device syscon_power
89 device riscv_syscon
90
91 # Bus drivers
92 device pci
93
94 # Block devices
95 device scbus
96 device da
97
98 # VirtIO support
99 device virtio # Generic VirtIO bus (required)
100 device virtio_pci # VirtIO PCI device
101 device vtnet # VirtIO Ethernet device
102 device virtio_blk # VirtIO Block device
103 device virtio_mmio # VirtIO MMIO bus
104
105 # NVM Express (NVMe) support
106 device nvme # base NVMe driver
107 options NVME_USE_NVD=0 # prefer the cam(4) based nda(4) driver
108 device nvd # expose NVMe namespaces as disks, depends on nvme
109
110 # USB support
111 options USB_DEBUG # enable debug msgs
112 device ohci # OHCI USB interface
113 device uhci # UHCI USB interface
114 device ehci # EHCI USB interface (USB 2.0)
115 device xhci # XHCI USB interface (USB 3.0)
116 device usb # USB Bus (required)
117 device ukbd # Keyboard
118 device umass # Disks/Mass storage - Requires scbus and da
119
120 # HID support
121 options HID_DEBUG # enable debug msgs
122 device hid # Generic HID support
123
124 # DTrace support
125 # device dtrace
126 # device dtrace_profile
127 # device dtrace_sdt
128 # device dtrace_fbt
129 # device dtrace_systrace
130 # device dtrace_prototype
131 # device dtraceall
132
133 # Serial (COM) ports
134 device uart # Generic UART driver
135 device uart_lowrisc # lowRISC UART driver
136 device uart_ns8250 # ns8250-type UART driver
137
138 # Console
139 device vt
140 device kbdmux
141
142 # RTC
143 device da9063_rtc # Dialog Semiconductor DA9063 RTC
144 device goldfish_rtc # QEMU RTC
145
146 # Ethernet drivers
147 device cgem # Cadence GEM Gigabit Ethernet device
148 device miibus # MII bus support
149 device xae # Xilinx AXI Ethernet MAC
150
151 # DMA support
152 device xdma # DMA interface
153 device axidma # Xilinx AXI DMA Controller
154
155 # GPIO
156 device gpio
157
158 # SPI
159 device spibus
160 device spigen
161
162 # Power management controllers
163 device da9063_pmic # Dialog Semiconductor DA9063 PMIC
164
165 # Uncomment for memory disk
166 # options MD_ROOT
167 # options MD_ROOT_SIZE=32768 # 32MB ram disk
168 # makeoptions MFS_IMAGE=/path/to/img
169 # options ROOTDEVNAME=\"ufs:/dev/md0\"
170
171 # Uncomment for virtio block device
172 # options ROOTDEVNAME=\"ufs:/dev/vtbd0\"
173
174 # Debugging support. Always need this:
175 options KDB # Enable kernel debugger support.
176 options KDB_TRACE # Print a stack trace for a panic.
177 # For full debugger support use (turn off in stable branch):
178 options DDB # Support DDB.
179 options GDB # Support remote GDB.
180 options DEADLKRES # Enable the deadlock resolver
181 options INVARIANTS # Enable calls of extra sanity checking
182 options INVARIANT_SUPPORT # Extra sanity checks of internal structures, required by INVARIANTS
183 options WITNESS # Enable checks to detect deadlocks and cycles
184 options WITNESS_SKIPSPIN # Don't run witness on spinlocks for speed
185 options MALLOC_DEBUG_MAXZONES=8 # Separate malloc(9) zones
186 options ALT_BREAK_TO_DEBUGGER # Enter debugger on keyboard escape sequence
187 # options EARLY_PRINTF
188 options VERBOSE_SYSINIT=0 # Support debug.verbose_sysinit, off by default
189
190 # Kernel dump features.
191 options ZSTDIO # zstd-compressed kernel and user dumps
192
193 # Pseudo devices.
194 device crypto # core crypto support
195 device loop # Network loopback
196 device ether # Ethernet support
197 device vlan # 802.1Q VLAN support
198 device tuntap # Packet tunnel.
199 device md # Memory "disks"
200 device gif # IPv6 and IPv4 tunneling
201 device firmware # firmware assist module
202
203 # The `bpf' device enables the Berkeley Packet Filter.
204 # Be aware of the administrative consequences of enabling this!
205 # Note that 'bpf' is required for DHCP.
206 device bpf # Berkeley packet filter
207
208 # Flattened Device Tree
209 options FDT
210 makeoptions MODULES_EXTRA+="dtb/sifive"
211
212 # I2C support
213 device iicbus # Bus support, required for iicoc below.
214 device iicoc # OpenCores I2C controller support
215
216 # Allwinner device drivers
217 device aw_wdog # Allwinner Watchdog
218 files "../allwinner/files.allwinner"
219
220 # SiFive device drivers
221 device fu740_pci_dw
222 device sifive_gpio
223 device sifive_spi
224 include "../sifive/std.sifive"
Cache object: 28b945ce74c4635ca35ed43ee7c8b2f4
|